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