summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2016-08-06 21:40:01 +0200
committerJulian Andres Klode <jak@debian.org>2016-08-06 22:36:02 +0200
commite825742bbbbe99b99d525a3b34832b25a7396c84 (patch)
tree48b5dca87e3b9260d219197350739569e744a542
parentdfd863ea50c0fcf9b9ac4dfb5ae0e64c529bd767 (diff)
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.
-rw-r--r--.gitignore7
-rw-r--r--debian/apt-doc.install1
-rw-r--r--debian/apt-transport-https.files1
-rw-r--r--debian/apt-transport-https.install1
-rw-r--r--debian/apt-utils.install19
-rw-r--r--debian/apt.files2
-rw-r--r--debian/apt.install39
-rw-r--r--debian/apt.install.in9
-rwxr-xr-x[-rw-r--r--]debian/apt.systemd.daily0
-rw-r--r--debian/compat2
-rw-r--r--debian/control2
l---------debian/copyright1
-rw-r--r--debian/libapt-inst2.0.install2
-rw-r--r--debian/libapt-inst2.0.install.in2
-rw-r--r--debian/libapt-pkg-dev.install3
-rw-r--r--debian/libapt-pkg-dev.install.in3
-rw-r--r--debian/libapt-pkg-doc.docs6
-rw-r--r--debian/libapt-pkg-doc.install1
-rw-r--r--debian/libapt-pkg5.0.install2
-rw-r--r--debian/libapt-pkg5.0.install.in2
-rw-r--r--debian/libapt-pkg5.0.symbols8
-rwxr-xr-xdebian/rules364
-rw-r--r--debian/tests/run-tests1
23 files changed, 102 insertions, 376 deletions
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
index d034d8c1a..d034d8c1a 100644..100755
--- a/debian/apt.systemd.daily
+++ b/debian/apt.systemd.daily
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 <!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
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<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
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 <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)
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