summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2022-05-11 09:21:23 +0000
committerJulian Andres Klode <jak@debian.org>2022-05-11 09:21:23 +0000
commitbed5d00b5c6f70ae80d180ef162316e3bafb0ad0 (patch)
tree85585f36ef08b56f0ed87bf6342a0c7c24d3a82d /debian
parent4fe52f98c7d12bc8fb07411b1c0594a032eadb3a (diff)
parent018cf7c225837b65e2b146788f786685629a5b12 (diff)
Merge branch 'ci/nomorelessdocs' into 'main'
Support building with no/less docs and use it more in CI See merge request apt-team/apt!238
Diffstat (limited to 'debian')
-rw-r--r--debian/apt-utils.examples1
-rw-r--r--debian/apt-utils.install7
-rw-r--r--debian/apt-utils.manpages6
-rw-r--r--debian/apt.docs1
-rw-r--r--debian/apt.examples1
-rw-r--r--debian/apt.install27
-rw-r--r--debian/apt.manpages26
-rw-r--r--debian/control13
-rwxr-xr-xdebian/rules17
-rw-r--r--debian/tests/control13
-rw-r--r--debian/tests/pkg-config-test31
-rw-r--r--debian/tests/run-tests29
12 files changed, 103 insertions, 69 deletions
diff --git a/debian/apt-utils.examples b/debian/apt-utils.examples
new file mode 100644
index 000000000..b66de3cdd
--- /dev/null
+++ b/debian/apt-utils.examples
@@ -0,0 +1 @@
+usr/share/doc/apt-utils/examples/*
diff --git a/debian/apt-utils.install b/debian/apt-utils.install
index a27f1e1e4..9b304e535 100644
--- a/debian/apt-utils.install
+++ b/debian/apt-utils.install
@@ -3,11 +3,4 @@ usr/bin/apt-ftparchive
usr/bin/apt-sortpkgs
usr/lib/apt/planners/
usr/lib/apt/solvers/
-usr/share/doc/apt-utils
usr/share/locale/*/*/apt-utils.mo
-usr/share/man/*/*/apt-extracttemplates.*
-usr/share/man/*/*/apt-ftparchive.*
-usr/share/man/*/*/apt-sortpkgs.*
-usr/share/man/*/apt-extracttemplates.*
-usr/share/man/*/apt-ftparchive.*
-usr/share/man/*/apt-sortpkgs.*
diff --git a/debian/apt-utils.manpages b/debian/apt-utils.manpages
new file mode 100644
index 000000000..c61b908ea
--- /dev/null
+++ b/debian/apt-utils.manpages
@@ -0,0 +1,6 @@
+usr/share/man/*/*/apt-extracttemplates.*
+usr/share/man/*/*/apt-ftparchive.*
+usr/share/man/*/*/apt-sortpkgs.*
+usr/share/man/*/apt-extracttemplates.*
+usr/share/man/*/apt-ftparchive.*
+usr/share/man/*/apt-sortpkgs.*
diff --git a/debian/apt.docs b/debian/apt.docs
new file mode 100644
index 000000000..b43bf86b5
--- /dev/null
+++ b/debian/apt.docs
@@ -0,0 +1 @@
+README.md
diff --git a/debian/apt.examples b/debian/apt.examples
new file mode 100644
index 000000000..3e15bddda
--- /dev/null
+++ b/debian/apt.examples
@@ -0,0 +1 @@
+usr/share/doc/apt/examples/*
diff --git a/debian/apt.install b/debian/apt.install
index 3658bf5e6..e3a911a9f 100644
--- a/debian/apt.install
+++ b/debian/apt.install
@@ -16,32 +16,5 @@ usr/lib/apt/planners/dump
usr/lib/apt/solvers/dump
usr/lib/dpkg/methods/apt/
usr/share/bash-completion/completions/
-usr/share/doc/apt
usr/share/locale/*/*/apt.mo
-usr/share/man/*/*/apt-cache.*
-usr/share/man/*/*/apt-cdrom.*
-usr/share/man/*/*/apt-config.*
-usr/share/man/*/*/apt-get.*
-usr/share/man/*/*/apt-key.*
-usr/share/man/*/*/apt-mark.*
-usr/share/man/*/*/apt-secure.*
-usr/share/man/*/*/apt-patterns.*
-usr/share/man/*/*/apt.*
-usr/share/man/*/*/apt_preferences.*
-usr/share/man/*/*/apt_auth.*
-usr/share/man/*/*/apt-transport-*.*
-usr/share/man/*/*/sources.list.*
-usr/share/man/*/apt-cache.*
-usr/share/man/*/apt-cdrom.*
-usr/share/man/*/apt-config.*
-usr/share/man/*/apt-get.*
-usr/share/man/*/apt-key.*
-usr/share/man/*/apt-mark.*
-usr/share/man/*/apt-secure.*
-usr/share/man/*/apt-patterns.*
-usr/share/man/*/apt.*
-usr/share/man/*/apt_preferences.*
-usr/share/man/*/apt_auth.*
-usr/share/man/*/apt-transport-*.*
-usr/share/man/*/sources.list.*
var/
diff --git a/debian/apt.manpages b/debian/apt.manpages
new file mode 100644
index 000000000..80dbabd44
--- /dev/null
+++ b/debian/apt.manpages
@@ -0,0 +1,26 @@
+usr/share/man/*/*/apt-cache.*
+usr/share/man/*/*/apt-cdrom.*
+usr/share/man/*/*/apt-config.*
+usr/share/man/*/*/apt-get.*
+usr/share/man/*/*/apt-key.*
+usr/share/man/*/*/apt-mark.*
+usr/share/man/*/*/apt-secure.*
+usr/share/man/*/*/apt-patterns.*
+usr/share/man/*/*/apt.*
+usr/share/man/*/*/apt_preferences.*
+usr/share/man/*/*/apt_auth.*
+usr/share/man/*/*/apt-transport-*.*
+usr/share/man/*/*/sources.list.*
+usr/share/man/*/apt-cache.*
+usr/share/man/*/apt-cdrom.*
+usr/share/man/*/apt-config.*
+usr/share/man/*/apt-get.*
+usr/share/man/*/apt-key.*
+usr/share/man/*/apt-mark.*
+usr/share/man/*/apt-secure.*
+usr/share/man/*/apt-patterns.*
+usr/share/man/*/apt.*
+usr/share/man/*/apt_preferences.*
+usr/share/man/*/apt_auth.*
+usr/share/man/*/apt-transport-*.*
+usr/share/man/*/sources.list.*
diff --git a/debian/control b/debian/control
index 2f1d0515e..58c6be15e 100644
--- a/debian/control
+++ b/debian/control
@@ -9,8 +9,8 @@ Rules-Requires-Root: no
Standards-Version: 4.1.1
Build-Depends: cmake (>= 3.4),
debhelper-compat (= 12),
- docbook-xml,
- docbook-xsl,
+ docbook-xml <!nodoc>,
+ docbook-xsl <!nodoc>,
dpkg-dev (>= 1.20.8),
gettext (>= 0.12),
googletest <!nocheck> | libgtest-dev <!nocheck>,
@@ -27,11 +27,11 @@ Build-Depends: cmake (>= 3.4),
libzstd-dev (>= 1.0),
ninja-build,
pkg-config,
- po4a (>= 0.34-2),
+ po4a (>= 0.34-2) <!nodoc>,
triehash,
- xsltproc,
+ xsltproc <!nodoc>,
zlib1g-dev
-Build-Depends-Indep: doxygen, graphviz, w3m
+Build-Depends-Indep: doxygen <!nodoc !pkg.apt.nodoxygen>, graphviz <!nodoc !pkg.apt.nodoxygen>, w3m <!nodoc>
Vcs-Git: https://salsa.debian.org/apt-team/apt.git
Vcs-Browser: https://salsa.debian.org/apt-team/apt
@@ -101,6 +101,7 @@ Priority: optional
Depends: ${misc:Depends}
Section: doc
Multi-Arch: foreign
+Build-Profiles: <!nodoc>
Description: documentation for APT
This package contains the user guide and offline guide for various
APT tools which are provided in a html and a text-only version.
@@ -111,7 +112,6 @@ Multi-Arch: same
Priority: optional
Pre-Depends: ${misc:Pre-Depends}
Depends: libapt-pkg (= ${binary:Version}),
- zlib1g-dev,
${misc:Depends}
Section: libdevel
Description: development files for APT's libapt-pkg and libapt-inst
@@ -125,6 +125,7 @@ Priority: optional
Depends: ${misc:Depends}
Section: doc
Multi-Arch: foreign
+Build-Profiles: <!nodoc>
Description: documentation for APT development
This package contains documentation for development of the APT
Debian package manipulation program and its libraries.
diff --git a/debian/rules b/debian/rules
index 8a110f7a1..e7cbdc732 100755
--- a/debian/rules
+++ b/debian/rules
@@ -44,7 +44,18 @@ override_dh_installsystemd:
dh_installsystemd -papt --no-restart-on-upgrade --no-restart-after-upgrade --no-start apt-daily.service apt-daily-upgrade.service
dh_installsystemd --remaining-packages
-override_dh_auto_configure-arch: flags=-DWITH_DOC=OFF
-override_dh_auto_configure-indep: flags=-DWITH_DOC=ON
+ifneq ($(filter pkg.apt.nodoxygen,$(DEB_BUILD_PROFILES)),)
+override_dh_auto_configure-arch: configure_doc_flags=-DWITH_DOC=OFF -DWITH_DOC_MANPAGES=ON
+override_dh_auto_configure-indep: configure_doc_flags=-DWITH_DOC=OFF -DWITH_DOC_GUIDES=ON -DWITH_DOC_EXAMPLES=ON
+else
+ifneq ($(filter nodoc,$(DEB_BUILD_PROFILES)),)
+override_dh_auto_configure-arch: configure_doc_flags=-DWITH_DOC=OFF
+override_dh_auto_configure-indep: configure_doc_flags=-DWITH_DOC=OFF
+else
+override_dh_auto_configure-arch: configure_doc_flags=-DWITH_DOC=OFF -DWITH_DOC_MANPAGES=ON
+override_dh_auto_configure-indep: configure_doc_flags=-DWITH_DOC=ON
+endif
+endif
+
override_dh_auto_configure-arch override_dh_auto_configure-indep:
- dh_auto_configure -- $(flags) $(configure_test_flags)
+ dh_auto_configure -- -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON $(configure_doc_flags) $(configure_test_flags)
diff --git a/debian/tests/control b/debian/tests/control
index 446f0afcc..e273b737f 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,10 +1,11 @@
-Tests: run-tests, pkg-config-test
+Tests: pkg-config-test
+Restrictions: superficial
+Depends: libapt-pkg-dev, pkg-config
+
+Tests: run-tests
Restrictions: allow-stderr
Depends: @, @builddeps@, dpkg (>= 1.20.8), fakeroot, wget, stunnel4, lsof, db-util,
- gnupg (>= 2) | gnupg2,
- gnupg1 | gnupg (<< 2),
- gpgv (>= 2) | gpgv2,
- gpgv1 | gpgv (<< 2),
+ gnupg (>= 2) | gnupg2, gnupg1 | gnupg (<< 2),
+ gpgv (>= 2) | gpgv2, gpgv1 | gpgv (<< 2),
libfile-fcntllock-perl, python3-apt, aptitude,
- pkg-config,
valgrind, gdb-minimal | gdb
diff --git a/debian/tests/pkg-config-test b/debian/tests/pkg-config-test
index 1e4ec141e..e074b1603 100644
--- a/debian/tests/pkg-config-test
+++ b/debian/tests/pkg-config-test
@@ -1,23 +1,32 @@
#!/bin/sh
-
set -e
-WORKDIR=$(mktemp -d)
-trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
-cd $WORKDIR
-cat <<EOF > pkgconfigtest.c
+if [ -z "$AUTOPKGTEST_TMP" ]; then
+ WORKDIR=''
+ cleanup() {
+ if [ -n "$WORKDIR" ]; then cd /; rm -rf -- "$WORKDIR"; fi
+ WORKDIR=''
+ }
+ trap 'cleanup' 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+ WORKDIR="$(mktemp -d)"
+ cd "$WORKDIR"
+else
+ cd "$AUTOPKGTEST_TMP"
+fi
+
+cat >pkgconfigtest.cc <<EOF
#include <apt-pkg/init.h>
-#include <stdio.h>
+#include <cstdio>
int main()
{
- printf("Apt Version: %s \n", pkgVersion);
+ printf("APT Version: %s\n", pkgVersion);
return 0;
}
EOF
-g++ -o pkgconfigtest pkgconfigtest.c `pkg-config --cflags --libs apt-pkg`
-echo "build: OK"
-[ -x pkgconfigtest ]
+g++ -Wall -Wextra -o pkgconfigtest pkgconfigtest.cc `pkg-config --cflags --libs apt-pkg`
+echo 'build: OK'
+test -x pkgconfigtest
./pkgconfigtest
-echo "run: OK"
+echo 'run: OK'
diff --git a/debian/tests/run-tests b/debian/tests/run-tests
index ff3359fae..c7ca16b35 100644
--- a/debian/tests/run-tests
+++ b/debian/tests/run-tests
@@ -1,26 +1,37 @@
#!/bin/sh
-
set -e
-if [ ! -e build/CMakeCache.txt ]; then
- mkdir build || true
- ( cd build && cmake .. )
+SOURCE_DIR="$(pwd)"
+if [ -z "$AUTOPKGTEST_TMP" ]; then
+ BUILD_DIR=''
+ cleanup() {
+ if [ -n "$BUILD_DIR" ]; then cd /; rm -rf -- "$BUILD_DIR"; fi
+ BUILD_DIR=''
+ }
+ trap 'cleanup' 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+ BUILD_DIR="$(mktemp -d)"
+else
+ BUILD_DIR="$AUTOPKGTEST_TMP"
+fi
+
+if [ ! -e "${BUILD_DIR}/CMakeCache.txt" ]; then
+ cmake -S "$SOURCE_DIR" -B "$BUILD_DIR" -DUSE_SYSTEM_APTPKG=ON -DWITH_DOC=OFF -DUSE_NLS=OFF
fi
-make -C build/test/interactive-helper
+make -C "${BUILD_DIR}/test/interactive-helper"
# run tests against the installed apt, use "env -i" to ensure
# the host env does not pollute our environment
env -i \
-APT_INTEGRATION_TESTS_SOURCE_DIR=$(pwd) \
-APT_INTEGRATION_TESTS_HELPERS_BIN_DIR=$(pwd)/build/test/interactive-helper \
+APT_INTEGRATION_TESTS_SOURCE_DIR="${SOURCE_DIR}" \
+APT_INTEGRATION_TESTS_BUILD_DIR="${BUILD_DIR}" \
APT_INTEGRATION_TESTS_METHODS_DIR=/usr/lib/apt/methods \
APT_INTEGRATION_TESTS_LIBEXEC_DIR=/usr/lib/apt/ \
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_CMDLINE_BIN_DIR=/usr/bin \
APT_INTEGRATION_TESTS_LIBRARY_PATH=/dev/null/does/not/exist \
APT_INTEGRATION_TESTS_ARTIFACTS_DIR="${AUTOPKGTEST_ARTIFACTS}" \
-./test/integration/run-tests -q
+"${SOURCE_DIR}/test/integration/run-tests" -q