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