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