#!/usr/bin/make -f # Originally made with the aid of dh_make, by Craig Small # Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. # Some lines taken from debmake, by Cristoph Lameter. # Rewritten to use dh, by Balint Reczey # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 include /usr/share/dpkg/pkg-info.mk QT6_BUILD_DEPS = qt6-5compat-dev, qt6-base-dev, qt6-base-dev-tools, qt6-multimedia-dev, qt6-tools-dev QT6_DEPS = libqt6svg6 QT6_RECOMMENDS = libqt6multimedia6 QT5_BUILD_DEPS = qtbase5-dev, qtbase5-dev-tools, qtbase5-dev-tools, qtmultimedia5-dev, qttools5-dev QT5_DEPS = libqt5svg5 QT5_RECOMMENDS = libqt5multimedia5-plugins CONTROL_IN_SED_CMD = ifneq ($(filter focal jammy,$(DEB_DISTRIBUTION)),) CONTROL_IN_SED_CMD := $(CONTROL_IN_SED_CMD)s/@QT_BUILD_DEPS@/$(QT5_BUILD_DEPS)/;s/@QT_DEPS@/$(QT5_DEPS)/;s/@QT_RECOMMENDS@/$(QT5_RECOMMENDS)/;s/, qt/,\\n qt/g; else CONTROL_IN_SED_CMD := $(CONTROL_IN_SED_CMD)s/@QT_BUILD_DEPS@/$(QT6_BUILD_DEPS)/;s/@QT_DEPS@/$(QT6_DEPS)/;s/@QT_RECOMMENDS@/$(QT6_RECOMMENDS)/;s/, qt/,\\n qt/g; endif ifneq ($(filter focal,$(DEB_DISTRIBUTION)),) CONTROL_IN_SED_CMD := $(CONTROL_IN_SED_CMD)s/^ *libbcg729-dev/\# libbcg729-dev/;s/^ *libnghttp3-dev/\# libnghttp3-dev/; endif # This has to be exported to make some magic below work. export DH_OPTIONS export DEB_BUILD_MAINT_OPTIONS = hardening=+all export docdir = /usr/share/doc/wireshark-doc %: dh $@ --with python3 --buildsystem cmake override_dh_auto_configure: dh_auto_configure -- -DBUILD_xxx2deb=ON -DBUILD_corbaidl2wrs=ON -DBUILD_falcodump=ON \ -DVCSVERSION_OVERRIDE="Git v$(DEB_VERSION_UPSTREAM) packaged as $(DEB_VERSION)" \ -DUSE_qt6=$$(if grep -q qt6-base-dev debian/control; then echo ON; else echo OFF; fi) override_dh_auto_build-arch: # regenerate ASN.1 dissectors # Ignore warnings from asn2wrs.py about duplicate field names. PYTHONWARNINGS='ignore:The same:UserWarning::0' \ $(MAKE) -C $(CURDIR)/obj-* asn1 dh_auto_build -a override_dh_auto_build-indep: # Ignore warnings from asn2wrs.py about duplicate field names. PYTHONWARNINGS='ignore:The same:UserWarning::0' \ $(MAKE) -C $(CURDIR)/obj-* asn1 dh_auto_build -i $(MAKE) -C $(CURDIR)/obj-* user_guide_html developer_guide_html # fix links in documentation sed -i "s|$(CURDIR)/docbook|..|" obj-*/docbook/ws*g_html_chunked/*.html override_dh_dwz: # run dh_dwz only with debhelper (>= 12.6) to work around https://bugs.debian.org/939164 dpkg -l debhelper | awk '/debhelper/ {print $$3}' | xargs dpkg --compare-versions 12.6 gt || dh_dwz override_dh_auto_install-arch: dh_auto_install -a $(MAKE) DESTDIR=$(CURDIR)/debian/tmp -C $(CURDIR)/obj-* install-headers # fixes #1068410, can be dropped in wireshark 4.4 cp epan/dfilter/dfilter-loc.h debian/tmp/usr/include/wireshark/epan/dfilter/ rm -f debian/*.shlibs mkdir -p $(CURDIR)/debian/tmp/etc/wireshark/ override_dh_auto_install-indep: dh_auto_install -i rm -rf $(CURDIR)/debian/tmp/usr/share/doc/wireshark/COPYING cp debian/license-text-about-dialog $(CURDIR)/debian/tmp/usr/share/wireshark/ABOUT.GPL override_dh_install-arch: dh_install -a # check all necessary headers are included $(CC) -c debian/headers-check.c $(shell pkg-config --cflags glib-2.0) $(shell dpkg-buildflags --get CPPFLAGS) $(shell dpkg-buildflags --get CFLAGS) -Idebian/libwireshark-dev/usr/include -Idebian/libwireshark-dev/usr/include/wireshark -Idebian/libwiretap-dev/usr/include/wireshark -Idebian/libwsutil-dev/usr/include -Idebian/libwsutil-dev/usr/include/wireshark -o /dev/null override_dh_fixperms-arch: dh_fixperms -a chmod 644 debian/wireshark-dev/usr/share/pyshared/make-plugin-reg.py \ debian/wireshark-dev/usr/share/pyshared/wireshark_be.py \ debian/wireshark-dev/usr/share/pyshared/wireshark_gen.py override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) $(MAKE) -C obj-* test-programs ifneq (,$(filter armel armhf hppa mips mipsel s390x,$(DEB_HOST_ARCH))) # reported as https://gitlab.com/wireshark/wireshark/-/issues/15945 -dh_auto_test else dh_auto_test endif endif override_dh_clean: dh_clean -- debian/control # regenerate debian/control ifneq ($(filter noble unstable testing trixie UNRELEASED,$(DEB_DISTRIBUTION)),) sed "$(CONTROL_IN_SED_CMD)" debian/control.t64.in > debian/control else sed "$(CONTROL_IN_SED_CMD)" debian/control.in > debian/control # also revert t64-related changes in backports for f in debian/lib*t64*; do \ [ -f $$f ] || continue; \ sed -i 's/\([0-9]\)t64/\1/g' $$f; \ echo $$f | sed 's/t64//' | xargs mv $$f; \ done endif # ignore #653916 @echo 'blhc: ignore-line-regexp: .*CMakeCXXCompilerABI.cpp .*'