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