0s autopkgtest [17:18:18]: starting date and time: 2025-11-17 17:18:18+0000 0s autopkgtest [17:18:18]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [17:18:18]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.mycu473n/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:pygls --apt-upgrade debputy --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=pygls/1.3.0-4 -- lxd -r lxd-armhf-10.145.243.210 lxd-armhf-10.145.243.210:autopkgtest/ubuntu/resolute/armhf 20s autopkgtest [17:18:38]: testbed dpkg architecture: armhf 22s autopkgtest [17:18:40]: testbed apt version: 3.1.11 26s autopkgtest [17:18:44]: @@@@@@@@@@@@@@@@@@@@ test bed setup 28s autopkgtest [17:18:46]: testbed release detected to be: None 35s autopkgtest [17:18:53]: updating testbed package index (apt update) 37s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 37s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [87.8 kB] 37s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 37s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 38s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [779 kB] 38s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [73.2 kB] 38s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.9 kB] 38s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9852 B] 38s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [134 kB] 38s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted armhf Packages [940 B] 38s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [474 kB] 38s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [9684 B] 38s Get:13 http://ftpmaster.internal/ubuntu resolute/main Sources [1416 kB] 39s Get:14 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 41s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1369 kB] 41s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.4 MB] 45s Fetched 41.2 MB in 8s (5388 kB/s) 46s Reading package lists... 52s autopkgtest [17:19:10]: upgrading testbed (apt dist-upgrade and autopurge) 54s Reading package lists... 55s Building dependency tree... 55s Reading state information... 55s Calculating upgrade... 56s The following packages will be upgraded: 56s apt libapt-pkg7.0 libcrypt1 usbutils 57s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 57s Need to get 2774 kB of archives. 57s After this operation, 8192 B of additional disk space will be used. 57s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libapt-pkg7.0 armhf 3.1.12 [1157 kB] 57s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf apt armhf 3.1.12 [1440 kB] 57s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf libcrypt1 armhf 1:4.5.1-1 [98.9 kB] 57s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf usbutils armhf 1:019-1 [77.7 kB] 58s Fetched 2774 kB in 1s (3543 kB/s) 58s (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 ... 65904 files and directories currently installed.) 58s Preparing to unpack .../libapt-pkg7.0_3.1.12_armhf.deb ... 58s Unpacking libapt-pkg7.0:armhf (3.1.12) over (3.1.11) ... 58s Setting up libapt-pkg7.0:armhf (3.1.12) ... 58s (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 ... 65904 files and directories currently installed.) 58s Preparing to unpack .../archives/apt_3.1.12_armhf.deb ... 58s Unpacking apt (3.1.12) over (3.1.11) ... 58s Setting up apt (3.1.12) ... 59s (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 ... 65904 files and directories currently installed.) 59s Preparing to unpack .../libcrypt1_1%3a4.5.1-1_armhf.deb ... 59s Unpacking libcrypt1:armhf (1:4.5.1-1) over (1:4.4.38-1build1) ... 59s Setting up libcrypt1:armhf (1:4.5.1-1) ... 59s (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 ... 65904 files and directories currently installed.) 59s Preparing to unpack .../usbutils_1%3a019-1_armhf.deb ... 59s Unpacking usbutils (1:019-1) over (1:018-2) ... 59s Setting up usbutils (1:019-1) ... 59s Processing triggers for man-db (2.13.1-1) ... 61s Processing triggers for libc-bin (2.42-2ubuntu2) ... 65s Reading package lists... 65s Building dependency tree... 65s Reading state information... 65s Solving dependencies... 66s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 68s autopkgtest [17:19:26]: rebooting testbed after setup commands that affected boot 109s autopkgtest [17:20:07]: testbed running kernel: Linux 6.8.0-86-generic #87~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 29 09:26:46 UTC 2 134s autopkgtest [17:20:32]: @@@@@@@@@@@@@@@@@@@@ apt-source debputy 145s Get:1 http://ftpmaster.internal/ubuntu resolute/universe debputy 0.1.76ubuntu1 (dsc) [2496 B] 145s Get:2 http://ftpmaster.internal/ubuntu resolute/universe debputy 0.1.76ubuntu1 (tar) [725 kB] 145s gpgv: Signature made Tue Oct 7 21:05:52 2025 UTC 145s gpgv: using RSA key 8A2044F84F716A85B77FF76311DF4294CCA39893 145s gpgv: Can't check signature: No public key 145s dpkg-source: warning: cannot verify inline signature for ./debputy_0.1.76ubuntu1.dsc: no acceptable signature found 145s autopkgtest [17:20:43]: testing package debputy version 0.1.76ubuntu1 147s autopkgtest [17:20:45]: build not needed 150s autopkgtest [17:20:48]: test debputy-py.test: preparing testbed 152s Reading package lists... 153s Building dependency tree... 153s Reading state information... 153s Solving dependencies... 154s The following NEW packages will be installed: 154s autoconf automake autopoint autotools-dev cpp cpp-15 154s cpp-15-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper debugedit 154s dh-autoreconf dh-debputy dh-strip-nondeterminism dwz gcc gcc-15 154s gcc-15-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext intltool-debian 154s libarchive-zip-perl libasan8 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 154s libdebhelper-perl libdw1t64 libfile-stripnondeterminism-perl libgcc-15-dev 154s libgomp1 libisl23 libmpc3 libtool libubsan1 linux-libc-dev m4 po-debconf 154s python3-all python3-cattr python3-colored python3-colorlog python3-debian 154s python3-iniconfig python3-lsprotocol python3-pluggy python3-pytest 154s python3-ruyaml rpcsvc-proto strip-nondeterminism 154s 0 upgraded, 50 newly installed, 0 to remove and 0 not upgraded. 154s Need to get 45.3 MB of archives. 154s After this operation, 127 MB of additional disk space will be used. 154s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf m4 armhf 1.4.20-2 [212 kB] 155s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf autoconf all 2.72-3.1ubuntu1 [384 kB] 155s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf autotools-dev all 20240727.1 [43.4 kB] 155s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf automake all 1:1.18.1-2 [581 kB] 155s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf autopoint all 0.23.2-1 [620 kB] 155s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf libisl23 armhf 0.27-1 [546 kB] 155s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf libmpc3 armhf 1.3.1-2 [47.0 kB] 155s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15-arm-linux-gnueabihf armhf 15.2.0-7ubuntu1 [10.1 MB] 155s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15 armhf 15.2.0-7ubuntu1 [1030 B] 155s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [5756 B] 155s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf cpp armhf 4:15.2.0-4ubuntu1 [22.4 kB] 155s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf libdebhelper-perl all 13.24.2ubuntu1 [95.7 kB] 155s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf libcc1-0 armhf 15.2.0-7ubuntu1 [43.5 kB] 155s Get:14 http://ftpmaster.internal/ubuntu resolute/main armhf libgomp1 armhf 15.2.0-7ubuntu1 [129 kB] 155s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf libasan8 armhf 15.2.0-7ubuntu1 [2950 kB] 156s Get:16 http://ftpmaster.internal/ubuntu resolute/main armhf libubsan1 armhf 15.2.0-7ubuntu1 [1187 kB] 156s Get:17 http://ftpmaster.internal/ubuntu resolute/main armhf libgcc-15-dev armhf 15.2.0-7ubuntu1 [898 kB] 156s Get:18 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15-arm-linux-gnueabihf armhf 15.2.0-7ubuntu1 [19.5 MB] 156s Get:19 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15 armhf 15.2.0-7ubuntu1 [493 kB] 156s Get:20 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [1220 B] 156s Get:21 http://ftpmaster.internal/ubuntu resolute/main armhf gcc armhf 4:15.2.0-4ubuntu1 [5022 B] 156s Get:22 http://ftpmaster.internal/ubuntu resolute/main armhf libc-dev-bin armhf 2.42-2ubuntu2 [21.8 kB] 156s Get:23 http://ftpmaster.internal/ubuntu resolute/main armhf linux-libc-dev armhf 6.17.0-5.5 [1771 kB] 156s Get:24 http://ftpmaster.internal/ubuntu resolute/main armhf libcrypt-dev armhf 1:4.5.1-1 [128 kB] 156s Get:25 http://ftpmaster.internal/ubuntu resolute/main armhf rpcsvc-proto armhf 1.4.3-1 [62.3 kB] 156s Get:26 http://ftpmaster.internal/ubuntu resolute/main armhf libc6-dev armhf 2.42-2ubuntu2 [1416 kB] 156s Get:27 http://ftpmaster.internal/ubuntu resolute/main armhf libtool all 2.5.4-7 [169 kB] 156s Get:28 http://ftpmaster.internal/ubuntu resolute/main armhf dh-autoreconf all 21 [12.5 kB] 156s Get:29 http://ftpmaster.internal/ubuntu resolute/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 156s Get:30 http://ftpmaster.internal/ubuntu resolute/main armhf libfile-stripnondeterminism-perl all 1.15.0-1 [20.5 kB] 156s Get:31 http://ftpmaster.internal/ubuntu resolute/main armhf dh-strip-nondeterminism all 1.15.0-1 [5090 B] 156s Get:32 http://ftpmaster.internal/ubuntu resolute/main armhf libdw1t64 armhf 0.194-1 [254 kB] 156s Get:33 http://ftpmaster.internal/ubuntu resolute/main armhf debugedit armhf 1:5.2-3 [48.9 kB] 156s Get:34 http://ftpmaster.internal/ubuntu resolute/main armhf dwz armhf 0.16-2 [114 kB] 156s Get:35 http://ftpmaster.internal/ubuntu resolute/main armhf gettext armhf 0.23.2-1 [1059 kB] 156s Get:36 http://ftpmaster.internal/ubuntu resolute/main armhf intltool-debian all 0.35.0+20060710.6 [23.2 kB] 156s Get:37 http://ftpmaster.internal/ubuntu resolute/main armhf po-debconf all 1.0.21+nmu1 [233 kB] 157s Get:38 http://ftpmaster.internal/ubuntu resolute/main armhf debhelper all 13.24.2ubuntu1 [896 kB] 157s Get:39 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-colored all 2.2.4-1 [14.2 kB] 157s Get:40 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-colorlog all 6.9.0-1 [21.6 kB] 157s Get:41 http://ftpmaster.internal/ubuntu resolute/main armhf python3-debian all 1.0.1ubuntu1 [121 kB] 157s Get:42 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-ruyaml all 0.91.0-5 [81.7 kB] 157s Get:43 http://ftpmaster.internal/ubuntu resolute/universe armhf strip-nondeterminism all 1.15.0-1 [5566 B] 157s Get:44 http://ftpmaster.internal/ubuntu resolute/universe armhf dh-debputy all 0.1.76ubuntu1 [509 kB] 157s Get:45 http://ftpmaster.internal/ubuntu resolute/main armhf python3-all armhf 3.13.7-1 [884 B] 157s Get:46 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-cattr all 24.1.2-1 [43.6 kB] 157s Get:47 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-iniconfig all 2.1.0-1 [6840 B] 157s Get:48 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-lsprotocol all 2023.0.1-1 [58.3 kB] 157s Get:49 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pluggy all 1.6.0-1 [21.0 kB] 157s Get:50 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest all 8.3.5-2 [252 kB] 157s Fetched 45.3 MB in 3s (17.5 MB/s) 157s Selecting previously unselected package m4. 158s (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 ... 65904 files and directories currently installed.) 158s Preparing to unpack .../00-m4_1.4.20-2_armhf.deb ... 158s Unpacking m4 (1.4.20-2) ... 158s Selecting previously unselected package autoconf. 158s Preparing to unpack .../01-autoconf_2.72-3.1ubuntu1_all.deb ... 158s Unpacking autoconf (2.72-3.1ubuntu1) ... 158s Selecting previously unselected package autotools-dev. 158s Preparing to unpack .../02-autotools-dev_20240727.1_all.deb ... 158s Unpacking autotools-dev (20240727.1) ... 158s Selecting previously unselected package automake. 158s Preparing to unpack .../03-automake_1%3a1.18.1-2_all.deb ... 158s Unpacking automake (1:1.18.1-2) ... 158s Selecting previously unselected package autopoint. 158s Preparing to unpack .../04-autopoint_0.23.2-1_all.deb ... 158s Unpacking autopoint (0.23.2-1) ... 158s Selecting previously unselected package libisl23:armhf. 158s Preparing to unpack .../05-libisl23_0.27-1_armhf.deb ... 158s Unpacking libisl23:armhf (0.27-1) ... 158s Selecting previously unselected package libmpc3:armhf. 158s Preparing to unpack .../06-libmpc3_1.3.1-2_armhf.deb ... 158s Unpacking libmpc3:armhf (1.3.1-2) ... 158s Selecting previously unselected package cpp-15-arm-linux-gnueabihf. 158s Preparing to unpack .../07-cpp-15-arm-linux-gnueabihf_15.2.0-7ubuntu1_armhf.deb ... 158s Unpacking cpp-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 158s Selecting previously unselected package cpp-15. 158s Preparing to unpack .../08-cpp-15_15.2.0-7ubuntu1_armhf.deb ... 158s Unpacking cpp-15 (15.2.0-7ubuntu1) ... 158s Selecting previously unselected package cpp-arm-linux-gnueabihf. 158s Preparing to unpack .../09-cpp-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 158s Unpacking cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 158s Selecting previously unselected package cpp. 158s Preparing to unpack .../10-cpp_4%3a15.2.0-4ubuntu1_armhf.deb ... 158s Unpacking cpp (4:15.2.0-4ubuntu1) ... 158s Selecting previously unselected package libdebhelper-perl. 158s Preparing to unpack .../11-libdebhelper-perl_13.24.2ubuntu1_all.deb ... 158s Unpacking libdebhelper-perl (13.24.2ubuntu1) ... 158s Selecting previously unselected package libcc1-0:armhf. 159s Preparing to unpack .../12-libcc1-0_15.2.0-7ubuntu1_armhf.deb ... 159s Unpacking libcc1-0:armhf (15.2.0-7ubuntu1) ... 159s Selecting previously unselected package libgomp1:armhf. 159s Preparing to unpack .../13-libgomp1_15.2.0-7ubuntu1_armhf.deb ... 159s Unpacking libgomp1:armhf (15.2.0-7ubuntu1) ... 159s Selecting previously unselected package libasan8:armhf. 159s Preparing to unpack .../14-libasan8_15.2.0-7ubuntu1_armhf.deb ... 159s Unpacking libasan8:armhf (15.2.0-7ubuntu1) ... 159s Selecting previously unselected package libubsan1:armhf. 159s Preparing to unpack .../15-libubsan1_15.2.0-7ubuntu1_armhf.deb ... 159s Unpacking libubsan1:armhf (15.2.0-7ubuntu1) ... 159s Selecting previously unselected package libgcc-15-dev:armhf. 159s Preparing to unpack .../16-libgcc-15-dev_15.2.0-7ubuntu1_armhf.deb ... 159s Unpacking libgcc-15-dev:armhf (15.2.0-7ubuntu1) ... 159s Selecting previously unselected package gcc-15-arm-linux-gnueabihf. 159s Preparing to unpack .../17-gcc-15-arm-linux-gnueabihf_15.2.0-7ubuntu1_armhf.deb ... 159s Unpacking gcc-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 160s Selecting previously unselected package gcc-15. 160s Preparing to unpack .../18-gcc-15_15.2.0-7ubuntu1_armhf.deb ... 160s Unpacking gcc-15 (15.2.0-7ubuntu1) ... 160s Selecting previously unselected package gcc-arm-linux-gnueabihf. 160s Preparing to unpack .../19-gcc-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 160s Unpacking gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 160s Selecting previously unselected package gcc. 160s Preparing to unpack .../20-gcc_4%3a15.2.0-4ubuntu1_armhf.deb ... 160s Unpacking gcc (4:15.2.0-4ubuntu1) ... 160s Selecting previously unselected package libc-dev-bin. 160s Preparing to unpack .../21-libc-dev-bin_2.42-2ubuntu2_armhf.deb ... 160s Unpacking libc-dev-bin (2.42-2ubuntu2) ... 160s Selecting previously unselected package linux-libc-dev:armhf. 160s Preparing to unpack .../22-linux-libc-dev_6.17.0-5.5_armhf.deb ... 160s Unpacking linux-libc-dev:armhf (6.17.0-5.5) ... 160s Selecting previously unselected package libcrypt-dev:armhf. 160s Preparing to unpack .../23-libcrypt-dev_1%3a4.5.1-1_armhf.deb ... 160s Unpacking libcrypt-dev:armhf (1:4.5.1-1) ... 160s Selecting previously unselected package rpcsvc-proto. 160s Preparing to unpack .../24-rpcsvc-proto_1.4.3-1_armhf.deb ... 160s Unpacking rpcsvc-proto (1.4.3-1) ... 160s Selecting previously unselected package libc6-dev:armhf. 160s Preparing to unpack .../25-libc6-dev_2.42-2ubuntu2_armhf.deb ... 160s Unpacking libc6-dev:armhf (2.42-2ubuntu2) ... 160s Selecting previously unselected package libtool. 160s Preparing to unpack .../26-libtool_2.5.4-7_all.deb ... 160s Unpacking libtool (2.5.4-7) ... 160s Selecting previously unselected package dh-autoreconf. 160s Preparing to unpack .../27-dh-autoreconf_21_all.deb ... 160s Unpacking dh-autoreconf (21) ... 160s Selecting previously unselected package libarchive-zip-perl. 160s Preparing to unpack .../28-libarchive-zip-perl_1.68-1_all.deb ... 160s Unpacking libarchive-zip-perl (1.68-1) ... 160s Selecting previously unselected package libfile-stripnondeterminism-perl. 160s Preparing to unpack .../29-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... 160s Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... 160s Selecting previously unselected package dh-strip-nondeterminism. 160s Preparing to unpack .../30-dh-strip-nondeterminism_1.15.0-1_all.deb ... 160s Unpacking dh-strip-nondeterminism (1.15.0-1) ... 161s Selecting previously unselected package libdw1t64:armhf. 161s Preparing to unpack .../31-libdw1t64_0.194-1_armhf.deb ... 161s Unpacking libdw1t64:armhf (0.194-1) ... 161s Selecting previously unselected package debugedit. 161s Preparing to unpack .../32-debugedit_1%3a5.2-3_armhf.deb ... 161s Unpacking debugedit (1:5.2-3) ... 161s Selecting previously unselected package dwz. 161s Preparing to unpack .../33-dwz_0.16-2_armhf.deb ... 161s Unpacking dwz (0.16-2) ... 161s Selecting previously unselected package gettext. 161s Preparing to unpack .../34-gettext_0.23.2-1_armhf.deb ... 161s Unpacking gettext (0.23.2-1) ... 161s Selecting previously unselected package intltool-debian. 161s Preparing to unpack .../35-intltool-debian_0.35.0+20060710.6_all.deb ... 161s Unpacking intltool-debian (0.35.0+20060710.6) ... 161s Selecting previously unselected package po-debconf. 161s Preparing to unpack .../36-po-debconf_1.0.21+nmu1_all.deb ... 161s Unpacking po-debconf (1.0.21+nmu1) ... 161s Selecting previously unselected package debhelper. 161s Preparing to unpack .../37-debhelper_13.24.2ubuntu1_all.deb ... 161s Unpacking debhelper (13.24.2ubuntu1) ... 161s Selecting previously unselected package python3-colored. 161s Preparing to unpack .../38-python3-colored_2.2.4-1_all.deb ... 161s Unpacking python3-colored (2.2.4-1) ... 161s Selecting previously unselected package python3-colorlog. 161s Preparing to unpack .../39-python3-colorlog_6.9.0-1_all.deb ... 161s Unpacking python3-colorlog (6.9.0-1) ... 161s Selecting previously unselected package python3-debian. 161s Preparing to unpack .../40-python3-debian_1.0.1ubuntu1_all.deb ... 161s Unpacking python3-debian (1.0.1ubuntu1) ... 161s Selecting previously unselected package python3-ruyaml. 161s Preparing to unpack .../41-python3-ruyaml_0.91.0-5_all.deb ... 161s Unpacking python3-ruyaml (0.91.0-5) ... 161s Selecting previously unselected package strip-nondeterminism. 161s Preparing to unpack .../42-strip-nondeterminism_1.15.0-1_all.deb ... 161s Unpacking strip-nondeterminism (1.15.0-1) ... 161s Selecting previously unselected package dh-debputy. 161s Preparing to unpack .../43-dh-debputy_0.1.76ubuntu1_all.deb ... 161s Unpacking dh-debputy (0.1.76ubuntu1) ... 161s Selecting previously unselected package python3-all. 161s Preparing to unpack .../44-python3-all_3.13.7-1_armhf.deb ... 161s Unpacking python3-all (3.13.7-1) ... 161s Selecting previously unselected package python3-cattr. 161s Preparing to unpack .../45-python3-cattr_24.1.2-1_all.deb ... 161s Unpacking python3-cattr (24.1.2-1) ... 161s Selecting previously unselected package python3-iniconfig. 162s Preparing to unpack .../46-python3-iniconfig_2.1.0-1_all.deb ... 162s Unpacking python3-iniconfig (2.1.0-1) ... 162s Selecting previously unselected package python3-lsprotocol. 162s Preparing to unpack .../47-python3-lsprotocol_2023.0.1-1_all.deb ... 162s Unpacking python3-lsprotocol (2023.0.1-1) ... 162s Selecting previously unselected package python3-pluggy. 162s Preparing to unpack .../48-python3-pluggy_1.6.0-1_all.deb ... 162s Unpacking python3-pluggy (1.6.0-1) ... 162s Selecting previously unselected package python3-pytest. 162s Preparing to unpack .../49-python3-pytest_8.3.5-2_all.deb ... 162s Unpacking python3-pytest (8.3.5-2) ... 162s Setting up python3-iniconfig (2.1.0-1) ... 162s Setting up python3-colorlog (6.9.0-1) ... 162s Setting up libarchive-zip-perl (1.68-1) ... 162s Setting up libdebhelper-perl (13.24.2ubuntu1) ... 162s Setting up linux-libc-dev:armhf (6.17.0-5.5) ... 162s Setting up m4 (1.4.20-2) ... 162s Setting up python3-all (3.13.7-1) ... 162s Setting up libgomp1:armhf (15.2.0-7ubuntu1) ... 162s Setting up libdw1t64:armhf (0.194-1) ... 162s Setting up autotools-dev (20240727.1) ... 162s Setting up rpcsvc-proto (1.4.3-1) ... 162s Setting up python3-cattr (24.1.2-1) ... 162s Setting up python3-debian (1.0.1ubuntu1) ... 163s Setting up libmpc3:armhf (1.3.1-2) ... 163s Setting up autopoint (0.23.2-1) ... 163s Setting up autoconf (2.72-3.1ubuntu1) ... 163s Setting up python3-pluggy (1.6.0-1) ... 163s Setting up libubsan1:armhf (15.2.0-7ubuntu1) ... 163s Setting up dwz (0.16-2) ... 163s Setting up libcrypt-dev:armhf (1:4.5.1-1) ... 163s Setting up libasan8:armhf (15.2.0-7ubuntu1) ... 163s Setting up debugedit (1:5.2-3) ... 163s Setting up python3-colored (2.2.4-1) ... 163s Setting up libisl23:armhf (0.27-1) ... 163s Setting up libc-dev-bin (2.42-2ubuntu2) ... 163s Setting up python3-ruyaml (0.91.0-5) ... 163s Setting up cpp-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 163s Setting up libcc1-0:armhf (15.2.0-7ubuntu1) ... 163s Setting up cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 163s Setting up automake (1:1.18.1-2) ... 163s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 163s Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... 163s Setting up gettext (0.23.2-1) ... 164s Setting up libgcc-15-dev:armhf (15.2.0-7ubuntu1) ... 164s Setting up python3-lsprotocol (2023.0.1-1) ... 164s Setting up gcc-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 164s Setting up python3-pytest (8.3.5-2) ... 164s Setting up strip-nondeterminism (1.15.0-1) ... 164s Setting up intltool-debian (0.35.0+20060710.6) ... 164s Setting up dh-strip-nondeterminism (1.15.0-1) ... 164s Setting up cpp-15 (15.2.0-7ubuntu1) ... 164s Setting up cpp (4:15.2.0-4ubuntu1) ... 164s Setting up libc6-dev:armhf (2.42-2ubuntu2) ... 164s Setting up gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 164s Setting up po-debconf (1.0.21+nmu1) ... 164s Setting up gcc-15 (15.2.0-7ubuntu1) ... 164s Setting up libtool (2.5.4-7) ... 164s Setting up gcc (4:15.2.0-4ubuntu1) ... 164s Setting up dh-autoreconf (21) ... 164s Setting up debhelper (13.24.2ubuntu1) ... 164s Setting up dh-debputy (0.1.76ubuntu1) ... 166s Processing triggers for libc-bin (2.42-2ubuntu2) ... 166s Processing triggers for man-db (2.13.1-1) ... 167s Processing triggers for install-info (7.2-5) ... 175s autopkgtest [17:21:13]: test debputy-py.test: [----------------------- 177s + mkdir /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/debian 177s + cp -r pyproject.toml tests/ /tmp/autopkgtest.4fRjf5/autopkgtest_tmp 177s + cp -a debian/control /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/debian 177s + export PYTHONWARNINGS=d 177s + export DEBPUTY_TEST_AGAINST_INSTALLED_PLUGINS=uninstalled 177s + DEBPUTY_PYTHONPATH=/usr/share/dh-debputy 177s + PYTHOHPATH= 177s + [ ] 177s + PYTHOHPATH=/usr/share/dh-debputy 177s + export DEBPUTY_REQUIRE_LIBCAP=1 177s + cd /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/ 177s + py3versions -s 177s + echo ---------------------------------------------- 177s + echo Testing with python3.13 177s + echo ---------------------------------------------- 177s + PYTHONPATH=/usr/share/dh-debputy LC_ALL=C python3.13 -m pytest 177s ---------------------------------------------- 177s Testing with python3.13 177s ---------------------------------------------- 181s ============================= test session starts ============================== 181s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 181s rootdir: /tmp/autopkgtest.4fRjf5/autopkgtest_tmp 181s configfile: pyproject.toml 181s testpaths: src, tests, self-hosting-plugins 181s plugins: typeguard-4.4.2 181s collected 535 items 181s 182s tests/lint_tests/lint/test_lint_changelog.py .......................... [ 4%] 182s tests/lint_tests/lint/test_lint_dcpy.py ...... [ 5%] 185s tests/lint_tests/lint/test_lint_dctrl.py .ss.................s.s........ [ 11%] 186s ..........s...sss [ 14%] 186s tests/lint_tests/lint/test_lint_debian_watch.py . [ 15%] 187s tests/lint_tests/lint/test_lint_debputy.py .....ss.... [ 17%] 187s tests/lint_tests/lint/test_lint_dpatches_series.py ... [ 17%] 187s tests/lint_tests/lint/test_lint_dtctrl.py .s [ 18%] 187s tests/lint_tests/lint/test_lint_upstream_metadata.py . [ 18%] 187s tests/lint_tests/reformat/test_reformat_dctrl.py ... [ 18%] 187s tests/lint_tests/reformat/test_reformat_dwatch.py . [ 19%] 187s tests/lsp_tests/test_debpkg_metadata.py ........... [ 21%] 188s tests/lsp_tests/test_lsp_dctrl.py ssssssssssssssss [ 24%] 188s tests/lsp_tests/test_lsp_debian_rules_completer.py s [ 24%] 188s tests/lsp_tests/test_lsp_debian_watch.py sssss [ 25%] 189s tests/lsp_tests/test_lsp_debputy_manifest_completer.py ssssssssssssssss [ 28%] 190s tests/lsp_tests/test_lsp_debputy_manifest_hover.py sssssssssss [ 30%] 190s tests/lsp_tests/test_lsp_dpatches_series.py s [ 30%] 190s tests/plugin_tests/gnome_test.py .... [ 31%] 190s tests/plugin_tests/grantlee_test.py . [ 31%] 190s tests/plugin_tests/numpy3_test.py .. [ 31%] 191s tests/plugin_tests/perl-openssl_test.py . [ 31%] 191s tests/test_alternatives.py . [ 32%] 191s tests/test_apply_compression.py . [ 32%] 191s tests/test_architecture.py . [ 32%] 191s tests/test_cross_check_precheck.py ............... [ 35%] 191s tests/test_deb_packaging_support.py .................................... [ 42%] 191s .. [ 42%] 193s tests/test_debputy_plugin.py ........................................... [ 50%] 193s .. [ 50%] 193s tests/test_declarative_parser.py ............ [ 53%] 194s tests/test_fs_metadata.py .................. [ 56%] 195s tests/test_install_rules.py .................. [ 59%] 195s tests/test_interpreter.py ............. [ 62%] 197s tests/test_migrations.py .................................... [ 68%] 197s tests/test_output_filename.py ...... [ 70%] 198s tests/test_packager_provided_files.py ....................s.s [ 74%] 198s tests/test_packer_pack.py . [ 74%] 201s tests/test_parser.py ............................................. [ 82%] 201s tests/test_path.py . [ 83%] 202s tests/test_plugin_tester.py ......................... [ 87%] 202s tests/test_style.py ....x............................... [ 94%] 202s tests/test_substitute.py ...... [ 95%] 202s tests/test_symbolic_mode.py ........ [ 97%] 202s tests/test_symlink_normalization.py .......... [ 99%] 202s tests/test_utils.py ..... [100%] 202s 202s =============================== warnings summary =============================== 202s tests/lsp_tests/test_lsp_dctrl.py:365 202s /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/tests/lsp_tests/test_lsp_dctrl.py:365: 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 202s @pytest.mark.asyncio 202s 202s tests/lsp_tests/test_lsp_dpatches_series.py:29 202s /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/tests/lsp_tests/test_lsp_dpatches_series.py:29: 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 202s @pytest.mark.asyncio 202s 202s tests/test_deb_packaging_support.py::test_generate_md5sums_file[data_members1-conffiles_lines1-expected1] 202s /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/tests/test_deb_packaging_support.py:478: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/autopkgtest.4fRjf5/autopkgtest_tmp/debian/.debputy/scratch-dir/_pb-1527/generated-fs-content/no-package/tmpd71hgu33__md5sums' mode='rt' encoding='utf-8'> 202s for line in md5sums_file.open(): 202s Enable tracemalloc to get traceback where the object was allocated. 202s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 202s 202s tests/test_deb_packaging_support.py::test_generate_md5sums_file[data_members3-conffiles_lines3-expected3] 202s /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/tests/test_deb_packaging_support.py:478: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/autopkgtest.4fRjf5/autopkgtest_tmp/debian/.debputy/scratch-dir/_pb-1527/generated-fs-content/no-package/tmpbc_lasg6__md5sums' mode='rt' encoding='utf-8'> 202s for line in md5sums_file.open(): 202s Enable tracemalloc to get traceback where the object was allocated. 202s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 202s 202s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 202s =========== 471 passed, 63 skipped, 1 xfailed, 4 warnings in 24.42s ============ 203s + PYTHONPATH=/usr/share/dh-debputy LC_ALL=C.UTF-8 python3.13 -m pytest 205s ============================= test session starts ============================== 205s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 205s rootdir: /tmp/autopkgtest.4fRjf5/autopkgtest_tmp 205s configfile: pyproject.toml 205s testpaths: src, tests, self-hosting-plugins 205s plugins: typeguard-4.4.2 205s collected 535 items 205s 206s tests/lint_tests/lint/test_lint_changelog.py .......................... [ 4%] 206s tests/lint_tests/lint/test_lint_dcpy.py ...... [ 5%] 209s tests/lint_tests/lint/test_lint_dctrl.py .ss.................s.s........ [ 11%] 210s ..........s...sss [ 14%] 210s tests/lint_tests/lint/test_lint_debian_watch.py . [ 15%] 211s tests/lint_tests/lint/test_lint_debputy.py .....ss.... [ 17%] 211s tests/lint_tests/lint/test_lint_dpatches_series.py ... [ 17%] 211s tests/lint_tests/lint/test_lint_dtctrl.py .s [ 18%] 211s tests/lint_tests/lint/test_lint_upstream_metadata.py . [ 18%] 211s tests/lint_tests/reformat/test_reformat_dctrl.py ... [ 18%] 211s tests/lint_tests/reformat/test_reformat_dwatch.py . [ 19%] 211s tests/lsp_tests/test_debpkg_metadata.py ........... [ 21%] 212s tests/lsp_tests/test_lsp_dctrl.py ssssssssssssssss [ 24%] 212s tests/lsp_tests/test_lsp_debian_rules_completer.py s [ 24%] 213s tests/lsp_tests/test_lsp_debian_watch.py sssss [ 25%] 213s tests/lsp_tests/test_lsp_debputy_manifest_completer.py ssssssssssssssss [ 28%] 214s tests/lsp_tests/test_lsp_debputy_manifest_hover.py sssssssssss [ 30%] 214s tests/lsp_tests/test_lsp_dpatches_series.py s [ 30%] 215s tests/plugin_tests/gnome_test.py .... [ 31%] 215s tests/plugin_tests/grantlee_test.py . [ 31%] 215s tests/plugin_tests/numpy3_test.py .. [ 31%] 215s tests/plugin_tests/perl-openssl_test.py . [ 31%] 215s tests/test_alternatives.py . [ 32%] 215s tests/test_apply_compression.py . [ 32%] 215s tests/test_architecture.py . [ 32%] 215s tests/test_cross_check_precheck.py ............... [ 35%] 215s tests/test_deb_packaging_support.py .................................... [ 42%] 215s .. [ 42%] 217s tests/test_debputy_plugin.py ........................................... [ 50%] 217s .. [ 50%] 217s tests/test_declarative_parser.py ............ [ 53%] 218s tests/test_fs_metadata.py .................. [ 56%] 219s tests/test_install_rules.py .................. [ 59%] 219s tests/test_interpreter.py ............. [ 62%] 221s tests/test_migrations.py .................................... [ 68%] 221s tests/test_output_filename.py ...... [ 70%] 223s tests/test_packager_provided_files.py ....................s.s [ 74%] 223s tests/test_packer_pack.py . [ 74%] 225s tests/test_parser.py ............................................. [ 82%] 225s tests/test_path.py . [ 83%] 226s tests/test_plugin_tester.py ......................... [ 87%] 226s tests/test_style.py ....x............................... [ 94%] 227s tests/test_substitute.py ...... [ 95%] 227s tests/test_symbolic_mode.py ........ [ 97%] 227s tests/test_symlink_normalization.py .......... [ 99%] 227s tests/test_utils.py ..... [100%] 227s 227s =============================== warnings summary =============================== 227s tests/lsp_tests/test_lsp_dctrl.py:365 227s /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/tests/lsp_tests/test_lsp_dctrl.py:365: 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 227s @pytest.mark.asyncio 227s 227s tests/lsp_tests/test_lsp_dpatches_series.py:29 227s /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/tests/lsp_tests/test_lsp_dpatches_series.py:29: 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 227s @pytest.mark.asyncio 227s 227s tests/test_deb_packaging_support.py::test_generate_md5sums_file[data_members1-conffiles_lines1-expected1] 227s /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/tests/test_deb_packaging_support.py:478: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/autopkgtest.4fRjf5/autopkgtest_tmp/debian/.debputy/scratch-dir/_pb-1597/generated-fs-content/no-package/tmphnrcjlbz__md5sums' mode='rt' encoding='utf-8'> 227s for line in md5sums_file.open(): 227s Enable tracemalloc to get traceback where the object was allocated. 227s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 227s 227s tests/test_deb_packaging_support.py::test_generate_md5sums_file[data_members3-conffiles_lines3-expected3] 227s /tmp/autopkgtest.4fRjf5/autopkgtest_tmp/tests/test_deb_packaging_support.py:478: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/autopkgtest.4fRjf5/autopkgtest_tmp/debian/.debputy/scratch-dir/_pb-1597/generated-fs-content/no-package/tmpc0u6okmz__md5sums' mode='rt' encoding='utf-8'> 227s for line in md5sums_file.open(): 227s Enable tracemalloc to get traceback where the object was allocated. 227s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 227s 227s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 227s =========== 471 passed, 63 skipped, 1 xfailed, 4 warnings in 22.97s ============ 228s autopkgtest [17:22:06]: test debputy-py.test: -----------------------] 232s debputy-py.test PASS 232s autopkgtest [17:22:10]: test debputy-py.test: - - - - - - - - - - results - - - - - - - - - - 236s autopkgtest [17:22:14]: test debputy-cli: preparing testbed 259s autopkgtest [17:22:37]: testbed dpkg architecture: armhf 261s autopkgtest [17:22:39]: testbed apt version: 3.1.11 265s autopkgtest [17:22:43]: @@@@@@@@@@@@@@@@@@@@ test bed setup 267s autopkgtest [17:22:45]: testbed release detected to be: resolute 274s autopkgtest [17:22:52]: updating testbed package index (apt update) 277s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 277s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [87.8 kB] 277s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 277s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 277s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.9 kB] 277s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9852 B] 277s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [779 kB] 277s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [73.2 kB] 277s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [134 kB] 277s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted armhf Packages [940 B] 277s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [474 kB] 277s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [9684 B] 277s Get:13 http://ftpmaster.internal/ubuntu resolute/main Sources [1416 kB] 278s Get:14 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 280s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1369 kB] 280s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.4 MB] 284s Fetched 41.2 MB in 7s (5673 kB/s) 285s Reading package lists... 291s autopkgtest [17:23:09]: upgrading testbed (apt dist-upgrade and autopurge) 292s Reading package lists... 293s Building dependency tree... 293s Reading state information... 294s Calculating upgrade... 295s The following packages will be upgraded: 295s apt libapt-pkg7.0 libcrypt1 usbutils 295s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 295s Need to get 2774 kB of archives. 295s After this operation, 8192 B of additional disk space will be used. 295s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libapt-pkg7.0 armhf 3.1.12 [1157 kB] 295s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf apt armhf 3.1.12 [1440 kB] 296s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf libcrypt1 armhf 1:4.5.1-1 [98.9 kB] 296s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf usbutils armhf 1:019-1 [77.7 kB] 296s Fetched 2774 kB in 1s (3201 kB/s) 296s (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 ... 65904 files and directories currently installed.) 296s Preparing to unpack .../libapt-pkg7.0_3.1.12_armhf.deb ... 296s Unpacking libapt-pkg7.0:armhf (3.1.12) over (3.1.11) ... 296s Setting up libapt-pkg7.0:armhf (3.1.12) ... 296s (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 ... 65904 files and directories currently installed.) 296s Preparing to unpack .../archives/apt_3.1.12_armhf.deb ... 297s Unpacking apt (3.1.12) over (3.1.11) ... 297s Setting up apt (3.1.12) ... 298s (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 ... 65904 files and directories currently installed.) 298s Preparing to unpack .../libcrypt1_1%3a4.5.1-1_armhf.deb ... 298s Unpacking libcrypt1:armhf (1:4.5.1-1) over (1:4.4.38-1build1) ... 298s Setting up libcrypt1:armhf (1:4.5.1-1) ... 298s (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 ... 65904 files and directories currently installed.) 298s Preparing to unpack .../usbutils_1%3a019-1_armhf.deb ... 298s Unpacking usbutils (1:019-1) over (1:018-2) ... 298s Setting up usbutils (1:019-1) ... 298s Processing triggers for man-db (2.13.1-1) ... 300s Processing triggers for libc-bin (2.42-2ubuntu2) ... 303s Reading package lists... 304s Building dependency tree... 304s Reading state information... 304s Solving dependencies... 305s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 307s autopkgtest [17:23:25]: rebooting testbed after setup commands that affected boot 375s Reading package lists... 376s Building dependency tree... 376s Reading state information... 376s Solving dependencies... 377s The following NEW packages will be installed: 377s autoconf automake autopoint autotools-dev cpp cpp-15 377s cpp-15-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper debugedit 377s dh-autoreconf dh-debputy dh-strip-nondeterminism dwz gcc gcc-15 377s gcc-15-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext intltool-debian 377s libarchive-zip-perl libasan8 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 377s libdebhelper-perl libdw1t64 libfile-stripnondeterminism-perl libgcc-15-dev 377s libgomp1 libisl23 libmpc3 libtool libubsan1 linux-libc-dev m4 po-debconf 377s python3-colored python3-colorlog python3-debian python3-ruyaml rpcsvc-proto 377s strip-nondeterminism 377s 0 upgraded, 44 newly installed, 0 to remove and 0 not upgraded. 377s Need to get 44.9 MB of archives. 377s After this operation, 125 MB of additional disk space will be used. 377s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf m4 armhf 1.4.20-2 [212 kB] 378s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf autoconf all 2.72-3.1ubuntu1 [384 kB] 378s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf autotools-dev all 20240727.1 [43.4 kB] 378s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf automake all 1:1.18.1-2 [581 kB] 378s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf autopoint all 0.23.2-1 [620 kB] 378s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf libisl23 armhf 0.27-1 [546 kB] 378s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf libmpc3 armhf 1.3.1-2 [47.0 kB] 378s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15-arm-linux-gnueabihf armhf 15.2.0-7ubuntu1 [10.1 MB] 379s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15 armhf 15.2.0-7ubuntu1 [1030 B] 379s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [5756 B] 379s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf cpp armhf 4:15.2.0-4ubuntu1 [22.4 kB] 379s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf libdebhelper-perl all 13.24.2ubuntu1 [95.7 kB] 379s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf libcc1-0 armhf 15.2.0-7ubuntu1 [43.5 kB] 379s Get:14 http://ftpmaster.internal/ubuntu resolute/main armhf libgomp1 armhf 15.2.0-7ubuntu1 [129 kB] 379s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf libasan8 armhf 15.2.0-7ubuntu1 [2950 kB] 379s Get:16 http://ftpmaster.internal/ubuntu resolute/main armhf libubsan1 armhf 15.2.0-7ubuntu1 [1187 kB] 379s Get:17 http://ftpmaster.internal/ubuntu resolute/main armhf libgcc-15-dev armhf 15.2.0-7ubuntu1 [898 kB] 379s Get:18 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15-arm-linux-gnueabihf armhf 15.2.0-7ubuntu1 [19.5 MB] 379s Get:19 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15 armhf 15.2.0-7ubuntu1 [493 kB] 379s Get:20 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [1220 B] 379s Get:21 http://ftpmaster.internal/ubuntu resolute/main armhf gcc armhf 4:15.2.0-4ubuntu1 [5022 B] 379s Get:22 http://ftpmaster.internal/ubuntu resolute/main armhf libc-dev-bin armhf 2.42-2ubuntu2 [21.8 kB] 379s Get:23 http://ftpmaster.internal/ubuntu resolute/main armhf linux-libc-dev armhf 6.17.0-5.5 [1771 kB] 380s Get:24 http://ftpmaster.internal/ubuntu resolute/main armhf libcrypt-dev armhf 1:4.5.1-1 [128 kB] 380s Get:25 http://ftpmaster.internal/ubuntu resolute/main armhf rpcsvc-proto armhf 1.4.3-1 [62.3 kB] 380s Get:26 http://ftpmaster.internal/ubuntu resolute/main armhf libc6-dev armhf 2.42-2ubuntu2 [1416 kB] 380s Get:27 http://ftpmaster.internal/ubuntu resolute/main armhf libtool all 2.5.4-7 [169 kB] 380s Get:28 http://ftpmaster.internal/ubuntu resolute/main armhf dh-autoreconf all 21 [12.5 kB] 380s Get:29 http://ftpmaster.internal/ubuntu resolute/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 380s Get:30 http://ftpmaster.internal/ubuntu resolute/main armhf libfile-stripnondeterminism-perl all 1.15.0-1 [20.5 kB] 380s Get:31 http://ftpmaster.internal/ubuntu resolute/main armhf dh-strip-nondeterminism all 1.15.0-1 [5090 B] 380s Get:32 http://ftpmaster.internal/ubuntu resolute/main armhf libdw1t64 armhf 0.194-1 [254 kB] 380s Get:33 http://ftpmaster.internal/ubuntu resolute/main armhf debugedit armhf 1:5.2-3 [48.9 kB] 380s Get:34 http://ftpmaster.internal/ubuntu resolute/main armhf dwz armhf 0.16-2 [114 kB] 380s Get:35 http://ftpmaster.internal/ubuntu resolute/main armhf gettext armhf 0.23.2-1 [1059 kB] 380s Get:36 http://ftpmaster.internal/ubuntu resolute/main armhf intltool-debian all 0.35.0+20060710.6 [23.2 kB] 380s Get:37 http://ftpmaster.internal/ubuntu resolute/main armhf po-debconf all 1.0.21+nmu1 [233 kB] 380s Get:38 http://ftpmaster.internal/ubuntu resolute/main armhf debhelper all 13.24.2ubuntu1 [896 kB] 380s Get:39 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-colored all 2.2.4-1 [14.2 kB] 380s Get:40 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-colorlog all 6.9.0-1 [21.6 kB] 380s Get:41 http://ftpmaster.internal/ubuntu resolute/main armhf python3-debian all 1.0.1ubuntu1 [121 kB] 380s Get:42 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-ruyaml all 0.91.0-5 [81.7 kB] 380s Get:43 http://ftpmaster.internal/ubuntu resolute/universe armhf strip-nondeterminism all 1.15.0-1 [5566 B] 380s Get:44 http://ftpmaster.internal/ubuntu resolute/universe armhf dh-debputy all 0.1.76ubuntu1 [509 kB] 381s Fetched 44.9 MB in 3s (14.8 MB/s) 381s Selecting previously unselected package m4. 381s (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 ... 65904 files and directories currently installed.) 381s Preparing to unpack .../00-m4_1.4.20-2_armhf.deb ... 381s Unpacking m4 (1.4.20-2) ... 381s Selecting previously unselected package autoconf. 381s Preparing to unpack .../01-autoconf_2.72-3.1ubuntu1_all.deb ... 381s Unpacking autoconf (2.72-3.1ubuntu1) ... 381s Selecting previously unselected package autotools-dev. 381s Preparing to unpack .../02-autotools-dev_20240727.1_all.deb ... 381s Unpacking autotools-dev (20240727.1) ... 381s Selecting previously unselected package automake. 381s Preparing to unpack .../03-automake_1%3a1.18.1-2_all.deb ... 381s Unpacking automake (1:1.18.1-2) ... 381s Selecting previously unselected package autopoint. 381s Preparing to unpack .../04-autopoint_0.23.2-1_all.deb ... 381s Unpacking autopoint (0.23.2-1) ... 381s Selecting previously unselected package libisl23:armhf. 381s Preparing to unpack .../05-libisl23_0.27-1_armhf.deb ... 381s Unpacking libisl23:armhf (0.27-1) ... 381s Selecting previously unselected package libmpc3:armhf. 381s Preparing to unpack .../06-libmpc3_1.3.1-2_armhf.deb ... 381s Unpacking libmpc3:armhf (1.3.1-2) ... 381s Selecting previously unselected package cpp-15-arm-linux-gnueabihf. 381s Preparing to unpack .../07-cpp-15-arm-linux-gnueabihf_15.2.0-7ubuntu1_armhf.deb ... 381s Unpacking cpp-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 382s Selecting previously unselected package cpp-15. 382s Preparing to unpack .../08-cpp-15_15.2.0-7ubuntu1_armhf.deb ... 382s Unpacking cpp-15 (15.2.0-7ubuntu1) ... 382s Selecting previously unselected package cpp-arm-linux-gnueabihf. 382s Preparing to unpack .../09-cpp-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 382s Unpacking cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 382s Selecting previously unselected package cpp. 382s Preparing to unpack .../10-cpp_4%3a15.2.0-4ubuntu1_armhf.deb ... 382s Unpacking cpp (4:15.2.0-4ubuntu1) ... 382s Selecting previously unselected package libdebhelper-perl. 382s Preparing to unpack .../11-libdebhelper-perl_13.24.2ubuntu1_all.deb ... 382s Unpacking libdebhelper-perl (13.24.2ubuntu1) ... 382s Selecting previously unselected package libcc1-0:armhf. 382s Preparing to unpack .../12-libcc1-0_15.2.0-7ubuntu1_armhf.deb ... 382s Unpacking libcc1-0:armhf (15.2.0-7ubuntu1) ... 382s Selecting previously unselected package libgomp1:armhf. 382s Preparing to unpack .../13-libgomp1_15.2.0-7ubuntu1_armhf.deb ... 382s Unpacking libgomp1:armhf (15.2.0-7ubuntu1) ... 382s Selecting previously unselected package libasan8:armhf. 382s Preparing to unpack .../14-libasan8_15.2.0-7ubuntu1_armhf.deb ... 382s Unpacking libasan8:armhf (15.2.0-7ubuntu1) ... 382s Selecting previously unselected package libubsan1:armhf. 382s Preparing to unpack .../15-libubsan1_15.2.0-7ubuntu1_armhf.deb ... 382s Unpacking libubsan1:armhf (15.2.0-7ubuntu1) ... 382s Selecting previously unselected package libgcc-15-dev:armhf. 382s Preparing to unpack .../16-libgcc-15-dev_15.2.0-7ubuntu1_armhf.deb ... 382s Unpacking libgcc-15-dev:armhf (15.2.0-7ubuntu1) ... 382s Selecting previously unselected package gcc-15-arm-linux-gnueabihf. 382s Preparing to unpack .../17-gcc-15-arm-linux-gnueabihf_15.2.0-7ubuntu1_armhf.deb ... 382s Unpacking gcc-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 383s Selecting previously unselected package gcc-15. 383s Preparing to unpack .../18-gcc-15_15.2.0-7ubuntu1_armhf.deb ... 383s Unpacking gcc-15 (15.2.0-7ubuntu1) ... 383s Selecting previously unselected package gcc-arm-linux-gnueabihf. 383s Preparing to unpack .../19-gcc-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 383s Unpacking gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 383s Selecting previously unselected package gcc. 383s Preparing to unpack .../20-gcc_4%3a15.2.0-4ubuntu1_armhf.deb ... 383s Unpacking gcc (4:15.2.0-4ubuntu1) ... 383s Selecting previously unselected package libc-dev-bin. 383s Preparing to unpack .../21-libc-dev-bin_2.42-2ubuntu2_armhf.deb ... 383s Unpacking libc-dev-bin (2.42-2ubuntu2) ... 383s Selecting previously unselected package linux-libc-dev:armhf. 383s Preparing to unpack .../22-linux-libc-dev_6.17.0-5.5_armhf.deb ... 383s Unpacking linux-libc-dev:armhf (6.17.0-5.5) ... 383s Selecting previously unselected package libcrypt-dev:armhf. 383s Preparing to unpack .../23-libcrypt-dev_1%3a4.5.1-1_armhf.deb ... 383s Unpacking libcrypt-dev:armhf (1:4.5.1-1) ... 383s Selecting previously unselected package rpcsvc-proto. 383s Preparing to unpack .../24-rpcsvc-proto_1.4.3-1_armhf.deb ... 383s Unpacking rpcsvc-proto (1.4.3-1) ... 384s Selecting previously unselected package libc6-dev:armhf. 384s Preparing to unpack .../25-libc6-dev_2.42-2ubuntu2_armhf.deb ... 384s Unpacking libc6-dev:armhf (2.42-2ubuntu2) ... 384s Selecting previously unselected package libtool. 384s Preparing to unpack .../26-libtool_2.5.4-7_all.deb ... 384s Unpacking libtool (2.5.4-7) ... 384s Selecting previously unselected package dh-autoreconf. 384s Preparing to unpack .../27-dh-autoreconf_21_all.deb ... 384s Unpacking dh-autoreconf (21) ... 384s Selecting previously unselected package libarchive-zip-perl. 384s Preparing to unpack .../28-libarchive-zip-perl_1.68-1_all.deb ... 384s Unpacking libarchive-zip-perl (1.68-1) ... 384s Selecting previously unselected package libfile-stripnondeterminism-perl. 384s Preparing to unpack .../29-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... 384s Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... 384s Selecting previously unselected package dh-strip-nondeterminism. 384s Preparing to unpack .../30-dh-strip-nondeterminism_1.15.0-1_all.deb ... 384s Unpacking dh-strip-nondeterminism (1.15.0-1) ... 384s Selecting previously unselected package libdw1t64:armhf. 384s Preparing to unpack .../31-libdw1t64_0.194-1_armhf.deb ... 384s Unpacking libdw1t64:armhf (0.194-1) ... 384s Selecting previously unselected package debugedit. 384s Preparing to unpack .../32-debugedit_1%3a5.2-3_armhf.deb ... 384s Unpacking debugedit (1:5.2-3) ... 384s Selecting previously unselected package dwz. 384s Preparing to unpack .../33-dwz_0.16-2_armhf.deb ... 384s Unpacking dwz (0.16-2) ... 384s Selecting previously unselected package gettext. 384s Preparing to unpack .../34-gettext_0.23.2-1_armhf.deb ... 384s Unpacking gettext (0.23.2-1) ... 384s Selecting previously unselected package intltool-debian. 384s Preparing to unpack .../35-intltool-debian_0.35.0+20060710.6_all.deb ... 384s Unpacking intltool-debian (0.35.0+20060710.6) ... 384s Selecting previously unselected package po-debconf. 384s Preparing to unpack .../36-po-debconf_1.0.21+nmu1_all.deb ... 384s Unpacking po-debconf (1.0.21+nmu1) ... 384s Selecting previously unselected package debhelper. 384s Preparing to unpack .../37-debhelper_13.24.2ubuntu1_all.deb ... 384s Unpacking debhelper (13.24.2ubuntu1) ... 385s Selecting previously unselected package python3-colored. 385s Preparing to unpack .../38-python3-colored_2.2.4-1_all.deb ... 385s Unpacking python3-colored (2.2.4-1) ... 385s Selecting previously unselected package python3-colorlog. 385s Preparing to unpack .../39-python3-colorlog_6.9.0-1_all.deb ... 385s Unpacking python3-colorlog (6.9.0-1) ... 385s Selecting previously unselected package python3-debian. 385s Preparing to unpack .../40-python3-debian_1.0.1ubuntu1_all.deb ... 385s Unpacking python3-debian (1.0.1ubuntu1) ... 385s Selecting previously unselected package python3-ruyaml. 385s Preparing to unpack .../41-python3-ruyaml_0.91.0-5_all.deb ... 385s Unpacking python3-ruyaml (0.91.0-5) ... 385s Selecting previously unselected package strip-nondeterminism. 385s Preparing to unpack .../42-strip-nondeterminism_1.15.0-1_all.deb ... 385s Unpacking strip-nondeterminism (1.15.0-1) ... 385s Selecting previously unselected package dh-debputy. 385s Preparing to unpack .../43-dh-debputy_0.1.76ubuntu1_all.deb ... 385s Unpacking dh-debputy (0.1.76ubuntu1) ... 385s Setting up python3-colorlog (6.9.0-1) ... 385s Setting up libarchive-zip-perl (1.68-1) ... 385s Setting up libdebhelper-perl (13.24.2ubuntu1) ... 385s Setting up linux-libc-dev:armhf (6.17.0-5.5) ... 385s Setting up m4 (1.4.20-2) ... 385s Setting up libgomp1:armhf (15.2.0-7ubuntu1) ... 385s Setting up libdw1t64:armhf (0.194-1) ... 385s Setting up autotools-dev (20240727.1) ... 385s Setting up rpcsvc-proto (1.4.3-1) ... 385s Setting up python3-debian (1.0.1ubuntu1) ... 385s Setting up libmpc3:armhf (1.3.1-2) ... 385s Setting up autopoint (0.23.2-1) ... 385s Setting up autoconf (2.72-3.1ubuntu1) ... 385s Setting up libubsan1:armhf (15.2.0-7ubuntu1) ... 385s Setting up dwz (0.16-2) ... 385s Setting up libcrypt-dev:armhf (1:4.5.1-1) ... 385s Setting up libasan8:armhf (15.2.0-7ubuntu1) ... 385s Setting up debugedit (1:5.2-3) ... 385s Setting up python3-colored (2.2.4-1) ... 386s Setting up libisl23:armhf (0.27-1) ... 386s Setting up libc-dev-bin (2.42-2ubuntu2) ... 386s Setting up python3-ruyaml (0.91.0-5) ... 386s Setting up cpp-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 386s Setting up libcc1-0:armhf (15.2.0-7ubuntu1) ... 386s Setting up cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 386s Setting up automake (1:1.18.1-2) ... 386s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 386s Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... 386s Setting up gettext (0.23.2-1) ... 386s Setting up libgcc-15-dev:armhf (15.2.0-7ubuntu1) ... 386s Setting up gcc-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 386s Setting up strip-nondeterminism (1.15.0-1) ... 386s Setting up intltool-debian (0.35.0+20060710.6) ... 386s Setting up dh-strip-nondeterminism (1.15.0-1) ... 386s Setting up cpp-15 (15.2.0-7ubuntu1) ... 386s Setting up cpp (4:15.2.0-4ubuntu1) ... 386s Setting up libc6-dev:armhf (2.42-2ubuntu2) ... 386s Setting up gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 386s Setting up po-debconf (1.0.21+nmu1) ... 386s Setting up gcc-15 (15.2.0-7ubuntu1) ... 386s Setting up libtool (2.5.4-7) ... 386s Setting up gcc (4:15.2.0-4ubuntu1) ... 386s Setting up dh-autoreconf (21) ... 386s Setting up debhelper (13.24.2ubuntu1) ... 386s Setting up dh-debputy (0.1.76ubuntu1) ... 387s Processing triggers for libc-bin (2.42-2ubuntu2) ... 387s Processing triggers for man-db (2.13.1-1) ... 388s Processing triggers for install-info (7.2-5) ... 405s autopkgtest [17:25:03]: test debputy-cli: [----------------------- 408s + debputy --no-pager --help 408s usage: debputy [-h] [--version] [--debputy-manifest DEBPUTY_MANIFEST] [-d] 408s [--no-pager] [--plugin REQUIRED_PLUGINS] 408s COMMAND ... 408s 408s The `debputy` program is a Debian packaging tool. 408s 408s It serves multiple roles in the Debian packaging stack: 408s 408s 1) It is a maintainer support tool that can help maintain packages by providing 408s editor support (LSP), batch linting and style/file formatting for Debian 408s packaging files. This is covers subcommands like `debputy lint`, 408s `debputy lsp server`, `debputy reformat` 408s 408s 2) It is a manifest-based Debian package builder aiming to replace existing 408s package helper tools such as `debhelper . In this role, `debputy` is used 408s as a part of compiling a source package and transforming it into one 408s or more binary (.deb) packages. 408s 408s If you are using a screen reader, consider exporting setting the environment variable 408s OPTIMIZE_FOR_SCREEN_READER=1. This will remove some of the visual formatting and some 408s commands will render the output in a purely textual manner rather than visual layout. 408s 408s positional arguments: 408s COMMAND 408s plugin Interact with debputy plugins 408s internal-command Commands used for internal purposes. These are 408s implementation details and subject to change 408s tool-support Tool integration commands. These are intended to have 408s stable output and behavior 408s check-manifest Check the manifest for obvious errors, but do not run 408s anything 408s autopkgtest-test-runner 408s Detect tests in the debian dir and run them against 408s installed plugins 408s migrate-from-dh Perform a named migration of a source package 408s lsp Language server related subcommands 408s lint Provide diagnostics for the packaging (like `lsp 408s server` except no editor is needed) 408s reformat Reformat the packaging files based on the 408s packaging/maintainer rules 408s 408s options: 408s -h, --help show this help message and exit 408s --version show program's version number and exit 408s --debputy-manifest DEBPUTY_MANIFEST 408s Specify another `debputy` manifest (default: 408s debian/debputy.manifest) 408s -d, --debug Enable debug logging and raw stack traces on errors. 408s Some warnings become errors as a consequence. 408s --no-pager For subcommands that can use a pager, disable the use 408s of pager. Some output formats implies --no-pager 408s --plugin REQUIRED_PLUGINS 408s Request the plugin to be loaded. Can be used multiple 408s time. Ignored for some commands (such as autopkgtest- 408s test-runner) 408s 408s Bug tracker: https://salsa.debian.org/debian/debputy/-/issues 409s + debputy --no-pager check-manifest 409s + debputy --no-pager plugin --help 410s usage: debputy plugin [-h] [--debputy-manifest DEBPUTY_MANIFEST] [-d] 410s [--no-pager] [--plugin REQUIRED_PLUGINS] 410s command ... 410s 410s positional arguments: 410s command 410s list List plugins or things provided by plugins (unstable 410s format). Pass `--help` *after* `list` get a topic 410s listing 410s show Show details about a plugin or things provided by 410s plugins (unstable format). Pass `--help` *after* 410s `show` get a topic listing 410s 410s options: 410s -h, --help show this help message and exit 410s --debputy-manifest DEBPUTY_MANIFEST 410s Specify another `debputy` manifest (default: 410s debian/debputy.manifest) 410s -d, --debug Enable debug logging and raw stack traces on errors. 410s Some warnings become errors as a consequence. 410s --no-pager For subcommands that can use a pager, disable the use 410s of pager. Some output formats implies --no-pager 410s --plugin REQUIRED_PLUGINS 410s Request the plugin to be loaded. Can be used multiple 410s time. Ignored for some commands (such as autopkgtest- 410s test-runner) 410s + debputy --no-pager plugin list --help 410s usage: debputy plugin list [-h] [--debputy-manifest DEBPUTY_MANIFEST] [-d] 410s [--no-pager] [--plugin REQUIRED_PLUGINS] 410s topic ... 410s 410s positional arguments: 410s topic 410s plugins List known plugins 410s used-packager-provided-files (uppf, u-p-p-f) 410s List packager provided files used by this package 410s (debian/pkg.foo) 410s packager-provided-files (ppf, p-p-f) 410s List packager provided file definitions 410s (debian/pkg.foo) 410s metadata-detectors List metadata detectors 410s manifest-variables List plugin provided manifest variables (such as 410s `{{path:FOO}}`) 410s pluggable-manifest-rules (p-m-r, pmr) 410s Pluggable manifest rules (such as install rules) 410s automatic-discard-rules (a-d-r) 410s List automatic discard rules 410s type-mappings Registered type mappings/descriptions 410s 410s options: 410s -h, --help show this help message and exit 410s --debputy-manifest DEBPUTY_MANIFEST 410s Specify another `debputy` manifest (default: 410s debian/debputy.manifest) 410s -d, --debug Enable debug logging and raw stack traces on errors. 410s Some warnings become errors as a consequence. 410s --no-pager For subcommands that can use a pager, disable the use 410s of pager. Some output formats implies --no-pager 410s --plugin REQUIRED_PLUGINS 410s Request the plugin to be loaded. Can be used multiple 410s time. Ignored for some commands (such as autopkgtest- 410s test-runner) 410s + debputy --no-pager plugin list 411s +-------------------------+-----------------------------------------------------------------+ 411s | Plugin Name | Plugin Path | 411s +-------------------------+-----------------------------------------------------------------+ 411s | debputy | | 411s | debhelper-documentation | /usr/share/debputy/debputy/plugins/debhelper-documentation.json | 411s | debputy-documentation | /usr/share/debputy/debputy/plugins/debputy-documentation.json | 411s | gnome | /usr/share/debputy/debputy/plugins/gnome.json | 411s | grantlee | /usr/share/debputy/debputy/plugins/grantlee.json | 411s | numpy3 | /usr/share/debputy/debputy/plugins/numpy3.json | 411s | perl-openssl | /usr/share/debputy/debputy/plugins/perl-openssl.json | 411s +-------------------------+-----------------------------------------------------------------+ 411s + debputy --no-pager plugin list plugins 412s +-------------------------+-----------------------------------------------------------------+ 412s | Plugin Name | Plugin Path | 412s +-------------------------+-----------------------------------------------------------------+ 412s | debputy | | 412s | debhelper-documentation | /usr/share/debputy/debputy/plugins/debhelper-documentation.json | 412s | debputy-documentation | /usr/share/debputy/debputy/plugins/debputy-documentation.json | 412s | gnome | /usr/share/debputy/debputy/plugins/gnome.json | 412s | grantlee | /usr/share/debputy/debputy/plugins/grantlee.json | 412s | numpy3 | /usr/share/debputy/debputy/plugins/numpy3.json | 412s | perl-openssl | /usr/share/debputy/debputy/plugins/perl-openssl.json | 412s +-------------------------+-----------------------------------------------------------------+ 412s + debputy --no-pager plugin list ppf 413s +-----------------------------+-------------------------------------------------------------------+------+------------------------+-------------+ 413s | Stem | Installed As | Mode | Features | Provided by | 413s +-----------------------------+-------------------------------------------------------------------+------+------------------------+-------------+ 413s | @path | /usr/lib/systemd/system/{name}@.path | 0644 | named | debputy | 413s | @service | /usr/lib/systemd/system/{name}@.service | 0644 | named | debputy | 413s | @socket | /usr/lib/systemd/system/{name}@.socket | 0644 | named | debputy | 413s | @target | /usr/lib/systemd/system/{name}@.target | 0644 | named | debputy | 413s | @timer | /usr/lib/systemd/system/{name}@.timer | 0644 | named | debputy | 413s | NEWS | /usr/share/doc/{name}/NEWS.Debian | 0644 | main-all-fallback | debputy | 413s | README.Debian | /usr/share/doc/{name}/README.Debian | 0644 | | debputy | 413s | TODO | /usr/share/doc/{name}/TODO.Debian | 0644 | | debputy | 413s | alternatives | /DEBIAN/alternatives | 0644 | arch | debputy | 413s | bash-completion | /usr/share/bash-completion/completions/{name} | 0644 | named | debputy | 413s | bug-control | /usr/share/bug/{name}/control | 0644 | | debputy | 413s | bug-presubj | /usr/share/bug/{name}/presubj | 0644 | | debputy | 413s | bug-script | /usr/share/bug/{name}/script | 0755 | | debputy | 413s | changelog | /usr/share/doc/{name}/changelog.Debian | 0644 | main-all-fallback | debputy | 413s | conffiles | /DEBIAN/conffiles | 0644 | arch | debputy | 413s | copyright | /usr/share/doc/{name}/copyright | 0644 | main-all-fallback | debputy | 413s | cron.d | /etc/cron.d/{name} | 0644 | named | debputy | 413s | cron.daily | /etc/cron.daily/{name} | 0755 | named | debputy | 413s | cron.hourly | /etc/cron.hourly/{name} | 0755 | named | debputy | 413s | cron.monthly | /etc/cron.monthly/{name} | 0755 | named | debputy | 413s | cron.weekly | /etc/cron.weekly/{name} | 0755 | named | debputy | 413s | cron.yearly | /etc/cron.yearly/{name} | 0755 | named | debputy | 413s | default | /etc/default/{name} | 0644 | named | debputy | 413s | doc-base | /usr/share/doc-base/{owning_package}.{name} | 0644 | named | debputy | 413s | fish-completion | /usr/share/fish/vendor_completions.d/{name} | 0644 | named | debputy | 413s | gsettings-override | /usr/share/glib-2.0/schemas/{priority:02}_{name}.gschema.override | 0644 | named,priority=10 | debputy | 413s | if-down | /etc/network/if-down.d/{name} | 0755 | named | debputy | 413s | if-post-down | /etc/network/if-post-down.d/{name} | 0755 | named | debputy | 413s | if-pre-up | /etc/network/if-pre-up.d/{name} | 0755 | named | debputy | 413s | if-up | /etc/network/if-up.d/{name} | 0755 | named | debputy | 413s | init | /etc/init.d/{name} | 0755 | named | debputy | 413s | initramfs-hook | /usr/share/initramfs-tools/hooks/{name} | 0755 | named | debputy | 413s | lintian-overrides | /usr/share/lintian/overrides/{name} | 0644 | | debputy | 413s | logcheck.cracking | /etc/logcheck/cracking.d/{name} | 0644 | named,post-format-hook | debputy | 413s | logcheck.ignore.paranoid | /etc/logcheck/ignore.d.paranoid/{name} | 0644 | named,post-format-hook | debputy | 413s | logcheck.ignore.server | /etc/logcheck/ignore.d.server/{name} | 0644 | named,post-format-hook | debputy | 413s | logcheck.ignore.workstation | /etc/logcheck/ignore.d.workstation/{name} | 0644 | named,post-format-hook | debputy | 413s | logcheck.violations | /etc/logcheck/violations.d/{name} | 0644 | named,post-format-hook | debputy | 413s | logcheck.violations.ignore | /etc/logcheck/violations.ignore.d/{name} | 0644 | named,post-format-hook | debputy | 413s | logrotate | /etc/logrotate.d/{name} | 0644 | named | debputy | 413s | mime | /usr/lib/mime/packages/{name} | 0644 | named | debputy | 413s | modprobe | /etc/modprobe.d/{name}.conf | 0644 | named | debputy | 413s | mount | /usr/lib/systemd/system/{name}.mount | 0644 | named | debputy | 413s | pam | /usr/lib/pam.d/{name} | 0644 | named | debputy | 413s | path | /usr/lib/systemd/system/{name}.path | 0644 | named | debputy | 413s | ppp.ip-down | /etc/ppp/ip-down.d/{name} | 0755 | named | debputy | 413s | ppp.ip-up | /etc/ppp/ip-up.d/{name} | 0755 | named | debputy | 413s | service | /usr/lib/systemd/system/{name}.service | 0644 | named | debputy | 413s | sharedmimeinfo | /usr/share/mime/packages/{name}.xml | 0644 | named | debputy | 413s | shlibs | /DEBIAN/shlibs | 0644 | | debputy | 413s | socket | /usr/lib/systemd/system/{name}.socket | 0644 | named | debputy | 413s | symbols | /DEBIAN/symbols | 0644 | arch | debputy | 413s | sysusers | /usr/lib/sysusers.d/{name}.conf | 0644 | named | debputy | 413s | target | /usr/lib/systemd/system/{name}.target | 0644 | named | debputy | 413s | templates | /DEBIAN/templates | 0644 | | debputy | 413s | timer | /usr/lib/systemd/system/{name}.timer | 0644 | named | debputy | 413s | tmpfiles | /usr/lib/tmpfiles.d/{name}.conf | 0644 | named | debputy | 413s | udev | /usr/lib/udev/rules.d/{priority:02}-{name}.rules | 0644 | named,priority=60 | debputy | 413s | zsh-completion | /usr/share/zsh/vendor-completions/{name} | 0644 | named | debputy | 413s +-----------------------------+-------------------------------------------------------------------+------+------------------------+-------------+ 413s 413s Hint: You can use `debputy plugin list used-packager-provided-files` to have `debputy` 413s list all the files in debian/ that matches these definitions. 413s + debputy --no-pager plugin list uppf 413s +------------------+--------------+----------------+--------------------------------------------+ 413s | File | Matched Stem | Installed Into | Installed As | 413s +------------------+--------------+----------------+--------------------------------------------+ 413s | debian/changelog | changelog | dh-debputy | /usr/share/doc/dh-debputy/changelog.Debian | 413s | debian/copyright | copyright | dh-debputy | /usr/share/doc/dh-debputy/copyright | 413s +------------------+--------------+----------------+--------------------------------------------+ 414s + debputy --no-pager plugin list manifest-variables 414s +----------------------------------+----------------------------------------+------+-------------+ 414s | Variable (use via: `{{ NAME }}`) | Value | Flag | Provided by | 414s +----------------------------------+----------------------------------------+------+-------------+ 414s | DEB_HOST_ARCH | armhf | | debputy | 414s | DEB_HOST_ARCH_ABI | eabihf | | debputy | 414s | DEB_HOST_ARCH_BITS | 32 | | debputy | 414s | DEB_HOST_ARCH_CPU | arm | | debputy | 414s | DEB_HOST_ARCH_ENDIAN | little | | debputy | 414s | DEB_HOST_ARCH_LIBC | gnu | | debputy | 414s | DEB_HOST_ARCH_OS | linux | | debputy | 414s | DEB_HOST_GNU_CPU | arm | | debputy | 414s | DEB_HOST_GNU_SYSTEM | linux-gnueabihf | | debputy | 414s | DEB_HOST_GNU_TYPE | arm-linux-gnueabihf | | debputy | 414s | DEB_HOST_MULTIARCH | arm-linux-gnueabihf | | debputy | 414s | DEB_SOURCE | debputy | | debputy | 414s | DEB_VERSION | 0.1.76ubuntu1 | | debputy | 414s | DEB_VERSION_EPOCH_UPSTREAM | 0.1.76ubuntu1 | | debputy | 414s | DEB_VERSION_UPSTREAM | 0.1.76ubuntu1 | | debputy | 414s | DEB_VERSION_UPSTREAM_REVISION | 0.1.76ubuntu1 | | debputy | 414s | PACKAGE | | | debputy | 414s | SOURCE_DATE_EPOCH | 1759859085 | | debputy | 414s | path:BASH_COMPLETION_DIR | /usr/share/bash-completion/completions | | debputy | 414s | path:FISH_COMPLETION_DIR | /usr/share/fish/vendor_completions.d | | debputy | 414s | path:GNU_INFO_DIR | /usr/share/info | | debputy | 414s | path:ZSH_COMPLETION_DIR | /usr/share/zsh/vendor-completions | | debputy | 414s +----------------------------------+----------------------------------------+------+-------------+ 414s 414s +-----------------------+--------+-------------------------------------------------------+ 414s | Variable type | Value | Option | 414s +-----------------------+--------+-------------------------------------------------------+ 414s | Token variables | hidden | --show-token-variables OR --show-all-variables | 414s | Special use variables | hidden | --show-special-case-variables OR --show-all-variables | 414s +-----------------------+--------+-------------------------------------------------------+ 415s + debputy --no-pager plugin list manifest-variables --show-all-variables 415s +-------------------------------------+----------------------------------------+------------------+-------------+ 415s | Variable (use via: `{{ NAME }}`) | Value | Flag | Provided by | 415s +-------------------------------------+----------------------------------------+------------------+-------------+ 415s | DEB_BUILD_ARCH | armhf | special-use-case | debputy | 415s | DEB_BUILD_ARCH_ABI | eabihf | special-use-case | debputy | 415s | DEB_BUILD_ARCH_BITS | 32 | special-use-case | debputy | 415s | DEB_BUILD_ARCH_CPU | arm | special-use-case | debputy | 415s | DEB_BUILD_ARCH_ENDIAN | little | special-use-case | debputy | 415s | DEB_BUILD_ARCH_LIBC | gnu | special-use-case | debputy | 415s | DEB_BUILD_ARCH_OS | linux | special-use-case | debputy | 415s | DEB_BUILD_GNU_CPU | arm | special-use-case | debputy | 415s | DEB_BUILD_GNU_SYSTEM | linux-gnueabihf | special-use-case | debputy | 415s | DEB_BUILD_GNU_TYPE | arm-linux-gnueabihf | special-use-case | debputy | 415s | DEB_BUILD_MULTIARCH | arm-linux-gnueabihf | special-use-case | debputy | 415s | DEB_HOST_ARCH | armhf | | debputy | 415s | DEB_HOST_ARCH_ABI | eabihf | | debputy | 415s | DEB_HOST_ARCH_BITS | 32 | | debputy | 415s | DEB_HOST_ARCH_CPU | arm | | debputy | 415s | DEB_HOST_ARCH_ENDIAN | little | | debputy | 415s | DEB_HOST_ARCH_LIBC | gnu | | debputy | 415s | DEB_HOST_ARCH_OS | linux | | debputy | 415s | DEB_HOST_GNU_CPU | arm | | debputy | 415s | DEB_HOST_GNU_SYSTEM | linux-gnueabihf | | debputy | 415s | DEB_HOST_GNU_TYPE | arm-linux-gnueabihf | | debputy | 415s | DEB_HOST_MULTIARCH | arm-linux-gnueabihf | | debputy | 415s | DEB_SOURCE | debputy | | debputy | 415s | DEB_TARGET_ARCH | armhf | special-use-case | debputy | 415s | DEB_TARGET_ARCH_ABI | eabihf | special-use-case | debputy | 415s | DEB_TARGET_ARCH_BITS | 32 | special-use-case | debputy | 415s | DEB_TARGET_ARCH_CPU | arm | special-use-case | debputy | 415s | DEB_TARGET_ARCH_ENDIAN | little | special-use-case | debputy | 415s | DEB_TARGET_ARCH_LIBC | gnu | special-use-case | debputy | 415s | DEB_TARGET_ARCH_OS | linux | special-use-case | debputy | 415s | DEB_TARGET_GNU_CPU | arm | special-use-case | debputy | 415s | DEB_TARGET_GNU_SYSTEM | linux-gnueabihf | special-use-case | debputy | 415s | DEB_TARGET_GNU_TYPE | arm-linux-gnueabihf | special-use-case | debputy | 415s | DEB_TARGET_MULTIARCH | arm-linux-gnueabihf | special-use-case | debputy | 415s | DEB_VERSION | 0.1.76ubuntu1 | | debputy | 415s | DEB_VERSION_EPOCH_UPSTREAM | 0.1.76ubuntu1 | | debputy | 415s | DEB_VERSION_UPSTREAM | 0.1.76ubuntu1 | | debputy | 415s | DEB_VERSION_UPSTREAM_REVISION | 0.1.76ubuntu1 | | debputy | 415s | PACKAGE | | | debputy | 415s | SOURCE_DATE_EPOCH | 1759859085 | | debputy | 415s | _DEBPUTY_INTERNAL_NON_BINNMU_SOURCE | 0.1.76ubuntu1 | internal | debputy | 415s | _DEBPUTY_SND_SOURCE_DATE_EPOCH | 1759859085 | internal | debputy | 415s | path:BASH_COMPLETION_DIR | /usr/share/bash-completion/completions | | debputy | 415s | path:FISH_COMPLETION_DIR | /usr/share/fish/vendor_completions.d | | debputy | 415s | path:GNU_INFO_DIR | /usr/share/info | | debputy | 415s | path:ZSH_COMPLETION_DIR | /usr/share/zsh/vendor-completions | | debputy | 415s | token:CLOSE_CURLY_BRACE | } | | debputy | 415s | token:DOUBLE_CLOSE_CURLY_BRACE | }} | | debputy | 415s | token:DOUBLE_OPEN_CURLY_BRACE | {{ | | debputy | 415s | token:NEWLINE | \n | | debputy | 415s | token:NL | \n | | debputy | 415s | token:OPEN_CURLY_BRACE | { | | debputy | 415s | token:TAB | \t | | debputy | 415s +-------------------------------------+----------------------------------------+------------------+-------------+ 415s 415s +-----------------------+-------+-------------------------------------------------------+ 415s | Variable type | Value | Option | 415s +-----------------------+-------+-------------------------------------------------------+ 415s | Token variables | shown | --show-token-variables OR --show-all-variables | 415s | Special use variables | shown | --show-special-case-variables OR --show-all-variables | 415s +-----------------------+-------+-------------------------------------------------------+ 415s + debputy --no-pager plugin list pmr 416s +-------------------------------+------------------------------+-------------+ 416s | Rule Name | Rule Type | Provided By | 416s +-------------------------------+------------------------------+-------------+ 416s | install | InstallRule | debputy | 416s | install-docs | InstallRule | debputy | 416s | install-doc | InstallRule | debputy | 416s | install-examples | InstallRule | debputy | 416s | install-example | InstallRule | debputy | 416s | install-man | InstallRule | debputy | 416s | discard | InstallRule | debputy | 416s | multi-dest-install | InstallRule | debputy | 416s | move | TransformationRule | debputy | 416s | remove | TransformationRule | debputy | 416s | create-symlink | TransformationRule | debputy | 416s | path-metadata | TransformationRule | debputy | 416s | create-directories | TransformationRule | debputy | 416s | remove | DpkgMaintscriptHelperCommand | debputy | 416s | rename | DpkgMaintscriptHelperCommand | debputy | 416s | cross-compiling | ManifestCondition | debputy | 416s | can-execute-compiled-binaries | ManifestCondition | debputy | 416s | run-build-time-tests | ManifestCondition | debputy | 416s | not | ManifestCondition | debputy | 416s | any-of | ManifestCondition | debputy | 416s | all-of | ManifestCondition | debputy | 416s | arch-matches | ManifestCondition | debputy | 416s | source-context-arch-matches | ManifestCondition | debputy | 416s | package-context-arch-matches | ManifestCondition | debputy | 416s | build-profiles-matches | ManifestCondition | debputy | 416s | autoconf | BuildRule | debputy | 416s | make | BuildRule | debputy | 416s | perl-build | BuildRule | debputy | 416s | perl-makemaker | BuildRule | debputy | 416s | debhelper | BuildRule | debputy | 416s | cmake | BuildRule | debputy | 416s | meson | BuildRule | debputy | 416s | qmake | BuildRule | debputy | 416s | qmake6 | BuildRule | debputy | 416s | skip-tests | TestRule | debputy | 416s | skip-tests-when | TestRule | debputy | 416s | manifest-version | | debputy | 416s | definitions | | debputy | 416s | installations | | debputy | 416s | remove-during-clean | | debputy | 416s | packages | | debputy | 416s | build-environments | | debputy | 416s | default-build-environment | | debputy | 416s | builds | | debputy | 416s | variables | definitions | debputy | 416s | binary-version | packages.{{PACKAGE}} | debputy | 416s | transformations | packages.{{PACKAGE}} | debputy | 416s | conffile-management | packages.{{PACKAGE}} | debputy | 416s | services | packages.{{PACKAGE}} | debputy | 416s | clean-after-removal | packages.{{PACKAGE}} | debputy | 416s | installation-search-dirs | packages.{{PACKAGE}} | debputy | 416s +-------------------------------+------------------------------+-------------+ 416s + debputy --no-pager plugin list automatic-discard-rules 417s +-----------------------+-------------+ 417s | Name | Provided By | 417s +-----------------------+-------------+ 417s | python-cache-files | debputy | 417s | la-files | debputy | 417s | backup-files | debputy | 417s | version-control-paths | debputy | 417s | gnu-info-dir-file | debputy | 417s | debian-dir | debputy | 417s | doxygen-cruft-files | debputy | 417s +-----------------------+-------------+ 417s + debputy --no-pager plugin list a-d-r 418s +-----------------------+-------------+ 418s | Name | Provided By | 418s +-----------------------+-------------+ 418s | python-cache-files | debputy | 418s | la-files | debputy | 418s | backup-files | debputy | 418s | version-control-paths | debputy | 418s | gnu-info-dir-file | debputy | 418s | debian-dir | debputy | 418s | doxygen-cruft-files | debputy | 418s +-----------------------+-------------+ 418s + debputy --no-pager plugin show ppf changelog 419s Packager Provided File: changelog 419s ================================= 419s 419s This file is the changelog of the package and is mandatory. 419s 419s The changelog contains the version of the source package and is mandatory for all 419s packages. 419s 419s Use `dch --create` to create the changelog. 419s 419s In theory, the binary package can have a different changelog than the source 419s package (by having `debian/binary-package.changelog`). However, it is generally 419s not useful and leads to double administration. It has not been used in practice. 419s 419s Features: 419s * debian/changelog is used for *ALL* packages 419s * No naming support; at most one per package and it is named after the package. 419s * No architecture specific variants. 419s 419s Examples matches: 419s +-----------------------------+--------------------------------------------+ 419s | Source file | Installed As | 419s +-----------------------------+--------------------------------------------+ 419s | debian/changelog | /usr/share/doc/dh-debputy/changelog.Debian | 419s | debian/dh-debputy.changelog | /usr/share/doc/dh-debputy/changelog.Debian | 419s +-----------------------------+--------------------------------------------+ 419s 419s Documentation URIs: 419s * man:deb-changelog(5) 419s * https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog 419s * man:dch(1) 419s 419s Install Mode: 0644 419s Provided by plugin: debputy 419s + debputy --no-pager plugin show ppf debian/changelog 419s Packager Provided File: changelog 419s ================================= 419s 419s This file is the changelog of the package and is mandatory. 419s 419s The changelog contains the version of the source package and is mandatory for all 419s packages. 419s 419s Use `dch --create` to create the changelog. 419s 419s In theory, the binary package can have a different changelog than the source 419s package (by having `debian/binary-package.changelog`). However, it is generally 419s not useful and leads to double administration. It has not been used in practice. 419s 419s Features: 419s * debian/changelog is used for *ALL* packages 419s * No naming support; at most one per package and it is named after the package. 419s * No architecture specific variants. 419s 419s Examples matches: 419s +-----------------------------+--------------------------------------------+ 419s | Source file | Installed As | 419s +-----------------------------+--------------------------------------------+ 419s | debian/changelog | /usr/share/doc/dh-debputy/changelog.Debian | 419s | debian/dh-debputy.changelog | /usr/share/doc/dh-debputy/changelog.Debian | 419s +-----------------------------+--------------------------------------------+ 419s 419s Documentation URIs: 419s * man:deb-changelog(5) 419s * https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog 419s * man:dch(1) 419s 419s Install Mode: 0644 419s Provided by plugin: debputy 420s + debputy --no-pager plugin show ppf service 420s Packager Provided File: service 420s =============================== 420s 420s Sorry, no description provided by the plugin debputy. 420s 420s Features: 420s * debian/service is used for only for the "main" package 420s * Supports naming segment (multiple files and custom naming). 420s * No architecture specific variants. 420s 420s Examples matches: 420s +------------------------------------------+------------------------------------------------+ 420s | Source file | Installed As | 420s +------------------------------------------+------------------------------------------------+ 420s | debian/service | /usr/lib/systemd/system/dh-debputy.service | 420s | debian/dh-debputy.service | /usr/lib/systemd/system/dh-debputy.service | 420s | debian/dh-debputy.my.custom.name.service | /usr/lib/systemd/system/my.custom.name.service | 420s +------------------------------------------+------------------------------------------------+ 420s 420s Documentation URIs: 420s * man:systemd.service(5) 420s 420s Install Mode: 0644 420s Provided by plugin: debputy 421s + debputy --no-pager plugin show pmr --help 421s usage: debputy plugin show pluggable-manifest-rules [-h] 421s [--debputy-manifest DEBPUTY_MANIFEST] 421s [-d] [--no-pager] 421s [--plugin REQUIRED_PLUGINS] 421s rule-name 421s 421s positional arguments: 421s rule-name Name of the rule (such as `install`) to display 421s details about 421s 421s options: 421s -h, --help show this help message and exit 421s --debputy-manifest DEBPUTY_MANIFEST 421s Specify another `debputy` manifest (default: 421s debian/debputy.manifest) 421s -d, --debug Enable debug logging and raw stack traces on errors. 421s Some warnings become errors as a consequence. 421s --no-pager For subcommands that can use a pager, disable the use 421s of pager. Some output formats implies --no-pager 421s --plugin REQUIRED_PLUGINS 421s Request the plugin to be loaded. Can be used multiple 421s time. Ignored for some commands (such as autopkgtest- 421s test-runner) 421s Checking installations manifest rules 421s + echo Checking installations manifest rules 421s + debputy --no-pager plugin show pmr install 422s # Generic install (`install`) 422s 422s The generic `install` rule can be used to install arbitrary paths into packages 422s and is *similar* to how `dh_install` from debhelper works. It is a two "primary" uses. 422s 422s 1) The classic "install into directory" similar to the standard `dh_install` 422s 2) The "install as" similar to `dh-exec`'s `foo => bar` feature. 422s 422s The `install` rule installs a path exactly once into each package it acts on. In 422s the rare case that you want to install the same source *multiple* times into the 422s *same* packages, please have a look at `multi-dest-install`. 422s 422s Attributes: 422s - `source` (conditional): FileSystemMatchRule 422s `sources` (conditional): List of string 422s 422s A path match (`source`) or a list of path matches (`sources`) defining the 422s source path(s) to be installed. The path match(es) can use globs. Each match 422s is tried against default search directories. 422s - When a symlink is matched, then the symlink (not its target) is installed 422s as-is. When a directory is matched, then the directory is installed along 422s with all the contents that have not already been installed somewhere. 422s 422s - `dest-dir` (optional): FileSystemExactMatchRule 422s 422s A path defining the destination *directory*. The value *cannot* use globs, but can 422s use substitution. If neither `as` nor `dest-dir` is given, then `dest-dir` defaults 422s to the directory name of the `source`. 422s 422s - `into` (optional): string or a list of string 422s 422s Either a package name or a list of package names for which these paths should be 422s installed. This key is conditional on whether there are multiple binary packages listed 422s in `debian/control`. When there is only one binary package, then that binary is the 422s default for `into`. Otherwise, the key is required. 422s 422s - `as` (optional): FileSystemExactMatchRule 422s 422s A path defining the path to install the source as. This is a full path. This option 422s is mutually exclusive with `dest-dir` and `sources` (but not `source`). When `as` is 422s given, then `source` must match exactly one "not yet matched" path. 422s 422s - `when` (optional): ManifestCondition 422s 422s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#conditional-rules). 422s 422s The conditional will disable the entire rule when the conditional evaluates to false. 422s 422s 422s This rule enforces the following restrictions: 422s - The rule must use exactly one of: `source`, `sources` 422s - The attribute `as` cannot be used with any of: `dest-dir`, `sources` 422s 422s Non-mapping format: string or a list of string 422s When the input is a string or a list of string, then that value is used as shorthand 422s for `source` or `sources` (respectively). This form can only be used when `into` is 422s not required. 422s 422s Integration mode availability: any integration mode 422s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#generic-install-install 422s Used in: installations 422s Rule reference: InstallRule::install 422s Plugin: debputy 422s 422s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 422s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 422s + debputy --no-pager plugin show pmr install-docs 422s # Install documentation (`install-docs`) 422s 422s This install rule resemble that of `dh_installdocs`. It is a shorthand over the generic 422s `install` rule with the following key features: 422s 422s 1) The default `dest-dir` is to use the package's documentation directory (usually something 422s like `/usr/share/doc/{{PACKAGE}}`, though it respects the "main documentation package" 422s recommendation from Debian Policy). The `dest-dir` or `as` can be set in case the 422s documentation in question goes into another directory or with a concrete path. In this 422s case, it is still "better" than `install` due to the remaining benefits. 422s 2) The rule comes with pre-defined conditional logic for skipping the rule under 422s `DEB_BUILD_OPTIONS=nodoc`, so you do not have to write that conditional yourself. 422s 3) The `into` parameter can be omitted as long as there is a exactly one non-`udeb` 422s package listed in `debian/control`. 422s 422s With these two things in mind, it behaves just like the `install` rule. 422s 422s Note: It is often worth considering to use a more specialized version of the `install-docs` 422s rule when one such is available. If you are looking to install an example or a man page, 422s consider whether `install-examples` or `install-man` might be a better fit for your 422s use-case. 422s 422s Attributes: 422s - `source` (conditional): FileSystemMatchRule 422s `sources` (conditional): List of string 422s 422s A path match (`source`) or a list of path matches (`sources`) defining the 422s source path(s) to be installed. The path match(es) can use globs. Each match 422s is tried against default search directories. 422s - When a symlink is matched, then the symlink (not its target) is installed 422s as-is. When a directory is matched, then the directory is installed along 422s with all the contents that have not already been installed somewhere. 422s 422s - **CAVEAT**: Specifying `source: examples` where `examples` resolves to a 422s directory for `install-examples` will give you an `examples/examples` 422s directory in the package, which is rarely what you want. Often, you 422s can solve this by using `examples/*` instead. Similar for `install-docs` 422s and a `doc` or `docs` directory. 422s 422s - `dest-dir` (optional): FileSystemExactMatchRule 422s 422s A path defining the destination *directory*. The value *cannot* use globs, but can 422s use substitution. If neither `as` nor `dest-dir` is given, then `dest-dir` defaults 422s to the relevant package documentation directory (a la `/usr/share/doc/{{PACKAGE}}`). 422s 422s - `into` (optional): string or a list of string 422s 422s Either a package name or a list of package names for which these paths should be 422s installed as documentation. This key is conditional on whether there are multiple 422s (non-`udeb`) binary packages listed in `debian/control`. When there is only one 422s (non-`udeb`) binary package, then that binary is the default for `into`. Otherwise, 422s the key is required. 422s 422s - `as` (optional): FileSystemExactMatchRule 422s 422s A path defining the path to install the source as. This is a full path. This option 422s is mutually exclusive with `dest-dir` and `sources` (but not `source`). When `as` is 422s given, then `source` must match exactly one "not yet matched" path. 422s 422s - `when` (optional): ManifestCondition 422s 422s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#conditional-rules). 422s This condition will be combined with the built-in condition provided by these rules 422s (rather than replacing it). 422s 422s 422s This rule enforces the following restrictions: 422s - The rule must use exactly one of: `source`, `sources` 422s - The attribute `as` cannot be used with any of: `dest-dir`, `sources` 422s 422s Non-mapping format: string or a list of string 422s When the input is a string or a list of string, then that value is used as shorthand 422s for `source` or `sources` (respectively). This form can only be used when `into` is 422s not required. 422s 422s Integration mode availability: any integration mode 422s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#install-documentation-install-docs 422s Used in: installations 422s Rule reference: InstallRule::install-docs 422s Plugin: debputy 422s 422s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 422s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 423s + debputy --no-pager plugin show pmr install-man 423s # Install man pages (`install-man`) 423s 423s Install rule for installing man pages similar to `dh_installman`. It is a shorthand 423s over the generic `install` rule with the following key features: 423s 423s 1) The rule can only match files (notably, symlinks cannot be matched by this rule). 423s 2) The `dest-dir` is computed per source file based on the man page's section and 423s language. 423s 3) The `into` parameter can be omitted as long as there is a exactly one non-`udeb` 423s package listed in `debian/control`. 423s 4) The rule comes with man page specific attributes such as `language` and `section` 423s for when the auto-detection is insufficient. 423s 5) The rule comes with pre-defined conditional logic for skipping the rule under 423s `DEB_BUILD_OPTIONS=nodoc`, so you do not have to write that conditional yourself. 423s 423s With these things in mind, the rule behaves similar to the `install` rule. 423s 423s Attributes: 423s - `source` (conditional): FileSystemMatchRule 423s `sources` (conditional): List of string 423s 423s A path match (`source`) or a list of path matches (`sources`) defining the 423s source path(s) to be installed. The path match(es) can use globs. Each match 423s is tried against default search directories. 423s - When a symlink is matched, then the symlink (not its target) is installed 423s as-is. When a directory is matched, then the directory is installed along 423s with all the contents that have not already been installed somewhere. 423s 423s - `into` (optional): string or a list of string 423s 423s Either a package name or a list of package names for which these paths should be 423s installed as man pages. This key is conditional on whether there are multiple (non-`udeb`) 423s binary packages listed in `debian/control`. When there is only one (non-`udeb`) binary 423s package, then that binary is the default for `into`. Otherwise, the key is required. 423s 423s - `section` (optional): integer 423s 423s If provided, it must be an integer between 1 and 9 (both inclusive), defining the 423s section the man pages belong overriding any auto-detection that `debputy` would 423s have performed. 423s 423s - `language` (optional): string 423s 423s If provided, it must be either a 2 letter language code (such as `de`), a 5 letter 423s language + dialect code (such as `pt_BR`), or one of the special keywords `C`, 423s `derive-from-path`, or `derive-from-basename`. The default is `derive-from-path`. 423s - When `language` is `C`, then the man pages are assumed to be "untranslated". 423s - When `language` is a language code (with or without dialect), then all man pages 423s matched will be assumed to be translated to that concrete language / dialect. 423s - When `language` is `derive-from-path`, then `debputy` attempts to derive the 423s language from the path (`man//man
`). This matches the 423s default of `dh_installman`. When no language can be found for a given source, 423s `debputy` behaves like language was `C`. 423s - When `language` is `derive-from-basename`, then `debputy` attempts to derive 423s the language from the basename (`foo..1`) similar to `dh_installman` 423s previous default. When no language can be found for a given source, `debputy` 423s behaves like language was `C`. Note this is prone to false positives where 423s `.pl`, `.so` or similar two-letter extensions gets mistaken for a language code 423s (`.pl` can both be "Polish" or "Perl Script", `.so` can both be "Somali" and 423s "Shared Object" documentation). In this configuration, such extensions are 423s always assumed to be a language. 423s 423s - `when` (optional): ManifestCondition 423s 423s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#conditional-rules). 423s 423s The conditional will disable the entire rule when the conditional evaluates to false. 423s 423s 423s This rule enforces the following restrictions: 423s - The rule must use exactly one of: `source`, `sources` 423s 423s Non-mapping format: string or a list of string 423s When the input is a string or a list of string, then that value is used as shorthand 423s for `source` or `sources` (respectively). This form can only be used when `into` is 423s not required. 423s 423s Integration mode availability: any integration mode 423s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#install-manpages-install-man 423s Used in: installations 423s Rule reference: InstallRule::install-man 423s Plugin: debputy 423s 423s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 423s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 423s + debputy --no-pager plugin show pmr discard 424s # Discard (or exclude) upstream provided paths (`discard`) 424s 424s When installing paths from `debian/tmp` into packages, it might be useful to ignore 424s some paths that you never need installed. This can be done with the `discard` rule. 424s 424s Once a path is discarded, it cannot be matched by any other install rules. A path 424s that is discarded, is considered handled when `debputy` checks for paths you might 424s have forgotten to install. The `discard` feature is therefore *also* replaces the 424s `debian/not-installed` file used by `debhelper` and `cdbs`. 424s 424s Attributes: 424s - `path` (conditional): FileSystemMatchRule 424s `paths` (conditional): List of string 424s 424s A path match (`path`) or a list of path matches (`paths`) defining the source 424s path(s) that should not be installed anywhere. The path match(es) can use globs. 424s - When a symlink is matched, then the symlink (not its target) is discarded as-is. 424s When a directory is matched, then the directory is discarded along with all the 424s contents that have not already been installed somewhere. 424s 424s - `search-dir` (optional): FileSystemExactMatchRule 424s `search-dirs` (optional): List of string 424s 424s A path (`search-dir`) or a list to paths (`search-dirs`) that defines 424s which search directories apply to. This attribute is primarily useful 424s for source packages that uses "per package search dirs", and you want 424s to restrict a discard rule to a subset of the relevant search dirs. 424s Note all listed search directories must be either an explicit search 424s requested by the packager or a search directory that `debputy` 424s provided automatically (such as `debian/tmp`). Listing other paths 424s will make `debputy` report an error. 424s - Note that the `path` or `paths` must match at least one entry in 424s any of the search directories unless *none* of the search directories 424s exist (or the condition in `required-when` evaluates to false). When 424s none of the search directories exist, the discard rule is silently 424s skipped. This special-case enables you to have discard rules only 424s applicable to certain builds that are only performed conditionally. 424s 424s - `required-when` (optional): ManifestCondition 424s 424s A condition as defined in [Conditional rules](#conditional-rules). The discard 424s rule is always applied. When the conditional is present and evaluates to false, 424s the discard rule can silently match nothing.When the condition is absent, *or* 424s it evaluates to true, then each pattern provided must match at least one path. 424s 424s 424s This rule enforces the following restrictions: 424s - The rule must use exactly one of: `path`, `paths` 424s - The following attributes are mutually exclusive: `search-dir`, `search-dirs` 424s 424s Non-mapping format: string or a list of string 424s When the input is a string or a list of string, then that value is used as shorthand 424s for `path` or `paths` (respectively). 424s 424s Integration mode availability: any integration mode 424s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#discard-or-exclude-upstream-provided-paths-discard 424s Used in: installations 424s Rule reference: InstallRule::discard 424s Plugin: debputy 424s 424s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 424s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 424s Checking binary package transformations manifest rules 424s + echo Checking binary package transformations manifest rules 424s + debputy --no-pager plugin show pmr TransformationRule::remove 424s # Remove transformation rule (`remove`) 424s 424s The remove transformation rule is mostly only useful for single binary source packages, 424s where everything from upstream's build system is installed automatically into the package. 424s In those case, you might find yourself with some files that are _not_ relevant for the 424s Debian package (but would be relevant for other distros or for non-distro local builds). 424s Common examples include `INSTALL` files or `LICENSE` files (when they are just a subset 424s of `debian/copyright`). 424s 424s In the manifest, you can ask `debputy` to remove paths from the debian package by using 424s the `remove` transformation rule. 424s 424s Note that `remove` removes paths from future glob matches and transformation rules. 424s 424s Attributes: 424s - `path` (conditional): FileSystemMatchRule 424s `paths` (conditional): List of string 424s 424s A path match (`path`) or a list of path matches (`paths`) defining the 424s path(s) inside the package that should be removed. The path match(es) 424s can use globs. 424s - When a symlink is matched, then the symlink (not its target) is removed 424s as-is. When a directory is matched, then the directory is removed 424s along with all the contents. 424s 424s - `keep-empty-parent-dirs` (optional): boolean 424s 424s A boolean determining whether to prune parent directories that become 424s empty as a consequence of this rule. When provided and `true`, this 424s rule will leave empty directories behind. Otherwise, if this rule 424s causes a directory to become empty that directory will be removed. 424s 424s - `when` (optional): ManifestCondition 424s 424s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#conditional-rules). 424s This condition will be combined with the built-in condition provided by these rules 424s (rather than replacing it). 424s 424s 424s This rule enforces the following restrictions: 424s - The rule must use exactly one of: `path`, `paths` 424s 424s Non-mapping format: string or a list of string 424s When the input is a string or a list of string, then that value is used as shorthand 424s for `path` or `paths` (respectively). 424s 424s Integration mode availability: any integration mode 424s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#remove-transformation-rule-remove 424s Used in: packages.{{PACKAGE}}.transformations 424s Rule reference: TransformationRule::remove 424s Plugin: debputy 424s 424s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 424s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 425s + debputy --no-pager plugin show pmr move 425s # Move transformation rule (`move`) 425s 425s The move transformation rule is mostly only useful for single binary source packages, 425s where everything from upstream's build system is installed automatically into the package. 425s In those case, you might find yourself with some files that need to be renamed to match 425s Debian specific requirements. 425s 425s This can be done with the `move` transformation rule, which is a rough emulation of the 425s `mv` command line tool. 425s 425s Attributes: 425s - `source` (required): FileSystemMatchRule 425s 425s A path match defining the source path(s) to be renamed. The value can use globs 425s and substitutions. 425s 425s - `target` (required): FileSystemExactMatchRule 425s 425s A path defining the target path. The value *cannot* use globs, but can use 425s substitution. If the target ends with a literal `/` (prior to substitution), 425s the target will *always* be a directory. 425s 425s - `when` (optional): ManifestCondition 425s 425s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#conditional-rules). 425s 425s The conditional will disable the entire rule when the conditional evaluates to false. 425s 425s 425s Integration mode availability: any integration mode 425s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#move-transformation-rule-move 425s Used in: packages.{{PACKAGE}}.transformations 425s Rule reference: TransformationRule::move 425s Plugin: debputy 425s 425s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 425s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 425s + debputy --no-pager plugin show pmr create-symlink 426s # Create symlinks transformation rule (`create-symlink`) 426s 426s Often, the upstream build system will provide the symlinks for you. However, 426s in some cases, it is useful for the packager to define distribution specific 426s symlinks. This can be done via the `create-symlink` transformation rule. 426s 426s Attributes: 426s - `path` (required): FileSystemExactMatchRule 426s 426s The path that should be a symlink. The path may contain substitution 426s variables such as `{{DEB_HOST_MULTIARCH}}` but _cannot_ use globs. 426s Parent directories are implicitly created as necessary. 426s * Note that if `path` already exists, the behavior of this 426s transformation depends on the value of `replacement-rule`. 426s 426s - `target` (required): SymlinkTarget 426s 426s Where the symlink should point to. The target may contain substitution 426s variables such as `{{DEB_HOST_MULTIARCH}}` but _cannot_ use globs. 426s The link target is _not_ required to exist inside the package. 426s * The `debputy` tool will normalize the target according to the rules 426s of the Debian Policy. Use absolute or relative target at your own 426s preference. 426s 426s - `replacement-rule` (optional): One of the following literal values: `error-if-exists`, `error-if-directory`, `abort-on-non-empty-directory`, `discard-existing` 426s 426s This attribute defines how to handle if `path` already exists. It can 426s be set to one of the following values: 426s - `error-if-exists`: When `path` already exists, `debputy` will 426s stop with an error. This is similar to `ln -s` semantics. 426s - `error-if-directory`: When `path` already exists, **and** it is 426s a directory, `debputy` will stop with an error. Otherwise, 426s remove the `path` first and then create the symlink. This is 426s similar to `ln -sf` semantics. 426s - `abort-on-non-empty-directory` (default): When `path` already 426s exists, then it will be removed provided it is a non-directory 426s **or** an *empty* directory and the symlink will then be 426s created. If the path is a *non-empty* directory, `debputy` 426s will stop with an error. 426s - `discard-existing`: When `path` already exists, it will be 426s removed. If the `path` is a directory, all its contents will 426s be removed recursively along with the directory. Finally, 426s the symlink is created. This is similar to having an explicit 426s `remove` rule just prior to the `create-symlink` that is 426s conditional on `path` existing (plus the condition defined in 426s `when` if any). 426s 426s Keep in mind, that `replacement-rule` only applies if `path` exists. 426s If the symlink cannot be created, because a part of `path` exist and 426s is *not* a directory, then `create-symlink` will fail regardless of 426s the value in `replacement-rule`. 426s 426s - `when` (optional): ManifestCondition 426s 426s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#conditional-rules). 426s 426s The conditional will disable the entire rule when the conditional evaluates to false. 426s 426s 426s Integration mode availability: any integration mode 426s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#create-symlinks-transformation-rule-create-symlink 426s Used in: packages.{{PACKAGE}}.transformations 426s Rule reference: TransformationRule::create-symlink 426s Plugin: debputy 426s 426s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 426s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 426s + debputy --no-pager plugin show pmr path-metadata 427s # Change path owner/group or mode (`path-metadata`) 427s 427s The `debputy` command normalizes the path metadata (such as ownership and mode) similar 427s to `dh_fixperms`. For most packages, the default is what you want. However, in some 427s cases, the package has a special case or two that `debputy` does not cover. In that 427s case, you can tell `debputy` to use the metadata you want by using the `path-metadata` 427s transformation. 427s 427s Common use-cases include setuid/setgid binaries (such `usr/bin/sudo`) or/and static 427s ownership (such as /usr/bin/write). 427s 427s Attributes: 427s - `path` (conditional): FileSystemMatchRule 427s `paths` (conditional): List of string 427s 427s A path match (`path`) or a list of path matches (`paths`) defining the path(s) 427s inside the package that should be affected. The path match(es) can use globs 427s and substitution variables. Special-rules for matches: 427s - Symlinks are never followed and will never be matched by this rule. 427s - Directory handling depends on the `recursive` attribute. 427s 427s - `owner` (optional): one-of: integer, string 427s 427s Denotes the owner of the paths matched by `path` or `paths`. When omitted, 427s no change of owner is done. 427s 427s - `group` (optional): one-of: integer, string 427s 427s Denotes the group of the paths matched by `path` or `paths`. When omitted, 427s no change of group is done. 427s 427s - `mode` (optional): FileSystemMode 427s 427s Denotes the mode of the paths matched by `path` or `paths`. When omitted, 427s no change in mode is done. Note that numeric mode must always be given as 427s a string (i.e., with quotes). Symbolic mode can be used as well. If 427s symbolic mode uses a relative definition (e.g., `o-rx`), then it is 427s relative to the matched path's current mode. 427s 427s - `capabilities` (optional): Capability 427s 427s Denotes a Linux capability that should be applied to the path. When provided, 427s `debputy` will cause the capability to be applied to all *files* denoted by 427s the `path`/`paths` attribute on install (via `postinst configure`) provided 427s that `setcap` is installed on the system when the `postinst configure` is 427s run. 427s - If any non-file paths are matched, the `capabilities` will *not* be applied 427s to those paths. 427s 427s 427s - `capability-mode` (optional): FileSystemMode 427s 427s Denotes the mode to apply to the path *if* the Linux capability denoted in 427s `capabilities` was successfully applied. If omitted, it defaults to `a-s` as 427s generally capabilities are used to avoid "setuid"/"setgid" binaries. The 427s `capability-mode` is relative to the *final* path mode (the mode of the path 427s in the produced `.deb`). The `capability-mode` attribute cannot be used if 427s `capabilities` is omitted. 427s 427s - `recursive` (optional): boolean 427s 427s When a directory is matched, then the metadata changes are applied to the 427s directory itself. When `recursive` is `true`, then the transformation is 427s *also* applied to all paths beneath the directory. The default value for 427s this attribute is `false`. 427s 427s - `when` (optional): ManifestCondition 427s 427s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#conditional-rules). 427s 427s The conditional will disable the entire rule when the conditional evaluates to false. 427s 427s 427s This rule enforces the following restrictions: 427s - The rule must use exactly one of: `path`, `paths` 427s 427s Integration mode availability: any integration mode 427s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#change-path-ownergroup-or-mode-path-metadata 427s Used in: packages.{{PACKAGE}}.transformations 427s Rule reference: TransformationRule::path-metadata 427s Plugin: debputy 427s 427s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 427s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 427s + debputy --no-pager plugin show pmr create-directories 427s # Create directories transformation rule (`create-directories`) 427s 427s NOTE: This transformation is only really needed if you need to create an empty 427s directory somewhere in your package as an integration point. All `debputy` 427s transformations will create directories as required. 427s 427s In most cases, upstream build systems and `debputy` will create all the relevant 427s directories. However, in some rare cases you may want to explicitly define a path 427s to be a directory. Maybe to silence a linter that is warning you about a directory 427s being empty, or maybe you need an empty directory that nothing else is creating for 427s you. This can be done via the `create-directories` transformation rule. 427s 427s Unless you have a specific need for the mapping form, you are recommended to use the 427s shorthand form of just listing the directories you want created. 427s 427s Attributes: 427s - `path` (conditional): FileSystemExactMatchRule 427s `paths` (conditional): List of string 427s 427s A path (`path`) or a list of path (`paths`) defining the path(s) inside the 427s package that should be created as directories. The path(es) _cannot_ use globs 427s but can use substitution variables. Parent directories are implicitly created 427s (with owner `root:root` and mode `0755` - only explicitly listed directories 427s are affected by the owner/mode options) 427s 427s - `owner` (optional): one-of: integer, string 427s 427s Denotes the owner of the directory (but _not_ what is inside the directory). 427s Default is "root". 427s 427s - `group` (optional): one-of: integer, string 427s 427s Denotes the group of the directory (but _not_ what is inside the directory). 427s Default is "root". 427s 427s - `mode` (optional): FileSystemMode 427s 427s Denotes the mode of the directory (but _not_ what is inside the directory). 427s Note that numeric mode must always be given as a string (i.e., with quotes). 427s Symbolic mode can be used as well. If symbolic mode uses a relative 427s definition (e.g., `o-rx`), then it is relative to the directory's current mode 427s (if it already exists) or `0755` if the directory is created by this 427s transformation. The default is "0755". 427s 427s - `when` (optional): ManifestCondition 427s 427s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#conditional-rules). 427s 427s The conditional will disable the entire rule when the conditional evaluates to false. 427s 427s 427s This rule enforces the following restrictions: 427s - The rule must use exactly one of: `path`, `paths` 427s 427s Non-mapping format: string or a list of string 427s When the input is a string or a list of string, then that value is used as shorthand 427s for `path` or `paths` (respectively). 427s 427s Integration mode availability: any integration mode 427s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#create-directories-transformation-rule-directories 427s Used in: packages.{{PACKAGE}}.transformations 427s Rule reference: TransformationRule::create-directories 427s Plugin: debputy 427s 427s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 427s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 428s + debputy --no-pager plugin show pmr run-build-time-tests 428s # Whether build time tests should be run (`run-build-time-tests`) 428s 428s The `run-build-time-tests` condition is used to determine whether (build 428s time) tests should be run for this build. This condition roughly 428s translates into whether `nocheck` is present in `DEB_BUILD_OPTIONS`. 428s 428s In general, the manifest *should not* prevent build time tests from being 428s run during cross-builds. 428s 428s Integration mode availability: any integration mode 428s Reference documentation: ${MANIFEST_FORMAT_DOC}#whether-build-time-tests-should-be-run-run-build-time-tests 428s Used in: *.when 428s Rule reference: ManifestCondition::run-build-time-tests 428s Plugin: debputy 428s 428s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 428s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 429s + debputy --no-pager plugin show pmr arch-matches 429s # Architecture match condition `arch-matches` 429s 429s Sometimes, a rule needs to be conditional on the architecture. 429s This can be done by using the `arch-matches` rule. In 99.99% 429s of the cases, `arch-matches` will be form you are looking for 429s and practically behaves like a comparison against 429s `dpkg-architecture -qDEB_HOST_ARCH`. 429s 429s For the cross-compiling specialists or curious people: The 429s `arch-matches` rule behaves like a `package-context-arch-matches` 429s in the context of a binary package and like 429s `source-context-arch-matches` otherwise. The details of those 429s are covered in their own keywords. 429s 429s Non-mapping format: string 429s The value must be a string in the form of a space separated list 429s architecture names or architecture wildcards (same syntax as the 429s architecture restriction in Build-Depends in debian/control except 429s there is no enclosing `[]` brackets). The names/wildcards can 429s optionally be prefixed by `!` to negate them. However, either 429s *all* names / wildcards must have negation or *none* of them may 429s have it. 429s 429s Integration mode availability: any integration mode 429s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#architecture-match-condition-arch-matches-mapping 429s Used in: *.when 429s Rule reference: ManifestCondition::arch-matches 429s Plugin: debputy 429s 429s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 429s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 429s + debputy --no-pager plugin show pmr not 430s # Negated condition (`not`) 430s 430s It is possible to negate a condition via the `not` condition. 430s 430s As an example: 430s 430s packages: 430s util-linux: 430s transformations: 430s - create-symlink 430s path: sbin/getty 430s target: /sbin/agetty 430s when: 430s # On Hurd, the package "hurd" ships "sbin/getty". 430s # This example happens to also be alternative to `arch-marches: '!hurd-any` 430s not: 430s arch-matches: 'hurd-any' 430s 430s The `not` condition is specified as a mapping, where the key is `not` and the 430s value is a nested condition. 430s 430s Non-mapping format: ManifestCondition 430s 430s Integration mode availability: any integration mode 430s Reference documentation: ${MANIFEST_FORMAT_DOC}#negated-condition-not 430s Used in: *.when 430s Rule reference: ManifestCondition::not 430s Plugin: debputy 430s 430s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 430s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 430s + debputy --no-pager plugin show pmr build-profiles-matches 430s # Active build profile match condition (`build-profiles-matches`) 430s 430s The `build-profiles-matches` condition is used to assert whether the 430s active build profiles (`DEB_BUILD_PROFILES` / `dpkg-buildpackage -P`) 430s matches a given build profile restriction. 430s 430s Non-mapping format: string 430s The value is a string using the same syntax as the `Build-Profiles` 430s field from `debian/control` (i.e., a space separated list of 430s `<[!]profile ...>` groups). 430s 430s Integration mode availability: any integration mode 430s Reference documentation: ${MANIFEST_FORMAT_DOC}#active-build-profile-match-condition-build-profiles-matches 430s Used in: *.when 430s Rule reference: ManifestCondition::build-profiles-matches 430s Plugin: debputy 430s 430s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 430s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 430s + debputy --no-pager plugin show pmr cross-compiling 431s # Cross-Compiling condition (`cross-compiling`) 431s 431s The `cross-compiling` condition is used to determine if the current build is 431s performing a cross build (i.e., `DEB_BUILD_GNU_TYPE` != `DEB_HOST_GNU_TYPE`). 431s Often this has consequences for what is possible to do. 431s 431s Note if you specifically want to know: 431s 431s * whether build-time tests should be run, then please use the 431s `run-build-time-tests` condition. 431s * whether compiled binaries can be run as if it was a native binary, please 431s use the `can-execute-compiled-binaries` condition instead. That condition 431s accounts for cross-building in its evaluation. 431s 431s Integration mode availability: any integration mode 431s Reference documentation: ${MANIFEST_FORMAT_DOC}#cross-compiling-condition 431s Used in: *.when 431s Rule reference: ManifestCondition::cross-compiling 431s Plugin: debputy 431s 431s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 431s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 431s + debputy --no-pager plugin show pmr binary-version 432s # Custom binary version (`binary-version`) 432s 432s In the *rare* case that you need a binary package to have a custom version, you can use 432s the `binary-version:` key to describe the desired package version. An example being: 432s 432s packages: 432s foo: 432s # The foo package needs a different epoch because we took it over from a different 432s # source package with higher epoch version 432s binary-version: '1:{{DEB_VERSION_UPSTREAM_REVISION}}' 432s 432s Use this feature sparingly as it is generally not possible to undo as each version must be 432s monotonously higher than the previous one. This feature translates into `-v` option for 432s `dpkg-gencontrol`. 432s 432s The value for the `binary-version` key is a string that defines the binary version. Generally, 432s you will want it to contain one of the versioned related substitution variables such as 432s `{{DEB_VERSION_UPSTREAM_REVISION}}`. Otherwise, you will have to remember to bump the version 432s manually with each upload as versions cannot be reused and the package would not support binNMUs 432s either. 432s 432s Non-mapping format: string 432s 432s Integration mode availability: any integration mode 432s Reference documentation: ${MANIFEST_FORMAT_DOC}#custom-binary-version-binary-version 432s Used in: packages.{{PACKAGE}} 432s Rule reference: packages.{{PACKAGE}}::binary-version 432s Plugin: debputy 432s 432s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 432s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 432s + debputy --no-pager plugin show pmr definitions 432s # Packager provided definitions 432s 432s Reusable packager provided definitions such as manifest variables. 432s 432s Attributes: 432s - `variables` (optional): Mapping of string 432s 432s It is possible to provide custom manifest variables via the `variables` attribute. An example: 432s 432s manifest-version: '0.1' 432s definitions: 432s variables: 432s LIBPATH: "/usr/lib/{{DEB_HOST_MULTIARCH}}" 432s SONAME: "1" 432s installations: 432s - install: 432s source: build/libfoo.so.{{SONAME}}* 432s # The quotes here is for the YAML parser's sake. 432s dest-dir: "{{LIBPATH}}" 432s into: libfoo{{SONAME}} 432s 432s The value of the `variables` key must be a mapping, where each key is a new variable name and 432s the related value is the value of said key. The keys must be valid variable name and not shadow 432s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 432s redefined). The value for each variable *can* refer to *existing* variables as seen in the 432s example above. 432s 432s As usual, `debputy` will insist that all declared variables must be used. 432s 432s Limitations: 432s * When declaring variables that depends on another variable declared in the manifest, the 432s order is important. The variables are resolved from top to bottom. 432s * When a manifest variable depends on another manifest variable, the existing variable is 432s currently always resolved in source context. As a consequence, some variables such as 432s `{{PACKAGE}}` cannot be used when defining a variable. This restriction may be 432s lifted in the future. 432s 432s 432s Integration mode availability: any integration mode 432s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#packager-provided-definitions 432s Used in: The manifest root 432s Rule reference: ::definitions 432s Plugin: debputy 432s 432s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 432s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 432s + debputy --no-pager plugin show pmr variables 433s # Manifest Variables (`variables`) 433s 433s It is possible to provide custom manifest variables via the `variables` attribute. An example: 433s 433s manifest-version: '0.1' 433s definitions: 433s variables: 433s LIBPATH: "/usr/lib/{{DEB_HOST_MULTIARCH}}" 433s SONAME: "1" 433s installations: 433s - install: 433s source: build/libfoo.so.{{SONAME}}* 433s # The quotes here is for the YAML parser's sake. 433s dest-dir: "{{LIBPATH}}" 433s into: libfoo{{SONAME}} 433s 433s The value of the `variables` key must be a mapping, where each key is a new variable name and 433s the related value is the value of said key. The keys must be valid variable name and not shadow 433s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 433s redefined). The value for each variable *can* refer to *existing* variables as seen in the 433s example above. 433s 433s As usual, `debputy` will insist that all declared variables must be used. 433s 433s Limitations: 433s * When declaring variables that depends on another variable declared in the manifest, the 433s order is important. The variables are resolved from top to bottom. 433s * When a manifest variable depends on another manifest variable, the existing variable is 433s currently always resolved in source context. As a consequence, some variables such as 433s `{{PACKAGE}}` cannot be used when defining a variable. This restriction may be 433s lifted in the future. 433s 433s Non-mapping format: Mapping of string 433s 433s Integration mode availability: any integration mode 433s Reference documentation: ${MANIFEST_FORMAT_DOC}#manifest-variables-variables 433s Used in: definitions 433s Rule reference: definitions::variables 433s Plugin: debputy 433s 433s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 433s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 433s + debputy --no-pager plugin show pmr ::definitions 434s # Packager provided definitions 434s 434s Reusable packager provided definitions such as manifest variables. 434s 434s Attributes: 434s - `variables` (optional): Mapping of string 434s 434s It is possible to provide custom manifest variables via the `variables` attribute. An example: 434s 434s manifest-version: '0.1' 434s definitions: 434s variables: 434s LIBPATH: "/usr/lib/{{DEB_HOST_MULTIARCH}}" 434s SONAME: "1" 434s installations: 434s - install: 434s source: build/libfoo.so.{{SONAME}}* 434s # The quotes here is for the YAML parser's sake. 434s dest-dir: "{{LIBPATH}}" 434s into: libfoo{{SONAME}} 434s 434s The value of the `variables` key must be a mapping, where each key is a new variable name and 434s the related value is the value of said key. The keys must be valid variable name and not shadow 434s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 434s redefined). The value for each variable *can* refer to *existing* variables as seen in the 434s example above. 434s 434s As usual, `debputy` will insist that all declared variables must be used. 434s 434s Limitations: 434s * When declaring variables that depends on another variable declared in the manifest, the 434s order is important. The variables are resolved from top to bottom. 434s * When a manifest variable depends on another manifest variable, the existing variable is 434s currently always resolved in source context. As a consequence, some variables such as 434s `{{PACKAGE}}` cannot be used when defining a variable. This restriction may be 434s lifted in the future. 434s 434s 434s Integration mode availability: any integration mode 434s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md#packager-provided-definitions 434s Used in: The manifest root 434s Rule reference: ::definitions 434s Plugin: debputy 434s 434s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 434s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 434s + debputy --no-pager plugin show pmr definitions::variables 434s # Manifest Variables (`variables`) 434s 434s It is possible to provide custom manifest variables via the `variables` attribute. An example: 434s 434s manifest-version: '0.1' 434s definitions: 434s variables: 434s LIBPATH: "/usr/lib/{{DEB_HOST_MULTIARCH}}" 434s SONAME: "1" 434s installations: 434s - install: 434s source: build/libfoo.so.{{SONAME}}* 434s # The quotes here is for the YAML parser's sake. 434s dest-dir: "{{LIBPATH}}" 434s into: libfoo{{SONAME}} 434s 434s The value of the `variables` key must be a mapping, where each key is a new variable name and 434s the related value is the value of said key. The keys must be valid variable name and not shadow 434s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 434s redefined). The value for each variable *can* refer to *existing* variables as seen in the 434s example above. 434s 434s As usual, `debputy` will insist that all declared variables must be used. 434s 434s Limitations: 434s * When declaring variables that depends on another variable declared in the manifest, the 434s order is important. The variables are resolved from top to bottom. 434s * When a manifest variable depends on another manifest variable, the existing variable is 434s currently always resolved in source context. As a consequence, some variables such as 434s `{{PACKAGE}}` cannot be used when defining a variable. This restriction may be 434s lifted in the future. 434s 434s Non-mapping format: Mapping of string 434s 434s Integration mode availability: any integration mode 434s Reference documentation: ${MANIFEST_FORMAT_DOC}#manifest-variables-variables 434s Used in: definitions 434s Rule reference: definitions::variables 434s Plugin: debputy 434s 434s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 434s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 435s + debputy --no-pager plugin show pmr :: 435s # Auto-generated reference documentation for the manifest root 435s 435s This is an automatically generated reference documentation for the manifest root. It is generated 435s from input provided by debputy via the debputy API. 435s 435s (If you are the provider of the debputy plugin, you can replace this text with 435s your own documentation by providing the `inline_reference_documentation` when registering 435s the manifest rule.) 435s 435s Attributes: 435s - `manifest-version` (optional): One of the following literal values: `0.1` 435s 435s All `debputy` manifests must include a `debputy` manifest version, which will enable the 435s format to change over time. For now, there is only one version (`"0.1"`) and you have 435s to include the line: 435s 435s manifest-version: "0.1" 435s 435s On its own, the manifest containing only `manifest-version: "..."` will not do anything. So if you 435s end up only having the `manifest-version` key in the manifest, you can just remove the manifest and 435s rely entirely on the built-in rules. 435s 435s - `definitions` (optional): Object (see `::definitions`) 435s 435s Reusable packager provided definitions such as manifest variables. 435s 435s - `installations` (optional): 435s 435s For source packages building a single binary, the `dh_auto_install` from debhelper will default to 435s providing everything from upstream's install in the binary package. The `debputy` tool matches this 435s behavior and accordingly, the `installations` feature is only relevant in this case when you need to 435s manually specify something upstream's install did not cover. 435s 435s For sources, that build multiple binaries, where `dh_auto_install` does not detect anything to install, 435s or when `dh_auto_install --destdir debian/tmp` is used, the `installations` section of the manifest is 435s used to declare what goes into which binary package. An example: 435s 435s installations: 435s - install: 435s sources: "usr/bin/foo" 435s into: foo 435s - install: 435s sources: "usr/*" 435s into: foo-extra 435s 435s All installation rules are processed in order (top to bottom). Once a path has been matched, it can 435s no longer be matched by future rules. In the above example, then `usr/bin/foo` would be in the `foo` 435s package while everything in `usr` *except* `usr/bin/foo` would be in `foo-extra`. If these had been 435s ordered in reverse, the `usr/bin/foo` rule would not have matched anything and caused `debputy` 435s to reject the input as an error on that basis. This behavior is similar to "DEP-5" copyright files, 435s except the order is reversed ("DEP-5" uses "last match wins", where here we are doing "first match wins") 435s 435s In the rare case that some path need to be installed into two packages at the same time, then this is 435s generally done by changing `into` into a list of packages. 435s 435s All installations are currently run in *source* package context. This implies that: 435s 435s 1) No package specific substitutions are available. Notably `{{PACKAGE}}` cannot be resolved. 435s 2) All conditions are evaluated in source context. For 99.9% of users, this makes no difference, 435s but there is a cross-build feature that changes the "per package" architecture which is affected. 435s 435s This is a limitation that should be fixed in `debputy`. 435s 435s Another feature of `debputy` installation rules is that the match rule is always applied even when 435s the rule is "disabled" by a condition (such as the package being arch:all and the build does not 435s cover arch:all binaries). This is required to avoid false positives errors when testing for paths 435s that might have been overlooked. The code will not install the matched paths anywhere, just mark 435s them as reserved by the package that is not being built. This behavior is similar to that of 435s `dh_install`, which is also aimed at preventing a similar false positive with `dh_missing`. 435s 435s **Attention debhelper users**: Note the difference between `dh_install` (etc.) vs. `debputy` on 435s overlapping matches for installation. 435s 435s - `remove-during-clean` (optional): 435s 435s When the clean logic does not cover all the paths generated during build, 435s the `the manifest root` keyword can be used to add a list of additional paths to 435s remove. An example could be: 435s 435s ```yaml 435s the manifest root: 435s - config.h 435s - build/ 435s - docs/*.html 435s ``` 435s 435s Each element in the list is a path or a glob pattern and each matched path will 435s be removed. To avoid accidental removals of directories, any element in the list 435s intended to remove directories must end with a literal `/`. 435s 435s - `packages` (optional): PackageContext (chains to `::packages`) 435s 435s Inside the manifest, the `packages` mapping can be used to define requests for the binary packages 435s you want `debputy` to produce. Each key inside `packages` must be the name of a binary package 435s defined in `debian/control`. The value is a dictionary defining which features that `debputy` 435s should apply to that binary package. An example could be: 435s 435s packages: 435s foo: 435s transformations: 435s - create-symlink: 435s path: usr/share/foo/my-first-symlink 435s target: /usr/share/bar/symlink-target 435s - create-symlink: 435s path: usr/lib/{{DEB_HOST_MULTIARCH}}/my-second-symlink 435s target: /usr/lib/{{DEB_HOST_MULTIARCH}}/baz/symlink-target 435s bar: 435s transformations: 435s - create-directories: 435s - some/empty/directory.d 435s - another/empty/integration-point.d 435s - create-directories: 435s path: a/third-empty/directory.d 435s owner: www-data 435s group: www-data 435s 435s In this case, `debputy` will create some symlinks inside the `foo` package and some directories for 435s the `bar` package. The following subsections define the keys you can use under each binary package. 435s 435s - `build-environments` (optional): 435s 435s Define named environments to set the environment for any build commands that needs 435s a non-default environment. 435s 435s The environment definitions can be used to tweak the environment variables used by the 435s build commands. An example: 435s 435s build-environments: 435s - name: custom-env 435s set: 435s ENV_VAR: foo 435s ANOTHER_ENV_VAR: bar 435s builds: 435s - autoconf: 435s environment: custom-env 435s 435s The environment definition has multiple attributes for setting environment variables 435s which determines when the definition is applied. The resulting environment is the 435s result of the following order of operations. 435s 435s 1. The environment `debputy` received from its parent process. 435s 2. Apply all the variable definitions from `set` (if the attribute is present) 435s 3. Apply all computed variables (such as variables from `dpkg-buildflags`). 435s 4. Apply all the variable definitions from `override` (if the attribute is present) 435s 5. Remove all variables listed in `unset` (if the attribute is present). 435s 435s Accordingly, both `override` and `unset` will overrule any computed variables while 435s `set` will be overruled by any computed variables. 435s 435s Note that these variables are not available via manifest substitution (they are only 435s visible to build commands). They are only available to build commands. 435s 435s - `default-build-environment` (optional): 435s 435s Define the environment variables used in all build commands that uses the default 435s environment. 435s 435s The environment definition can be used to tweak the environment variables used by the 435s build commands. An example: 435s 435s default-build-environment: 435s set: 435s ENV_VAR: foo 435s ANOTHER_ENV_VAR: bar 435s 435s The environment definition has multiple attributes for setting environment variables 435s which determines when the definition is applied. The resulting environment is the 435s result of the following order of operations. 435s 435s 1. The environment `debputy` received from its parent process. 435s 2. Apply all the variable definitions from `set` (if the attribute is present) 435s 3. Apply all computed variables (such as variables from `dpkg-buildflags`). 435s 4. Apply all the variable definitions from `override` (if the attribute is present) 435s 5. Remove all variables listed in `unset` (if the attribute is present). 435s 435s Accordingly, both `override` and `unset` will overrule any computed variables while 435s `set` will be overruled by any computed variables. 435s 435s Note that these variables are not available via manifest substitution (they are only 435s visible to build commands). They are only available to build commands. 435s 435s - `builds` (optional): 435s 435s Define how to build the upstream part of the package. Usually this is done via "build systems", 435s which also defines the clean rules. 435s 435s A simple example is: 435s 435s ```yaml 435s builds: 435s - autoconf: 435s configure-args: 435s - "--enable-foo" 435s - "--without=bar" 435s ``` 435s 435s Multiple builds are supported out of box. Here an example of how the build rules 435s for `libpam-krb5` might look. 435s 435s ```yaml 435s builds: 435s - autoconf: 435s for: libpam-krb5 435s install-directly-to-package: true 435s configure-args: 435s - "--enable-reduced-depends" 435s - "--with-krb5-include=/usr/include/mit-krb5" 435s - "--with-krb5-lib=/usr/lib/{{DEB_HOST_MULTIARCH}}/mit-krb5" 435s - "--with-kadm-client-include=/usr/include/mit-krb5" 435s - "--with-kadm-client-lib=/usr/lib/{{DEB_HOST_MULTIARCH}}/mit-krb5" 435s - autoconf: 435s for: libpam-heimdal 435s install-directly-to-package: true 435s configure-args: 435s - "--enable-reduced-depends" 435s - "--with-krb5-include=/usr/include/heimdal" 435s - "--with-krb5-lib=/usr/lib/{{DEB_HOST_MULTIARCH}}/heimdal" 435s - "--with-kadm-client-include=/usr/include/heimdal" 435s - "--with-kadm-client-lib=/usr/lib/{{DEB_HOST_MULTIARCH}}/heimdal" 435s ``` 435s 435s 435s Integration mode availability: any integration mode 435s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.76ubuntu1/MANIFEST-FORMAT.md 435s Rule reference: :: 435s 435s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 435s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 435s + debputy --no-pager plugin show manifest-variables DEB_SOURCE 436s Variable: DEB_SOURCE 436s ==================== 436s 436s Documentation: Name of the source package (`dpkg-parsechangelog -SSource`) 436s Resolved: debputy 436s Plugin: debputy 436s + debputy --no-pager plugin show manifest-variables token:TAB 437s Variable: token:TAB 437s =================== 437s 437s Documentation: Literal tab character 437s Resolved: \t 437s Plugin: debputy 437s + debputy --no-pager plugin show manifest-variables DEB_HOST_ARCH 437s Variable: DEB_HOST_ARCH 437s ======================= 437s 437s Documentation: Debian's name for the architecture (installed on) 437s This variable describes machine information used when the package is compiled and assembled. 437s * Machine type: The package will be **installed** on this type of machine / system 437s * Value description: Debian's name for the architecture 437s 437s The value is the output of: `dpkg-architecture -qDEB_HOST_ARCH` 437s Resolved: armhf 438s + debputy --no-pager plugin show manifest-variables DEB_BUILD_ARCH 438s Variable: DEB_BUILD_ARCH 438s ======================== 438s 438s Documentation: Debian's name for the architecture (compiled on) 438s This variable describes machine information used when the package is compiled and assembled. 438s * Machine type: The compilation of this package will be performed **on** this kind of machine / system 438s * Value description: Debian's name for the architecture 438s 438s The value is the output of: `dpkg-architecture -qDEB_BUILD_ARCH` 438s Resolved: armhf 438s Special-case: The variable has been marked as a "special-case"-only variable. 438s + debputy --no-pager plugin show automatic-discard-rules python-cache-files 439s Automatic Discard Rule: python-cache-files 439s ========================================== 439s 439s Discards any *.pyc, *.pyo files and any __pycache__ directories 439s 439s Example 439s ------- 439s 439s Consider the following source paths matched by a glob or directory match: 439s 439s /.../__pycache__/ << Discarded (directly by the rule) 439s /.../__pycache__/... << Discarded (directory was discarded) 439s /.../foo.py 439s /.../foo.pyc << Discarded (directly by the rule) 439s /.../foo.pyo << Discarded (directly by the rule) 439s + debputy --no-pager plugin show automatic-discard-rules la-files 439s Automatic Discard Rule: la-files 439s ================================ 439s 439s Discards any file with the extension .la beneath the directory /usr/lib 439s 439s Example 439s ------- 439s 439s Consider the following source paths matched by a glob or directory match: 439s 439s /usr/lib/libfoo.la << Discarded (directly by the rule) 439s /usr/lib/libfoo.so.1.0.0 439s + debputy --no-pager plugin show automatic-discard-rules backup-files 440s Automatic Discard Rule: backup-files 440s ==================================== 440s 440s Discards common back up files such as foo~, foo.bak or foo.orig 440s 440s Example 440s ------- 440s 440s Consider the following source paths matched by a glob or directory match: 440s 440s /.../.foo.sw. << Discarded (directly by the rule) 440s /.../DEADJOE << Discarded (directly by the rule) 440s /.../foo.orig << Discarded (directly by the rule) 440s /.../foo.rej << Discarded (directly by the rule) 440s /.../foo~ << Discarded (directly by the rule) 440s + debputy --no-pager plugin show automatic-discard-rules version-control-paths 441s Automatic Discard Rule: version-control-paths 441s ============================================= 441s 441s Discards common version control paths such as .git, .gitignore, CVS, etc. 441s 441s Example 441s ------- 441s 441s Consider the following source paths matched by a glob or directory match: 441s 441s /.../.git/ << Discarded (directly by the rule) 441s /.../.git/... << Discarded (directory was discarded) 441s /.../.gitattributes << Discarded (directly by the rule) 441s /.../.gitignore << Discarded (directly by the rule) 441s /.../CVS/ << Discarded (directly by the rule) 441s /.../CVS/... << Discarded (directory was discarded) 441s /tools/foo 441s + debputy --no-pager plugin show automatic-discard-rules gnu-info-dir-file 441s Automatic Discard Rule: gnu-info-dir-file 441s ========================================= 441s 441s Discards the /usr/share/info/dir file (causes package file conflicts) 441s 441s Example 441s ------- 441s 441s Consider the following source paths matched by a glob or directory match: 441s 441s /usr/share/info/dir << Discarded (directly by the rule) 441s /usr/share/info/dir.info 441s /usr/share/info/foo.info 441s /usr/share/random/case/dir 441s + debputy --no-pager plugin show automatic-discard-rules debian-dir 442s Automatic Discard Rule: debian-dir 442s ================================== 442s 442s (Implementation detail) Discards any DEBIAN directory to avoid it from appearing literally in the file listing 442s 442s Example 442s ------- 442s 442s Consider the following source paths matched by a glob or directory match: 442s 442s /DEBIAN/ << Discarded (directly by the rule) 442s /DEBIAN/control << Discarded (directory was discarded) 442s /usr/bin/foo 442s /usr/share/DEBIAN/foo 442s + debputy --no-pager plugin show automatic-discard-rules doxygen-cruft-files 442s Automatic Discard Rule: doxygen-cruft-files 442s =========================================== 442s 442s Discards cruft files generated by doxygen 442s 442s Example 442s ------- 442s 442s Consider the following source paths matched by a glob or directory match: 442s 442s /usr/share/doc/foo/api/.../cruft.map << Discarded (directly by the rule) 442s /usr/share/doc/foo/api/.../cruft.md5 << Discarded (directly by the rule) 442s /usr/share/doc/foo/api/doxygen.css 442s /usr/share/doc/foo/api/doxygen.svg 442s /usr/share/doc/foo/api/index.html 443s + debputy --no-pager tool-support annotate-debian-directory 443s {"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.76ubuntu1/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 444s {"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 444s +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 444s | key | description | 444s +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 444s | generated | The file is (likely) generated from another file | 444s | 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. | 444s | 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. | 444s | 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/`) | 444s | maint-config | Maintenance configuration for a specific tool that the maintainer uses (tool / style preferences) | 444s | pkg-metadata | The file is related to standard package metadata (usually documented in Debian Policy) | 444s | pkg-helper-config | The file is packaging helper configuration or instruction file | 444s | testing | The file is related to automated testing (autopkgtests, salsa/gitlab CI). | 444s | lint-config | The file is related to a linter (such as overrides for false-positives or style preferences) | 444s +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 444s 444s If you wanted this as JSON, please use --output-format=json 445s autopkgtest [17:25:43]: test debputy-cli: -----------------------] 449s autopkgtest [17:25:47]: test debputy-cli: - - - - - - - - - - results - - - - - - - - - - 449s debputy-cli PASS (superficial) 453s autopkgtest [17:25:51]: test debputy-cli-lint-lsp: preparing testbed 454s Reading package lists... 455s Building dependency tree... 455s Reading state information... 455s Solving dependencies... 456s The following NEW packages will be installed: 456s python3-cattr python3-lsprotocol 457s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 457s Need to get 102 kB of archives. 457s After this operation, 803 kB of additional disk space will be used. 457s Get:1 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-cattr all 24.1.2-1 [43.6 kB] 457s Get:2 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-lsprotocol all 2023.0.1-1 [58.3 kB] 458s Fetched 102 kB in 0s (232 kB/s) 458s Selecting previously unselected package python3-cattr. 458s (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 ... 69245 files and directories currently installed.) 458s Preparing to unpack .../python3-cattr_24.1.2-1_all.deb ... 458s Unpacking python3-cattr (24.1.2-1) ... 458s Selecting previously unselected package python3-lsprotocol. 458s Preparing to unpack .../python3-lsprotocol_2023.0.1-1_all.deb ... 458s Unpacking python3-lsprotocol (2023.0.1-1) ... 458s Setting up python3-cattr (24.1.2-1) ... 458s Setting up python3-lsprotocol (2023.0.1-1) ... 466s autopkgtest [17:26:04]: test debputy-cli-lint-lsp: [----------------------- 468s + debputy lint --linter-exit-code 470s debputy: info: Note: Due to a limitation in the linter, debian/debputy.manifest is 470s debputy: info: only **partially** checked by this command at the time of writing. 470s debputy: info: Please use `debputy check-manifest` to fully check the manifest. 471s + debputy lint --no-linter-exit-code 473s debputy: info: Note: Due to a limitation in the linter, debian/debputy.manifest is 473s debputy: info: only **partially** checked by this command at the time of writing. 473s debputy: info: Please use `debputy check-manifest` to fully check the manifest. 473s + debputy reformat --no-linter-exit-code --no-auto-fix 475s + debputy lsp editor-config 475s This version of debputy has instructions or editor config snippets for the following editors: 475s 475s * emacs (short for: emacs+eglot) 475s * emacs+eglot 475s * vim (short for: vim+youcompleteme) 475s * vim+youcompleteme 475s * vim+vim9lsp 475s * neovim (short for: neovim+nvim-lspconfig) 475s * neovim+nvim-lspconfig 475s 475s Use `debputy lsp editor-config neovim+nvim-lspconfig` (as an example) to see the instructions for a concrete editor. 476s + debputy lsp editor-config emacs 476s ;; `deputy lsp server` glue for emacs eglot (eglot is built-in these days) 476s ;; 476s ;; Add to ~/.emacs or ~/.emacs.d/init.el and then activate via `M-x eglot`. 476s ;; 476s ;; Requires: apt install elpa-dpkg-dev-el elpa-yaml-mode 476s ;; Recommends: apt install elpa-markdown-mode 476s 476s ;; Make emacs recognize debian/debputy.manifest as a YAML file 476s (add-to-list 'auto-mode-alist '("/debian/debputy.manifest\'" . yaml-mode)) 476s ;; Inform eglot about the debputy LSP 476s (with-eval-after-load 'eglot 476s (add-to-list 'eglot-server-programs 476s '( 476s ( 476s ;; Requires elpa-dpkg-dev-el (>= 37.12) 476s (debian-autopkgtest-control-mode :language-id "debian/tests/control") 476s ;; Requires elpa-dpkg-dev-el 476s (debian-control-mode :language-id "debian/control") 476s (debian-changelog-mode :language-id "debian/changelog") 476s (debian-copyright-mode :language-id "debian/copyright") 476s ;; No language id for these atm. 476s makefile-gmake-mode 476s ;; Requires elpa-yaml-mode 476s yaml-mode 476s ) 476s . ("debputy" "lsp" "server") 476s ))) 476s 476s ;; Auto-start eglot for the relevant modes. 476s (add-hook 'debian-control-mode-hook 'eglot-ensure) 476s ;; Requires elpa-dpkg-dev-el (>= 37.12) 476s ;; Technically, the `eglot-ensure` works before then, but it causes a 476s ;; visible and very annoying long delay on opening the first changelog. 476s ;; It still has a minor delay in 37.12, which may still be too long for 476s ;; for your preference. In that case, comment it out. 476s (add-hook 'debian-changelog-mode-hook 'eglot-ensure) 476s (add-hook 'debian-copyright-mode-hook 'eglot-ensure) 476s ;; Requires elpa-dpkg-dev-el (>= 37.12) 476s (add-hook 'debian-autopkgtest-control-mode-hook 'eglot-ensure) 476s (add-hook 'makefile-gmake-mode-hook 'eglot-ensure) 476s (add-hook 'yaml-mode-hook 'eglot-ensure) 476s 476s + debputy lsp editor-config emacs+eglot 477s ;; `deputy lsp server` glue for emacs eglot (eglot is built-in these days) 477s ;; 477s ;; Add to ~/.emacs or ~/.emacs.d/init.el and then activate via `M-x eglot`. 477s ;; 477s ;; Requires: apt install elpa-dpkg-dev-el elpa-yaml-mode 477s ;; Recommends: apt install elpa-markdown-mode 477s 477s ;; Make emacs recognize debian/debputy.manifest as a YAML file 477s (add-to-list 'auto-mode-alist '("/debian/debputy.manifest\'" . yaml-mode)) 477s ;; Inform eglot about the debputy LSP 477s (with-eval-after-load 'eglot 477s (add-to-list 'eglot-server-programs 477s '( 477s ( 477s ;; Requires elpa-dpkg-dev-el (>= 37.12) 477s (debian-autopkgtest-control-mode :language-id "debian/tests/control") 477s ;; Requires elpa-dpkg-dev-el 477s (debian-control-mode :language-id "debian/control") 477s (debian-changelog-mode :language-id "debian/changelog") 477s (debian-copyright-mode :language-id "debian/copyright") 477s ;; No language id for these atm. 477s makefile-gmake-mode 477s ;; Requires elpa-yaml-mode 477s yaml-mode 477s ) 477s . ("debputy" "lsp" "server") 477s ))) 477s 477s ;; Auto-start eglot for the relevant modes. 477s (add-hook 'debian-control-mode-hook 'eglot-ensure) 477s ;; Requires elpa-dpkg-dev-el (>= 37.12) 477s ;; Technically, the `eglot-ensure` works before then, but it causes a 477s ;; visible and very annoying long delay on opening the first changelog. 477s ;; It still has a minor delay in 37.12, which may still be too long for 477s ;; for your preference. In that case, comment it out. 477s (add-hook 'debian-changelog-mode-hook 'eglot-ensure) 477s (add-hook 'debian-copyright-mode-hook 'eglot-ensure) 477s ;; Requires elpa-dpkg-dev-el (>= 37.12) 477s (add-hook 'debian-autopkgtest-control-mode-hook 'eglot-ensure) 477s (add-hook 'makefile-gmake-mode-hook 'eglot-ensure) 477s (add-hook 'yaml-mode-hook 'eglot-ensure) 477s 477s + debputy lsp editor-config vim 477s # debputy lsp server glue for vim with vim-youcompleteme. Add to ~/.vimrc 477s # 477s # Requires: apt install vim-youcompleteme 477s # - Your vim **MUST** be a provider of `vim-python3` (`vim-nox`/`vim-gtk`, etc.) 477s 477s # Make vim recognize debputy.manifest as YAML file 477s au BufNewFile,BufRead debputy.manifest setf yaml 477s # Inform vim/ycm about the debputy LSP 477s # - NB: No known support for debian/tests/control that we can hook into. 477s # Feel free to provide one :) 477s let g:ycm_language_server = [ 477s \ { 'name': 'debputy', 477s \ 'filetypes': [ 'debcontrol', 'debcopyright', 'debchangelog', 'autopkgtest', 'make', 'yaml'], 477s \ 'cmdline': [ 'debputy', 'lsp', 'server', '--ignore-language-ids' ] 477s \ }, 477s \ ] 477s 477s packadd! youcompleteme 477s # Add relevant ycm keybinding such as: 477s # nmap d (YCMHover) 477s 478s autopkgtest [17:26:16]: test debputy-cli-lint-lsp: -----------------------] 483s autopkgtest [17:26:21]: test debputy-cli-lint-lsp: - - - - - - - - - - results - - - - - - - - - - 483s debputy-cli-lint-lsp PASS (superficial) 487s autopkgtest [17:26:25]: test debputy-cli-lsp: preparing testbed 489s Reading package lists... 489s Building dependency tree... 489s Reading state information... 489s Solving dependencies... 490s The following NEW packages will be installed: 490s python3-pygls 490s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 490s Need to get 36.6 kB of archives. 490s After this operation, 266 kB of additional disk space will be used. 490s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf python3-pygls all 1.3.0-4 [36.6 kB] 491s Fetched 36.6 kB in 0s (116 kB/s) 491s Selecting previously unselected package python3-pygls. 491s (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 ... 69318 files and directories currently installed.) 491s Preparing to unpack .../python3-pygls_1.3.0-4_all.deb ... 491s Unpacking python3-pygls (1.3.0-4) ... 491s Setting up python3-pygls (1.3.0-4) ... 500s autopkgtest [17:26:38]: test debputy-cli-lsp: [----------------------- 502s + debputy lsp features 503s LSP language IDs and their features: 503s * : 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - inlay hint (doc) 503s - format file handler 503s * autopkgtest: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - format file handler 503s * dch: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - on-save handler 503s * debchangelog: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - on-save handler 503s * debcontrol: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - inlay hint (doc) 503s - format file handler 503s * debcopyright: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - format file handler 503s * debian-autopkgtest-control-mode: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - format file handler 503s * debian-changelog: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - on-save handler 503s * debian-control: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - inlay hint (doc) 503s - format file handler 503s * debian-copyright: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - format file handler 503s * debian-watch: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - format file handler 503s * debian/changelog: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - on-save handler 503s * debian/control: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - inlay hint (doc) 503s - format file handler 503s * debian/copyright: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - format file handler 503s * debian/debputy.manifest: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - on-save handler 503s * debian/patches/series: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - semantic tokens 503s - on-save handler 503s * debian/rules: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - on-save handler 503s * debian/tests/control: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - format file handler 503s * debian/upstream/metadata: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - on-save handler 503s * debian/watch: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - format file handler 503s * debputy-config.yaml: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - on-save handler 503s * debputy.manifest: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - on-save handler 503s * debwatch: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - folding ranges 503s - semantic tokens 503s - on-save handler 503s - format file handler 503s * make: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - on-save handler 503s * makefile: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - on-save handler 503s * makefile-gmake: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - on-save handler 503s * patches/series: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - semantic tokens 503s - on-save handler 503s * yaml: 503s - diagnostics (lint) 503s - code actions/quickfixes 503s - completion suggestions 503s - hover docs 503s - on-save handler 503s 503s Aliases: 503s 503s General features: 503s * minimum requirements: missing 503s - Run `apt satisfy 'python3-lsprotocol, python3-pygls'` to fix this issue 503s * typo detection: disabled 503s - Run `apt satisfy 'python3-levenshtein'` to enable this feature 503s * spell checking: disabled 503s - Run `apt satisfy 'hunspell-en-us, python3-hunspell'` to enable this feature 503s * extra dh support: enabled 503s * apt cache packages: enabled 504s + debputy lsp server 505s debputy: error: Cannot start the language server. Missing dependencies. Run `apt satisfy 'python3-lsprotocol, python3-pygls'` to fix this issue 505s autopkgtest [17:26:43]: test debputy-cli-lsp: -----------------------] 509s autopkgtest [17:26:47]: test debputy-cli-lsp: - - - - - - - - - - results - - - - - - - - - - 509s debputy-cli-lsp FAIL non-zero exit status 1 513s autopkgtest [17:26:51]: @@@@@@@@@@@@@@@@@@@@ summary 513s debputy-py.test PASS 513s debputy-cli PASS (superficial) 513s debputy-cli-lint-lsp PASS (superficial) 513s debputy-cli-lsp FAIL non-zero exit status 1