From e825742bbbbe99b99d525a3b34832b25a7396c84 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sat, 6 Aug 2016 21:40:01 +0200 Subject: CMake: debian: Switch packaging over to CMake and dh 9 This new packaging is much easier to read, although the duplication in the install files is a bit annoying. We should probably also get rid of the movefiles for solvers, planners, and https method; but then we have to keep track of which methods exist in the apt package. Another disadvantage is that building only the documentation packages also requires building the code, as there's no way to turn off code building in the project. --- .gitignore | 7 - debian/apt-doc.install | 1 + debian/apt-transport-https.files | 1 + debian/apt-transport-https.install | 1 - debian/apt-utils.install | 19 ++ debian/apt.files | 2 + debian/apt.install | 39 ++++ debian/apt.install.in | 9 - debian/apt.systemd.daily | 0 debian/compat | 2 +- debian/control | 2 +- debian/copyright | 1 + debian/libapt-inst2.0.install | 2 + debian/libapt-inst2.0.install.in | 2 - debian/libapt-pkg-dev.install | 3 + debian/libapt-pkg-dev.install.in | 3 - debian/libapt-pkg-doc.docs | 6 +- debian/libapt-pkg-doc.install | 1 + debian/libapt-pkg5.0.install | 2 + debian/libapt-pkg5.0.install.in | 2 - debian/libapt-pkg5.0.symbols | 8 +- debian/rules | 364 +++---------------------------------- debian/tests/run-tests | 1 + 23 files changed, 102 insertions(+), 376 deletions(-) create mode 100644 debian/apt-doc.install create mode 100644 debian/apt-transport-https.files delete mode 100644 debian/apt-transport-https.install create mode 100644 debian/apt.files create mode 100644 debian/apt.install delete mode 100644 debian/apt.install.in mode change 100644 => 100755 debian/apt.systemd.daily create mode 120000 debian/copyright create mode 100644 debian/libapt-inst2.0.install delete mode 100644 debian/libapt-inst2.0.install.in create mode 100644 debian/libapt-pkg-dev.install delete mode 100644 debian/libapt-pkg-dev.install.in create mode 100644 debian/libapt-pkg-doc.install create mode 100644 debian/libapt-pkg5.0.install delete mode 100644 debian/libapt-pkg5.0.install.in diff --git a/.gitignore b/.gitignore index c96c33b29..14e8c596c 100644 --- a/.gitignore +++ b/.gitignore @@ -7,9 +7,6 @@ /buildlib/config.sub /configure -# copy of COPYING -/debian/copyright - # generated files in the process to build all # apt man pages and other documentation /doc/*/ @@ -36,10 +33,6 @@ /cmdline/apt-key /doc/apt-vendor.ent /doc/examples/sources.list -/debian/apt.install -/debian/libapt-pkg*.install -/debian/libapt-inst*.install -/debian/libapt-pkg-dev.install /vendor/current /vendor/*/sources.list /vendor/*/makefile.auto diff --git a/debian/apt-doc.install b/debian/apt-doc.install new file mode 100644 index 000000000..be5e87159 --- /dev/null +++ b/debian/apt-doc.install @@ -0,0 +1 @@ +usr/share/doc/apt-doc diff --git a/debian/apt-transport-https.files b/debian/apt-transport-https.files new file mode 100644 index 000000000..7b14886df --- /dev/null +++ b/debian/apt-transport-https.files @@ -0,0 +1 @@ +usr/lib/apt/methods/https diff --git a/debian/apt-transport-https.install b/debian/apt-transport-https.install deleted file mode 100644 index 848f10c78..000000000 --- a/debian/apt-transport-https.install +++ /dev/null @@ -1 +0,0 @@ -bin/methods/https usr/lib/apt/methods diff --git a/debian/apt-utils.install b/debian/apt-utils.install index cdbcb2f37..178b528b7 100644 --- a/debian/apt-utils.install +++ b/debian/apt-utils.install @@ -1 +1,20 @@ usr/share/locale/*/*/apt-utils.mo + +usr/bin/apt-ftparchive +usr/bin/apt-sortpkgs +usr/bin/apt-extracttemplates + +usr/share/man/*/apt-ftparchive.* +usr/share/man/*/*/apt-ftparchive.* + +usr/share/man/*/apt-sortpkgs.* +usr/share/man/*/*/apt-sortpkgs.* + +usr/share/man/*/apt-extracttemplates.* +usr/share/man/*/*/apt-extracttemplates.* + + +usr/lib/apt/solvers/ +usr/lib/apt/planners/ + +usr/share/doc/apt-utils diff --git a/debian/apt.files b/debian/apt.files new file mode 100644 index 000000000..572475192 --- /dev/null +++ b/debian/apt.files @@ -0,0 +1,2 @@ +usr/lib/apt/solvers/dump +usr/lib/apt/planners/dump diff --git a/debian/apt.install b/debian/apt.install new file mode 100644 index 000000000..82b9ec6f4 --- /dev/null +++ b/debian/apt.install @@ -0,0 +1,39 @@ +usr/bin/apt +usr/bin/apt-get +usr/bin/apt-cache +usr/bin/apt-cdrom +usr/bin/apt-config +usr/bin/apt-key +usr/bin/apt-mark +usr/lib/apt/methods/ +usr/lib/dpkg/methods/apt/ +usr/share/locale/*/*/apt.mo +usr/lib/*/libapt-private.so* +usr/share/man/*/apt.* +usr/share/man/*/apt-get.* +usr/share/man/*/apt-cache.* +usr/share/man/*/apt-cdrom.* +usr/share/man/*/apt-config.* +usr/share/man/*/apt-key.* +usr/share/man/*/apt-mark.* +usr/share/man/*/apt-secure.* +usr/share/man/*/sources.list.* +usr/share/man/*/apt_preferences.* +usr/share/man/*/*/apt.* +usr/share/man/*/*/apt-get.* +usr/share/man/*/*/apt-cache.* +usr/share/man/*/*/apt-cdrom.* +usr/share/man/*/*/apt-config.* +usr/share/man/*/*/apt-key.* +usr/share/man/*/*/apt-mark.* +usr/share/man/*/*/apt-secure.* +usr/share/man/*/*/sources.list.* +usr/share/man/*/*/apt_preferences.* +completions/bash/* /usr/share/bash-completion/completions/ +debian/*.service /lib/systemd/system/ +debian/*.timer /lib/systemd/system/ +usr/lib/apt/apt-helper + +usr/share/doc/apt + +debian/apt.systemd.daily usr/lib/apt diff --git a/debian/apt.install.in b/debian/apt.install.in deleted file mode 100644 index f390c87aa..000000000 --- a/debian/apt.install.in +++ /dev/null @@ -1,9 +0,0 @@ -bin/apt usr/bin/ -bin/apt-* usr/bin/ -bin/methods/* usr/lib/apt/methods/ -scripts/dselect/* usr/lib/dpkg/methods/apt/ -usr/share/locale/*/*/apt.mo -bin/libapt-private.so.* usr/lib/@DEB_HOST_MULTIARCH@/ -../completions/bash/* /usr/share/bash-completion/completions/ -../debian/*.service /lib/systemd/system/ -../debian/*.timer /lib/systemd/system/ \ No newline at end of file diff --git a/debian/apt.systemd.daily b/debian/apt.systemd.daily old mode 100644 new mode 100755 diff --git a/debian/compat b/debian/compat index 7f8f011eb..ec635144f 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -7 +9 diff --git a/debian/control b/debian/control index daaff0e2d..855b90d2d 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,7 @@ Build-Depends: dpkg-dev (>= 1.17.14), debhelper (>= 9.20141010), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.4~), zlib1g-dev, libbz2-dev, liblzma-dev, liblz4-dev (>= 0.0~r126), xsltproc, docbook-xsl, docbook-xml, po4a (>= 0.34-2), - autotools-dev, autoconf, automake, libgtest-dev , dh-systemd + cmake, libgtest-dev , dh-systemd Build-Depends-Indep: doxygen, w3m, graphviz Build-Conflicts: autoconf2.13, automake1.4 Vcs-Git: https://anonscm.debian.org/git/apt/apt.git diff --git a/debian/copyright b/debian/copyright new file mode 120000 index 000000000..012065c85 --- /dev/null +++ b/debian/copyright @@ -0,0 +1 @@ +../COPYING \ No newline at end of file diff --git a/debian/libapt-inst2.0.install b/debian/libapt-inst2.0.install new file mode 100644 index 000000000..a8ddd5e2d --- /dev/null +++ b/debian/libapt-inst2.0.install @@ -0,0 +1,2 @@ +usr/lib/*/libapt-inst*.so.* +usr/share/locale/*/*/libapt-inst*.mo diff --git a/debian/libapt-inst2.0.install.in b/debian/libapt-inst2.0.install.in deleted file mode 100644 index 8bcce2c28..000000000 --- a/debian/libapt-inst2.0.install.in +++ /dev/null @@ -1,2 +0,0 @@ -bin/libapt-inst*.so.* usr/lib/@DEB_HOST_MULTIARCH@/ -usr/share/locale/*/*/libapt-inst*.mo diff --git a/debian/libapt-pkg-dev.install b/debian/libapt-pkg-dev.install new file mode 100644 index 000000000..e85dc9934 --- /dev/null +++ b/debian/libapt-pkg-dev.install @@ -0,0 +1,3 @@ +usr/lib/*/libapt-pkg*.so +usr/lib/*/libapt-inst*.so +usr/include/apt-pkg/ diff --git a/debian/libapt-pkg-dev.install.in b/debian/libapt-pkg-dev.install.in deleted file mode 100644 index be8022107..000000000 --- a/debian/libapt-pkg-dev.install.in +++ /dev/null @@ -1,3 +0,0 @@ -bin/libapt-pkg*.so usr/lib/@DEB_HOST_MULTIARCH@/ -bin/libapt-inst*.so usr/lib/@DEB_HOST_MULTIARCH@/ -include/apt-pkg/*.h usr/include/apt-pkg/ diff --git a/debian/libapt-pkg-doc.docs b/debian/libapt-pkg-doc.docs index 1ad92a8bb..dcacac18b 100644 --- a/debian/libapt-pkg-doc.docs +++ b/debian/libapt-pkg-doc.docs @@ -1,7 +1,3 @@ -build/docs/design* -build/docs/dpkg-tech* -build/docs/files* -build/docs/method* doc/libapt-pkg2_to_3.txt doc/style.txt -build/doc/doxygen/html +#build/doc/doxygen/html diff --git a/debian/libapt-pkg-doc.install b/debian/libapt-pkg-doc.install new file mode 100644 index 000000000..2f233dd07 --- /dev/null +++ b/debian/libapt-pkg-doc.install @@ -0,0 +1 @@ +usr/share/doc/libapt-pkg-doc diff --git a/debian/libapt-pkg5.0.install b/debian/libapt-pkg5.0.install new file mode 100644 index 000000000..9ac53bc82 --- /dev/null +++ b/debian/libapt-pkg5.0.install @@ -0,0 +1,2 @@ +usr/lib/*/libapt-pkg*.so.* +usr/share/locale/*/*/libapt-pkg*.mo diff --git a/debian/libapt-pkg5.0.install.in b/debian/libapt-pkg5.0.install.in deleted file mode 100644 index 56bed39d3..000000000 --- a/debian/libapt-pkg5.0.install.in +++ /dev/null @@ -1,2 +0,0 @@ -bin/libapt-pkg*.so.* usr/lib/@DEB_HOST_MULTIARCH@/ -usr/share/locale/*/*/libapt-pkg*.mo diff --git a/debian/libapt-pkg5.0.symbols b/debian/libapt-pkg5.0.symbols index bec874911..e2db6bb12 100644 --- a/debian/libapt-pkg5.0.symbols +++ b/debian/libapt-pkg5.0.symbols @@ -1429,7 +1429,7 @@ libapt-pkg.so.5.0 libapt-pkg5.0 #MINVER# ### symbol versioning: APTPKG_5.0@APTPKG_5.0 1.1~exp9 ### gcc artifacts - (c++)"void std::vector >::emplace_back(APT::Configuration::Compressor&&)@APTPKG_5.0" 1.1~exp9 + (c++|optional=std)"void std::vector >::emplace_back(APT::Configuration::Compressor&&)@APTPKG_5.0" 1.1~exp9 (c++|optional=std)"void std::vector >::emplace_back(char const*&&)@APTPKG_5.0" 1.1~exp9 (c++|optional=std)"void std::vector >::emplace_back(pkgCache::GrpIterator*&&)@APTPKG_5.0" 1.1~exp9 (c++|optional=std)"void std::vector >::emplace_back(pkgCache::PkgIterator*&&)@APTPKG_5.0" 1.1~exp9 @@ -1477,6 +1477,6 @@ libapt-pkg.so.5.0 libapt-pkg5.0 #MINVER# (c++)"EDSP::WriteScenario(pkgDepCache&, FileFd&, OpProgress*)@APTPKG_5.0" 1.3~exp2 (c++)"EDSP::WriteSolutionStanza(FileFd&, char const*, pkgCache::VerIterator const&)@APTPKG_5.0" 1.3~exp2 (c++)"int __gnu_cxx::__stoa(long (*)(char const*, char**, int), char const*, char const*, unsigned long*, int)@APTPKG_5.0" 1.3~exp2 - (c++)"std::basic_istream >& std::operator>> >(std::basic_istream >&, std::_Get_time)@APTPKG_5.0" 1.3~exp2 - (c++)"std::basic_ostream >& std::operator<< >(std::basic_ostream >&, std::_Put_time)@APTPKG_5.0" 1.3~exp2 - (c++)"std::ctype::do_narrow(char, char) const@APTPKG_5.0" 1.3~exp2 + (c++|optional=std)"std::basic_istream >& std::operator>> >(std::basic_istream >&, std::_Get_time)@APTPKG_5.0" 1.3~exp2 + (c++|optional=std)"std::basic_ostream >& std::operator<< >(std::basic_ostream >&, std::_Put_time)@APTPKG_5.0" 1.3~exp2 + (c++|optional=std)"std::ctype::do_narrow(char, char) const@APTPKG_5.0" 1.3~exp2 diff --git a/debian/rules b/debian/rules index 18b3f34f3..c1dba72af 100755 --- a/debian/rules +++ b/debian/rules @@ -1,352 +1,34 @@ #!/usr/bin/make -f -# 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 Christoph Lameter. - -# build in verbose mode by default to make it easy to diangose issues -export NOISY=1 - -export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) -export PARALLEL = $(or $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))),1) - -# FOR AUTOCONF 2.52 AND NEWER ONLY -ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) - confflags += --build $(DEB_HOST_GNU_TYPE) -else - confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) -endif - -# Set the number of procs to be run in parallel from the options. -confflags += --with-procs=$(PARALLEL) - -# See below --include build/environment.mak - -ifneq (,$(shell which dpkg-buildflags)) - # make does not export to $(shell) so we need to workaround - # (http://savannah.gnu.org/bugs/?10593) - dpkg_buildflags = DEB_BUILD_MAINT_OPTIONS=hardening=+all dpkg-buildflags - export CXXFLAGS = $(shell $(dpkg_buildflags) --get CXXFLAGS) - export LDFLAGS = $(shell $(dpkg_buildflags) --get LDFLAGS) - export CPPFLAGS = $(shell $(dpkg_buildflags) --get CPPFLAGS) -else - ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - export CXXFLAGS = -O0 -g -Wall - else - export CXXFLAGS = -O2 -g -Wall - endif -endif - -# Default rule -build: - -# Determine the build directory to use -override BASE := . -override BLD := $(BASE)/build - -# When building without , the header is available and thus the test is -# successful. When building with , the header is missing, but we still -# pretend it to be available, because configure would fail otherwise. -export ac_cv_header_gtest_gtest_h=yes - -# APT Programs in apt-utils -APT_UTILS=ftparchive sortpkgs extracttemplates - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# Find the libapt-pkg major version for use in other control files -include buildlib/libversion.mak - -# Determine which library package names to use -LIBAPT_PKG=libapt-pkg$(LIBAPTPKG_MAJOR) -LIBAPT_INST=libapt-inst$(LIBAPTINST_MAJOR) +# Copyright (C) 2009, 2016 Julian Andres Klode +# +# Free Software, licensed under the GPL-2 or (at your option) any later version. +export DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed +export DEB_BUILD_MAINT_OPTIONS := hardening=+all # do not fail as we are just experimenting with symbol files for now export DPKG_GENSYMBOLS_CHECK_LEVEL=0 -build-binary: build/build-binary-stamp -build-docbook: build/build-docbook-stamp -build-manpages: build/build-manpages-stamp - -# Note that this is unconditionally done first as part of loading environment.mak -# The true is needed to force make to reload environment.mak after running -# configure-stamp. Otherwise we can get stale or invalid, or missing config data. -build/environment.mak: build/configure-stamp - @true - -configure: configure.ac -build/configure-stamp: configure buildlib/config.sub buildlib/config.guess - dh_testdir - mkdir -p build - cp COPYING debian/copyright - cd build && CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" CPPFLAGS="$(CPPFLAGS)" ../configure $(confflags) - touch $@ - -build/build-binary-stamp: build/configure-stamp - # Add here commands to compile the package. - $(MAKE) binary - # compat symlink for the locale split - mkdir -p build/usr/share - cd build/usr/share && ln -f -s ../../locale . - # compile and run tests -ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) - $(MAKE) test -else - @echo "Tests DISABLED" -endif - touch $@ - -build/build-docbook-stamp: build/configure-stamp - # Add here commands to compile the package. - $(MAKE) docbook - touch $@ - -build/build-manpages-stamp: build/configure-stamp - # Add here commands to compile the package. - $(MAKE) manpages - touch $@ - -clean: - dh_testdir - dh_clean - - [ ! -f Makefile ] || $(MAKE) clean distclean - rm -rf build - rm -f debian/$(LIBAPT_PKG).install debian/$(LIBAPT_INST).install \ - debian/libapt-pkg-dev.install debian/apt.install - test ! -L buildlib/config.guess || rm -f buildlib/config.guess - test ! -L buildlib/config.sub || rm -f buildlib/config.sub - -debian/%.install: debian/%.install.in - sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $< > $@ - -# Build architecture-independent files here. -libapt-pkg-doc: build-docbook - dh_testdir -p$@ - dh_testroot -p$@ - dh_prep -p$@ - dh_installdirs -p$@ -# -# libapt-pkg-doc install -# - rm -f $(BLD)/doc/doxygen/html/*.map $(BLD)/doc/doxygen/html/*.md5 - dh_installdocs -p$@ - dh_installexamples -p$@ - dh_lintian -p$@ - dh_installchangelogs -p$@ - dh_strip -p$@ - dh_compress -p$@ -X.xhtml - dh_fixperms -p$@ - dh_installdeb -p$@ - dh_gencontrol -p$@ - dh_md5sums -p$@ - dh_builddeb -p$@ - -apt-doc: build-docbook - dh_testdir -p$@ - dh_testroot -p$@ - dh_prep -p$@ -# -# apt-doc install -# - # Copy the guides - dh_installdocs -p$@ - dh_installchangelogs -p$@ - dh_compress -p$@ - dh_fixperms -p$@ - dh_installdeb -p$@ - dh_gencontrol -p$@ - dh_md5sums -p$@ - dh_builddeb -p$@ - - - -# Build architecture-dependent files here. - -apt_MANPAGES = apt apt-cache apt-cdrom apt-config apt-get apt-key apt-mark apt-secure apt apt.conf apt_preferences sources.list -apt: build-binary build-manpages debian/apt.install - dh_testdir -p$@ - dh_testroot -p$@ - dh_prep -p$@ - dh_installdirs -p$@ -# -# apt install -# - cp debian/apt.conf.autoremove debian/$@/etc/apt/apt.conf.d/01autoremove - cp debian/apt.auto-removal.sh debian/$@/etc/kernel/postinst.d/apt-auto-removal - chmod 755 debian/$@/etc/kernel/postinst.d/apt-auto-removal - # install vendor specific apt confs - find -L vendor/current -name 'apt.conf-*' | while read conf; do cp "$${conf}" "debian/$@/etc/apt/apt.conf.d/$${conf#*-}"; done - - # make rosetta happy and remove pot files in po/ (but leave stuff - # in po/domains/* untouched) and cp *.po into each domain dir - rm -f build/po/*.pot - rm -f po/*.pot - - dh_install -p$@ --sourcedir=$(BLD) - - # Remove the bits that are in apt-utils - rm $(addprefix debian/$@/usr/bin/apt-,$(APT_UTILS) dump-solver internal-solver internal-planner) - cp $(BLD)/bin/apt-dump-solver debian/$@/usr/lib/apt/solvers/dump - ln -s ../solvers/dump debian/$@/usr/lib/apt/planners/dump - - # https has its own package - rm debian/$@/usr/lib/apt/methods/https - - # move the mirror failure script in place - #mv debian/$@/usr/bin/apt-report-mirror-failure \ - # debian/$@/usr/lib/apt/apt-report-mirror-failure \ - - # move the apt-helper in place - mv debian/$@/usr/bin/apt-helper debian/$@/usr/lib/apt/apt-helper - # install apt.systemd.daily helper in the right place - install -m755 debian/apt.systemd.daily debian/$@/usr/lib/apt/ - - dh_bugfiles -p$@ - dh_lintian -p$@ - dh_installexamples -p$@ - dh_installman -p$@ $(wildcard $(patsubst %,doc/en/%.[158],$(apt_MANPAGES)) $(patsubst %,doc/*/%.*.[158],$(apt_MANPAGES))) - dh_installcron -p$@ --name=apt-compat - dh_systemd_enable -p$@ apt-daily.timer - dh_systemd_start -p$@ apt-daily.timer - dh_installdocs -p$@ - dh_installchangelogs -p$@ - dh_installlogrotate -p$@ - dh_strip -p$@ - dh_compress -p$@ - dh_fixperms -p$@ - dh_makeshlibs -p$@ - dh_installdeb -p$@ - dh_shlibdeps -p$@ - dh_gencontrol -p$@ -- -Vapt:keyring="$(shell ./vendor/getinfo keyring-package)" - dh_md5sums -p$@ - dh_builddeb -p$@ - -libapt-pkg-dev: build-binary debian/libapt-pkg-dev.install - dh_testdir -p$@ - dh_testroot -p$@ - dh_prep -p$@ - dh_installdirs -p$@ -# -# libapt-pkg-dev install -# - dh_install -p$@ --sourcedir=$(BLD) - dh_installdocs -p$@ - dh_installchangelogs -p$@ - dh_strip -p$@ - dh_compress -p$@ - dh_fixperms -p$@ - dh_installdeb -p$@ - dh_gencontrol -p$@ -- -Vlibapt-pkg-name=$(LIBAPT_PKG) -Vlibapt-inst-name=$(LIBAPT_INST) - dh_md5sums -p$@ - dh_builddeb -p$@ - -apt-utils_MANPAGES = apt-sortpkgs apt-ftparchive apt-extracttemplates -apt-utils: build-binary build-manpages - dh_testdir -p$@ - dh_testroot -p$@ - dh_prep -p$@ - dh_installdirs -p$@ - - cp $(addprefix $(BLD)/bin/apt-,$(APT_UTILS)) debian/$@/usr/bin/ - cp $(BLD)/bin/apt-internal-solver debian/$@/usr/lib/apt/solvers/apt - cp $(BLD)/bin/apt-internal-planner debian/$@/usr/lib/apt/planners/apt - - dh_install -p$@ --sourcedir=$(BLD) - dh_link -p$@ - dh_installdocs -p$@ - dh_installexamples -p$@ - - # Install the man pages.. - dh_installman -p$@ $(wildcard $(patsubst %,doc/en/%.[158],$(apt-utils_MANPAGES)) $(patsubst %,doc/*/%.*.[158],$(apt-utils_MANPAGES))) - - dh_installchangelogs -p$@ - dh_strip -p$@ - dh_compress -p$@ - dh_fixperms -p$@ - dh_makeshlibs -p$@ - dh_installdeb -p$@ - dh_shlibdeps -p$@ - dh_gencontrol -p$@ - dh_md5sums -p$@ - dh_builddeb -p$@ - -$(LIBAPT_PKG): build-binary debian/$(LIBAPT_PKG).install - dh_testdir -p$@ - dh_testroot -p$@ - dh_prep -p$@ - dh_installdirs -p$@ - - dh_install -p$@ --sourcedir=$(BLD) - dh_installdocs -p$@ - dh_installchangelogs -p$@ - dh_strip -p$@ - dh_compress -p$@ - dh_fixperms -p$@ - dh_makeshlibs -p$@ - dh_installdeb -p$@ - dh_shlibdeps -p$@ - dh_gencontrol -p$@ - dh_md5sums -p$@ - dh_builddeb -p$@ - -$(LIBAPT_INST): build-binary debian/$(LIBAPT_INST).install - dh_testdir -p$@ - dh_testroot -p$@ - dh_prep -p$@ - dh_installdirs -p$@ - - dh_install -p$@ --sourcedir=$(BLD) - dh_installdocs -p$@ - dh_installchangelogs -p$@ - dh_strip -p$@ - dh_compress -p$@ - dh_fixperms -p$@ - dh_makeshlibs -p$@ - dh_installdeb -p$@ - dh_shlibdeps -p$@ - dh_gencontrol -p$@ - dh_md5sums -p$@ - dh_builddeb -p$@ - -apt-transport-https: build-binary libapt-pkg-dev - dh_testdir -p$@ - dh_testroot -p$@ - dh_prep -p$@ - dh_installdirs -p$@ - - dh_install -p$@ --sourcedir=$(BLD) - dh_installdocs -p$@ - dh_installexamples -p$@ +%: + dh $@ --with systemd --parallel --buildsystem=cmake - # Install the man pages.. - dh_installman -p$@ +override_dh_install-indep: + dh_movefiles + dh_install --list-missing - dh_installchangelogs -p$@ - dh_strip -p$@ - dh_compress -p$@ - dh_fixperms -p$@ - dh_installdeb -p$@ - dh_shlibdeps -p$@ - dh_gencontrol -p$@ - dh_md5sums -p$@ - dh_builddeb -p$@ +override_dh_install-arch: + dh_movefiles + dh_install --fail-missing + install -m 644 debian/apt.conf.autoremove debian/apt/etc/apt/apt.conf.d/01autoremove + install -m 755 debian/apt.auto-removal.sh debian/apt/etc/kernel/postinst.d/apt-auto-removal -buildlib/config.guess buildlib/config.sub: - $(MAKE) "$@" +override_dh_gencontrol: + dh_gencontrol -- -Vapt:keyring="$(shell ./vendor/getinfo keyring-package)" -configure: - $(MAKE) configure +override_dh_installcron: + dh_installcron --name=apt-compat -# translate targets to targets required by debian-policy -binary-arch: $(LIBAPT_PKG) $(LIBAPT_INST) apt libapt-pkg-dev apt-utils apt-transport-https -binary-indep: apt-doc libapt-pkg-doc -binary: binary-indep binary-arch -build-arch: build-binary -build-indep: build-manpages build-docbook -build: build-indep build-arch -.PHONY: build clean binary-indep binary-arch binary +override_dh_auto_configure-arch: flags=-DWITH_DOC=OFF +override_dh_auto_configure-indep: flags=-DWITH_DOC=ON +override_dh_auto_configure-arch override_dh_auto_configure-indep: + dh_auto_configure -- $(flags) diff --git a/debian/tests/run-tests b/debian/tests/run-tests index e33992b28..d2fa915b8 100644 --- a/debian/tests/run-tests +++ b/debian/tests/run-tests @@ -19,5 +19,6 @@ APT_INTEGRATION_TESTS_INTERNAL_SOLVER=/usr/lib/apt/solvers/apt \ APT_INTEGRATION_TESTS_DUMP_SOLVER=/usr/lib/apt/solvers/dump \ APT_INTEGRATION_TESTS_INTERNAL_PLANNER=/usr/lib/apt/planners/apt \ APT_INTEGRATION_TESTS_BUILD_DIR=/usr/bin \ +APT_INTEGRATION_TESTS_FTPARCHIVE_BIN_DIR=/usr/bin \ APT_INTEGRATION_TESTS_LIBRARY_PATH=/dev/null/does/not/exist \ ./test/integration/run-tests -q -- cgit v1.2.3