diff options
| author | Julian Andres Klode <jak@debian.org> | 2022-05-11 09:21:23 +0000 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2022-05-11 09:21:23 +0000 |
| commit | bed5d00b5c6f70ae80d180ef162316e3bafb0ad0 (patch) | |
| tree | 85585f36ef08b56f0ed87bf6342a0c7c24d3a82d /debian | |
| parent | 4fe52f98c7d12bc8fb07411b1c0594a032eadb3a (diff) | |
| parent | 018cf7c225837b65e2b146788f786685629a5b12 (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.examples | 1 | ||||
| -rw-r--r-- | debian/apt-utils.install | 7 | ||||
| -rw-r--r-- | debian/apt-utils.manpages | 6 | ||||
| -rw-r--r-- | debian/apt.docs | 1 | ||||
| -rw-r--r-- | debian/apt.examples | 1 | ||||
| -rw-r--r-- | debian/apt.install | 27 | ||||
| -rw-r--r-- | debian/apt.manpages | 26 | ||||
| -rw-r--r-- | debian/control | 13 | ||||
| -rwxr-xr-x | debian/rules | 17 | ||||
| -rw-r--r-- | debian/tests/control | 13 | ||||
| -rw-r--r-- | debian/tests/pkg-config-test | 31 | ||||
| -rw-r--r-- | debian/tests/run-tests | 29 |
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 |
