]> git.saurik.com Git - apt.git/commitdiff
CMake: debian: Switch packaging over to CMake and dh 9
authorJulian Andres Klode <jak@debian.org>
Sat, 6 Aug 2016 19:40:01 +0000 (21:40 +0200)
committerJulian Andres Klode <jak@debian.org>
Sat, 6 Aug 2016 20:36:02 +0000 (22:36 +0200)
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.

23 files changed:
.gitignore
debian/apt-doc.install [new file with mode: 0644]
debian/apt-transport-https.files [new file with mode: 0644]
debian/apt-transport-https.install [deleted file]
debian/apt-utils.install
debian/apt.files [new file with mode: 0644]
debian/apt.install [new file with mode: 0644]
debian/apt.install.in [deleted file]
debian/apt.systemd.daily [changed mode: 0644->0755]
debian/compat
debian/control
debian/copyright [new symlink]
debian/libapt-inst2.0.install [new file with mode: 0644]
debian/libapt-inst2.0.install.in [deleted file]
debian/libapt-pkg-dev.install [new file with mode: 0644]
debian/libapt-pkg-dev.install.in [deleted file]
debian/libapt-pkg-doc.docs
debian/libapt-pkg-doc.install [new file with mode: 0644]
debian/libapt-pkg5.0.install [new file with mode: 0644]
debian/libapt-pkg5.0.install.in [deleted file]
debian/libapt-pkg5.0.symbols
debian/rules
debian/tests/run-tests

index c96c33b29180d0b0107687ac8b86bd4f6c692ab4..14e8c596c785d0f95a9ba3073035daeda2083392 100644 (file)
@@ -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/*/
 /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 (file)
index 0000000..be5e871
--- /dev/null
@@ -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 (file)
index 0000000..7b14886
--- /dev/null
@@ -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 (file)
index 848f10c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-bin/methods/https usr/lib/apt/methods
index cdbcb2f37ebfc5db6cf41617d0c26ae78f6968d6..178b528b70041a364c2d9821960ac780a185e25c 100644 (file)
@@ -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 (file)
index 0000000..5724751
--- /dev/null
@@ -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 (file)
index 0000000..82b9ec6
--- /dev/null
@@ -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 (file)
index f390c87..0000000
+++ /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
old mode 100644 (file)
new mode 100755 (executable)
index 7f8f011eb73d6043d2e6db9d2c101195ae2801f2..ec635144f60048986bc560c5576355344005e6e7 100644 (file)
@@ -1 +1 @@
-7
+9
index daaff0e2d27ac7ac305111f1f2108f56eb67b1b8..855b90d2dec3590002f226f9d09074f14ece9636 100644 (file)
@@ -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 <!nocheck>, dh-systemd
cmake, libgtest-dev <!nocheck>, 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 (symlink)
index 0000000..012065c
--- /dev/null
@@ -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 (file)
index 0000000..a8ddd5e
--- /dev/null
@@ -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 (file)
index 8bcce2c..0000000
+++ /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 (file)
index 0000000..e85dc99
--- /dev/null
@@ -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 (file)
index be80221..0000000
+++ /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/
index 1ad92a8bbe20176c3042ddffa569e7c394ab3696..dcacac18b8fe604886b3735fce68cae81ecff3d2 100644 (file)
@@ -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 (file)
index 0000000..2f233dd
--- /dev/null
@@ -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 (file)
index 0000000..9ac53bc
--- /dev/null
@@ -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 (file)
index 56bed39..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-bin/libapt-pkg*.so.* usr/lib/@DEB_HOST_MULTIARCH@/
-usr/share/locale/*/*/libapt-pkg*.mo
index bec8749118a4e5d7eed8981e82e7da841bc7d65f..e2db6bb1281ee2162e696a1c4756ec1b6724143d 100644 (file)
@@ -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<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<APT::Configuration::Compressor>(APT::Configuration::Compressor&&)@APTPKG_5.0" 1.1~exp9
+ (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<APT::Configuration::Compressor>(APT::Configuration::Compressor&&)@APTPKG_5.0" 1.1~exp9
  (c++|optional=std)"void std::vector<char const*, std::allocator<char const*> >::emplace_back<char const*>(char const*&&)@APTPKG_5.0" 1.1~exp9
  (c++|optional=std)"void std::vector<pkgCache::GrpIterator*, std::allocator<pkgCache::GrpIterator*> >::emplace_back<pkgCache::GrpIterator*>(pkgCache::GrpIterator*&&)@APTPKG_5.0" 1.1~exp9
  (c++|optional=std)"void std::vector<pkgCache::PkgIterator*, std::allocator<pkgCache::PkgIterator*> >::emplace_back<pkgCache::PkgIterator*>(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, int, char, int>(long (*)(char const*, char**, int), char const*, char const*, unsigned long*, int)@APTPKG_5.0" 1.3~exp2
- (c++)"std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, std::_Get_time<char>)@APTPKG_5.0" 1.3~exp2
- (c++)"std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Put_time<char>)@APTPKG_5.0" 1.3~exp2
- (c++)"std::ctype<char>::do_narrow(char, char) const@APTPKG_5.0" 1.3~exp2
+ (c++|optional=std)"std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, std::_Get_time<char>)@APTPKG_5.0" 1.3~exp2
+ (c++|optional=std)"std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Put_time<char>)@APTPKG_5.0" 1.3~exp2
+ (c++|optional=std)"std::ctype<char>::do_narrow(char, char) const@APTPKG_5.0" 1.3~exp2
index 18b3f34f3085c859ef9947a5200461bfc5c9bfe3..c1dba72afd66fa97ec789ba62f18f1697493c762 100755 (executable)
 #!/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 <nocheck>, the header is available and thus the test is
-# successful. When building with <nocheck>, 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 <jak@debian.org>
+#
+# 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)
index e33992b2813748bd56e3c3add735051cf48a300d..d2fa915b87abd99a24373a5f30e42ad92ae2301a 100644 (file)
@@ -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