0s autopkgtest [10:36:04]: starting date and time: 2025-05-02 10:36:04+0000 0s autopkgtest [10:36:04]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production' 0s autopkgtest [10:36:04]: host juju-7f2275-prod-proposed-migration-environment-21; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.w6t4kigi/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:pytest --apt-upgrade debputy --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=pytest/8.3.5-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-21@bos03-s390x-3.secgroup --name adt-questing-s390x-debputy-20250502-101332-juju-7f2275-prod-proposed-migration-environment-21-11fb9bc3-38e6-4c66-a1d2-208e365536b8 --image adt/ubuntu-questing-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-21 --net-id=net_prod-proposed-migration-s390x -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 113s autopkgtest [10:37:57]: testbed dpkg architecture: s390x 113s autopkgtest [10:37:57]: testbed apt version: 3.0.0 113s autopkgtest [10:37:57]: @@@@@@@@@@@@@@@@@@@@ test bed setup 114s autopkgtest [10:37:58]: testbed release detected to be: None 114s autopkgtest [10:37:58]: updating testbed package index (apt update) 115s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 115s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 115s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 115s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 115s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [44.4 kB] 115s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [175 kB] 115s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2076 kB] 115s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main s390x Packages [208 kB] 115s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe s390x Packages [1079 kB] 115s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse s390x Packages [9148 B] 116s Fetched 3701 kB in 1s (3091 kB/s) 116s Reading package lists... 117s autopkgtest [10:38:01]: upgrading testbed (apt dist-upgrade and autopurge) 117s Reading package lists... 117s Building dependency tree... 117s Reading state information... 117s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 117s Starting 2 pkgProblemResolver with broken count: 0 117s Done 118s Entering ResolveByKeep 118s 118s Calculating upgrade... 118s The following packages will be upgraded: 118s htop nano 118s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 118s Need to get 488 kB of archives. 118s After this operation, 3072 B of additional disk space will be used. 118s Get:1 http://ftpmaster.internal/ubuntu questing/main s390x nano s390x 8.4-1 [299 kB] 118s Get:2 http://ftpmaster.internal/ubuntu questing/main s390x htop s390x 3.4.1-4 [189 kB] 119s Fetched 488 kB in 0s (1009 kB/s) 119s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81472 files and directories currently installed.) 119s Preparing to unpack .../archives/nano_8.4-1_s390x.deb ... 119s Unpacking nano (8.4-1) over (8.3-1) ... 119s Preparing to unpack .../htop_3.4.1-4_s390x.deb ... 119s Unpacking htop (3.4.1-4) over (3.4.0-2) ... 119s Setting up htop (3.4.1-4) ... 119s Setting up nano (8.4-1) ... 119s Installing new version of config file /etc/nanorc ... 119s Processing triggers for man-db (2.13.0-1) ... 119s Processing triggers for install-info (7.1.1-1) ... 120s Reading package lists... 120s Building dependency tree... 120s Reading state information... 120s Starting pkgProblemResolver with broken count: 0 120s Starting 2 pkgProblemResolver with broken count: 0 120s Done 120s Solving dependencies... 120s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 122s autopkgtest [10:38:06]: testbed running kernel: Linux 6.14.0-15-generic #15-Ubuntu SMP Sun Apr 6 13:39:00 UTC 2025 123s autopkgtest [10:38:07]: @@@@@@@@@@@@@@@@@@@@ apt-source debputy 124s Get:1 http://ftpmaster.internal/ubuntu questing/universe debputy 0.1.67 (dsc) [2180 B] 124s Get:2 http://ftpmaster.internal/ubuntu questing/universe debputy 0.1.67 (tar) [677 kB] 124s gpgv: Signature made Thu Mar 13 16:54:00 2025 UTC 124s gpgv: using RSA key F5E7199AEF5E5C67E555873F740D68888365D289 124s gpgv: issuer "niels@thykier.net" 124s gpgv: Can't check signature: No public key 124s dpkg-source: warning: cannot verify inline signature for ./debputy_0.1.67.dsc: no acceptable signature found 124s autopkgtest [10:38:08]: testing package debputy version 0.1.67 125s autopkgtest [10:38:09]: build not needed 125s autopkgtest [10:38:09]: test debputy-py.test: preparing testbed 125s Reading package lists... 126s Building dependency tree... 126s Reading state information... 126s Starting pkgProblemResolver with broken count: 0 126s Starting 2 pkgProblemResolver with broken count: 0 126s Done 126s The following NEW packages will be installed: 126s autoconf automake autopoint autotools-dev cpp cpp-14 cpp-14-s390x-linux-gnu 126s cpp-s390x-linux-gnu debhelper debugedit dh-autoreconf dh-debputy 126s dh-strip-nondeterminism dwz gcc gcc-14 gcc-14-s390x-linux-gnu 126s gcc-s390x-linux-gnu gettext intltool-debian libarchive-zip-perl libasan8 126s libcc1-0 libdebhelper-perl libfile-stripnondeterminism-perl libgcc-14-dev 126s libgomp1 libisl23 libitm1 libmpc3 libtool libubsan1 m4 po-debconf 126s python3-all python3-cattr python3-colored python3-colorlog python3-debian 126s python3-iniconfig python3-lsprotocol python3-packaging python3-pluggy 126s python3-pytest python3-ruyaml strip-nondeterminism 126s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 126s Need to get 40.9 MB of archives. 126s After this operation, 123 MB of additional disk space will be used. 126s Get:1 http://ftpmaster.internal/ubuntu questing/main s390x m4 s390x 1.4.19-7 [259 kB] 126s Get:2 http://ftpmaster.internal/ubuntu questing/main s390x autoconf all 2.72-3ubuntu1 [383 kB] 126s Get:3 http://ftpmaster.internal/ubuntu questing/main s390x autotools-dev all 20220109.1 [44.9 kB] 126s Get:4 http://ftpmaster.internal/ubuntu questing/main s390x automake all 1:1.17-3ubuntu1 [572 kB] 126s Get:5 http://ftpmaster.internal/ubuntu questing/main s390x autopoint all 0.23.1-1 [619 kB] 127s Get:6 http://ftpmaster.internal/ubuntu questing/main s390x libisl23 s390x 0.27-1 [704 kB] 127s Get:7 http://ftpmaster.internal/ubuntu questing/main s390x libmpc3 s390x 1.3.1-1build2 [57.8 kB] 127s Get:8 http://ftpmaster.internal/ubuntu questing/main s390x cpp-14-s390x-linux-gnu s390x 14.2.0-19ubuntu2 [9572 kB] 127s Get:9 http://ftpmaster.internal/ubuntu questing/main s390x cpp-14 s390x 14.2.0-19ubuntu2 [1024 B] 127s Get:10 http://ftpmaster.internal/ubuntu questing/main s390x cpp-s390x-linux-gnu s390x 4:14.2.0-1ubuntu1 [5556 B] 127s Get:11 http://ftpmaster.internal/ubuntu questing/main s390x cpp s390x 4:14.2.0-1ubuntu1 [22.4 kB] 127s Get:12 http://ftpmaster.internal/ubuntu questing/main s390x libdebhelper-perl all 13.24.1ubuntu2 [95.4 kB] 127s Get:13 http://ftpmaster.internal/ubuntu questing/main s390x libcc1-0 s390x 15-20250404-0ubuntu1 [49.6 kB] 127s Get:14 http://ftpmaster.internal/ubuntu questing/main s390x libgomp1 s390x 15-20250404-0ubuntu1 [152 kB] 127s Get:15 http://ftpmaster.internal/ubuntu questing/main s390x libitm1 s390x 15-20250404-0ubuntu1 [31.2 kB] 127s Get:16 http://ftpmaster.internal/ubuntu questing/main s390x libasan8 s390x 15-20250404-0ubuntu1 [2966 kB] 127s Get:17 http://ftpmaster.internal/ubuntu questing/main s390x libubsan1 s390x 15-20250404-0ubuntu1 [1210 kB] 127s Get:18 http://ftpmaster.internal/ubuntu questing/main s390x libgcc-14-dev s390x 14.2.0-19ubuntu2 [1037 kB] 128s Get:19 http://ftpmaster.internal/ubuntu questing/main s390x gcc-14-s390x-linux-gnu s390x 14.2.0-19ubuntu2 [18.7 MB] 128s Get:20 http://ftpmaster.internal/ubuntu questing/main s390x gcc-14 s390x 14.2.0-19ubuntu2 [529 kB] 128s Get:21 http://ftpmaster.internal/ubuntu questing/main s390x gcc-s390x-linux-gnu s390x 4:14.2.0-1ubuntu1 [1204 B] 128s Get:22 http://ftpmaster.internal/ubuntu questing/main s390x gcc s390x 4:14.2.0-1ubuntu1 [5004 B] 128s Get:23 http://ftpmaster.internal/ubuntu questing/main s390x libtool all 2.5.4-4 [168 kB] 128s Get:24 http://ftpmaster.internal/ubuntu questing/main s390x dh-autoreconf all 20 [16.1 kB] 128s Get:25 http://ftpmaster.internal/ubuntu questing/main s390x libarchive-zip-perl all 1.68-1 [90.2 kB] 128s Get:26 http://ftpmaster.internal/ubuntu questing/main s390x libfile-stripnondeterminism-perl all 1.14.1-2 [20.3 kB] 128s Get:27 http://ftpmaster.internal/ubuntu questing/main s390x dh-strip-nondeterminism all 1.14.1-2 [5064 B] 128s Get:28 http://ftpmaster.internal/ubuntu questing/main s390x debugedit s390x 1:5.1-2 [50.1 kB] 128s Get:29 http://ftpmaster.internal/ubuntu questing/main s390x dwz s390x 0.15-1build6 [122 kB] 128s Get:30 http://ftpmaster.internal/ubuntu questing/main s390x gettext s390x 0.23.1-1 [1065 kB] 128s Get:31 http://ftpmaster.internal/ubuntu questing/main s390x intltool-debian all 0.35.0+20060710.6 [23.2 kB] 128s Get:32 http://ftpmaster.internal/ubuntu questing/main s390x po-debconf all 1.0.21+nmu1 [233 kB] 128s Get:33 http://ftpmaster.internal/ubuntu questing/main s390x debhelper all 13.24.1ubuntu2 [895 kB] 128s Get:34 http://ftpmaster.internal/ubuntu questing/universe s390x python3-colored all 2.2.4-1 [14.2 kB] 128s Get:35 http://ftpmaster.internal/ubuntu questing/universe s390x python3-colorlog all 6.9.0-1 [21.6 kB] 128s Get:36 http://ftpmaster.internal/ubuntu questing/main s390x python3-debian all 1.0.1ubuntu1 [121 kB] 128s Get:37 http://ftpmaster.internal/ubuntu questing/universe s390x python3-ruyaml all 0.91.0-5 [81.7 kB] 128s Get:38 http://ftpmaster.internal/ubuntu questing/universe s390x strip-nondeterminism all 1.14.1-2 [5576 B] 128s Get:39 http://ftpmaster.internal/ubuntu questing/universe s390x dh-debputy all 0.1.67 [479 kB] 128s Get:40 http://ftpmaster.internal/ubuntu questing/main s390x python3-all s390x 3.13.3-1 [882 B] 128s Get:41 http://ftpmaster.internal/ubuntu questing/universe s390x python3-cattr all 24.1.2-1 [43.6 kB] 128s Get:42 http://ftpmaster.internal/ubuntu questing/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 128s Get:43 http://ftpmaster.internal/ubuntu questing/universe s390x python3-lsprotocol all 2023.0.1-1 [58.3 kB] 128s Get:44 http://ftpmaster.internal/ubuntu questing/main s390x python3-packaging all 24.2-1 [51.5 kB] 128s Get:45 http://ftpmaster.internal/ubuntu questing/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 128s Get:46 http://ftpmaster.internal/ubuntu questing-proposed/universe s390x python3-pytest all 8.3.5-2 [252 kB] 129s Fetched 40.9 MB in 3s (15.8 MB/s) 129s Selecting previously unselected package m4. 129s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81472 files and directories currently installed.) 129s Preparing to unpack .../00-m4_1.4.19-7_s390x.deb ... 129s Unpacking m4 (1.4.19-7) ... 129s Selecting previously unselected package autoconf. 129s Preparing to unpack .../01-autoconf_2.72-3ubuntu1_all.deb ... 129s Unpacking autoconf (2.72-3ubuntu1) ... 129s Selecting previously unselected package autotools-dev. 129s Preparing to unpack .../02-autotools-dev_20220109.1_all.deb ... 129s Unpacking autotools-dev (20220109.1) ... 129s Selecting previously unselected package automake. 129s Preparing to unpack .../03-automake_1%3a1.17-3ubuntu1_all.deb ... 129s Unpacking automake (1:1.17-3ubuntu1) ... 129s Selecting previously unselected package autopoint. 129s Preparing to unpack .../04-autopoint_0.23.1-1_all.deb ... 129s Unpacking autopoint (0.23.1-1) ... 129s Selecting previously unselected package libisl23:s390x. 129s Preparing to unpack .../05-libisl23_0.27-1_s390x.deb ... 129s Unpacking libisl23:s390x (0.27-1) ... 129s Selecting previously unselected package libmpc3:s390x. 129s Preparing to unpack .../06-libmpc3_1.3.1-1build2_s390x.deb ... 129s Unpacking libmpc3:s390x (1.3.1-1build2) ... 129s Selecting previously unselected package cpp-14-s390x-linux-gnu. 129s Preparing to unpack .../07-cpp-14-s390x-linux-gnu_14.2.0-19ubuntu2_s390x.deb ... 129s Unpacking cpp-14-s390x-linux-gnu (14.2.0-19ubuntu2) ... 129s Selecting previously unselected package cpp-14. 129s Preparing to unpack .../08-cpp-14_14.2.0-19ubuntu2_s390x.deb ... 129s Unpacking cpp-14 (14.2.0-19ubuntu2) ... 129s Selecting previously unselected package cpp-s390x-linux-gnu. 129s Preparing to unpack .../09-cpp-s390x-linux-gnu_4%3a14.2.0-1ubuntu1_s390x.deb ... 129s Unpacking cpp-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 129s Selecting previously unselected package cpp. 129s Preparing to unpack .../10-cpp_4%3a14.2.0-1ubuntu1_s390x.deb ... 129s Unpacking cpp (4:14.2.0-1ubuntu1) ... 129s Selecting previously unselected package libdebhelper-perl. 129s Preparing to unpack .../11-libdebhelper-perl_13.24.1ubuntu2_all.deb ... 129s Unpacking libdebhelper-perl (13.24.1ubuntu2) ... 129s Selecting previously unselected package libcc1-0:s390x. 129s Preparing to unpack .../12-libcc1-0_15-20250404-0ubuntu1_s390x.deb ... 129s Unpacking libcc1-0:s390x (15-20250404-0ubuntu1) ... 129s Selecting previously unselected package libgomp1:s390x. 129s Preparing to unpack .../13-libgomp1_15-20250404-0ubuntu1_s390x.deb ... 129s Unpacking libgomp1:s390x (15-20250404-0ubuntu1) ... 129s Selecting previously unselected package libitm1:s390x. 129s Preparing to unpack .../14-libitm1_15-20250404-0ubuntu1_s390x.deb ... 129s Unpacking libitm1:s390x (15-20250404-0ubuntu1) ... 129s Selecting previously unselected package libasan8:s390x. 129s Preparing to unpack .../15-libasan8_15-20250404-0ubuntu1_s390x.deb ... 129s Unpacking libasan8:s390x (15-20250404-0ubuntu1) ... 129s Selecting previously unselected package libubsan1:s390x. 129s Preparing to unpack .../16-libubsan1_15-20250404-0ubuntu1_s390x.deb ... 129s Unpacking libubsan1:s390x (15-20250404-0ubuntu1) ... 129s Selecting previously unselected package libgcc-14-dev:s390x. 129s Preparing to unpack .../17-libgcc-14-dev_14.2.0-19ubuntu2_s390x.deb ... 129s Unpacking libgcc-14-dev:s390x (14.2.0-19ubuntu2) ... 129s Selecting previously unselected package gcc-14-s390x-linux-gnu. 129s Preparing to unpack .../18-gcc-14-s390x-linux-gnu_14.2.0-19ubuntu2_s390x.deb ... 129s Unpacking gcc-14-s390x-linux-gnu (14.2.0-19ubuntu2) ... 129s Selecting previously unselected package gcc-14. 129s Preparing to unpack .../19-gcc-14_14.2.0-19ubuntu2_s390x.deb ... 129s Unpacking gcc-14 (14.2.0-19ubuntu2) ... 129s Selecting previously unselected package gcc-s390x-linux-gnu. 129s Preparing to unpack .../20-gcc-s390x-linux-gnu_4%3a14.2.0-1ubuntu1_s390x.deb ... 129s Unpacking gcc-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 129s Selecting previously unselected package gcc. 130s Preparing to unpack .../21-gcc_4%3a14.2.0-1ubuntu1_s390x.deb ... 130s Unpacking gcc (4:14.2.0-1ubuntu1) ... 130s Selecting previously unselected package libtool. 130s Preparing to unpack .../22-libtool_2.5.4-4_all.deb ... 130s Unpacking libtool (2.5.4-4) ... 130s Selecting previously unselected package dh-autoreconf. 130s Preparing to unpack .../23-dh-autoreconf_20_all.deb ... 130s Unpacking dh-autoreconf (20) ... 130s Selecting previously unselected package libarchive-zip-perl. 130s Preparing to unpack .../24-libarchive-zip-perl_1.68-1_all.deb ... 130s Unpacking libarchive-zip-perl (1.68-1) ... 130s Selecting previously unselected package libfile-stripnondeterminism-perl. 130s Preparing to unpack .../25-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... 130s Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... 130s Selecting previously unselected package dh-strip-nondeterminism. 130s Preparing to unpack .../26-dh-strip-nondeterminism_1.14.1-2_all.deb ... 130s Unpacking dh-strip-nondeterminism (1.14.1-2) ... 130s Selecting previously unselected package debugedit. 130s Preparing to unpack .../27-debugedit_1%3a5.1-2_s390x.deb ... 130s Unpacking debugedit (1:5.1-2) ... 130s Selecting previously unselected package dwz. 130s Preparing to unpack .../28-dwz_0.15-1build6_s390x.deb ... 130s Unpacking dwz (0.15-1build6) ... 130s Selecting previously unselected package gettext. 130s Preparing to unpack .../29-gettext_0.23.1-1_s390x.deb ... 130s Unpacking gettext (0.23.1-1) ... 130s Selecting previously unselected package intltool-debian. 130s Preparing to unpack .../30-intltool-debian_0.35.0+20060710.6_all.deb ... 130s Unpacking intltool-debian (0.35.0+20060710.6) ... 130s Selecting previously unselected package po-debconf. 130s Preparing to unpack .../31-po-debconf_1.0.21+nmu1_all.deb ... 130s Unpacking po-debconf (1.0.21+nmu1) ... 130s Selecting previously unselected package debhelper. 130s Preparing to unpack .../32-debhelper_13.24.1ubuntu2_all.deb ... 130s Unpacking debhelper (13.24.1ubuntu2) ... 130s Selecting previously unselected package python3-colored. 130s Preparing to unpack .../33-python3-colored_2.2.4-1_all.deb ... 130s Unpacking python3-colored (2.2.4-1) ... 130s Selecting previously unselected package python3-colorlog. 130s Preparing to unpack .../34-python3-colorlog_6.9.0-1_all.deb ... 130s Unpacking python3-colorlog (6.9.0-1) ... 130s Selecting previously unselected package python3-debian. 130s Preparing to unpack .../35-python3-debian_1.0.1ubuntu1_all.deb ... 130s Unpacking python3-debian (1.0.1ubuntu1) ... 130s Selecting previously unselected package python3-ruyaml. 130s Preparing to unpack .../36-python3-ruyaml_0.91.0-5_all.deb ... 130s Unpacking python3-ruyaml (0.91.0-5) ... 130s Selecting previously unselected package strip-nondeterminism. 130s Preparing to unpack .../37-strip-nondeterminism_1.14.1-2_all.deb ... 130s Unpacking strip-nondeterminism (1.14.1-2) ... 130s Selecting previously unselected package dh-debputy. 130s Preparing to unpack .../38-dh-debputy_0.1.67_all.deb ... 130s Unpacking dh-debputy (0.1.67) ... 130s Selecting previously unselected package python3-all. 130s Preparing to unpack .../39-python3-all_3.13.3-1_s390x.deb ... 130s Unpacking python3-all (3.13.3-1) ... 130s Selecting previously unselected package python3-cattr. 130s Preparing to unpack .../40-python3-cattr_24.1.2-1_all.deb ... 130s Unpacking python3-cattr (24.1.2-1) ... 130s Selecting previously unselected package python3-iniconfig. 130s Preparing to unpack .../41-python3-iniconfig_1.1.1-2_all.deb ... 130s Unpacking python3-iniconfig (1.1.1-2) ... 130s Selecting previously unselected package python3-lsprotocol. 130s Preparing to unpack .../42-python3-lsprotocol_2023.0.1-1_all.deb ... 130s Unpacking python3-lsprotocol (2023.0.1-1) ... 130s Selecting previously unselected package python3-packaging. 130s Preparing to unpack .../43-python3-packaging_24.2-1_all.deb ... 130s Unpacking python3-packaging (24.2-1) ... 130s Selecting previously unselected package python3-pluggy. 130s Preparing to unpack .../44-python3-pluggy_1.5.0-1_all.deb ... 130s Unpacking python3-pluggy (1.5.0-1) ... 130s Selecting previously unselected package python3-pytest. 130s Preparing to unpack .../45-python3-pytest_8.3.5-2_all.deb ... 130s Unpacking python3-pytest (8.3.5-2) ... 130s Setting up python3-iniconfig (1.1.1-2) ... 130s Setting up python3-colorlog (6.9.0-1) ... 130s Setting up libarchive-zip-perl (1.68-1) ... 130s Setting up libdebhelper-perl (13.24.1ubuntu2) ... 130s Setting up m4 (1.4.19-7) ... 130s Setting up python3-all (3.13.3-1) ... 130s Setting up libgomp1:s390x (15-20250404-0ubuntu1) ... 130s Setting up autotools-dev (20220109.1) ... 130s Setting up python3-packaging (24.2-1) ... 130s Setting up python3-cattr (24.1.2-1) ... 130s Setting up python3-debian (1.0.1ubuntu1) ... 130s Setting up libmpc3:s390x (1.3.1-1build2) ... 130s Setting up autopoint (0.23.1-1) ... 130s Setting up autoconf (2.72-3ubuntu1) ... 130s Setting up python3-pluggy (1.5.0-1) ... 130s Setting up libubsan1:s390x (15-20250404-0ubuntu1) ... 130s Setting up dwz (0.15-1build6) ... 130s Setting up libasan8:s390x (15-20250404-0ubuntu1) ... 130s Setting up debugedit (1:5.1-2) ... 130s Setting up python3-colored (2.2.4-1) ... 131s Setting up libisl23:s390x (0.27-1) ... 131s Setting up python3-ruyaml (0.91.0-5) ... 131s Setting up libcc1-0:s390x (15-20250404-0ubuntu1) ... 131s Setting up libitm1:s390x (15-20250404-0ubuntu1) ... 131s Setting up automake (1:1.17-3ubuntu1) ... 131s update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode 131s Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... 131s Setting up gettext (0.23.1-1) ... 131s Setting up python3-lsprotocol (2023.0.1-1) ... 131s Setting up python3-pytest (8.3.5-2) ... 131s Setting up strip-nondeterminism (1.14.1-2) ... 131s Setting up intltool-debian (0.35.0+20060710.6) ... 131s Setting up cpp-14-s390x-linux-gnu (14.2.0-19ubuntu2) ... 131s Setting up cpp-14 (14.2.0-19ubuntu2) ... 131s Setting up dh-strip-nondeterminism (1.14.1-2) ... 131s Setting up libgcc-14-dev:s390x (14.2.0-19ubuntu2) ... 131s Setting up cpp-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 131s Setting up po-debconf (1.0.21+nmu1) ... 131s Setting up gcc-14-s390x-linux-gnu (14.2.0-19ubuntu2) ... 131s Setting up gcc-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 131s Setting up cpp (4:14.2.0-1ubuntu1) ... 131s Setting up gcc-14 (14.2.0-19ubuntu2) ... 131s Setting up libtool (2.5.4-4) ... 131s Setting up gcc (4:14.2.0-1ubuntu1) ... 131s Setting up dh-autoreconf (20) ... 131s Setting up debhelper (13.24.1ubuntu2) ... 131s Setting up dh-debputy (0.1.67) ... 131s Processing triggers for libc-bin (2.41-6ubuntu1) ... 132s Processing triggers for man-db (2.13.0-1) ... 132s Processing triggers for install-info (7.1.1-1) ... 133s autopkgtest [10:38:17]: test debputy-py.test: [----------------------- 133s + mkdir /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/debian 133s + cp -r pyproject.toml tests/ /tmp/autopkgtest.rO5LSr/autopkgtest_tmp 133s + cp -a debian/control /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/debian 133s + export PYTHONWARNINGS=d 133s + export DEBPUTY_TEST_AGAINST_INSTALLED_PLUGINS=uninstalled 133s + DEBPUTY_PYTHONPATH=/usr/share/dh-debputy 133s + PYTHOHPATH= 133s + [ ] 133s + PYTHOHPATH=/usr/share/dh-debputy 133s + export DEBPUTY_REQUIRE_LIBCAP=1 133s + cd /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/ 133s + py3versions -s 133s ---------------------------------------------- 133s Testing with python3.13 133s ---------------------------------------------- 133s + echo ---------------------------------------------- 133s + echo Testing with python3.13 133s + echo ---------------------------------------------- 133s + PYTHONPATH=/usr/share/dh-debputy LC_ALL=C python3.13 -m pytest 135s ============================= test session starts ============================== 135s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 135s rootdir: /tmp/autopkgtest.rO5LSr/autopkgtest_tmp 135s configfile: pyproject.toml 135s testpaths: src, tests, self-hosting-plugins 135s plugins: typeguard-4.4.2 135s collected 481 items 135s 135s tests/lint_tests/test_lint_changelog.py .... [ 0%] 135s tests/lint_tests/test_lint_dcpy.py ..... [ 1%] 135s tests/lint_tests/test_lint_dctrl.py .ss.................s.s............. [ 9%] 135s .....s... [ 11%] 135s tests/lint_tests/test_lint_debputy.py .....s... [ 13%] 135s tests/lint_tests/test_lint_dpatches_series.py ... [ 13%] 135s tests/lint_tests/test_lint_dtctrl.py .s [ 14%] 135s tests/lint_tests/test_lint_upstream_metadata.py . [ 14%] 135s tests/lsp_tests/test_debpkg_metadata.py ........... [ 16%] 135s tests/lsp_tests/test_lsp_dctrl.py ssssssssssssssss [ 19%] 135s tests/lsp_tests/test_lsp_debputy_manifest_completer.py sssssssss [ 21%] 135s tests/lsp_tests/test_lsp_debputy_manifest_hover.py ssssssssss [ 23%] 135s tests/lsp_tests/test_lsp_dpatches_series.py s [ 24%] 136s tests/plugin_tests/gnome_test.py .... [ 24%] 136s tests/plugin_tests/grantlee_test.py . [ 25%] 136s tests/plugin_tests/numpy3_test.py .. [ 25%] 136s tests/plugin_tests/perl-openssl_test.py . [ 25%] 136s tests/test_alternatives.py . [ 25%] 136s tests/test_apply_compression.py . [ 26%] 136s tests/test_architecture.py . [ 26%] 136s tests/test_cross_check_precheck.py ............... [ 29%] 136s tests/test_deb_packaging_support.py ................................... [ 36%] 137s tests/test_debputy_plugin.py ........................................... [ 45%] 137s .. [ 46%] 137s tests/test_declarative_parser.py ............ [ 48%] 137s tests/test_fs_metadata.py .................. [ 52%] 137s tests/test_install_rules.py .................. [ 56%] 137s tests/test_interpreter.py ............. [ 58%] 137s tests/test_migrations.py .................................. [ 65%] 137s tests/test_output_filename.py ...... [ 67%] 137s tests/test_packager_provided_files.py ....................s.s [ 71%] 137s tests/test_packer_pack.py . [ 72%] 137s tests/test_parser.py ............................................. [ 81%] 137s tests/test_path.py . [ 81%] 138s tests/test_plugin_tester.py ....................... [ 86%] 138s tests/test_style.py ....x............................... [ 93%] 138s tests/test_substitute.py ...... [ 95%] 138s tests/test_symbolic_mode.py ........ [ 96%] 138s tests/test_symlink_normalization.py .......... [ 98%] 138s tests/test_utils.py ..... [100%] 138s 138s =============================== warnings summary =============================== 138s tests/lsp_tests/test_lsp_dctrl.py:363 138s /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/tests/lsp_tests/test_lsp_dctrl.py:363: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 138s @pytest.mark.asyncio 138s 138s tests/lsp_tests/test_lsp_dpatches_series.py:27 138s /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/tests/lsp_tests/test_lsp_dpatches_series.py:27: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 138s @pytest.mark.asyncio 138s 138s tests/test_deb_packaging_support.py::test_generate_md5sums_file[data_members1-conffiles_lines1-expected1] 138s /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/tests/test_deb_packaging_support.py:477: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/autopkgtest.rO5LSr/autopkgtest_tmp/debian/.debputy/scratch-dir/_pb-2374/generated-fs-content/no-package/tmpokua5yny__md5sums' mode='rt' encoding='utf-8'> 138s for line in md5sums_file.open(): 138s Enable tracemalloc to get traceback where the object was allocated. 138s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 138s 138s tests/test_deb_packaging_support.py::test_generate_md5sums_file[data_members3-conffiles_lines3-expected3] 138s /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/tests/test_deb_packaging_support.py:477: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/autopkgtest.rO5LSr/autopkgtest_tmp/debian/.debputy/scratch-dir/_pb-2374/generated-fs-content/no-package/tmpl_ohcw89__md5sums' mode='rt' encoding='utf-8'> 138s for line in md5sums_file.open(): 138s Enable tracemalloc to get traceback where the object was allocated. 138s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 138s 138s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 138s ============ 435 passed, 45 skipped, 1 xfailed, 4 warnings in 4.02s ============ 138s + PYTHONPATH=/usr/share/dh-debputy LC_ALL=C.UTF-8 python3.13 -m pytest 139s ============================= test session starts ============================== 139s platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 139s rootdir: /tmp/autopkgtest.rO5LSr/autopkgtest_tmp 139s configfile: pyproject.toml 139s testpaths: src, tests, self-hosting-plugins 139s plugins: typeguard-4.4.2 139s collected 481 items 139s 139s tests/lint_tests/test_lint_changelog.py .... [ 0%] 139s tests/lint_tests/test_lint_dcpy.py ..... [ 1%] 139s tests/lint_tests/test_lint_dctrl.py .ss.................s.s............. [ 9%] 139s .....s... [ 11%] 139s tests/lint_tests/test_lint_debputy.py .....s... [ 13%] 139s tests/lint_tests/test_lint_dpatches_series.py ... [ 13%] 140s tests/lint_tests/test_lint_dtctrl.py .s [ 14%] 140s tests/lint_tests/test_lint_upstream_metadata.py . [ 14%] 140s tests/lsp_tests/test_debpkg_metadata.py ........... [ 16%] 140s tests/lsp_tests/test_lsp_dctrl.py ssssssssssssssss [ 19%] 140s tests/lsp_tests/test_lsp_debputy_manifest_completer.py sssssssss [ 21%] 140s tests/lsp_tests/test_lsp_debputy_manifest_hover.py ssssssssss [ 23%] 140s tests/lsp_tests/test_lsp_dpatches_series.py s [ 24%] 140s tests/plugin_tests/gnome_test.py .... [ 24%] 140s tests/plugin_tests/grantlee_test.py . [ 25%] 140s tests/plugin_tests/numpy3_test.py .. [ 25%] 140s tests/plugin_tests/perl-openssl_test.py . [ 25%] 140s tests/test_alternatives.py . [ 25%] 140s tests/test_apply_compression.py . [ 26%] 140s tests/test_architecture.py . [ 26%] 140s tests/test_cross_check_precheck.py ............... [ 29%] 140s tests/test_deb_packaging_support.py ................................... [ 36%] 141s tests/test_debputy_plugin.py ........................................... [ 45%] 141s .. [ 46%] 141s tests/test_declarative_parser.py ............ [ 48%] 141s tests/test_fs_metadata.py .................. [ 52%] 141s tests/test_install_rules.py .................. [ 56%] 141s tests/test_interpreter.py ............. [ 58%] 141s tests/test_migrations.py .................................. [ 65%] 141s tests/test_output_filename.py ...... [ 67%] 141s tests/test_packager_provided_files.py ....................s.s [ 71%] 141s tests/test_packer_pack.py . [ 72%] 141s tests/test_parser.py ............................................. [ 81%] 141s tests/test_path.py . [ 81%] 142s tests/test_plugin_tester.py ....................... [ 86%] 142s tests/test_style.py ....x............................... [ 93%] 142s tests/test_substitute.py ...... [ 95%] 142s tests/test_symbolic_mode.py ........ [ 96%] 142s tests/test_symlink_normalization.py .......... [ 98%] 142s tests/test_utils.py ..... [100%] 142s 142s =============================== warnings summary =============================== 142s tests/lsp_tests/test_lsp_dctrl.py:363 142s /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/tests/lsp_tests/test_lsp_dctrl.py:363: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 142s @pytest.mark.asyncio 142s 142s tests/lsp_tests/test_lsp_dpatches_series.py:27 142s /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/tests/lsp_tests/test_lsp_dpatches_series.py:27: PytestUnknownMarkWarning: Unknown pytest.mark.asyncio - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 142s @pytest.mark.asyncio 142s 142s tests/test_deb_packaging_support.py::test_generate_md5sums_file[data_members1-conffiles_lines1-expected1] 142s /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/tests/test_deb_packaging_support.py:477: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/autopkgtest.rO5LSr/autopkgtest_tmp/debian/.debputy/scratch-dir/_pb-2440/generated-fs-content/no-package/tmpylnin_2z__md5sums' mode='rt' encoding='utf-8'> 142s for line in md5sums_file.open(): 142s Enable tracemalloc to get traceback where the object was allocated. 142s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 142s 142s tests/test_deb_packaging_support.py::test_generate_md5sums_file[data_members3-conffiles_lines3-expected3] 142s /tmp/autopkgtest.rO5LSr/autopkgtest_tmp/tests/test_deb_packaging_support.py:477: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/autopkgtest.rO5LSr/autopkgtest_tmp/debian/.debputy/scratch-dir/_pb-2440/generated-fs-content/no-package/tmp02jmlkyn__md5sums' mode='rt' encoding='utf-8'> 142s for line in md5sums_file.open(): 142s Enable tracemalloc to get traceback where the object was allocated. 142s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 142s 142s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 142s ============ 435 passed, 45 skipped, 1 xfailed, 4 warnings in 3.35s ============ 142s autopkgtest [10:38:26]: test debputy-py.test: -----------------------] 143s autopkgtest [10:38:27]: test debputy-py.test: - - - - - - - - - - results - - - - - - - - - - 143s debputy-py.test PASS 143s autopkgtest [10:38:27]: test debputy-cli: preparing testbed 286s autopkgtest [10:40:50]: testbed dpkg architecture: s390x 287s autopkgtest [10:40:51]: testbed apt version: 3.0.0 287s autopkgtest [10:40:51]: @@@@@@@@@@@@@@@@@@@@ test bed setup 287s autopkgtest [10:40:51]: testbed release detected to be: questing 288s autopkgtest [10:40:52]: updating testbed package index (apt update) 288s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 288s Hit:2 http://ftpmaster.internal/ubuntu questing InRelease 289s Hit:3 http://ftpmaster.internal/ubuntu questing-updates InRelease 289s Hit:4 http://ftpmaster.internal/ubuntu questing-security InRelease 289s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [175 kB] 289s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2076 kB] 290s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [44.4 kB] 290s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main s390x Packages [208 kB] 290s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe s390x Packages [1079 kB] 290s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse s390x Packages [9148 B] 290s Fetched 3701 kB in 2s (1764 kB/s) 291s Reading package lists... 292s autopkgtest [10:40:56]: upgrading testbed (apt dist-upgrade and autopurge) 292s Reading package lists... 292s Building dependency tree... 292s Reading state information... 292s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 292s Starting 2 pkgProblemResolver with broken count: 0 292s Done 293s Entering ResolveByKeep 293s 293s Calculating upgrade... 293s The following packages will be upgraded: 293s htop nano 293s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 293s Need to get 488 kB of archives. 293s After this operation, 3072 B of additional disk space will be used. 293s Get:1 http://ftpmaster.internal/ubuntu questing/main s390x nano s390x 8.4-1 [299 kB] 293s Get:2 http://ftpmaster.internal/ubuntu questing/main s390x htop s390x 3.4.1-4 [189 kB] 294s Fetched 488 kB in 1s (889 kB/s) 294s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81472 files and directories currently installed.) 294s Preparing to unpack .../archives/nano_8.4-1_s390x.deb ... 294s Unpacking nano (8.4-1) over (8.3-1) ... 294s Preparing to unpack .../htop_3.4.1-4_s390x.deb ... 294s Unpacking htop (3.4.1-4) over (3.4.0-2) ... 294s Setting up htop (3.4.1-4) ... 294s Setting up nano (8.4-1) ... 294s Installing new version of config file /etc/nanorc ... 294s Processing triggers for man-db (2.13.0-1) ... 295s Processing triggers for install-info (7.1.1-1) ... 295s Reading package lists... 295s Building dependency tree... 295s Reading state information... 295s Starting pkgProblemResolver with broken count: 0 295s Starting 2 pkgProblemResolver with broken count: 0 295s Done 296s Solving dependencies... 296s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 298s Reading package lists... 299s Building dependency tree... 299s Reading state information... 299s Starting pkgProblemResolver with broken count: 0 299s Starting 2 pkgProblemResolver with broken count: 0 299s Done 299s The following NEW packages will be installed: 299s autoconf automake autopoint autotools-dev cpp cpp-14 cpp-14-s390x-linux-gnu 299s cpp-s390x-linux-gnu debhelper debugedit dh-autoreconf dh-debputy 299s dh-strip-nondeterminism dwz gcc gcc-14 gcc-14-s390x-linux-gnu 299s gcc-s390x-linux-gnu gettext intltool-debian libarchive-zip-perl libasan8 299s libcc1-0 libdebhelper-perl libfile-stripnondeterminism-perl libgcc-14-dev 299s libgomp1 libisl23 libitm1 libmpc3 libtool libubsan1 m4 po-debconf 299s python3-colored python3-colorlog python3-debian python3-ruyaml 299s strip-nondeterminism 299s 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. 299s Need to get 40.5 MB of archives. 299s After this operation, 120 MB of additional disk space will be used. 299s Get:1 http://ftpmaster.internal/ubuntu questing/main s390x m4 s390x 1.4.19-7 [259 kB] 300s Get:2 http://ftpmaster.internal/ubuntu questing/main s390x autoconf all 2.72-3ubuntu1 [383 kB] 300s Get:3 http://ftpmaster.internal/ubuntu questing/main s390x autotools-dev all 20220109.1 [44.9 kB] 300s Get:4 http://ftpmaster.internal/ubuntu questing/main s390x automake all 1:1.17-3ubuntu1 [572 kB] 300s Get:5 http://ftpmaster.internal/ubuntu questing/main s390x autopoint all 0.23.1-1 [619 kB] 300s Get:6 http://ftpmaster.internal/ubuntu questing/main s390x libisl23 s390x 0.27-1 [704 kB] 300s Get:7 http://ftpmaster.internal/ubuntu questing/main s390x libmpc3 s390x 1.3.1-1build2 [57.8 kB] 300s Get:8 http://ftpmaster.internal/ubuntu questing/main s390x cpp-14-s390x-linux-gnu s390x 14.2.0-19ubuntu2 [9572 kB] 302s Get:9 http://ftpmaster.internal/ubuntu questing/main s390x cpp-14 s390x 14.2.0-19ubuntu2 [1024 B] 302s Get:10 http://ftpmaster.internal/ubuntu questing/main s390x cpp-s390x-linux-gnu s390x 4:14.2.0-1ubuntu1 [5556 B] 302s Get:11 http://ftpmaster.internal/ubuntu questing/main s390x cpp s390x 4:14.2.0-1ubuntu1 [22.4 kB] 302s Get:12 http://ftpmaster.internal/ubuntu questing/main s390x libdebhelper-perl all 13.24.1ubuntu2 [95.4 kB] 302s Get:13 http://ftpmaster.internal/ubuntu questing/main s390x libcc1-0 s390x 15-20250404-0ubuntu1 [49.6 kB] 302s Get:14 http://ftpmaster.internal/ubuntu questing/main s390x libgomp1 s390x 15-20250404-0ubuntu1 [152 kB] 302s Get:15 http://ftpmaster.internal/ubuntu questing/main s390x libitm1 s390x 15-20250404-0ubuntu1 [31.2 kB] 302s Get:16 http://ftpmaster.internal/ubuntu questing/main s390x libasan8 s390x 15-20250404-0ubuntu1 [2966 kB] 302s Get:17 http://ftpmaster.internal/ubuntu questing/main s390x libubsan1 s390x 15-20250404-0ubuntu1 [1210 kB] 302s Get:18 http://ftpmaster.internal/ubuntu questing/main s390x libgcc-14-dev s390x 14.2.0-19ubuntu2 [1037 kB] 302s Get:19 http://ftpmaster.internal/ubuntu questing/main s390x gcc-14-s390x-linux-gnu s390x 14.2.0-19ubuntu2 [18.7 MB] 303s Get:20 http://ftpmaster.internal/ubuntu questing/main s390x gcc-14 s390x 14.2.0-19ubuntu2 [529 kB] 303s Get:21 http://ftpmaster.internal/ubuntu questing/main s390x gcc-s390x-linux-gnu s390x 4:14.2.0-1ubuntu1 [1204 B] 303s Get:22 http://ftpmaster.internal/ubuntu questing/main s390x gcc s390x 4:14.2.0-1ubuntu1 [5004 B] 303s Get:23 http://ftpmaster.internal/ubuntu questing/main s390x libtool all 2.5.4-4 [168 kB] 303s Get:24 http://ftpmaster.internal/ubuntu questing/main s390x dh-autoreconf all 20 [16.1 kB] 303s Get:25 http://ftpmaster.internal/ubuntu questing/main s390x libarchive-zip-perl all 1.68-1 [90.2 kB] 303s Get:26 http://ftpmaster.internal/ubuntu questing/main s390x libfile-stripnondeterminism-perl all 1.14.1-2 [20.3 kB] 303s Get:27 http://ftpmaster.internal/ubuntu questing/main s390x dh-strip-nondeterminism all 1.14.1-2 [5064 B] 303s Get:28 http://ftpmaster.internal/ubuntu questing/main s390x debugedit s390x 1:5.1-2 [50.1 kB] 303s Get:29 http://ftpmaster.internal/ubuntu questing/main s390x dwz s390x 0.15-1build6 [122 kB] 303s Get:30 http://ftpmaster.internal/ubuntu questing/main s390x gettext s390x 0.23.1-1 [1065 kB] 303s Get:31 http://ftpmaster.internal/ubuntu questing/main s390x intltool-debian all 0.35.0+20060710.6 [23.2 kB] 303s Get:32 http://ftpmaster.internal/ubuntu questing/main s390x po-debconf all 1.0.21+nmu1 [233 kB] 303s Get:33 http://ftpmaster.internal/ubuntu questing/main s390x debhelper all 13.24.1ubuntu2 [895 kB] 303s Get:34 http://ftpmaster.internal/ubuntu questing/universe s390x python3-colored all 2.2.4-1 [14.2 kB] 303s Get:35 http://ftpmaster.internal/ubuntu questing/universe s390x python3-colorlog all 6.9.0-1 [21.6 kB] 303s Get:36 http://ftpmaster.internal/ubuntu questing/main s390x python3-debian all 1.0.1ubuntu1 [121 kB] 303s Get:37 http://ftpmaster.internal/ubuntu questing/universe s390x python3-ruyaml all 0.91.0-5 [81.7 kB] 303s Get:38 http://ftpmaster.internal/ubuntu questing/universe s390x strip-nondeterminism all 1.14.1-2 [5576 B] 303s Get:39 http://ftpmaster.internal/ubuntu questing/universe s390x dh-debputy all 0.1.67 [479 kB] 304s Fetched 40.5 MB in 4s (9364 kB/s) 304s Selecting previously unselected package m4. 304s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81472 files and directories currently installed.) 304s Preparing to unpack .../00-m4_1.4.19-7_s390x.deb ... 304s Unpacking m4 (1.4.19-7) ... 304s Selecting previously unselected package autoconf. 304s Preparing to unpack .../01-autoconf_2.72-3ubuntu1_all.deb ... 304s Unpacking autoconf (2.72-3ubuntu1) ... 304s Selecting previously unselected package autotools-dev. 304s Preparing to unpack .../02-autotools-dev_20220109.1_all.deb ... 304s Unpacking autotools-dev (20220109.1) ... 304s Selecting previously unselected package automake. 304s Preparing to unpack .../03-automake_1%3a1.17-3ubuntu1_all.deb ... 304s Unpacking automake (1:1.17-3ubuntu1) ... 304s Selecting previously unselected package autopoint. 304s Preparing to unpack .../04-autopoint_0.23.1-1_all.deb ... 304s Unpacking autopoint (0.23.1-1) ... 304s Selecting previously unselected package libisl23:s390x. 304s Preparing to unpack .../05-libisl23_0.27-1_s390x.deb ... 304s Unpacking libisl23:s390x (0.27-1) ... 304s Selecting previously unselected package libmpc3:s390x. 304s Preparing to unpack .../06-libmpc3_1.3.1-1build2_s390x.deb ... 304s Unpacking libmpc3:s390x (1.3.1-1build2) ... 304s Selecting previously unselected package cpp-14-s390x-linux-gnu. 304s Preparing to unpack .../07-cpp-14-s390x-linux-gnu_14.2.0-19ubuntu2_s390x.deb ... 304s Unpacking cpp-14-s390x-linux-gnu (14.2.0-19ubuntu2) ... 304s Selecting previously unselected package cpp-14. 304s Preparing to unpack .../08-cpp-14_14.2.0-19ubuntu2_s390x.deb ... 304s Unpacking cpp-14 (14.2.0-19ubuntu2) ... 304s Selecting previously unselected package cpp-s390x-linux-gnu. 304s Preparing to unpack .../09-cpp-s390x-linux-gnu_4%3a14.2.0-1ubuntu1_s390x.deb ... 304s Unpacking cpp-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 304s Selecting previously unselected package cpp. 304s Preparing to unpack .../10-cpp_4%3a14.2.0-1ubuntu1_s390x.deb ... 304s Unpacking cpp (4:14.2.0-1ubuntu1) ... 304s Selecting previously unselected package libdebhelper-perl. 304s Preparing to unpack .../11-libdebhelper-perl_13.24.1ubuntu2_all.deb ... 304s Unpacking libdebhelper-perl (13.24.1ubuntu2) ... 304s Selecting previously unselected package libcc1-0:s390x. 304s Preparing to unpack .../12-libcc1-0_15-20250404-0ubuntu1_s390x.deb ... 304s Unpacking libcc1-0:s390x (15-20250404-0ubuntu1) ... 304s Selecting previously unselected package libgomp1:s390x. 304s Preparing to unpack .../13-libgomp1_15-20250404-0ubuntu1_s390x.deb ... 304s Unpacking libgomp1:s390x (15-20250404-0ubuntu1) ... 304s Selecting previously unselected package libitm1:s390x. 304s Preparing to unpack .../14-libitm1_15-20250404-0ubuntu1_s390x.deb ... 304s Unpacking libitm1:s390x (15-20250404-0ubuntu1) ... 304s Selecting previously unselected package libasan8:s390x. 304s Preparing to unpack .../15-libasan8_15-20250404-0ubuntu1_s390x.deb ... 304s Unpacking libasan8:s390x (15-20250404-0ubuntu1) ... 304s Selecting previously unselected package libubsan1:s390x. 304s Preparing to unpack .../16-libubsan1_15-20250404-0ubuntu1_s390x.deb ... 304s Unpacking libubsan1:s390x (15-20250404-0ubuntu1) ... 304s Selecting previously unselected package libgcc-14-dev:s390x. 304s Preparing to unpack .../17-libgcc-14-dev_14.2.0-19ubuntu2_s390x.deb ... 304s Unpacking libgcc-14-dev:s390x (14.2.0-19ubuntu2) ... 304s Selecting previously unselected package gcc-14-s390x-linux-gnu. 304s Preparing to unpack .../18-gcc-14-s390x-linux-gnu_14.2.0-19ubuntu2_s390x.deb ... 304s Unpacking gcc-14-s390x-linux-gnu (14.2.0-19ubuntu2) ... 304s Selecting previously unselected package gcc-14. 304s Preparing to unpack .../19-gcc-14_14.2.0-19ubuntu2_s390x.deb ... 304s Unpacking gcc-14 (14.2.0-19ubuntu2) ... 304s Selecting previously unselected package gcc-s390x-linux-gnu. 304s Preparing to unpack .../20-gcc-s390x-linux-gnu_4%3a14.2.0-1ubuntu1_s390x.deb ... 304s Unpacking gcc-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 304s Selecting previously unselected package gcc. 304s Preparing to unpack .../21-gcc_4%3a14.2.0-1ubuntu1_s390x.deb ... 304s Unpacking gcc (4:14.2.0-1ubuntu1) ... 304s Selecting previously unselected package libtool. 304s Preparing to unpack .../22-libtool_2.5.4-4_all.deb ... 304s Unpacking libtool (2.5.4-4) ... 304s Selecting previously unselected package dh-autoreconf. 304s Preparing to unpack .../23-dh-autoreconf_20_all.deb ... 304s Unpacking dh-autoreconf (20) ... 305s Selecting previously unselected package libarchive-zip-perl. 305s Preparing to unpack .../24-libarchive-zip-perl_1.68-1_all.deb ... 305s Unpacking libarchive-zip-perl (1.68-1) ... 305s Selecting previously unselected package libfile-stripnondeterminism-perl. 305s Preparing to unpack .../25-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... 305s Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... 305s Selecting previously unselected package dh-strip-nondeterminism. 305s Preparing to unpack .../26-dh-strip-nondeterminism_1.14.1-2_all.deb ... 305s Unpacking dh-strip-nondeterminism (1.14.1-2) ... 305s Selecting previously unselected package debugedit. 305s Preparing to unpack .../27-debugedit_1%3a5.1-2_s390x.deb ... 305s Unpacking debugedit (1:5.1-2) ... 305s Selecting previously unselected package dwz. 305s Preparing to unpack .../28-dwz_0.15-1build6_s390x.deb ... 305s Unpacking dwz (0.15-1build6) ... 305s Selecting previously unselected package gettext. 305s Preparing to unpack .../29-gettext_0.23.1-1_s390x.deb ... 305s Unpacking gettext (0.23.1-1) ... 305s Selecting previously unselected package intltool-debian. 305s Preparing to unpack .../30-intltool-debian_0.35.0+20060710.6_all.deb ... 305s Unpacking intltool-debian (0.35.0+20060710.6) ... 305s Selecting previously unselected package po-debconf. 305s Preparing to unpack .../31-po-debconf_1.0.21+nmu1_all.deb ... 305s Unpacking po-debconf (1.0.21+nmu1) ... 305s Selecting previously unselected package debhelper. 305s Preparing to unpack .../32-debhelper_13.24.1ubuntu2_all.deb ... 305s Unpacking debhelper (13.24.1ubuntu2) ... 305s Selecting previously unselected package python3-colored. 305s Preparing to unpack .../33-python3-colored_2.2.4-1_all.deb ... 305s Unpacking python3-colored (2.2.4-1) ... 305s Selecting previously unselected package python3-colorlog. 305s Preparing to unpack .../34-python3-colorlog_6.9.0-1_all.deb ... 305s Unpacking python3-colorlog (6.9.0-1) ... 305s Selecting previously unselected package python3-debian. 305s Preparing to unpack .../35-python3-debian_1.0.1ubuntu1_all.deb ... 305s Unpacking python3-debian (1.0.1ubuntu1) ... 305s Selecting previously unselected package python3-ruyaml. 305s Preparing to unpack .../36-python3-ruyaml_0.91.0-5_all.deb ... 305s Unpacking python3-ruyaml (0.91.0-5) ... 305s Selecting previously unselected package strip-nondeterminism. 305s Preparing to unpack .../37-strip-nondeterminism_1.14.1-2_all.deb ... 305s Unpacking strip-nondeterminism (1.14.1-2) ... 305s Selecting previously unselected package dh-debputy. 305s Preparing to unpack .../38-dh-debputy_0.1.67_all.deb ... 305s Unpacking dh-debputy (0.1.67) ... 305s Setting up python3-colorlog (6.9.0-1) ... 305s Setting up libarchive-zip-perl (1.68-1) ... 305s Setting up libdebhelper-perl (13.24.1ubuntu2) ... 305s Setting up m4 (1.4.19-7) ... 305s Setting up libgomp1:s390x (15-20250404-0ubuntu1) ... 305s Setting up autotools-dev (20220109.1) ... 305s Setting up python3-debian (1.0.1ubuntu1) ... 305s Setting up libmpc3:s390x (1.3.1-1build2) ... 305s Setting up autopoint (0.23.1-1) ... 305s Setting up autoconf (2.72-3ubuntu1) ... 305s Setting up libubsan1:s390x (15-20250404-0ubuntu1) ... 305s Setting up dwz (0.15-1build6) ... 305s Setting up libasan8:s390x (15-20250404-0ubuntu1) ... 305s Setting up debugedit (1:5.1-2) ... 305s Setting up python3-colored (2.2.4-1) ... 305s Setting up libisl23:s390x (0.27-1) ... 305s Setting up python3-ruyaml (0.91.0-5) ... 305s Setting up libcc1-0:s390x (15-20250404-0ubuntu1) ... 305s Setting up libitm1:s390x (15-20250404-0ubuntu1) ... 305s Setting up automake (1:1.17-3ubuntu1) ... 305s update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode 305s Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... 305s Setting up gettext (0.23.1-1) ... 305s Setting up strip-nondeterminism (1.14.1-2) ... 305s Setting up intltool-debian (0.35.0+20060710.6) ... 305s Setting up cpp-14-s390x-linux-gnu (14.2.0-19ubuntu2) ... 305s Setting up cpp-14 (14.2.0-19ubuntu2) ... 305s Setting up dh-strip-nondeterminism (1.14.1-2) ... 305s Setting up libgcc-14-dev:s390x (14.2.0-19ubuntu2) ... 305s Setting up cpp-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 305s Setting up po-debconf (1.0.21+nmu1) ... 305s Setting up gcc-14-s390x-linux-gnu (14.2.0-19ubuntu2) ... 305s Setting up gcc-s390x-linux-gnu (4:14.2.0-1ubuntu1) ... 305s Setting up cpp (4:14.2.0-1ubuntu1) ... 305s Setting up gcc-14 (14.2.0-19ubuntu2) ... 305s Setting up libtool (2.5.4-4) ... 305s Setting up gcc (4:14.2.0-1ubuntu1) ... 305s Setting up dh-autoreconf (20) ... 305s Setting up debhelper (13.24.1ubuntu2) ... 305s Setting up dh-debputy (0.1.67) ... 306s Processing triggers for libc-bin (2.41-6ubuntu1) ... 306s Processing triggers for man-db (2.13.0-1) ... 306s Processing triggers for install-info (7.1.1-1) ... 309s autopkgtest [10:41:13]: test debputy-cli: [----------------------- 310s + debputy --no-pager --help 310s usage: debputy [-h] [--version] [--debputy-manifest DEBPUTY_MANIFEST] [-d] 310s [--no-pager] [--plugin REQUIRED_PLUGINS] 310s COMMAND ... 310s 310s The `debputy` program is a Debian packaging tool. 310s 310s It serves multiple roles in the Debian packaging stack: 310s 310s 1) It is a maintainer support tool that can help maintain packages by providing 310s editor support (LSP), batch linting and style/file formatting for Debian 310s packaging files. This is covers subcommands like `debputy lint`, 310s `debputy lsp server`, `debputy reformat` 310s 310s 2) It is a manifest-based Debian package builder aiming to replace existing 310s package helper tools such as `debhelper . In this role, `debputy` is used 310s as a part of compiling a source package and transforming it into one 310s or more binary (.deb) packages. 310s 310s If you are using a screen reader, consider exporting setting the environment variable 310s OPTIMIZE_FOR_SCREEN_READER=1. This will remove some of the visual formatting and some 310s commands will render the output in a purely textual manner rather than visual layout. 310s 310s positional arguments: 310s COMMAND 310s plugin Interact with debputy plugins 310s internal-command Commands used for internal purposes. These are 310s implementation details and subject to change 310s tool-support Tool integration commands. These are intended to have 310s stable output and behavior 310s check-manifest Check the manifest for obvious errors, but do not run 310s anything 310s autopkgtest-test-runner 310s Detect tests in the debian dir and run them against 310s installed plugins 310s migrate-from-dh Generate/update manifest from a "dh $@" using package 310s lsp Language server related subcommands 310s lint Provide diagnostics for the packaging (like `lsp 310s server` except no editor is needed) 310s reformat Reformat the packaging files based on the 310s packaging/maintainer rules 310s 310s options: 310s -h, --help show this help message and exit 310s --version show program's version number and exit 310s --debputy-manifest DEBPUTY_MANIFEST 310s Specify another `debputy` manifest (default: 310s debian/debputy.manifest) 310s -d, --debug Enable debug logging and raw stack traces on errors. 310s Some warnings become errors as a consequence. 310s --no-pager For subcommands that can use a pager, disable the use 310s of pager. Some output formats implies --no-pager 310s --plugin REQUIRED_PLUGINS 310s Request the plugin to be loaded. Can be used multiple 310s time. Ignored for some commands (such as autopkgtest- 310s test-runner) 310s 310s Bug tracker: https://salsa.debian.org/debian/debputy/-/issues 310s + debputy --no-pager check-manifest 310s + debputy --no-pager plugin --help 311s usage: debputy plugin [-h] [--debputy-manifest DEBPUTY_MANIFEST] [-d] 311s [--no-pager] [--plugin REQUIRED_PLUGINS] 311s command ... 311s 311s positional arguments: 311s command 311s list List plugins or things provided by plugins (unstable 311s format). Pass `--help` *after* `list` get a topic 311s listing 311s show Show details about a plugin or things provided by 311s plugins (unstable format). Pass `--help` *after* 311s `show` get a topic listing 311s 311s options: 311s -h, --help show this help message and exit 311s --debputy-manifest DEBPUTY_MANIFEST 311s Specify another `debputy` manifest (default: 311s debian/debputy.manifest) 311s -d, --debug Enable debug logging and raw stack traces on errors. 311s Some warnings become errors as a consequence. 311s --no-pager For subcommands that can use a pager, disable the use 311s of pager. Some output formats implies --no-pager 311s --plugin REQUIRED_PLUGINS 311s Request the plugin to be loaded. Can be used multiple 311s time. Ignored for some commands (such as autopkgtest- 311s test-runner) 311s + debputy --no-pager plugin list --help 311s usage: debputy plugin list [-h] [--debputy-manifest DEBPUTY_MANIFEST] [-d] 311s [--no-pager] [--plugin REQUIRED_PLUGINS] 311s topic ... 311s 311s positional arguments: 311s topic 311s plugins List known plugins 311s used-packager-provided-files (uppf, u-p-p-f) 311s List packager provided files used by this package 311s (debian/pkg.foo) 311s packager-provided-files (ppf, p-p-f) 311s List packager provided file definitions 311s (debian/pkg.foo) 311s metadata-detectors List metadata detectors 311s manifest-variables List plugin provided manifest variables (such as 311s `{{path:FOO}}`) 311s pluggable-manifest-rules (p-m-r, pmr) 311s Pluggable manifest rules (such as install rules) 311s automatic-discard-rules (a-d-r) 311s List automatic discard rules 311s type-mappings Registered type mappings/descriptions 311s 311s options: 311s -h, --help show this help message and exit 311s --debputy-manifest DEBPUTY_MANIFEST 311s Specify another `debputy` manifest (default: 311s debian/debputy.manifest) 311s -d, --debug Enable debug logging and raw stack traces on errors. 311s Some warnings become errors as a consequence. 311s --no-pager For subcommands that can use a pager, disable the use 311s of pager. Some output formats implies --no-pager 311s --plugin REQUIRED_PLUGINS 311s Request the plugin to be loaded. Can be used multiple 311s time. Ignored for some commands (such as autopkgtest- 311s test-runner) 311s + debputy --no-pager plugin list 311s +-------------------------+-----------------------------------------------------------------+ 311s | Plugin Name | Plugin Path | 311s +-------------------------+-----------------------------------------------------------------+ 311s | debputy | | 311s | grantlee | /usr/share/debputy/debputy/plugins/grantlee.json | 311s | gnome | /usr/share/debputy/debputy/plugins/gnome.json | 311s | numpy3 | /usr/share/debputy/debputy/plugins/numpy3.json | 311s | perl-openssl | /usr/share/debputy/debputy/plugins/perl-openssl.json | 311s | debhelper-documentation | /usr/share/debputy/debputy/plugins/debhelper-documentation.json | 311s | debputy-documentation | /usr/share/debputy/debputy/plugins/debputy-documentation.json | 311s +-------------------------+-----------------------------------------------------------------+ 311s + debputy --no-pager plugin list plugins 311s +-------------------------+-----------------------------------------------------------------+ 311s | Plugin Name | Plugin Path | 311s +-------------------------+-----------------------------------------------------------------+ 311s | debputy | | 311s | grantlee | /usr/share/debputy/debputy/plugins/grantlee.json | 311s | gnome | /usr/share/debputy/debputy/plugins/gnome.json | 311s | numpy3 | /usr/share/debputy/debputy/plugins/numpy3.json | 311s | perl-openssl | /usr/share/debputy/debputy/plugins/perl-openssl.json | 311s | debhelper-documentation | /usr/share/debputy/debputy/plugins/debhelper-documentation.json | 311s | debputy-documentation | /usr/share/debputy/debputy/plugins/debputy-documentation.json | 311s +-------------------------+-----------------------------------------------------------------+ 311s + debputy --no-pager plugin list ppf 312s +-----------------------------+-------------------------------------------------------------------+------+------------------------+-------------+ 312s | Stem | Installed As | Mode | Features | Provided by | 312s +-----------------------------+-------------------------------------------------------------------+------+------------------------+-------------+ 312s | @path | /usr/lib/systemd/system/{name}@.path | 0644 | named | debputy | 312s | @service | /usr/lib/systemd/system/{name}@.service | 0644 | named | debputy | 312s | @socket | /usr/lib/systemd/system/{name}@.socket | 0644 | named | debputy | 312s | @target | /usr/lib/systemd/system/{name}@.target | 0644 | named | debputy | 312s | @timer | /usr/lib/systemd/system/{name}@.timer | 0644 | named | debputy | 312s | NEWS | /usr/share/doc/{name}/NEWS.Debian | 0644 | main-all-fallback | debputy | 312s | README.Debian | /usr/share/doc/{name}/README.Debian | 0644 | | debputy | 312s | TODO | /usr/share/doc/{name}/TODO.Debian | 0644 | | debputy | 312s | alternatives | /DEBIAN/alternatives | 0644 | arch | debputy | 312s | bash-completion | /usr/share/bash-completion/completions/{name} | 0644 | named | debputy | 312s | bug-control | /usr/share/bug/{name}/control | 0644 | | debputy | 312s | bug-presubj | /usr/share/bug/{name}/presubj | 0644 | | debputy | 312s | bug-script | /usr/share/bug/{name}/script | 0755 | | debputy | 312s | changelog | /usr/share/doc/{name}/changelog.Debian | 0644 | main-all-fallback | debputy | 312s | copyright | /usr/share/doc/{name}/copyright | 0644 | main-all-fallback | debputy | 312s | cron.d | /etc/cron.d/{name} | 0644 | named | debputy | 312s | cron.daily | /etc/cron.daily/{name} | 0755 | named | debputy | 312s | cron.hourly | /etc/cron.hourly/{name} | 0755 | named | debputy | 312s | cron.monthly | /etc/cron.monthly/{name} | 0755 | named | debputy | 312s | cron.weekly | /etc/cron.weekly/{name} | 0755 | named | debputy | 312s | cron.yearly | /etc/cron.yearly/{name} | 0755 | named | debputy | 312s | default | /etc/default/{name} | 0644 | named | debputy | 312s | doc-base | /usr/share/doc-base/{owning_package}.{name} | 0644 | named | debputy | 312s | fish-completion | /usr/share/fish/vendor_completions.d/{name} | 0644 | named | debputy | 312s | gsettings-override | /usr/share/glib-2.0/schemas/{priority:02}_{name}.gschema.override | 0644 | named,priority=10 | debputy | 312s | if-down | /etc/network/if-down.d/{name} | 0755 | named | debputy | 312s | if-post-down | /etc/network/if-post-down.d/{name} | 0755 | named | debputy | 312s | if-pre-up | /etc/network/if-pre-up.d/{name} | 0755 | named | debputy | 312s | if-up | /etc/network/if-up.d/{name} | 0755 | named | debputy | 312s | init | /etc/init.d/{name} | 0755 | named | debputy | 312s | initramfs-hook | /usr/share/initramfs-tools/hooks/{name} | 0755 | named | debputy | 312s | lintian-overrides | /usr/share/lintian/overrides/{name} | 0644 | | debputy | 312s | logcheck.cracking | /etc/logcheck/cracking.d/{name} | 0644 | named,post-format-hook | debputy | 312s | logcheck.ignore.paranoid | /etc/logcheck/ignore.d.paranoid/{name} | 0644 | named,post-format-hook | debputy | 312s | logcheck.ignore.server | /etc/logcheck/ignore.d.server/{name} | 0644 | named,post-format-hook | debputy | 312s | logcheck.ignore.workstation | /etc/logcheck/ignore.d.workstation/{name} | 0644 | named,post-format-hook | debputy | 312s | logcheck.violations | /etc/logcheck/violations.d/{name} | 0644 | named,post-format-hook | debputy | 312s | logcheck.violations.ignore | /etc/logcheck/violations.ignore.d/{name} | 0644 | named,post-format-hook | debputy | 312s | logrotate | /etc/logrotate.d/{name} | 0644 | named | debputy | 312s | mime | /usr/lib/mime/packages/{name} | 0644 | named | debputy | 312s | modprobe | /etc/modprobe.d/{name}.conf | 0644 | named | debputy | 312s | mount | /usr/lib/systemd/system/{name}.mount | 0644 | named | debputy | 312s | pam | /usr/lib/pam.d/{name} | 0644 | named | debputy | 312s | path | /usr/lib/systemd/system/{name}.path | 0644 | named | debputy | 312s | ppp.ip-down | /etc/ppp/ip-down.d/{name} | 0755 | named | debputy | 312s | ppp.ip-up | /etc/ppp/ip-up.d/{name} | 0755 | named | debputy | 312s | service | /usr/lib/systemd/system/{name}.service | 0644 | named | debputy | 312s | sharedmimeinfo | /usr/share/mime/packages/{name}.xml | 0644 | named | debputy | 312s | shlibs | /DEBIAN/shlibs | 0644 | | debputy | 312s | socket | /usr/lib/systemd/system/{name}.socket | 0644 | named | debputy | 312s | symbols | /DEBIAN/symbols | 0644 | arch | debputy | 312s | sysusers | /usr/lib/sysusers.d/{name}.conf | 0644 | named | debputy | 312s | target | /usr/lib/systemd/system/{name}.target | 0644 | named | debputy | 312s | templates | /DEBIAN/templates | 0644 | | debputy | 312s | timer | /usr/lib/systemd/system/{name}.timer | 0644 | named | debputy | 312s | tmpfiles | /usr/lib/tmpfiles.d/{name}.conf | 0644 | named | debputy | 312s | zsh-completion | /usr/share/zsh/vendor-completions/{name} | 0644 | named | debputy | 312s +-----------------------------+-------------------------------------------------------------------+------+------------------------+-------------+ 312s 312s Hint: You can use `debputy plugin list used-packager-provided-files` to have `debputy` 312s list all the files in debian/ that matches these definitions. 312s + debputy --no-pager plugin list uppf 312s +------------------+--------------+----------------+--------------------------------------------+ 312s | File | Matched Stem | Installed Into | Installed As | 312s +------------------+--------------+----------------+--------------------------------------------+ 312s | debian/changelog | changelog | dh-debputy | /usr/share/doc/dh-debputy/changelog.Debian | 312s | debian/copyright | copyright | dh-debputy | /usr/share/doc/dh-debputy/copyright | 312s +------------------+--------------+----------------+--------------------------------------------+ 312s + debputy --no-pager plugin list manifest-variables 312s +----------------------------------+----------------------------------------+------+-------------+ 312s | Variable (use via: `{{ NAME }}`) | Value | Flag | Provided by | 312s +----------------------------------+----------------------------------------+------+-------------+ 312s | DEB_HOST_ARCH | s390x | | debputy | 312s | DEB_HOST_ARCH_ABI | base | | debputy | 312s | DEB_HOST_ARCH_BITS | 64 | | debputy | 312s | DEB_HOST_ARCH_CPU | s390x | | debputy | 312s | DEB_HOST_ARCH_ENDIAN | big | | debputy | 312s | DEB_HOST_ARCH_LIBC | gnu | | debputy | 312s | DEB_HOST_ARCH_OS | linux | | debputy | 312s | DEB_HOST_GNU_CPU | s390x | | debputy | 312s | DEB_HOST_GNU_SYSTEM | linux-gnu | | debputy | 312s | DEB_HOST_GNU_TYPE | s390x-linux-gnu | | debputy | 312s | DEB_HOST_MULTIARCH | s390x-linux-gnu | | debputy | 312s | DEB_SOURCE | debputy | | debputy | 312s | DEB_VERSION | 0.1.67 | | debputy | 312s | DEB_VERSION_EPOCH_UPSTREAM | 0.1.67 | | debputy | 312s | DEB_VERSION_UPSTREAM | 0.1.67 | | debputy | 312s | DEB_VERSION_UPSTREAM_REVISION | 0.1.67 | | debputy | 312s | PACKAGE | | | debputy | 312s | SOURCE_DATE_EPOCH | 1741884642 | | debputy | 312s | path:BASH_COMPLETION_DIR | /usr/share/bash-completion/completions | | debputy | 312s | path:FISH_COMPLETION_DIR | /usr/share/fish/vendor_completions.d | | debputy | 312s | path:GNU_INFO_DIR | /usr/share/info | | debputy | 312s | path:ZSH_COMPLETION_DIR | /usr/share/zsh/vendor-completions | | debputy | 312s +----------------------------------+----------------------------------------+------+-------------+ 312s 312s +-----------------------+--------+-------------------------------------------------------+ 312s | Variable type | Value | Option | 312s +-----------------------+--------+-------------------------------------------------------+ 312s | Token variables | hidden | --show-token-variables OR --show-all-variables | 312s | Special use variables | hidden | --show-special-case-variables OR --show-all-variables | 312s +-----------------------+--------+-------------------------------------------------------+ 313s + debputy --no-pager plugin list manifest-variables --show-all-variables 313s +-------------------------------------+----------------------------------------+------------------+-------------+ 313s | Variable (use via: `{{ NAME }}`) | Value | Flag | Provided by | 313s +-------------------------------------+----------------------------------------+------------------+-------------+ 313s | DEB_BUILD_ARCH | s390x | special-use-case | debputy | 313s | DEB_BUILD_ARCH_ABI | base | special-use-case | debputy | 313s | DEB_BUILD_ARCH_BITS | 64 | special-use-case | debputy | 313s | DEB_BUILD_ARCH_CPU | s390x | special-use-case | debputy | 313s | DEB_BUILD_ARCH_ENDIAN | big | special-use-case | debputy | 313s | DEB_BUILD_ARCH_LIBC | gnu | special-use-case | debputy | 313s | DEB_BUILD_ARCH_OS | linux | special-use-case | debputy | 313s | DEB_BUILD_GNU_CPU | s390x | special-use-case | debputy | 313s | DEB_BUILD_GNU_SYSTEM | linux-gnu | special-use-case | debputy | 313s | DEB_BUILD_GNU_TYPE | s390x-linux-gnu | special-use-case | debputy | 313s | DEB_BUILD_MULTIARCH | s390x-linux-gnu | special-use-case | debputy | 313s | DEB_HOST_ARCH | s390x | | debputy | 313s | DEB_HOST_ARCH_ABI | base | | debputy | 313s | DEB_HOST_ARCH_BITS | 64 | | debputy | 313s | DEB_HOST_ARCH_CPU | s390x | | debputy | 313s | DEB_HOST_ARCH_ENDIAN | big | | debputy | 313s | DEB_HOST_ARCH_LIBC | gnu | | debputy | 313s | DEB_HOST_ARCH_OS | linux | | debputy | 313s | DEB_HOST_GNU_CPU | s390x | | debputy | 313s | DEB_HOST_GNU_SYSTEM | linux-gnu | | debputy | 313s | DEB_HOST_GNU_TYPE | s390x-linux-gnu | | debputy | 313s | DEB_HOST_MULTIARCH | s390x-linux-gnu | | debputy | 313s | DEB_SOURCE | debputy | | debputy | 313s | DEB_TARGET_ARCH | s390x | special-use-case | debputy | 313s | DEB_TARGET_ARCH_ABI | base | special-use-case | debputy | 313s | DEB_TARGET_ARCH_BITS | 64 | special-use-case | debputy | 313s | DEB_TARGET_ARCH_CPU | s390x | special-use-case | debputy | 313s | DEB_TARGET_ARCH_ENDIAN | big | special-use-case | debputy | 313s | DEB_TARGET_ARCH_LIBC | gnu | special-use-case | debputy | 313s | DEB_TARGET_ARCH_OS | linux | special-use-case | debputy | 313s | DEB_TARGET_GNU_CPU | s390x | special-use-case | debputy | 313s | DEB_TARGET_GNU_SYSTEM | linux-gnu | special-use-case | debputy | 313s | DEB_TARGET_GNU_TYPE | s390x-linux-gnu | special-use-case | debputy | 313s | DEB_TARGET_MULTIARCH | s390x-linux-gnu | special-use-case | debputy | 313s | DEB_VERSION | 0.1.67 | | debputy | 313s | DEB_VERSION_EPOCH_UPSTREAM | 0.1.67 | | debputy | 313s | DEB_VERSION_UPSTREAM | 0.1.67 | | debputy | 313s | DEB_VERSION_UPSTREAM_REVISION | 0.1.67 | | debputy | 313s | PACKAGE | | | debputy | 313s | SOURCE_DATE_EPOCH | 1741884642 | | debputy | 313s | _DEBPUTY_INTERNAL_NON_BINNMU_SOURCE | 0.1.67 | internal | debputy | 313s | _DEBPUTY_SND_SOURCE_DATE_EPOCH | 1741884642 | internal | debputy | 313s | path:BASH_COMPLETION_DIR | /usr/share/bash-completion/completions | | debputy | 313s | path:FISH_COMPLETION_DIR | /usr/share/fish/vendor_completions.d | | debputy | 313s | path:GNU_INFO_DIR | /usr/share/info | | debputy | 313s | path:ZSH_COMPLETION_DIR | /usr/share/zsh/vendor-completions | | debputy | 313s | token:CLOSE_CURLY_BRACE | } | | debputy | 313s | token:DOUBLE_CLOSE_CURLY_BRACE | }} | | debputy | 313s | token:DOUBLE_OPEN_CURLY_BRACE | {{ | | debputy | 313s | token:NEWLINE | \n | | debputy | 313s | token:NL | \n | | debputy | 313s | token:OPEN_CURLY_BRACE | { | | debputy | 313s | token:TAB | \t | | debputy | 313s +-------------------------------------+----------------------------------------+------------------+-------------+ 313s 313s +-----------------------+-------+-------------------------------------------------------+ 313s | Variable type | Value | Option | 313s +-----------------------+-------+-------------------------------------------------------+ 313s | Token variables | shown | --show-token-variables OR --show-all-variables | 313s | Special use variables | shown | --show-special-case-variables OR --show-all-variables | 313s +-----------------------+-------+-------------------------------------------------------+ 313s + debputy --no-pager plugin list pmr 313s +-------------------------------+------------------------------+-------------+ 313s | Rule Name | Rule Type | Provided By | 313s +-------------------------------+------------------------------+-------------+ 313s | install | InstallRule | debputy | 313s | install-docs | InstallRule | debputy | 313s | install-doc | InstallRule | debputy | 313s | install-examples | InstallRule | debputy | 313s | install-example | InstallRule | debputy | 313s | install-man | InstallRule | debputy | 313s | discard | InstallRule | debputy | 313s | multi-dest-install | InstallRule | debputy | 313s | move | TransformationRule | debputy | 313s | remove | TransformationRule | debputy | 313s | create-symlink | TransformationRule | debputy | 313s | path-metadata | TransformationRule | debputy | 313s | create-directories | TransformationRule | debputy | 313s | remove | DpkgMaintscriptHelperCommand | debputy | 313s | rename | DpkgMaintscriptHelperCommand | debputy | 313s | cross-compiling | ManifestCondition | debputy | 313s | can-execute-compiled-binaries | ManifestCondition | debputy | 313s | run-build-time-tests | ManifestCondition | debputy | 313s | not | ManifestCondition | debputy | 313s | any-of | ManifestCondition | debputy | 313s | all-of | ManifestCondition | debputy | 313s | arch-matches | ManifestCondition | debputy | 313s | source-context-arch-matches | ManifestCondition | debputy | 313s | package-context-arch-matches | ManifestCondition | debputy | 313s | build-profiles-matches | ManifestCondition | debputy | 313s | autoconf | BuildRule | debputy | 313s | make | BuildRule | debputy | 313s | perl-build | BuildRule | debputy | 313s | perl-makemaker | BuildRule | debputy | 313s | debhelper | BuildRule | debputy | 313s | cmake | BuildRule | debputy | 313s | meson | BuildRule | debputy | 313s | qmake | BuildRule | debputy | 313s | qmake6 | BuildRule | debputy | 313s | manifest-version | | debputy | 313s | definitions | | debputy | 313s | installations | | debputy | 313s | packages | | debputy | 313s | build-environments | | debputy | 313s | default-build-environment | | debputy | 313s | builds | | debputy | 313s | variables | definitions | debputy | 313s | binary-version | packages.{{PACKAGE}} | debputy | 313s | transformations | packages.{{PACKAGE}} | debputy | 313s | conffile-management | packages.{{PACKAGE}} | debputy | 313s | services | packages.{{PACKAGE}} | debputy | 313s | clean-after-removal | packages.{{PACKAGE}} | debputy | 313s | installation-search-dirs | packages.{{PACKAGE}} | debputy | 313s +-------------------------------+------------------------------+-------------+ 313s + debputy --no-pager plugin list automatic-discard-rules 313s +-----------------------+-------------+ 313s | Name | Provided By | 313s +-----------------------+-------------+ 313s | python-cache-files | debputy | 313s | la-files | debputy | 313s | backup-files | debputy | 313s | version-control-paths | debputy | 313s | gnu-info-dir-file | debputy | 313s | debian-dir | debputy | 313s | doxygen-cruft-files | debputy | 313s +-----------------------+-------------+ 314s + debputy --no-pager plugin list a-d-r 314s +-----------------------+-------------+ 314s | Name | Provided By | 314s +-----------------------+-------------+ 314s | python-cache-files | debputy | 314s | la-files | debputy | 314s | backup-files | debputy | 314s | version-control-paths | debputy | 314s | gnu-info-dir-file | debputy | 314s | debian-dir | debputy | 314s | doxygen-cruft-files | debputy | 314s +-----------------------+-------------+ 314s + debputy --no-pager plugin show ppf changelog 314s Packager Provided File: changelog 314s ================================= 314s 314s This file is the changelog of the package and is mandatory. 314s 314s The changelog contains the version of the source package and is mandatory for all 314s packages. 314s 314s Use `dch --create` to create the changelog. 314s 314s In theory, the binary package can have a different changelog than the source 314s package (by having `debian/binary-package.changelog`). However, it is generally 314s not useful and leads to double administration. It has not been used in practice. 314s 314s Features: 314s * debian/changelog is used for *ALL* packages 314s * No naming support; at most one per package and it is named after the package. 314s * No architecture specific variants. 314s 314s Examples matches: 314s +-----------------------------+--------------------------------------------+ 314s | Source file | Installed As | 314s +-----------------------------+--------------------------------------------+ 314s | debian/changelog | /usr/share/doc/dh-debputy/changelog.Debian | 314s | debian/dh-debputy.changelog | /usr/share/doc/dh-debputy/changelog.Debian | 314s +-----------------------------+--------------------------------------------+ 314s 314s Documentation URIs: 314s * man:deb-changelog(5) 314s * https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog 314s * man:dch(1) 314s 314s Install Mode: 0644 314s Provided by plugin: debputy 314s + debputy --no-pager plugin show ppf debian/changelog 315s Packager Provided File: changelog 315s ================================= 315s 315s This file is the changelog of the package and is mandatory. 315s 315s The changelog contains the version of the source package and is mandatory for all 315s packages. 315s 315s Use `dch --create` to create the changelog. 315s 315s In theory, the binary package can have a different changelog than the source 315s package (by having `debian/binary-package.changelog`). However, it is generally 315s not useful and leads to double administration. It has not been used in practice. 315s 315s Features: 315s * debian/changelog is used for *ALL* packages 315s * No naming support; at most one per package and it is named after the package. 315s * No architecture specific variants. 315s 315s Examples matches: 315s +-----------------------------+--------------------------------------------+ 315s | Source file | Installed As | 315s +-----------------------------+--------------------------------------------+ 315s | debian/changelog | /usr/share/doc/dh-debputy/changelog.Debian | 315s | debian/dh-debputy.changelog | /usr/share/doc/dh-debputy/changelog.Debian | 315s +-----------------------------+--------------------------------------------+ 315s 315s Documentation URIs: 315s * man:deb-changelog(5) 315s * https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog 315s * man:dch(1) 315s 315s Install Mode: 0644 315s Provided by plugin: debputy 315s + debputy --no-pager plugin show ppf service 315s Packager Provided File: service 315s =============================== 315s 315s Sorry, no description provided by the plugin debputy. 315s 315s Features: 315s * debian/service is used for only for the "main" package 315s * Supports naming segment (multiple files and custom naming). 315s * No architecture specific variants. 315s 315s Examples matches: 315s +------------------------------------------+------------------------------------------------+ 315s | Source file | Installed As | 315s +------------------------------------------+------------------------------------------------+ 315s | debian/service | /usr/lib/systemd/system/dh-debputy.service | 315s | debian/dh-debputy.service | /usr/lib/systemd/system/dh-debputy.service | 315s | debian/dh-debputy.my.custom.name.service | /usr/lib/systemd/system/my.custom.name.service | 315s +------------------------------------------+------------------------------------------------+ 315s 315s Documentation URIs: 315s * man:systemd.service(5) 315s 315s Install Mode: 0644 315s Provided by plugin: debputy 315s + debputy --no-pager plugin show pmr --help 316s usage: debputy plugin show pluggable-manifest-rules [-h] 316s [--debputy-manifest DEBPUTY_MANIFEST] 316s [-d] [--no-pager] 316s [--plugin REQUIRED_PLUGINS] 316s rule-name 316s 316s positional arguments: 316s rule-name Name of the rule (such as `install`) to display 316s details about 316s 316s options: 316s -h, --help show this help message and exit 316s --debputy-manifest DEBPUTY_MANIFEST 316s Specify another `debputy` manifest (default: 316s debian/debputy.manifest) 316s -d, --debug Enable debug logging and raw stack traces on errors. 316s Some warnings become errors as a consequence. 316s --no-pager For subcommands that can use a pager, disable the use 316s of pager. Some output formats implies --no-pager 316s --plugin REQUIRED_PLUGINS 316s Request the plugin to be loaded. Can be used multiple 316s time. Ignored for some commands (such as autopkgtest- 316s test-runner) 316s + Checking installations manifest rules 316s echo Checking installations manifest rules 316s + debputy --no-pager plugin show pmr install 316s Generic install (`install`) 316s =========================== 316s 316s The generic `install` rule can be used to install arbitrary paths into packages 316s and is *similar* to how `dh_install` from debhelper works. It is a two "primary" uses. 316s 316s 1) The classic "install into directory" similar to the standard `dh_install` 316s 2) The "install as" similar to `dh-exec`'s `foo => bar` feature. 316s 316s The `install` rule installs a path exactly once into each package it acts on. In 316s the rare case that you want to install the same source *multiple* times into the 316s *same* packages, please have a look at `multi-dest-install`. 316s 316s Attributes: 316s - `source` (conditional): FileSystemMatchRule 316s `sources` (conditional): List of string 316s 316s A path match (`source`) or a list of path matches (`sources`) defining the 316s source path(s) to be installed. The path match(es) can use globs. Each match 316s is tried against default search directories. 316s - When a symlink is matched, then the symlink (not its target) is installed 316s as-is. When a directory is matched, then the directory is installed along 316s with all the contents that have not already been installed somewhere. 316s 316s - `dest-dir` (optional): FileSystemExactMatchRule 316s 316s A path defining the destination *directory*. The value *cannot* use globs, but can 316s use substitution. If neither `as` nor `dest-dir` is given, then `dest-dir` defaults 316s to the directory name of the `source`. 316s 316s - `into` (optional): string or a list of string 316s 316s Either a package name or a list of package names for which these paths should be 316s installed. This key is conditional on whether there are multiple binary packages listed 316s in `debian/control`. When there is only one binary package, then that binary is the 316s default for `into`. Otherwise, the key is required. 316s 316s - `as` (optional): FileSystemExactMatchRule 316s 316s A path defining the path to install the source as. This is a full path. This option 316s is mutually exclusive with `dest-dir` and `sources` (but not `source`). When `as` is 316s given, then `source` must match exactly one "not yet matched" path. 316s 316s - `when` (optional): ManifestCondition 316s 316s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#conditional-rules). 316s 316s The conditional will disable the entire rule when the conditional evaluates to false. 316s 316s 316s This rule enforces the following restrictions: 316s - The rule must use exactly one of: `source`, `sources` 316s - The attribute `as` cannot be used with any of: `dest-dir`, `sources` 316s 316s Non-mapping format: string or a list of string 316s When the input is a string or a list of string, then that value is used as shorthand 316s for `source` or `sources` (respectively). This form can only be used when `into` is 316s not required. 316s 316s Integration mode availability: any integration mode 316s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#generic-install-install 316s Used in: installations 316s Rule reference: InstallRule::install 316s Plugin: debputy 316s 316s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 316s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 316s + debputy --no-pager plugin show pmr install-docs 316s Install documentation (`install-docs`) 316s ====================================== 316s 316s This install rule resemble that of `dh_installdocs`. It is a shorthand over the generic 316s `install` rule with the following key features: 316s 316s 1) The default `dest-dir` is to use the package's documentation directory (usually something 316s like `/usr/share/doc/{{PACKAGE}}`, though it respects the "main documentation package" 316s recommendation from Debian Policy). The `dest-dir` or `as` can be set in case the 316s documentation in question goes into another directory or with a concrete path. In this 316s case, it is still "better" than `install` due to the remaining benefits. 316s 2) The rule comes with pre-defined conditional logic for skipping the rule under 316s `DEB_BUILD_OPTIONS=nodoc`, so you do not have to write that conditional yourself. 316s 3) The `into` parameter can be omitted as long as there is a exactly one non-`udeb` 316s package listed in `debian/control`. 316s 316s With these two things in mind, it behaves just like the `install` rule. 316s 316s Note: It is often worth considering to use a more specialized version of the `install-docs` 316s rule when one such is available. If you are looking to install an example or a man page, 316s consider whether `install-examples` or `install-man` might be a better fit for your 316s use-case. 316s 316s Attributes: 316s - `source` (conditional): FileSystemMatchRule 316s `sources` (conditional): List of string 316s 316s A path match (`source`) or a list of path matches (`sources`) defining the 316s source path(s) to be installed. The path match(es) can use globs. Each match 316s is tried against default search directories. 316s - When a symlink is matched, then the symlink (not its target) is installed 316s as-is. When a directory is matched, then the directory is installed along 316s with all the contents that have not already been installed somewhere. 316s 316s - **CAVEAT**: Specifying `source: examples` where `examples` resolves to a 316s directory for `install-examples` will give you an `examples/examples` 316s directory in the package, which is rarely what you want. Often, you 316s can solve this by using `examples/*` instead. Similar for `install-docs` 316s and a `doc` or `docs` directory. 316s 316s - `dest-dir` (optional): FileSystemExactMatchRule 316s 316s A path defining the destination *directory*. The value *cannot* use globs, but can 316s use substitution. If neither `as` nor `dest-dir` is given, then `dest-dir` defaults 316s to the relevant package documentation directory (a la `/usr/share/doc/{{PACKAGE}}`). 316s 316s - `into` (optional): string or a list of string 316s 316s Either a package name or a list of package names for which these paths should be 316s installed as documentation. This key is conditional on whether there are multiple 316s (non-`udeb`) binary packages listed in `debian/control`. When there is only one 316s (non-`udeb`) binary package, then that binary is the default for `into`. Otherwise, 316s the key is required. 316s 316s - `as` (optional): FileSystemExactMatchRule 316s 316s A path defining the path to install the source as. This is a full path. This option 316s is mutually exclusive with `dest-dir` and `sources` (but not `source`). When `as` is 316s given, then `source` must match exactly one "not yet matched" path. 316s 316s - `when` (optional): ManifestCondition 316s 316s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#conditional-rules). 316s This condition will be combined with the built-in condition provided by these rules 316s (rather than replacing it). 316s 316s 316s This rule enforces the following restrictions: 316s - The rule must use exactly one of: `source`, `sources` 316s - The attribute `as` cannot be used with any of: `dest-dir`, `sources` 316s 316s Non-mapping format: string or a list of string 316s When the input is a string or a list of string, then that value is used as shorthand 316s for `source` or `sources` (respectively). This form can only be used when `into` is 316s not required. 316s 316s Integration mode availability: any integration mode 316s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#install-documentation-install-docs 316s Used in: installations 316s Rule reference: InstallRule::install-docs 316s Plugin: debputy 316s 316s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 316s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 316s + debputy --no-pager plugin show pmr install-man 317s Install man pages (`install-man`) 317s ================================= 317s 317s Install rule for installing man pages similar to `dh_installman`. It is a shorthand 317s over the generic `install` rule with the following key features: 317s 317s 1) The rule can only match files (notably, symlinks cannot be matched by this rule). 317s 2) The `dest-dir` is computed per source file based on the man page's section and 317s language. 317s 3) The `into` parameter can be omitted as long as there is a exactly one non-`udeb` 317s package listed in `debian/control`. 317s 4) The rule comes with man page specific attributes such as `language` and `section` 317s for when the auto-detection is insufficient. 317s 5) The rule comes with pre-defined conditional logic for skipping the rule under 317s `DEB_BUILD_OPTIONS=nodoc`, so you do not have to write that conditional yourself. 317s 317s With these things in mind, the rule behaves similar to the `install` rule. 317s 317s Attributes: 317s - `source` (conditional): FileSystemMatchRule 317s `sources` (conditional): List of string 317s 317s A path match (`source`) or a list of path matches (`sources`) defining the 317s source path(s) to be installed. The path match(es) can use globs. Each match 317s is tried against default search directories. 317s - When a symlink is matched, then the symlink (not its target) is installed 317s as-is. When a directory is matched, then the directory is installed along 317s with all the contents that have not already been installed somewhere. 317s 317s - `into` (optional): string or a list of string 317s 317s Either a package name or a list of package names for which these paths should be 317s installed as man pages. This key is conditional on whether there are multiple (non-`udeb`) 317s binary packages listed in `debian/control`. When there is only one (non-`udeb`) binary 317s package, then that binary is the default for `into`. Otherwise, the key is required. 317s 317s - `section` (optional): integer 317s 317s If provided, it must be an integer between 1 and 9 (both inclusive), defining the 317s section the man pages belong overriding any auto-detection that `debputy` would 317s have performed. 317s 317s - `language` (optional): string 317s 317s If provided, it must be either a 2 letter language code (such as `de`), a 5 letter 317s language + dialect code (such as `pt_BR`), or one of the special keywords `C`, 317s `derive-from-path`, or `derive-from-basename`. The default is `derive-from-path`. 317s - When `language` is `C`, then the man pages are assumed to be "untranslated". 317s - When `language` is a language code (with or without dialect), then all man pages 317s matched will be assumed to be translated to that concrete language / dialect. 317s - When `language` is `derive-from-path`, then `debputy` attempts to derive the 317s language from the path (`man//man
`). This matches the 317s default of `dh_installman`. When no language can be found for a given source, 317s `debputy` behaves like language was `C`. 317s - When `language` is `derive-from-basename`, then `debputy` attempts to derive 317s the language from the basename (`foo..1`) similar to `dh_installman` 317s previous default. When no language can be found for a given source, `debputy` 317s behaves like language was `C`. Note this is prone to false positives where 317s `.pl`, `.so` or similar two-letter extensions gets mistaken for a language code 317s (`.pl` can both be "Polish" or "Perl Script", `.so` can both be "Somali" and 317s "Shared Object" documentation). In this configuration, such extensions are 317s always assumed to be a language. 317s 317s - `when` (optional): ManifestCondition 317s 317s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#conditional-rules). 317s 317s The conditional will disable the entire rule when the conditional evaluates to false. 317s 317s 317s This rule enforces the following restrictions: 317s - The rule must use exactly one of: `source`, `sources` 317s 317s Non-mapping format: string or a list of string 317s When the input is a string or a list of string, then that value is used as shorthand 317s for `source` or `sources` (respectively). This form can only be used when `into` is 317s not required. 317s 317s Integration mode availability: any integration mode 317s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#install-manpages-install-man 317s Used in: installations 317s Rule reference: InstallRule::install-man 317s Plugin: debputy 317s 317s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 317s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 317s + debputy --no-pager plugin show pmr discard 317s Discard (or exclude) upstream provided paths (`discard`) 317s ======================================================== 317s 317s When installing paths from `debian/tmp` into packages, it might be useful to ignore 317s some paths that you never need installed. This can be done with the `discard` rule. 317s 317s Once a path is discarded, it cannot be matched by any other install rules. A path 317s that is discarded, is considered handled when `debputy` checks for paths you might 317s have forgotten to install. The `discard` feature is therefore *also* replaces the 317s `debian/not-installed` file used by `debhelper` and `cdbs`. 317s 317s Attributes: 317s - `path` (conditional): FileSystemMatchRule 317s `paths` (conditional): List of string 317s 317s A path match (`path`) or a list of path matches (`paths`) defining the source 317s path(s) that should not be installed anywhere. The path match(es) can use globs. 317s - When a symlink is matched, then the symlink (not its target) is discarded as-is. 317s When a directory is matched, then the directory is discarded along with all the 317s contents that have not already been installed somewhere. 317s 317s - `search-dir` (optional): FileSystemExactMatchRule 317s `search-dirs` (optional): List of string 317s 317s A path (`search-dir`) or a list to paths (`search-dirs`) that defines 317s which search directories apply to. This attribute is primarily useful 317s for source packages that uses "per package search dirs", and you want 317s to restrict a discard rule to a subset of the relevant search dirs. 317s Note all listed search directories must be either an explicit search 317s requested by the packager or a search directory that `debputy` 317s provided automatically (such as `debian/tmp`). Listing other paths 317s will make `debputy` report an error. 317s - Note that the `path` or `paths` must match at least one entry in 317s any of the search directories unless *none* of the search directories 317s exist (or the condition in `required-when` evaluates to false). When 317s none of the search directories exist, the discard rule is silently 317s skipped. This special-case enables you to have discard rules only 317s applicable to certain builds that are only performed conditionally. 317s 317s - `required-when` (optional): ManifestCondition 317s 317s A condition as defined in [Conditional rules](#conditional-rules). The discard 317s rule is always applied. When the conditional is present and evaluates to false, 317s the discard rule can silently match nothing.When the condition is absent, *or* 317s it evaluates to true, then each pattern provided must match at least one path. 317s 317s 317s This rule enforces the following restrictions: 317s - The rule must use exactly one of: `path`, `paths` 317s - The following attributes are mutually exclusive: `search-dir`, `search-dirs` 317s 317s Non-mapping format: string or a list of string 317s When the input is a string or a list of string, then that value is used as shorthand 317s for `path` or `paths` (respectively). 317s 317s Integration mode availability: any integration mode 317s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#discard-or-exclude-upstream-provided-paths-discard 317s Used in: installations 317s Rule reference: InstallRule::discard 317s Plugin: debputy 317s 317s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 317s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 317s + echo Checking binary package transformations manifest rules 317s + debputy --no-pager plugin show pmr TransformationRule::remove 317s Checking binary package transformations manifest rules 317s Remove transformation rule (`remove`) 317s ===================================== 317s 317s The remove transformation rule is mostly only useful for single binary source packages, 317s where everything from upstream's build system is installed automatically into the package. 317s In those case, you might find yourself with some files that are _not_ relevant for the 317s Debian package (but would be relevant for other distros or for non-distro local builds). 317s Common examples include `INSTALL` files or `LICENSE` files (when they are just a subset 317s of `debian/copyright`). 317s 317s In the manifest, you can ask `debputy` to remove paths from the debian package by using 317s the `remove` transformation rule. 317s 317s Note that `remove` removes paths from future glob matches and transformation rules. 317s 317s Attributes: 317s - `path` (conditional): FileSystemMatchRule 317s `paths` (conditional): List of string 317s 317s A path match (`path`) or a list of path matches (`paths`) defining the 317s path(s) inside the package that should be removed. The path match(es) 317s can use globs. 317s - When a symlink is matched, then the symlink (not its target) is removed 317s as-is. When a directory is matched, then the directory is removed 317s along with all the contents. 317s 317s - `keep-empty-parent-dirs` (optional): boolean 317s 317s A boolean determining whether to prune parent directories that become 317s empty as a consequence of this rule. When provided and `true`, this 317s rule will leave empty directories behind. Otherwise, if this rule 317s causes a directory to become empty that directory will be removed. 317s 317s - `when` (optional): ManifestCondition 317s 317s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#conditional-rules). 317s This condition will be combined with the built-in condition provided by these rules 317s (rather than replacing it). 317s 317s 317s This rule enforces the following restrictions: 317s - The rule must use exactly one of: `path`, `paths` 317s 317s Non-mapping format: string or a list of string 317s When the input is a string or a list of string, then that value is used as shorthand 317s for `path` or `paths` (respectively). 317s 317s Integration mode availability: any integration mode 317s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#remove-transformation-rule-remove 317s Used in: packages.{{PACKAGE}}.transformations 317s Rule reference: TransformationRule::remove 317s Plugin: debputy 317s 317s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 317s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 318s + debputy --no-pager plugin show pmr move 318s Move transformation rule (`move`) 318s ================================= 318s 318s The move transformation rule is mostly only useful for single binary source packages, 318s where everything from upstream's build system is installed automatically into the package. 318s In those case, you might find yourself with some files that need to be renamed to match 318s Debian specific requirements. 318s 318s This can be done with the `move` transformation rule, which is a rough emulation of the 318s `mv` command line tool. 318s 318s Attributes: 318s - `source` (required): FileSystemMatchRule 318s 318s A path match defining the source path(s) to be renamed. The value can use globs 318s and substitutions. 318s 318s - `target` (required): FileSystemExactMatchRule 318s 318s A path defining the target path. The value *cannot* use globs, but can use 318s substitution. If the target ends with a literal `/` (prior to substitution), 318s the target will *always* be a directory. 318s 318s - `when` (optional): ManifestCondition 318s 318s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#conditional-rules). 318s 318s The conditional will disable the entire rule when the conditional evaluates to false. 318s 318s 318s Integration mode availability: any integration mode 318s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#move-transformation-rule-move 318s Used in: packages.{{PACKAGE}}.transformations 318s Rule reference: TransformationRule::move 318s Plugin: debputy 318s 318s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 318s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 318s + debputy --no-pager plugin show pmr create-symlink 318s Create symlinks transformation rule (`create-symlink`) 318s ====================================================== 318s 318s Often, the upstream build system will provide the symlinks for you. However, 318s in some cases, it is useful for the packager to define distribution specific 318s symlinks. This can be done via the `create-symlink` transformation rule. 318s 318s Attributes: 318s - `path` (required): FileSystemExactMatchRule 318s 318s The path that should be a symlink. The path may contain substitution 318s variables such as `{{DEB_HOST_MULTIARCH}}` but _cannot_ use globs. 318s Parent directories are implicitly created as necessary. 318s * Note that if `path` already exists, the behavior of this 318s transformation depends on the value of `replacement-rule`. 318s 318s - `target` (required): SymlinkTarget 318s 318s Where the symlink should point to. The target may contain substitution 318s variables such as `{{DEB_HOST_MULTIARCH}}` but _cannot_ use globs. 318s The link target is _not_ required to exist inside the package. 318s * The `debputy` tool will normalize the target according to the rules 318s of the Debian Policy. Use absolute or relative target at your own 318s preference. 318s 318s - `replacement-rule` (optional): One of the following literal values: "error-if-exists", "error-if-directory", "abort-on-non-empty-directory", "discard-existing" 318s 318s This attribute defines how to handle if `path` already exists. It can 318s be set to one of the following values: 318s - `error-if-exists`: When `path` already exists, `debputy` will 318s stop with an error. This is similar to `ln -s` semantics. 318s - `error-if-directory`: When `path` already exists, **and** it is 318s a directory, `debputy` will stop with an error. Otherwise, 318s remove the `path` first and then create the symlink. This is 318s similar to `ln -sf` semantics. 318s - `abort-on-non-empty-directory` (default): When `path` already 318s exists, then it will be removed provided it is a non-directory 318s **or** an *empty* directory and the symlink will then be 318s created. If the path is a *non-empty* directory, `debputy` 318s will stop with an error. 318s - `discard-existing`: When `path` already exists, it will be 318s removed. If the `path` is a directory, all its contents will 318s be removed recursively along with the directory. Finally, 318s the symlink is created. This is similar to having an explicit 318s `remove` rule just prior to the `create-symlink` that is 318s conditional on `path` existing (plus the condition defined in 318s `when` if any). 318s 318s Keep in mind, that `replacement-rule` only applies if `path` exists. 318s If the symlink cannot be created, because a part of `path` exist and 318s is *not* a directory, then `create-symlink` will fail regardless of 318s the value in `replacement-rule`. 318s 318s - `when` (optional): ManifestCondition 318s 318s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#conditional-rules). 318s 318s The conditional will disable the entire rule when the conditional evaluates to false. 318s 318s 318s Integration mode availability: any integration mode 318s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#create-symlinks-transformation-rule-create-symlink 318s Used in: packages.{{PACKAGE}}.transformations 318s Rule reference: TransformationRule::create-symlink 318s Plugin: debputy 318s 318s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 318s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 318s + debputy --no-pager plugin show pmr path-metadata 318s Change path owner/group or mode (`path-metadata`) 318s ================================================= 318s 318s The `debputy` command normalizes the path metadata (such as ownership and mode) similar 318s to `dh_fixperms`. For most packages, the default is what you want. However, in some 318s cases, the package has a special case or two that `debputy` does not cover. In that 318s case, you can tell `debputy` to use the metadata you want by using the `path-metadata` 318s transformation. 318s 318s Common use-cases include setuid/setgid binaries (such `usr/bin/sudo`) or/and static 318s ownership (such as /usr/bin/write). 318s 318s Attributes: 318s - `path` (conditional): FileSystemMatchRule 318s `paths` (conditional): List of string 318s 318s A path match (`path`) or a list of path matches (`paths`) defining the path(s) 318s inside the package that should be affected. The path match(es) can use globs 318s and substitution variables. Special-rules for matches: 318s - Symlinks are never followed and will never be matched by this rule. 318s - Directory handling depends on the `recursive` attribute. 318s 318s - `owner` (optional): one-of: integer, string 318s 318s Denotes the owner of the paths matched by `path` or `paths`. When omitted, 318s no change of owner is done. 318s 318s - `group` (optional): one-of: integer, string 318s 318s Denotes the group of the paths matched by `path` or `paths`. When omitted, 318s no change of group is done. 318s 318s - `mode` (optional): FileSystemMode 318s 318s Denotes the mode of the paths matched by `path` or `paths`. When omitted, 318s no change in mode is done. Note that numeric mode must always be given as 318s a string (i.e., with quotes). Symbolic mode can be used as well. If 318s symbolic mode uses a relative definition (e.g., `o-rx`), then it is 318s relative to the matched path's current mode. 318s 318s - `capabilities` (optional): Capability 318s 318s Denotes a Linux capability that should be applied to the path. When provided, 318s `debputy` will cause the capability to be applied to all *files* denoted by 318s the `path`/`paths` attribute on install (via `postinst configure`) provided 318s that `setcap` is installed on the system when the `postinst configure` is 318s run. 318s - If any non-file paths are matched, the `capabilities` will *not* be applied 318s to those paths. 318s 318s 318s - `capability-mode` (optional): FileSystemMode 318s 318s Denotes the mode to apply to the path *if* the Linux capability denoted in 318s `capabilities` was successfully applied. If omitted, it defaults to `a-s` as 318s generally capabilities are used to avoid "setuid"/"setgid" binaries. The 318s `capability-mode` is relative to the *final* path mode (the mode of the path 318s in the produced `.deb`). The `capability-mode` attribute cannot be used if 318s `capabilities` is omitted. 318s 318s - `recursive` (optional): boolean 318s 318s When a directory is matched, then the metadata changes are applied to the 318s directory itself. When `recursive` is `true`, then the transformation is 318s *also* applied to all paths beneath the directory. The default value for 318s this attribute is `false`. 318s 318s - `when` (optional): ManifestCondition 318s 318s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#conditional-rules). 318s 318s The conditional will disable the entire rule when the conditional evaluates to false. 318s 318s 318s This rule enforces the following restrictions: 318s - The rule must use exactly one of: `path`, `paths` 318s 318s Integration mode availability: any integration mode 318s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#change-path-ownergroup-or-mode-path-metadata 318s Used in: packages.{{PACKAGE}}.transformations 318s Rule reference: TransformationRule::path-metadata 318s Plugin: debputy 318s 318s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 318s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 318s + debputy --no-pager plugin show pmr create-directories 319s Create directories transformation rule (`create-directories`) 319s ============================================================= 319s 319s NOTE: This transformation is only really needed if you need to create an empty 319s directory somewhere in your package as an integration point. All `debputy` 319s transformations will create directories as required. 319s 319s In most cases, upstream build systems and `debputy` will create all the relevant 319s directories. However, in some rare cases you may want to explicitly define a path 319s to be a directory. Maybe to silence a linter that is warning you about a directory 319s being empty, or maybe you need an empty directory that nothing else is creating for 319s you. This can be done via the `create-directories` transformation rule. 319s 319s Unless you have a specific need for the mapping form, you are recommended to use the 319s shorthand form of just listing the directories you want created. 319s 319s Attributes: 319s - `path` (conditional): FileSystemExactMatchRule 319s `paths` (conditional): List of string 319s 319s A path (`path`) or a list of path (`paths`) defining the path(s) inside the 319s package that should be created as directories. The path(es) _cannot_ use globs 319s but can use substitution variables. Parent directories are implicitly created 319s (with owner `root:root` and mode `0755` - only explicitly listed directories 319s are affected by the owner/mode options) 319s 319s - `owner` (optional): one-of: integer, string 319s 319s Denotes the owner of the directory (but _not_ what is inside the directory). 319s Default is "root". 319s 319s - `group` (optional): one-of: integer, string 319s 319s Denotes the group of the directory (but _not_ what is inside the directory). 319s Default is "root". 319s 319s - `mode` (optional): FileSystemMode 319s 319s Denotes the mode of the directory (but _not_ what is inside the directory). 319s Note that numeric mode must always be given as a string (i.e., with quotes). 319s Symbolic mode can be used as well. If symbolic mode uses a relative 319s definition (e.g., `o-rx`), then it is relative to the directory's current mode 319s (if it already exists) or `0755` if the directory is created by this 319s transformation. The default is "0755". 319s 319s - `when` (optional): ManifestCondition 319s 319s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#conditional-rules). 319s 319s The conditional will disable the entire rule when the conditional evaluates to false. 319s 319s 319s This rule enforces the following restrictions: 319s - The rule must use exactly one of: `path`, `paths` 319s 319s Non-mapping format: string or a list of string 319s When the input is a string or a list of string, then that value is used as shorthand 319s for `path` or `paths` (respectively). 319s 319s Integration mode availability: any integration mode 319s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#create-directories-transformation-rule-directories 319s Used in: packages.{{PACKAGE}}.transformations 319s Rule reference: TransformationRule::create-directories 319s Plugin: debputy 319s 319s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 319s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 319s + debputy --no-pager plugin show pmr run-build-time-tests 319s Whether build time tests should be run (`run-build-time-tests`) 319s =============================================================== 319s 319s The `run-build-time-tests` condition is used to determine whether (build 319s time) tests should be run for this build. This condition roughly 319s translates into whether `nocheck` is present in `DEB_BUILD_OPTIONS`. 319s 319s In general, the manifest *should not* prevent build time tests from being 319s run during cross-builds. 319s 319s Integration mode availability: any integration mode 319s Reference documentation: ${MANIFEST_FORMAT_DOC}#whether-build-time-tests-should-be-run-run-build-time-tests 319s Used in: *.when 319s Rule reference: ManifestCondition::run-build-time-tests 319s Plugin: debputy 319s 319s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 319s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 319s + debputy --no-pager plugin show pmr arch-matches 319s Architecture match condition `arch-matches` 319s =========================================== 319s 319s Sometimes, a rule needs to be conditional on the architecture. 319s This can be done by using the `arch-matches` rule. In 99.99% 319s of the cases, `arch-matches` will be form you are looking for 319s and practically behaves like a comparison against 319s `dpkg-architecture -qDEB_HOST_ARCH`. 319s 319s For the cross-compiling specialists or curious people: The 319s `arch-matches` rule behaves like a `package-context-arch-matches` 319s in the context of a binary package and like 319s `source-context-arch-matches` otherwise. The details of those 319s are covered in their own keywords. 319s 319s Non-mapping format: string 319s The value must be a string in the form of a space separated list 319s architecture names or architecture wildcards (same syntax as the 319s architecture restriction in Build-Depends in debian/control except 319s there is no enclosing `[]` brackets). The names/wildcards can 319s optionally be prefixed by `!` to negate them. However, either 319s *all* names / wildcards must have negation or *none* of them may 319s have it. 319s 319s Integration mode availability: any integration mode 319s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#architecture-match-condition-arch-matches-mapping 319s Used in: *.when 319s Rule reference: ManifestCondition::arch-matches 319s Plugin: debputy 319s 319s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 319s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 319s + debputy --no-pager plugin show pmr not 320s Negated condition (`not`) 320s ========================= 320s 320s It is possible to negate a condition via the `not` condition. 320s 320s As an example: 320s 320s packages: 320s util-linux: 320s transformations: 320s - create-symlink 320s path: sbin/getty 320s target: /sbin/agetty 320s when: 320s # On Hurd, the package "hurd" ships "sbin/getty". 320s # This example happens to also be alternative to `arch-marches: '!hurd-any` 320s not: 320s arch-matches: 'hurd-any' 320s 320s The `not` condition is specified as a mapping, where the key is `not` and the 320s value is a nested condition. 320s 320s Attributes: 320s - `not` (required): ManifestCondition 320s 320s The condition that should be negated. 320s 320s 320s Integration mode availability: any integration mode 320s Reference documentation: ${MANIFEST_FORMAT_DOC}#negated-condition-not 320s Used in: *.when 320s Rule reference: ManifestCondition::not 320s Plugin: debputy 320s 320s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 320s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 320s + debputy --no-pager plugin show pmr build-profiles-matches 320s Active build profile match condition (`build-profiles-matches`) 320s =============================================================== 320s 320s The `build-profiles-matches` condition is used to assert whether the 320s active build profiles (`DEB_BUILD_PROFILES` / `dpkg-buildpackage -P`) 320s matches a given build profile restriction. 320s 320s Non-mapping format: string 320s The value is a string using the same syntax as the `Build-Profiles` 320s field from `debian/control` (i.e., a space separated list of 320s `<[!]profile ...>` groups). 320s 320s Integration mode availability: any integration mode 320s Reference documentation: ${MANIFEST_FORMAT_DOC}#active-build-profile-match-condition-build-profiles-matches 320s Used in: *.when 320s Rule reference: ManifestCondition::build-profiles-matches 320s Plugin: debputy 320s 320s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 320s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 320s + debputy --no-pager plugin show pmr cross-compiling 320s Cross-Compiling condition (`cross-compiling`) 320s ============================================= 320s 320s The `cross-compiling` condition is used to determine if the current build is 320s performing a cross build (i.e., `DEB_BUILD_GNU_TYPE` != `DEB_HOST_GNU_TYPE`). 320s Often this has consequences for what is possible to do. 320s 320s Note if you specifically want to know: 320s 320s * whether build-time tests should be run, then please use the 320s `run-build-time-tests` condition. 320s * whether compiled binaries can be run as if it was a native binary, please 320s use the `can-execute-compiled-binaries` condition instead. That condition 320s accounts for cross-building in its evaluation. 320s 320s Integration mode availability: any integration mode 320s Reference documentation: ${MANIFEST_FORMAT_DOC}#cross-compiling-condition 320s Used in: *.when 320s Rule reference: ManifestCondition::cross-compiling 320s Plugin: debputy 320s 320s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 320s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 320s + debputy --no-pager plugin show pmr binary-version 321s Custom binary version (`binary-version`) 321s ======================================== 321s 321s In the *rare* case that you need a binary package to have a custom version, you can use 321s the `binary-version:` key to describe the desired package version. An example being: 321s 321s packages: 321s foo: 321s # The foo package needs a different epoch because we took it over from a different 321s # source package with higher epoch version 321s binary-version: '1:{{DEB_VERSION_UPSTREAM_REVISION}}' 321s 321s Use this feature sparingly as it is generally not possible to undo as each version must be 321s monotonously higher than the previous one. This feature translates into `-v` option for 321s `dpkg-gencontrol`. 321s 321s The value for the `binary-version` key is a string that defines the binary version. Generally, 321s you will want it to contain one of the versioned related substitution variables such as 321s `{{DEB_VERSION_UPSTREAM_REVISION}}`. Otherwise, you will have to remember to bump the version 321s manually with each upload as versions cannot be reused and the package would not support binNMUs 321s either. 321s 321s Non-mapping format: string 321s 321s Integration mode availability: any integration mode 321s Reference documentation: ${MANIFEST_FORMAT_DOC}#custom-binary-version-binary-version 321s Used in: packages.{{PACKAGE}} 321s Rule reference: packages.{{PACKAGE}}::binary-version 321s Plugin: debputy 321s 321s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 321s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 321s + debputy --no-pager plugin show pmr definitions 321s Packager provided definitions 321s ============================= 321s 321s Reusable packager provided definitions such as manifest variables. 321s 321s Attributes: 321s - `variables` (optional): Mapping of string 321s 321s It is possible to provide custom manifest variables via the `variables` attribute. An example: 321s 321s manifest-version: '0.1' 321s definitions: 321s variables: 321s LIBPATH: "/usr/lib/{{DEB_HOST_MULTIARCH}}" 321s SONAME: "1" 321s installations: 321s - install: 321s source: build/libfoo.so.{{SONAME}}* 321s # The quotes here is for the YAML parser's sake. 321s dest-dir: "{{LIBPATH}}" 321s into: libfoo{{SONAME}} 321s 321s The value of the `variables` key must be a mapping, where each key is a new variable name and 321s the related value is the value of said key. The keys must be valid variable name and not shadow 321s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 321s redefined). The value for each variable *can* refer to *existing* variables as seen in the 321s example above. 321s 321s As usual, `debputy` will insist that all declared variables must be used. 321s 321s Limitations: 321s * When declaring variables that depends on another variable declared in the manifest, the 321s order is important. The variables are resolved from top to bottom. 321s * When a manifest variable depends on another manifest variable, the existing variable is 321s currently always resolved in source context. As a consequence, some variables such as 321s `{{PACKAGE}}` cannot be used when defining a variable. This restriction may be 321s lifted in the future. 321s 321s 321s Integration mode availability: any integration mode 321s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#packager-provided-definitions 321s Used in: The manifest root 321s Rule reference: ::definitions 321s Plugin: debputy 321s 321s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 321s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 321s + debputy --no-pager plugin show pmr variables 321s Manifest Variables (`variables`) 321s ================================ 321s 321s It is possible to provide custom manifest variables via the `variables` attribute. An example: 321s 321s manifest-version: '0.1' 321s definitions: 321s variables: 321s LIBPATH: "/usr/lib/{{DEB_HOST_MULTIARCH}}" 321s SONAME: "1" 321s installations: 321s - install: 321s source: build/libfoo.so.{{SONAME}}* 321s # The quotes here is for the YAML parser's sake. 321s dest-dir: "{{LIBPATH}}" 321s into: libfoo{{SONAME}} 321s 321s The value of the `variables` key must be a mapping, where each key is a new variable name and 321s the related value is the value of said key. The keys must be valid variable name and not shadow 321s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 321s redefined). The value for each variable *can* refer to *existing* variables as seen in the 321s example above. 321s 321s As usual, `debputy` will insist that all declared variables must be used. 321s 321s Limitations: 321s * When declaring variables that depends on another variable declared in the manifest, the 321s order is important. The variables are resolved from top to bottom. 321s * When a manifest variable depends on another manifest variable, the existing variable is 321s currently always resolved in source context. As a consequence, some variables such as 321s `{{PACKAGE}}` cannot be used when defining a variable. This restriction may be 321s lifted in the future. 321s 321s Non-mapping format: Mapping of string 321s 321s Integration mode availability: any integration mode 321s Reference documentation: ${MANIFEST_FORMAT_DOC}#manifest-variables-variables 321s Used in: definitions 321s Rule reference: definitions::variables 321s Plugin: debputy 321s 321s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 321s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 321s + debputy --no-pager plugin show pmr ::definitions 322s Packager provided definitions 322s ============================= 322s 322s Reusable packager provided definitions such as manifest variables. 322s 322s Attributes: 322s - `variables` (optional): Mapping of string 322s 322s It is possible to provide custom manifest variables via the `variables` attribute. An example: 322s 322s manifest-version: '0.1' 322s definitions: 322s variables: 322s LIBPATH: "/usr/lib/{{DEB_HOST_MULTIARCH}}" 322s SONAME: "1" 322s installations: 322s - install: 322s source: build/libfoo.so.{{SONAME}}* 322s # The quotes here is for the YAML parser's sake. 322s dest-dir: "{{LIBPATH}}" 322s into: libfoo{{SONAME}} 322s 322s The value of the `variables` key must be a mapping, where each key is a new variable name and 322s the related value is the value of said key. The keys must be valid variable name and not shadow 322s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 322s redefined). The value for each variable *can* refer to *existing* variables as seen in the 322s example above. 322s 322s As usual, `debputy` will insist that all declared variables must be used. 322s 322s Limitations: 322s * When declaring variables that depends on another variable declared in the manifest, the 322s order is important. The variables are resolved from top to bottom. 322s * When a manifest variable depends on another manifest variable, the existing variable is 322s currently always resolved in source context. As a consequence, some variables such as 322s `{{PACKAGE}}` cannot be used when defining a variable. This restriction may be 322s lifted in the future. 322s 322s 322s Integration mode availability: any integration mode 322s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md#packager-provided-definitions 322s Used in: The manifest root 322s Rule reference: ::definitions 322s Plugin: debputy 322s 322s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 322s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 322s + debputy --no-pager plugin show pmr definitions::variables 322s Manifest Variables (`variables`) 322s ================================ 322s 322s It is possible to provide custom manifest variables via the `variables` attribute. An example: 322s 322s manifest-version: '0.1' 322s definitions: 322s variables: 322s LIBPATH: "/usr/lib/{{DEB_HOST_MULTIARCH}}" 322s SONAME: "1" 322s installations: 322s - install: 322s source: build/libfoo.so.{{SONAME}}* 322s # The quotes here is for the YAML parser's sake. 322s dest-dir: "{{LIBPATH}}" 322s into: libfoo{{SONAME}} 322s 322s The value of the `variables` key must be a mapping, where each key is a new variable name and 322s the related value is the value of said key. The keys must be valid variable name and not shadow 322s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 322s redefined). The value for each variable *can* refer to *existing* variables as seen in the 322s example above. 322s 322s As usual, `debputy` will insist that all declared variables must be used. 322s 322s Limitations: 322s * When declaring variables that depends on another variable declared in the manifest, the 322s order is important. The variables are resolved from top to bottom. 322s * When a manifest variable depends on another manifest variable, the existing variable is 322s currently always resolved in source context. As a consequence, some variables such as 322s `{{PACKAGE}}` cannot be used when defining a variable. This restriction may be 322s lifted in the future. 322s 322s Non-mapping format: Mapping of string 322s 322s Integration mode availability: any integration mode 322s Reference documentation: ${MANIFEST_FORMAT_DOC}#manifest-variables-variables 322s Used in: definitions 322s Rule reference: definitions::variables 322s Plugin: debputy 322s 322s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 322s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 322s + debputy --no-pager plugin show pmr :: 323s Auto-generated reference documentation for the manifest root 323s ============================================================ 323s 323s This is an automatically generated reference documentation for the manifest root. It is generated 323s from input provided by debputy via the debputy API. 323s 323s (If you are the provider of the debputy plugin, you can replace this text with 323s your own documentation by providing the `inline_reference_documentation` when registering 323s the manifest rule.) 323s 323s Attributes: 323s - `manifest-version` (optional): One of the following literal values: "0.1" 323s 323s All `debputy` manifests must include a `debputy` manifest version, which will enable the 323s format to change over time. For now, there is only one version (`"0.1"`) and you have 323s to include the line: 323s 323s manifest-version: "0.1" 323s 323s On its own, the manifest containing only `manifest-version: "..."` will not do anything. So if you 323s end up only having the `manifest-version` key in the manifest, you can just remove the manifest and 323s rely entirely on the built-in rules. 323s 323s - `definitions` (optional): Object (see `::definitions`) 323s 323s Reusable packager provided definitions such as manifest variables. 323s 323s - `installations` (optional): 323s 323s For source packages building a single binary, the `dh_auto_install` from debhelper will default to 323s providing everything from upstream's install in the binary package. The `debputy` tool matches this 323s behavior and accordingly, the `installations` feature is only relevant in this case when you need to 323s manually specify something upstream's install did not cover. 323s 323s For sources, that build multiple binaries, where `dh_auto_install` does not detect anything to install, 323s or when `dh_auto_install --destdir debian/tmp` is used, the `installations` section of the manifest is 323s used to declare what goes into which binary package. An example: 323s 323s installations: 323s - install: 323s sources: "usr/bin/foo" 323s into: foo 323s - install: 323s sources: "usr/*" 323s into: foo-extra 323s 323s All installation rules are processed in order (top to bottom). Once a path has been matched, it can 323s no longer be matched by future rules. In the above example, then `usr/bin/foo` would be in the `foo` 323s package while everything in `usr` *except* `usr/bin/foo` would be in `foo-extra`. If these had been 323s ordered in reverse, the `usr/bin/foo` rule would not have matched anything and caused `debputy` 323s to reject the input as an error on that basis. This behavior is similar to "DEP-5" copyright files, 323s except the order is reversed ("DEP-5" uses "last match wins", where here we are doing "first match wins") 323s 323s In the rare case that some path need to be installed into two packages at the same time, then this is 323s generally done by changing `into` into a list of packages. 323s 323s All installations are currently run in *source* package context. This implies that: 323s 323s 1) No package specific substitutions are available. Notably `{{PACKAGE}}` cannot be resolved. 323s 2) All conditions are evaluated in source context. For 99.9% of users, this makes no difference, 323s but there is a cross-build feature that changes the "per package" architecture which is affected. 323s 323s This is a limitation that should be fixed in `debputy`. 323s 323s Another feature of `debputy` installation rules is that the match rule is always applied even when 323s the rule is "disabled" by a condition (such as the package being arch:all and the build does not 323s cover arch:all binaries). This is required to avoid false positives errors when testing for paths 323s that might have been overlooked. The code will not install the matched paths anywhere, just mark 323s them as reserved by the package that is not being built. This behavior is similar to that of 323s `dh_install`, which is also aimed at preventing a similar false positive with `dh_missing`. 323s 323s **Attention debhelper users**: Note the difference between `dh_install` (etc.) vs. `debputy` on 323s overlapping matches for installation. 323s 323s - `packages` (optional): PackageContext (chains to `::packages`) 323s 323s Inside the manifest, the `packages` mapping can be used to define requests for the binary packages 323s you want `debputy` to produce. Each key inside `packages` must be the name of a binary package 323s defined in `debian/control`. The value is a dictionary defining which features that `debputy` 323s should apply to that binary package. An example could be: 323s 323s packages: 323s foo: 323s transformations: 323s - create-symlink: 323s path: usr/share/foo/my-first-symlink 323s target: /usr/share/bar/symlink-target 323s - create-symlink: 323s path: usr/lib/{{DEB_HOST_MULTIARCH}}/my-second-symlink 323s target: /usr/lib/{{DEB_HOST_MULTIARCH}}/baz/symlink-target 323s bar: 323s transformations: 323s - create-directories: 323s - some/empty/directory.d 323s - another/empty/integration-point.d 323s - create-directories: 323s path: a/third-empty/directory.d 323s owner: www-data 323s group: www-data 323s 323s In this case, `debputy` will create some symlinks inside the `foo` package and some directories for 323s the `bar` package. The following subsections define the keys you can use under each binary package. 323s 323s - `build-environments` (optional): 323s 323s Define named environments to set the environment for any build commands that needs 323s a non-default environment. 323s 323s The environment definitions can be used to tweak the environment variables used by the 323s build commands. An example: 323s 323s build-environments: 323s - name: custom-env 323s set: 323s ENV_VAR: foo 323s ANOTHER_ENV_VAR: bar 323s builds: 323s - autoconf: 323s environment: custom-env 323s 323s The environment definition has multiple attributes for setting environment variables 323s which determines when the definition is applied. The resulting environment is the 323s result of the following order of operations. 323s 323s 1. The environment `debputy` received from its parent process. 323s 2. Apply all the variable definitions from `set` (if the attribute is present) 323s 3. Apply all computed variables (such as variables from `dpkg-buildflags`). 323s 4. Apply all the variable definitions from `override` (if the attribute is present) 323s 5. Remove all variables listed in `unset` (if the attribute is present). 323s 323s Accordingly, both `override` and `unset` will overrule any computed variables while 323s `set` will be overruled by any computed variables. 323s 323s Note that these variables are not available via manifest substitution (they are only 323s visible to build commands). They are only available to build commands. 323s 323s - `default-build-environment` (optional): 323s 323s Define the environment variables used in all build commands that uses the default 323s environment. 323s 323s The environment definition can be used to tweak the environment variables used by the 323s build commands. An example: 323s 323s default-build-environment: 323s set: 323s ENV_VAR: foo 323s ANOTHER_ENV_VAR: bar 323s 323s The environment definition has multiple attributes for setting environment variables 323s which determines when the definition is applied. The resulting environment is the 323s result of the following order of operations. 323s 323s 1. The environment `debputy` received from its parent process. 323s 2. Apply all the variable definitions from `set` (if the attribute is present) 323s 3. Apply all computed variables (such as variables from `dpkg-buildflags`). 323s 4. Apply all the variable definitions from `override` (if the attribute is present) 323s 5. Remove all variables listed in `unset` (if the attribute is present). 323s 323s Accordingly, both `override` and `unset` will overrule any computed variables while 323s `set` will be overruled by any computed variables. 323s 323s Note that these variables are not available via manifest substitution (they are only 323s visible to build commands). They are only available to build commands. 323s 323s - `builds` (optional): 323s 323s Define how to build the upstream part of the package. Usually this is done via "build systems", 323s which also defines the clean rules. 323s 323s A simple example is: 323s 323s ```yaml 323s builds: 323s - autoconf: 323s configure-args: 323s - "--enable-foo" 323s - "--without=bar" 323s ``` 323s 323s Multiple builds are supported out of box. Here an example of how the build rules 323s for `libpam-krb5` might look. 323s 323s ```yaml 323s builds: 323s - autoconf: 323s for: libpam-krb5 323s install-directly-to-package: true 323s configure-args: 323s - "--enable-reduced-depends" 323s - "--with-krb5-include=/usr/include/mit-krb5" 323s - "--with-krb5-lib=/usr/lib/{{DEB_HOST_MULTIARCH}}/mit-krb5" 323s - "--with-kadm-client-include=/usr/include/mit-krb5" 323s - "--with-kadm-client-lib=/usr/lib/{{DEB_HOST_MULTIARCH}}/mit-krb5" 323s - autoconf: 323s for: libpam-heimdal 323s install-directly-to-package: true 323s configure-args: 323s - "--enable-reduced-depends" 323s - "--with-krb5-include=/usr/include/heimdal" 323s - "--with-krb5-lib=/usr/lib/{{DEB_HOST_MULTIARCH}}/heimdal" 323s - "--with-kadm-client-include=/usr/include/heimdal" 323s - "--with-kadm-client-lib=/usr/lib/{{DEB_HOST_MULTIARCH}}/heimdal" 323s ``` 323s 323s 323s Integration mode availability: any integration mode 323s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md 323s Rule reference: :: 323s 323s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 323s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 323s + debputy --no-pager plugin show manifest-variables DEB_SOURCE 323s Variable: DEB_SOURCE 323s ==================== 323s 323s Documentation: Name of the source package (`dpkg-parsechangelog -SSource`) 323s Resolved: debputy 323s Plugin: debputy 323s + debputy --no-pager plugin show manifest-variables token:TAB 323s Variable: token:TAB 323s =================== 323s 323s Documentation: Literal tab character 323s Resolved: \t 323s Plugin: debputy 323s + debputy --no-pager plugin show manifest-variables DEB_HOST_ARCH 324s Variable: DEB_HOST_ARCH 324s ======================= 324s 324s Documentation: Debian's name for the architecture (installed on) 324s This variable describes machine information used when the package is compiled and assembled. 324s * Machine type: The package will be **installed** on this type of machine / system 324s * Value description: Debian's name for the architecture 324s 324s The value is the output of: `dpkg-architecture -qDEB_HOST_ARCH` 324s Resolved: s390x 324s + debputy --no-pager plugin show manifest-variables DEB_BUILD_ARCH 324s Variable: DEB_BUILD_ARCH 324s ======================== 324s 324s Documentation: Debian's name for the architecture (compiled on) 324s This variable describes machine information used when the package is compiled and assembled. 324s * Machine type: The compilation of this package will be performed **on** this kind of machine / system 324s * Value description: Debian's name for the architecture 324s 324s The value is the output of: `dpkg-architecture -qDEB_BUILD_ARCH` 324s Resolved: s390x 324s Special-case: The variable has been marked as a "special-case"-only variable. 324s + debputy --no-pager plugin show automatic-discard-rules python-cache-files 325s Automatic Discard Rule: python-cache-files 325s ========================================== 325s 325s Discards any *.pyc, *.pyo files and any __pycache__ directories 325s 325s Example 325s ------- 325s 325s Consider the following source paths matched by a glob or directory match: 325s 325s /.../__pycache__/ << Discarded (directly by the rule) 325s /.../__pycache__/... << Discarded (directory was discarded) 325s /.../foo.py 325s /.../foo.pyc << Discarded (directly by the rule) 325s /.../foo.pyo << Discarded (directly by the rule) 325s + debputy --no-pager plugin show automatic-discard-rules la-files 325s Automatic Discard Rule: la-files 325s ================================ 325s 325s Discards any file with the extension .la beneath the directory /usr/lib 325s 325s Example 325s ------- 325s 325s Consider the following source paths matched by a glob or directory match: 325s 325s /usr/lib/libfoo.la << Discarded (directly by the rule) 325s /usr/lib/libfoo.so.1.0.0 325s + debputy --no-pager plugin show automatic-discard-rules backup-files 325s Automatic Discard Rule: backup-files 325s ==================================== 325s 325s Discards common back up files such as foo~, foo.bak or foo.orig 325s 325s Example 325s ------- 325s 325s Consider the following source paths matched by a glob or directory match: 325s 325s /.../.foo.sw. << Discarded (directly by the rule) 325s /.../DEADJOE << Discarded (directly by the rule) 325s /.../foo.orig << Discarded (directly by the rule) 325s /.../foo.rej << Discarded (directly by the rule) 325s /.../foo~ << Discarded (directly by the rule) 325s + debputy --no-pager plugin show automatic-discard-rules version-control-paths 326s Automatic Discard Rule: version-control-paths 326s ============================================= 326s 326s Discards common version control paths such as .git, .gitignore, CVS, etc. 326s 326s Example 326s ------- 326s 326s Consider the following source paths matched by a glob or directory match: 326s 326s /.../.git/ << Discarded (directly by the rule) 326s /.../.git/... << Discarded (directory was discarded) 326s /.../.gitattributes << Discarded (directly by the rule) 326s /.../.gitignore << Discarded (directly by the rule) 326s /.../CVS/ << Discarded (directly by the rule) 326s /.../CVS/... << Discarded (directory was discarded) 326s /tools/foo 326s + debputy --no-pager plugin show automatic-discard-rules gnu-info-dir-file 326s Automatic Discard Rule: gnu-info-dir-file 326s ========================================= 326s 326s Discards the /usr/share/info/dir file (causes package file conflicts) 326s 326s Example 326s ------- 326s 326s Consider the following source paths matched by a glob or directory match: 326s 326s /usr/share/info/dir << Discarded (directly by the rule) 326s /usr/share/info/dir.info 326s /usr/share/info/foo.info 326s /usr/share/random/case/dir 326s + debputy --no-pager plugin show automatic-discard-rules debian-dir 327s Automatic Discard Rule: debian-dir 327s ================================== 327s 327s (Implementation detail) Discards any DEBIAN directory to avoid it from appearing literally in the file listing 327s 327s Example 327s ------- 327s 327s Consider the following source paths matched by a glob or directory match: 327s 327s /DEBIAN/ << Discarded (directly by the rule) 327s /DEBIAN/control << Discarded (directory was discarded) 327s /usr/bin/foo 327s /usr/share/DEBIAN/foo 327s + debputy --no-pager plugin show automatic-discard-rules doxygen-cruft-files 327s Automatic Discard Rule: doxygen-cruft-files 327s =========================================== 327s 327s Discards cruft files generated by doxygen 327s 327s Example 327s ------- 327s 327s Consider the following source paths matched by a glob or directory match: 327s 327s /usr/share/doc/foo/api/.../cruft.map << Discarded (directly by the rule) 327s /usr/share/doc/foo/api/.../cruft.md5 << Discarded (directly by the rule) 327s /usr/share/doc/foo/api/doxygen.css 327s /usr/share/doc/foo/api/doxygen.svg 327s /usr/share/doc/foo/api/index.html 327s + debputy --no-pager tool-support annotate-debian-directory 328s {"result": [{"path": "debian/changelog", "binary-package": "dh-debputy", "pkgfile-stem": "changelog", "pkgfile-explicit-package-name": false, "pkgfile-is-active-in-build": true, "debputy-cmd-templates": [["debputy", "plugin", "show", "p-p-f", "changelog"]], "documentation-uris": ["man:deb-changelog(5)", "https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog", "man:dch(1)", "man:dh_installchangelogs(1)"], "file-categories": ["ppf-file"]}, {"path": "debian/copyright", "binary-package": "dh-debputy", "pkgfile-stem": "copyright", "pkgfile-explicit-package-name": false, "pkgfile-is-active-in-build": true, "debputy-cmd-templates": [["debputy", "plugin", "show", "p-p-f", "copyright"]], "documentation-uris": ["https://www.debian.org/doc/debian-policy/ch-source.html#copyright-debian-copyright", "https://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile", "https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/", "man:dh_installdocs(1)"], "install-path": "/usr/share/doc/dh-debputy/copyright", "install-pattern": "usr/share/doc/{owning_package}/copyright", "file-categories": ["ppf-file"]}, {"path": "debian/control", "file-categories": ["pkg-metadata"], "documentation-uris": ["man:deb-src-control(5)", "https://www.debian.org/doc/debian-policy/ch-controlfields.html#source-package-control-files-debian-control"]}, {"path": "debian/debputy.manifest", "file-categories": ["pkg-helper-config"], "documentation-uris": ["https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.67/MANIFEST-FORMAT.md"], "debputy-cmd-templates": ["debputy plugin list p-m-r", "debputy plugin show p-m-r {{TOPIC}}"]}, {"path": "debian/gbp.conf", "file-categories": ["maint-config"], "documentation-uris": ["man:gbp.conf(5)"]}, {"path": "debian/rules", "documentation-uris": ["man:deb-src-rules(5)", "https://www.debian.org/doc/debian-policy/ch-source.html#main-building-script-debian-rules"]}, {"path": "debian/source/format", "file-categories": ["pkg-metadata"], "documentation-uris": ["man:dpkg-source(1)"]}, {"path": "debian/tests/control", "file-categories": ["testing"], "documentation-uris": ["https://salsa.debian.org/ci-team/autopkgtest/raw/master/doc/README.package-tests.rst", "https://ci.debian.net/doc/file.TUTORIAL.html"]}], "reference-datasets": ["config-features", "file-categories"]}+ debputy --no-pager tool-support export-reference-data --output-format=json 328s {"reference-data": {"config-features": {"dh-filearray": {"description": "The file will be read as a list of space/newline separated tokens"}, "dh-filedoublearray": {"description": "Each line in the file will be read as a list of space-separated tokens"}, "dh-hash-subst": {"description": "Supports debhelper #PACKAGE# style substitutions (udebs often excluded)"}, "dh-dollar-subst": {"description": "Supports debhelper ${PACKAGE} style substitutions (usually requires compat 13+)"}, "dh-glob": {"description": "Supports standard debhelper globing"}, "dh-partial-glob": {"description": "Supports standard debhelper globing but only to a subset of the values (implies dh-late-glob)"}, "dh-late-glob": {"description": "Globbing is done separately instead of using the built-in function"}, "dh-glob-after-execute": {"description": "When the dh config file is executable, the generated output will be subject to globbing"}, "dh-executable-config": {"description": "If marked executable, debhelper will execute the file and read its output"}, "dh-custom-format": {"description": "The dh tool will or may have a custom parser for this file"}, "dh-file-list": {"description": "The dh file contains a list of paths to be processed"}, "dh-install-list": {"description": "The dh file contains a list of paths/globs to be installed but the tool specific knowledge required to understand the file cannot be conveyed via this interface."}, "dh-install-list-dest-dir-like-dh_install": {"description": "The dh file is processed similar to dh_install (notably dest-dir handling derived from the path or the last token on the line)"}, "dh-install-list-fixed-dest-dir": {"description": "The dh file is an install list and the dest-dir is always the same for all patterns (when `install-pattern` or `install-path` are provided, they identify the directory - not the file location)"}, "dh-exec-rename": {"description": "When `dh-exec` is the interpreter of this dh config file, its renaming (=>) feature can be requested/used"}, "dh-docs-only": {"description": "The dh config file is used for documentation only. Implicit Build-Profiles support"}}, "file-categories": {"generated": {"description": "The file is (likely) generated from another file"}, "generic-template": {"description": "The file is (likely) a generic template that generates a known packaging file. While the file is annotated as if it was the target file, the file might uses a custom template language inside it."}, "ppf-file": {"description": "Packager provided file to be installed on the file system - usually as-is. When `install-pattern` or `install-path` are provided, this is where the file is installed."}, "ppf-control-file": {"description": "Packager provided file that becomes a control file - possible after processing. If `install-pattern` or `install-path` are provided, they denote where the is placed (generally, this will be of the form `DEBIAN/`)"}, "maint-config": {"description": "Maintenance configuration for a specific tool that the maintainer uses (tool / style preferences)"}, "pkg-metadata": {"description": "The file is related to standard package metadata (usually documented in Debian Policy)"}, "pkg-helper-config": {"description": "The file is packaging helper configuration or instruction file"}, "testing": {"description": "The file is related to automated testing (autopkgtests, salsa/gitlab CI)."}, "lint-config": {"description": "The file is related to a linter (such as overrides for false-positives or style preferences)"}}}}+ debputy --no-pager tool-support export-reference-data file-categories 328s +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 328s | key | description | 328s +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 328s | generated | The file is (likely) generated from another file | 328s | generic-template | The file is (likely) a generic template that generates a known packaging file. While the file is annotated as if it was the target file, the file might uses a custom template language inside it. | 328s | ppf-file | Packager provided file to be installed on the file system - usually as-is. When `install-pattern` or `install-path` are provided, this is where the file is installed. | 328s | ppf-control-file | Packager provided file that becomes a control file - possible after processing. If `install-pattern` or `install-path` are provided, they denote where the is placed (generally, this will be of the form `DEBIAN/`) | 328s | maint-config | Maintenance configuration for a specific tool that the maintainer uses (tool / style preferences) | 328s | pkg-metadata | The file is related to standard package metadata (usually documented in Debian Policy) | 328s | pkg-helper-config | The file is packaging helper configuration or instruction file | 328s | testing | The file is related to automated testing (autopkgtests, salsa/gitlab CI). | 328s | lint-config | The file is related to a linter (such as overrides for false-positives or style preferences) | 328s +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 328s 328s If you wanted this as JSON, please use --output-format=json 328s autopkgtest [10:41:32]: test debputy-cli: -----------------------] 329s debputy-cli PASS (superficial) 329s autopkgtest [10:41:33]: test debputy-cli: - - - - - - - - - - results - - - - - - - - - - 329s autopkgtest [10:41:33]: test debputy-cli-lint-lsp: preparing testbed 330s Reading package lists... 330s Building dependency tree... 330s Reading state information... 330s Starting pkgProblemResolver with broken count: 0 330s Starting 2 pkgProblemResolver with broken count: 0 330s Done 330s The following NEW packages will be installed: 330s python3-cattr python3-lsprotocol 330s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 330s Need to get 102 kB of archives. 330s After this operation, 803 kB of additional disk space will be used. 330s Get:1 http://ftpmaster.internal/ubuntu questing/universe s390x python3-cattr all 24.1.2-1 [43.6 kB] 331s Get:2 http://ftpmaster.internal/ubuntu questing/universe s390x python3-lsprotocol all 2023.0.1-1 [58.3 kB] 331s Fetched 102 kB in 0s (231 kB/s) 331s Selecting previously unselected package python3-cattr. 331s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 83158 files and directories currently installed.) 331s Preparing to unpack .../python3-cattr_24.1.2-1_all.deb ... 331s Unpacking python3-cattr (24.1.2-1) ... 331s Selecting previously unselected package python3-lsprotocol. 331s Preparing to unpack .../python3-lsprotocol_2023.0.1-1_all.deb ... 331s Unpacking python3-lsprotocol (2023.0.1-1) ... 331s Setting up python3-cattr (24.1.2-1) ... 331s Setting up python3-lsprotocol (2023.0.1-1) ... 332s autopkgtest [10:41:36]: test debputy-cli-lint-lsp: [----------------------- 332s + debputy lint --linter-exit-code 333s debputy: info: Note: Due to a limitation in the linter, debian/debputy.manifest is 333s debputy: info: only **partially** checked by this command at the time of writing. 333s debputy: info: Please use `debputy check-manifest` to fully check the manifest. 333s + debputy lint --no-linter-exit-code 334s debputy: info: Note: Due to a limitation in the linter, debian/debputy.manifest is 334s debputy: info: only **partially** checked by this command at the time of writing. 334s debputy: info: Please use `debputy check-manifest` to fully check the manifest. 334s + debputy reformat --no-linter-exit-code --no-auto-fix 335s + debputy lsp editor-config 336s This version of debputy has instructions or editor config snippets for the following editors: 336s 336s * emacs (short for: emacs+eglot) 336s * emacs+eglot 336s * vim (short for: vim+youcompleteme) 336s * vim+youcompleteme 336s * vim+vim9lsp 336s * neovim (short for: neovim+nvim-lspconfig) 336s * neovim+nvim-lspconfig 336s 336s Use `debputy lsp editor-config vim+youcompleteme` (as an example) to see the instructions for a concrete editor. 336s + debputy lsp editor-config emacs 336s ;; `deputy lsp server` glue for emacs eglot (eglot is built-in these days) 336s ;; 336s ;; Add to ~/.emacs or ~/.emacs.d/init.el and then activate via `M-x eglot`. 336s ;; 336s ;; Requires: apt install elpa-dpkg-dev-el elpa-yaml-mode 336s ;; Recommends: apt install elpa-markdown-mode 336s 336s ;; Make emacs recognize debian/debputy.manifest as a YAML file 336s (add-to-list 'auto-mode-alist '("/debian/debputy.manifest\'" . yaml-mode)) 336s ;; Inform eglot about the debputy LSP 336s (with-eval-after-load 'eglot 336s (add-to-list 'eglot-server-programs 336s '( 336s ( 336s ;; Requires elpa-dpkg-dev-el (>= 37.12) 336s (debian-autopkgtest-control-mode :language-id "debian/tests/control") 336s ;; Requires elpa-dpkg-dev-el 336s (debian-control-mode :language-id "debian/control") 336s (debian-changelog-mode :language-id "debian/changelog") 336s (debian-copyright-mode :language-id "debian/copyright") 336s ;; No language id for these atm. 336s makefile-gmake-mode 336s ;; Requires elpa-yaml-mode 336s yaml-mode 336s ) 336s . ("debputy" "lsp" "server") 336s ))) 336s 336s ;; Auto-start eglot for the relevant modes. 336s (add-hook 'debian-control-mode-hook 'eglot-ensure) 336s ;; Requires elpa-dpkg-dev-el (>= 37.12) 336s ;; Technically, the `eglot-ensure` works before then, but it causes a 336s ;; visible and very annoying long delay on opening the first changelog. 336s ;; It still has a minor delay in 37.12, which may still be too long for 336s ;; for your preference. In that case, comment it out. 336s (add-hook 'debian-changelog-mode-hook 'eglot-ensure) 336s (add-hook 'debian-copyright-mode-hook 'eglot-ensure) 336s ;; Requires elpa-dpkg-dev-el (>= 37.12) 336s (add-hook 'debian-autopkgtest-control-mode-hook 'eglot-ensure) 336s (add-hook 'makefile-gmake-mode-hook 'eglot-ensure) 336s (add-hook 'yaml-mode-hook 'eglot-ensure) 336s 336s + debputy lsp editor-config emacs+eglot 337s ;; `deputy lsp server` glue for emacs eglot (eglot is built-in these days) 337s ;; 337s ;; Add to ~/.emacs or ~/.emacs.d/init.el and then activate via `M-x eglot`. 337s ;; 337s ;; Requires: apt install elpa-dpkg-dev-el elpa-yaml-mode 337s ;; Recommends: apt install elpa-markdown-mode 337s 337s ;; Make emacs recognize debian/debputy.manifest as a YAML file 337s (add-to-list 'auto-mode-alist '("/debian/debputy.manifest\'" . yaml-mode)) 337s ;; Inform eglot about the debputy LSP 337s (with-eval-after-load 'eglot 337s (add-to-list 'eglot-server-programs 337s '( 337s ( 337s ;; Requires elpa-dpkg-dev-el (>= 37.12) 337s (debian-autopkgtest-control-mode :language-id "debian/tests/control") 337s ;; Requires elpa-dpkg-dev-el 337s (debian-control-mode :language-id "debian/control") 337s (debian-changelog-mode :language-id "debian/changelog") 337s (debian-copyright-mode :language-id "debian/copyright") 337s ;; No language id for these atm. 337s makefile-gmake-mode 337s ;; Requires elpa-yaml-mode 337s yaml-mode 337s ) 337s . ("debputy" "lsp" "server") 337s ))) 337s 337s ;; Auto-start eglot for the relevant modes. 337s (add-hook 'debian-control-mode-hook 'eglot-ensure) 337s ;; Requires elpa-dpkg-dev-el (>= 37.12) 337s ;; Technically, the `eglot-ensure` works before then, but it causes a 337s ;; visible and very annoying long delay on opening the first changelog. 337s ;; It still has a minor delay in 37.12, which may still be too long for 337s ;; for your preference. In that case, comment it out. 337s (add-hook 'debian-changelog-mode-hook 'eglot-ensure) 337s (add-hook 'debian-copyright-mode-hook 'eglot-ensure) 337s ;; Requires elpa-dpkg-dev-el (>= 37.12) 337s (add-hook 'debian-autopkgtest-control-mode-hook 'eglot-ensure) 337s (add-hook 'makefile-gmake-mode-hook 'eglot-ensure) 337s (add-hook 'yaml-mode-hook 'eglot-ensure) 337s 337s + debputy lsp editor-config vim 338s # debputy lsp server glue for vim with vim-youcompleteme. Add to ~/.vimrc 338s # 338s # Requires: apt install vim-youcompleteme 338s # - Your vim **MUST** be a provider of `vim-python3` (`vim-nox`/`vim-gtk`, etc.) 338s 338s # Make vim recognize debputy.manifest as YAML file 338s au BufNewFile,BufRead debputy.manifest setf yaml 338s # Inform vim/ycm about the debputy LSP 338s # - NB: No known support for debian/tests/control that we can hook into. 338s # Feel free to provide one :) 338s let g:ycm_language_server = [ 338s \ { 'name': 'debputy', 338s \ 'filetypes': [ 'debcontrol', 'debcopyright', 'debchangelog', 'make', 'yaml'], 338s \ 'cmdline': [ 'debputy', 'lsp', 'server', '--ignore-language-ids' ] 338s \ }, 338s \ ] 338s 338s packadd! youcompleteme 338s # Add relevant ycm keybinding such as: 338s # nmap d (YCMHover) 338s 338s autopkgtest [10:41:42]: test debputy-cli-lint-lsp: -----------------------] 338s autopkgtest [10:41:42]: test debputy-cli-lint-lsp: - - - - - - - - - - results - - - - - - - - - - 338s debputy-cli-lint-lsp PASS (superficial) 339s autopkgtest [10:41:43]: test debputy-cli-lsp: preparing testbed 339s Reading package lists... 339s Building dependency tree... 339s Reading state information... 339s Starting pkgProblemResolver with broken count: 0 339s Starting 2 pkgProblemResolver with broken count: 0 339s Done 339s The following NEW packages will be installed: 339s python3-pygls 340s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 340s Need to get 36.4 kB of archives. 340s After this operation, 265 kB of additional disk space will be used. 340s Get:1 http://ftpmaster.internal/ubuntu questing/universe s390x python3-pygls all 1.3.0-2 [36.4 kB] 340s Fetched 36.4 kB in 0s (165 kB/s) 340s Selecting previously unselected package python3-pygls. 340s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 83231 files and directories currently installed.) 340s Preparing to unpack .../python3-pygls_1.3.0-2_all.deb ... 340s Unpacking python3-pygls (1.3.0-2) ... 340s Setting up python3-pygls (1.3.0-2) ... 341s autopkgtest [10:41:45]: test debputy-cli-lsp: [----------------------- 341s + debputy lsp features 342s LSP language IDs and their features: 342s * : 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - folding ranges 342s - semantic tokens 342s - on-save handler 342s - inlay hint (doc) 342s - format file handler 342s * dch: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - on-save handler 342s * debchangelog: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - on-save handler 342s * debcontrol: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - folding ranges 342s - semantic tokens 342s - on-save handler 342s - inlay hint (doc) 342s - format file handler 342s * debcopyright: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - folding ranges 342s - semantic tokens 342s - on-save handler 342s - format file handler 342s * debian-autopkgtest-control-mode: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - folding ranges 342s - semantic tokens 342s - on-save handler 342s - format file handler 342s * debian-changelog: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - on-save handler 342s * debian-control: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - folding ranges 342s - semantic tokens 342s - on-save handler 342s - inlay hint (doc) 342s - format file handler 342s * debian-copyright: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - folding ranges 342s - semantic tokens 342s - on-save handler 342s - format file handler 342s * debian/changelog: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - on-save handler 342s * debian/control: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - folding ranges 342s - semantic tokens 342s - on-save handler 342s - inlay hint (doc) 342s - format file handler 342s * debian/copyright: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - folding ranges 342s - semantic tokens 342s - on-save handler 342s - format file handler 342s * debian/debputy.manifest: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - on-save handler 342s * debian/patches/series: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - semantic tokens 342s - on-save handler 342s * debian/rules: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - on-save handler 342s * debian/tests/control: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - folding ranges 342s - semantic tokens 342s - on-save handler 342s - format file handler 342s * debian/upstream/metadata: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - on-save handler 342s * debputy.manifest: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - on-save handler 342s * debtestscontrol: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - folding ranges 342s - semantic tokens 342s - on-save handler 342s - format file handler 342s * make: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - on-save handler 342s * makefile: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - on-save handler 342s * makefile-gmake: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - on-save handler 342s * patches/series: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - semantic tokens 342s - on-save handler 342s * yaml: 342s - diagnostics (lint) 342s - code actions/quickfixes 342s - completion suggestions 342s - hover docs 342s - on-save handler 342s 342s Aliases: 342s 342s General features: 342s * minimum requirements: enabled 342s * typo detection: disabled 342s - Run `apt satisfy 'python3-levenshtein'` to enable this feature 342s * spell checking: disabled 342s - Run `apt satisfy 'hunspell-en-us, python3-hunspell'` to enable this feature 342s * extra dh support: enabled 342s * apt cache packages: enabled 342s + debputy lsp server 342s pygls.feature_manager: info: Registered builtin feature exit 342s pygls.feature_manager: info: Registered builtin feature initialize 342s pygls.feature_manager: info: Registered builtin feature initialized 342s pygls.feature_manager: info: Registered builtin feature notebookDocument/didChange 342s pygls.feature_manager: info: Registered builtin feature notebookDocument/didClose 342s pygls.feature_manager: info: Registered builtin feature notebookDocument/didOpen 342s pygls.feature_manager: info: Registered builtin feature $/setTrace 342s pygls.feature_manager: info: Registered builtin feature shutdown 342s pygls.feature_manager: info: Registered builtin feature textDocument/didChange 342s pygls.feature_manager: info: Registered builtin feature textDocument/didClose 342s pygls.feature_manager: info: Registered builtin feature textDocument/didOpen 342s pygls.feature_manager: info: Registered builtin feature window/workDoneProgress/cancel 342s pygls.feature_manager: info: Registered builtin feature workspace/didChangeWorkspaceFolders 342s pygls.feature_manager: info: Registered builtin feature workspace/executeCommand 342s pygls.feature_manager: info: Registered "initialize" with options "None" 342s pygls.feature_manager: info: Registered "textDocument/didOpen" with options "None" 342s pygls.feature_manager: info: Registered "textDocument/didChange" with options "None" 342s pygls.feature_manager: info: Registered "textDocument/didClose" with options "None" 342s pygls.feature_manager: info: Registered "textDocument/completion" with options "None" 342s pygls.feature_manager: info: Registered "textDocument/hover" with options "None" 342s pygls.feature_manager: info: Registered "textDocument/inlayHint" with options "None" 342s pygls.feature_manager: info: Registered "textDocument/codeAction" with options "None" 342s pygls.feature_manager: info: Registered "textDocument/foldingRange" with options "None" 342s pygls.feature_manager: info: Registered "textDocument/semanticTokens/full" with options "SemanticTokensRegistrationOptions(legend=SemanticTokensLegend(token_types=['keyword', 'enumMember', 'comment', 'string', 'macro'], token_modifiers=[]), document_selector=None, range=None, full=True, work_done_progress=None, id=None)" 342s pygls.feature_manager: info: Registered "textDocument/willSaveWaitUntil" with options "None" 342s pygls.feature_manager: info: Registered "textDocument/formatting" with options "None" 342s debputy: info: Loaded style preferences: 9 unique maintainer preferences recorded 342s pygls.server: info: Starting IO server 342s pygls.server: info: Shutting down the server 342s pygls.server: info: Closing the event loop. 343s autopkgtest [10:41:47]: test debputy-cli-lsp: -----------------------] 343s debputy-cli-lsp PASS (superficial) 343s autopkgtest [10:41:47]: test debputy-cli-lsp: - - - - - - - - - - results - - - - - - - - - - 344s autopkgtest [10:41:48]: @@@@@@@@@@@@@@@@@@@@ summary 344s debputy-py.test PASS 344s debputy-cli PASS (superficial) 344s debputy-cli-lint-lsp PASS (superficial) 344s debputy-cli-lsp PASS (superficial) 361s nova [W] Using flock in prodstack6-s390x 361s flock: timeout while waiting to get lock 361s Creating nova instance adt-questing-s390x-debputy-20250502-101332-juju-7f2275-prod-proposed-migration-environment-21-11fb9bc3-38e6-4c66-a1d2-208e365536b8 from image adt/ubuntu-questing-s390x-server-20250502.img (UUID 632ecfca-a19d-4f3a-af48-b7883fa0ccf2)... 361s nova [W] Timed out waiting for 152718e3-8fe5-4838-81cf-2b389f70674f to get deleted. 361s nova [W] Using flock in prodstack6-s390x 361s Creating nova instance adt-questing-s390x-debputy-20250502-101332-juju-7f2275-prod-proposed-migration-environment-21-11fb9bc3-38e6-4c66-a1d2-208e365536b8 from image adt/ubuntu-questing-s390x-server-20250502.img (UUID 632ecfca-a19d-4f3a-af48-b7883fa0ccf2)... 361s nova [W] Timed out waiting for c3f72061-fa1e-4a70-8fda-6584c8619e99 to get deleted.