0s autopkgtest [00:18:19]: starting date and time: 2024-06-08 00:18:19+0000 0s autopkgtest [00:18:19]: git checkout: 433ed4cb Merge branch 'skia/nova_flock' into 'ubuntu/5.34+prod' 0s autopkgtest [00:18:19]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.k5sc36xk/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:pytest,src:astropy --apt-upgrade debputy --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=pytest/8.2.2-1ubuntu1 astropy/6.0.1-4' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@lcy02-77.secgroup --name adt-oracular-amd64-debputy-20240608-001819-juju-7f2275-prod-proposed-migration-environment-3-7db28287-b197-4002-ba0a-c2ffe4ff2d5d --image adt/ubuntu-oracular-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 118s autopkgtest [00:20:17]: testbed dpkg architecture: amd64 118s autopkgtest [00:20:17]: testbed apt version: 2.9.3 118s autopkgtest [00:20:17]: @@@@@@@@@@@@@@@@@@@@ test bed setup 118s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [110 kB] 118s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [44.3 kB] 118s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [339 kB] 118s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [2852 B] 118s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [7972 B] 118s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main i386 Packages [37.8 kB] 118s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 Packages [65.6 kB] 118s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted i386 Packages [9340 B] 118s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 Packages [27.4 kB] 118s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 Packages [300 kB] 118s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe i386 Packages [124 kB] 118s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse i386 Packages [3368 B] 118s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 Packages [9280 B] 119s Fetched 1081 kB in 0s (4212 kB/s) 119s Reading package lists... 120s Reading package lists... 121s Building dependency tree... 121s Reading state information... 121s Calculating upgrade... 121s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 121s Reading package lists... 122s Building dependency tree... 122s Reading state information... 122s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 122s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 122s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 122s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 122s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 123s Reading package lists... 123s Reading package lists... 124s Building dependency tree... 124s Reading state information... 124s Calculating upgrade... 124s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 124s Reading package lists... 125s Building dependency tree... 125s Reading state information... 125s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 126s autopkgtest [00:20:25]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 126s autopkgtest [00:20:25]: @@@@@@@@@@@@@@@@@@@@ apt-source debputy 127s Get:1 http://ftpmaster.internal/ubuntu oracular/universe debputy 0.1.35 (dsc) [1868 B] 127s Get:2 http://ftpmaster.internal/ubuntu oracular/universe debputy 0.1.35 (tar) [426 kB] 127s gpgv: Signature made Wed Jun 5 17:56:27 2024 UTC 127s gpgv: using RSA key F5E7199AEF5E5C67E555873F740D68888365D289 127s gpgv: Can't check signature: No public key 127s dpkg-source: warning: cannot verify inline signature for ./debputy_0.1.35.dsc: no acceptable signature found 127s autopkgtest [00:20:26]: testing package debputy version 0.1.35 127s autopkgtest [00:20:26]: build not needed 127s autopkgtest [00:20:26]: test debputy-py.test: preparing testbed 128s Reading package lists... 128s Building dependency tree... 128s Reading state information... 129s Starting pkgProblemResolver with broken count: 0 129s Starting 2 pkgProblemResolver with broken count: 0 129s Done 129s The following additional packages will be installed: 129s autoconf automake autopoint autotools-dev cpp cpp-13 cpp-13-x86-64-linux-gnu 129s cpp-x86-64-linux-gnu debhelper debugedit dh-autoreconf dh-debputy 129s dh-strip-nondeterminism dwz gcc gcc-13 gcc-13-base gcc-13-x86-64-linux-gnu 129s gcc-x86-64-linux-gnu gettext intltool-debian libarchive-zip-perl libasan8 129s libatomic1 libcc1-0 libdebhelper-perl libfile-stripnondeterminism-perl 129s libgcc-13-dev libgomp1 libhwasan0 libisl23 libitm1 liblsan0 libmpc3 129s libquadmath0 libtool libtsan2 libubsan1 m4 po-debconf python3-all 129s python3-cattr python3-colored python3-colorlog python3-debian 129s python3-iniconfig python3-lsprotocol python3-packaging python3-pluggy 129s python3-pytest python3-ruyaml strip-nondeterminism 129s Suggested packages: 129s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-13-locales 129s cpp-13-doc dh-make hunspell-en-us python3-hunspell python3-junit.xml 129s python3-levenshtein python3-pygls gcc-multilib manpages-dev flex bison gdb 129s gcc-doc gcc-13-multilib gcc-13-doc gdb-x86-64-linux-gnu gettext-doc 129s libasprintf-dev libgettextpo-dev libtool-doc gfortran | fortran95-compiler 129s gcj-jdk m4-doc libmail-box-perl python-ruamel-doc 129s Recommended packages: 129s python3-argcomplete libarchive-cpio-perl libltdl-dev libmail-sendmail-perl 130s The following NEW packages will be installed: 130s autoconf automake autopkgtest-satdep autopoint autotools-dev cpp cpp-13 130s cpp-13-x86-64-linux-gnu cpp-x86-64-linux-gnu debhelper debugedit 130s dh-autoreconf dh-debputy dh-strip-nondeterminism dwz gcc gcc-13 gcc-13-base 130s gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu gettext intltool-debian 130s libarchive-zip-perl libasan8 libatomic1 libcc1-0 libdebhelper-perl 130s libfile-stripnondeterminism-perl libgcc-13-dev libgomp1 libhwasan0 libisl23 130s libitm1 liblsan0 libmpc3 libquadmath0 libtool libtsan2 libubsan1 m4 130s po-debconf python3-all python3-cattr python3-colored python3-colorlog 130s python3-debian python3-iniconfig python3-lsprotocol python3-packaging 130s python3-pluggy python3-pytest python3-ruyaml strip-nondeterminism 130s 0 upgraded, 53 newly installed, 0 to remove and 0 not upgraded. 130s Need to get 52.5 MB/52.5 MB of archives. 130s After this operation, 181 MB of additional disk space will be used. 130s Get:1 /tmp/autopkgtest.9CbZrT/1-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [740 B] 130s Get:2 http://ftpmaster.internal/ubuntu oracular/main amd64 m4 amd64 1.4.19-4build1 [244 kB] 130s Get:3 http://ftpmaster.internal/ubuntu oracular/main amd64 autoconf all 2.71-3 [339 kB] 130s Get:4 http://ftpmaster.internal/ubuntu oracular/main amd64 autotools-dev all 20220109.1 [44.9 kB] 130s Get:5 http://ftpmaster.internal/ubuntu oracular/main amd64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] 130s Get:6 http://ftpmaster.internal/ubuntu oracular/main amd64 autopoint all 0.21-14ubuntu2 [422 kB] 130s Get:7 http://ftpmaster.internal/ubuntu oracular/main amd64 gcc-13-base amd64 13.2.0-23ubuntu4 [49.0 kB] 130s Get:8 http://ftpmaster.internal/ubuntu oracular/main amd64 libisl23 amd64 0.26-3build1 [680 kB] 130s Get:9 http://ftpmaster.internal/ubuntu oracular/main amd64 libmpc3 amd64 1.3.1-1build1 [54.5 kB] 130s Get:10 http://ftpmaster.internal/ubuntu oracular/main amd64 cpp-13-x86-64-linux-gnu amd64 13.2.0-23ubuntu4 [11.2 MB] 130s Get:11 http://ftpmaster.internal/ubuntu oracular/main amd64 cpp-13 amd64 13.2.0-23ubuntu4 [1032 B] 130s Get:12 http://ftpmaster.internal/ubuntu oracular/main amd64 cpp-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [5326 B] 130s Get:13 http://ftpmaster.internal/ubuntu oracular/main amd64 cpp amd64 4:13.2.0-7ubuntu1 [22.4 kB] 130s Get:14 http://ftpmaster.internal/ubuntu oracular/main amd64 libdebhelper-perl all 13.14.1ubuntu5 [89.8 kB] 130s Get:15 http://ftpmaster.internal/ubuntu oracular/main amd64 libcc1-0 amd64 14.1.0-1ubuntu1 [48.0 kB] 130s Get:16 http://ftpmaster.internal/ubuntu oracular/main amd64 libgomp1 amd64 14.1.0-1ubuntu1 [148 kB] 130s Get:17 http://ftpmaster.internal/ubuntu oracular/main amd64 libitm1 amd64 14.1.0-1ubuntu1 [29.1 kB] 130s Get:18 http://ftpmaster.internal/ubuntu oracular/main amd64 libatomic1 amd64 14.1.0-1ubuntu1 [10.4 kB] 130s Get:19 http://ftpmaster.internal/ubuntu oracular/main amd64 libasan8 amd64 14.1.0-1ubuntu1 [3025 kB] 130s Get:20 http://ftpmaster.internal/ubuntu oracular/main amd64 liblsan0 amd64 14.1.0-1ubuntu1 [1313 kB] 130s Get:21 http://ftpmaster.internal/ubuntu oracular/main amd64 libtsan2 amd64 14.1.0-1ubuntu1 [2736 kB] 130s Get:22 http://ftpmaster.internal/ubuntu oracular/main amd64 libubsan1 amd64 14.1.0-1ubuntu1 [1174 kB] 130s Get:23 http://ftpmaster.internal/ubuntu oracular/main amd64 libhwasan0 amd64 14.1.0-1ubuntu1 [1632 kB] 130s Get:24 http://ftpmaster.internal/ubuntu oracular/main amd64 libquadmath0 amd64 14.1.0-1ubuntu1 [153 kB] 130s Get:25 http://ftpmaster.internal/ubuntu oracular/main amd64 libgcc-13-dev amd64 13.2.0-23ubuntu4 [2688 kB] 130s Get:26 http://ftpmaster.internal/ubuntu oracular/main amd64 gcc-13-x86-64-linux-gnu amd64 13.2.0-23ubuntu4 [21.9 MB] 130s Get:27 http://ftpmaster.internal/ubuntu oracular/main amd64 gcc-13 amd64 13.2.0-23ubuntu4 [482 kB] 130s Get:28 http://ftpmaster.internal/ubuntu oracular/main amd64 gcc-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [1212 B] 130s Get:29 http://ftpmaster.internal/ubuntu oracular/main amd64 gcc amd64 4:13.2.0-7ubuntu1 [5018 B] 130s Get:30 http://ftpmaster.internal/ubuntu oracular/main amd64 libtool all 2.4.7-7build1 [166 kB] 130s Get:31 http://ftpmaster.internal/ubuntu oracular/main amd64 dh-autoreconf all 20 [16.1 kB] 130s Get:32 http://ftpmaster.internal/ubuntu oracular/main amd64 libarchive-zip-perl all 1.68-1 [90.2 kB] 130s Get:33 http://ftpmaster.internal/ubuntu oracular/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 130s Get:34 http://ftpmaster.internal/ubuntu oracular/main amd64 dh-strip-nondeterminism all 1.14.0-1 [5058 B] 130s Get:35 http://ftpmaster.internal/ubuntu oracular/main amd64 debugedit amd64 1:5.0-5build2 [46.1 kB] 130s Get:36 http://ftpmaster.internal/ubuntu oracular/main amd64 dwz amd64 0.15-1build6 [115 kB] 130s Get:37 http://ftpmaster.internal/ubuntu oracular/main amd64 gettext amd64 0.21-14ubuntu2 [864 kB] 130s Get:38 http://ftpmaster.internal/ubuntu oracular/main amd64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 130s Get:39 http://ftpmaster.internal/ubuntu oracular/main amd64 po-debconf all 1.0.21+nmu1 [233 kB] 130s Get:40 http://ftpmaster.internal/ubuntu oracular/main amd64 debhelper all 13.14.1ubuntu5 [869 kB] 130s Get:41 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-colored all 2.2.3-1 [14.0 kB] 130s Get:42 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-colorlog all 6.8.2-1 [21.4 kB] 130s Get:43 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-debian all 0.1.49ubuntu2 [115 kB] 130s Get:44 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruyaml all 0.91.0-3 [107 kB] 130s Get:45 http://ftpmaster.internal/ubuntu oracular/universe amd64 strip-nondeterminism all 1.14.0-1 [5552 B] 130s Get:46 http://ftpmaster.internal/ubuntu oracular/universe amd64 dh-debputy all 0.1.35 [407 kB] 130s Get:47 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-all amd64 3.12.3-0ubuntu1 [888 B] 130s Get:48 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-cattr all 23.2.3-1 [38.1 kB] 130s Get:49 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 130s Get:50 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-lsprotocol all 2023.0.0-1 [58.3 kB] 130s Get:51 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-packaging all 24.0-1 [41.1 kB] 130s Get:52 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 130s Get:53 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 python3-pytest all 8.2.2-1ubuntu1 [250 kB] 131s Fetched 52.5 MB in 1s (97.2 MB/s) 131s Selecting previously unselected package m4. 131s (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 ... 74365 files and directories currently installed.) 131s Preparing to unpack .../00-m4_1.4.19-4build1_amd64.deb ... 131s Unpacking m4 (1.4.19-4build1) ... 131s Selecting previously unselected package autoconf. 131s Preparing to unpack .../01-autoconf_2.71-3_all.deb ... 131s Unpacking autoconf (2.71-3) ... 131s Selecting previously unselected package autotools-dev. 131s Preparing to unpack .../02-autotools-dev_20220109.1_all.deb ... 131s Unpacking autotools-dev (20220109.1) ... 131s Selecting previously unselected package automake. 131s Preparing to unpack .../03-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 131s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 131s Selecting previously unselected package autopoint. 131s Preparing to unpack .../04-autopoint_0.21-14ubuntu2_all.deb ... 131s Unpacking autopoint (0.21-14ubuntu2) ... 131s Selecting previously unselected package gcc-13-base:amd64. 131s Preparing to unpack .../05-gcc-13-base_13.2.0-23ubuntu4_amd64.deb ... 131s Unpacking gcc-13-base:amd64 (13.2.0-23ubuntu4) ... 131s Selecting previously unselected package libisl23:amd64. 131s Preparing to unpack .../06-libisl23_0.26-3build1_amd64.deb ... 131s Unpacking libisl23:amd64 (0.26-3build1) ... 131s Selecting previously unselected package libmpc3:amd64. 131s Preparing to unpack .../07-libmpc3_1.3.1-1build1_amd64.deb ... 131s Unpacking libmpc3:amd64 (1.3.1-1build1) ... 131s Selecting previously unselected package cpp-13-x86-64-linux-gnu. 131s Preparing to unpack .../08-cpp-13-x86-64-linux-gnu_13.2.0-23ubuntu4_amd64.deb ... 131s Unpacking cpp-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ... 131s Selecting previously unselected package cpp-13. 131s Preparing to unpack .../09-cpp-13_13.2.0-23ubuntu4_amd64.deb ... 131s Unpacking cpp-13 (13.2.0-23ubuntu4) ... 131s Selecting previously unselected package cpp-x86-64-linux-gnu. 131s Preparing to unpack .../10-cpp-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 131s Unpacking cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 132s Selecting previously unselected package cpp. 132s Preparing to unpack .../11-cpp_4%3a13.2.0-7ubuntu1_amd64.deb ... 132s Unpacking cpp (4:13.2.0-7ubuntu1) ... 132s Selecting previously unselected package libdebhelper-perl. 132s Preparing to unpack .../12-libdebhelper-perl_13.14.1ubuntu5_all.deb ... 132s Unpacking libdebhelper-perl (13.14.1ubuntu5) ... 132s Selecting previously unselected package libcc1-0:amd64. 132s Preparing to unpack .../13-libcc1-0_14.1.0-1ubuntu1_amd64.deb ... 132s Unpacking libcc1-0:amd64 (14.1.0-1ubuntu1) ... 132s Selecting previously unselected package libgomp1:amd64. 132s Preparing to unpack .../14-libgomp1_14.1.0-1ubuntu1_amd64.deb ... 132s Unpacking libgomp1:amd64 (14.1.0-1ubuntu1) ... 132s Selecting previously unselected package libitm1:amd64. 132s Preparing to unpack .../15-libitm1_14.1.0-1ubuntu1_amd64.deb ... 132s Unpacking libitm1:amd64 (14.1.0-1ubuntu1) ... 132s Selecting previously unselected package libatomic1:amd64. 132s Preparing to unpack .../16-libatomic1_14.1.0-1ubuntu1_amd64.deb ... 132s Unpacking libatomic1:amd64 (14.1.0-1ubuntu1) ... 132s Selecting previously unselected package libasan8:amd64. 132s Preparing to unpack .../17-libasan8_14.1.0-1ubuntu1_amd64.deb ... 132s Unpacking libasan8:amd64 (14.1.0-1ubuntu1) ... 132s Selecting previously unselected package liblsan0:amd64. 132s Preparing to unpack .../18-liblsan0_14.1.0-1ubuntu1_amd64.deb ... 132s Unpacking liblsan0:amd64 (14.1.0-1ubuntu1) ... 132s Selecting previously unselected package libtsan2:amd64. 132s Preparing to unpack .../19-libtsan2_14.1.0-1ubuntu1_amd64.deb ... 132s Unpacking libtsan2:amd64 (14.1.0-1ubuntu1) ... 132s Selecting previously unselected package libubsan1:amd64. 132s Preparing to unpack .../20-libubsan1_14.1.0-1ubuntu1_amd64.deb ... 132s Unpacking libubsan1:amd64 (14.1.0-1ubuntu1) ... 132s Selecting previously unselected package libhwasan0:amd64. 132s Preparing to unpack .../21-libhwasan0_14.1.0-1ubuntu1_amd64.deb ... 132s Unpacking libhwasan0:amd64 (14.1.0-1ubuntu1) ... 132s Selecting previously unselected package libquadmath0:amd64. 132s Preparing to unpack .../22-libquadmath0_14.1.0-1ubuntu1_amd64.deb ... 132s Unpacking libquadmath0:amd64 (14.1.0-1ubuntu1) ... 132s Selecting previously unselected package libgcc-13-dev:amd64. 132s Preparing to unpack .../23-libgcc-13-dev_13.2.0-23ubuntu4_amd64.deb ... 132s Unpacking libgcc-13-dev:amd64 (13.2.0-23ubuntu4) ... 132s Selecting previously unselected package gcc-13-x86-64-linux-gnu. 132s Preparing to unpack .../24-gcc-13-x86-64-linux-gnu_13.2.0-23ubuntu4_amd64.deb ... 132s Unpacking gcc-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ... 133s Selecting previously unselected package gcc-13. 133s Preparing to unpack .../25-gcc-13_13.2.0-23ubuntu4_amd64.deb ... 133s Unpacking gcc-13 (13.2.0-23ubuntu4) ... 133s Selecting previously unselected package gcc-x86-64-linux-gnu. 133s Preparing to unpack .../26-gcc-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 133s Unpacking gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 133s Selecting previously unselected package gcc. 133s Preparing to unpack .../27-gcc_4%3a13.2.0-7ubuntu1_amd64.deb ... 133s Unpacking gcc (4:13.2.0-7ubuntu1) ... 133s Selecting previously unselected package libtool. 133s Preparing to unpack .../28-libtool_2.4.7-7build1_all.deb ... 133s Unpacking libtool (2.4.7-7build1) ... 133s Selecting previously unselected package dh-autoreconf. 133s Preparing to unpack .../29-dh-autoreconf_20_all.deb ... 133s Unpacking dh-autoreconf (20) ... 133s Selecting previously unselected package libarchive-zip-perl. 133s Preparing to unpack .../30-libarchive-zip-perl_1.68-1_all.deb ... 133s Unpacking libarchive-zip-perl (1.68-1) ... 133s Selecting previously unselected package libfile-stripnondeterminism-perl. 133s Preparing to unpack .../31-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 133s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 133s Selecting previously unselected package dh-strip-nondeterminism. 133s Preparing to unpack .../32-dh-strip-nondeterminism_1.14.0-1_all.deb ... 133s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 133s Selecting previously unselected package debugedit. 133s Preparing to unpack .../33-debugedit_1%3a5.0-5build2_amd64.deb ... 133s Unpacking debugedit (1:5.0-5build2) ... 133s Selecting previously unselected package dwz. 133s Preparing to unpack .../34-dwz_0.15-1build6_amd64.deb ... 133s Unpacking dwz (0.15-1build6) ... 133s Selecting previously unselected package gettext. 133s Preparing to unpack .../35-gettext_0.21-14ubuntu2_amd64.deb ... 133s Unpacking gettext (0.21-14ubuntu2) ... 133s Selecting previously unselected package intltool-debian. 133s Preparing to unpack .../36-intltool-debian_0.35.0+20060710.6_all.deb ... 133s Unpacking intltool-debian (0.35.0+20060710.6) ... 133s Selecting previously unselected package po-debconf. 133s Preparing to unpack .../37-po-debconf_1.0.21+nmu1_all.deb ... 133s Unpacking po-debconf (1.0.21+nmu1) ... 133s Selecting previously unselected package debhelper. 133s Preparing to unpack .../38-debhelper_13.14.1ubuntu5_all.deb ... 133s Unpacking debhelper (13.14.1ubuntu5) ... 133s Selecting previously unselected package python3-colored. 133s Preparing to unpack .../39-python3-colored_2.2.3-1_all.deb ... 133s Unpacking python3-colored (2.2.3-1) ... 133s Selecting previously unselected package python3-colorlog. 133s Preparing to unpack .../40-python3-colorlog_6.8.2-1_all.deb ... 133s Unpacking python3-colorlog (6.8.2-1) ... 133s Selecting previously unselected package python3-debian. 133s Preparing to unpack .../41-python3-debian_0.1.49ubuntu2_all.deb ... 133s Unpacking python3-debian (0.1.49ubuntu2) ... 133s Selecting previously unselected package python3-ruyaml. 133s Preparing to unpack .../42-python3-ruyaml_0.91.0-3_all.deb ... 133s Unpacking python3-ruyaml (0.91.0-3) ... 133s Selecting previously unselected package strip-nondeterminism. 133s Preparing to unpack .../43-strip-nondeterminism_1.14.0-1_all.deb ... 133s Unpacking strip-nondeterminism (1.14.0-1) ... 133s Selecting previously unselected package dh-debputy. 133s Preparing to unpack .../44-dh-debputy_0.1.35_all.deb ... 133s Unpacking dh-debputy (0.1.35) ... 134s Selecting previously unselected package python3-all. 134s Preparing to unpack .../45-python3-all_3.12.3-0ubuntu1_amd64.deb ... 134s Unpacking python3-all (3.12.3-0ubuntu1) ... 134s Selecting previously unselected package python3-cattr. 134s Preparing to unpack .../46-python3-cattr_23.2.3-1_all.deb ... 134s Unpacking python3-cattr (23.2.3-1) ... 134s Selecting previously unselected package python3-iniconfig. 134s Preparing to unpack .../47-python3-iniconfig_1.1.1-2_all.deb ... 134s Unpacking python3-iniconfig (1.1.1-2) ... 134s Selecting previously unselected package python3-lsprotocol. 134s Preparing to unpack .../48-python3-lsprotocol_2023.0.0-1_all.deb ... 134s Unpacking python3-lsprotocol (2023.0.0-1) ... 134s Selecting previously unselected package python3-packaging. 134s Preparing to unpack .../49-python3-packaging_24.0-1_all.deb ... 134s Unpacking python3-packaging (24.0-1) ... 134s Selecting previously unselected package python3-pluggy. 134s Preparing to unpack .../50-python3-pluggy_1.5.0-1_all.deb ... 134s Unpacking python3-pluggy (1.5.0-1) ... 134s Selecting previously unselected package python3-pytest. 134s Preparing to unpack .../51-python3-pytest_8.2.2-1ubuntu1_all.deb ... 134s Unpacking python3-pytest (8.2.2-1ubuntu1) ... 134s Selecting previously unselected package autopkgtest-satdep. 134s Preparing to unpack .../52-1-autopkgtest-satdep.deb ... 134s Unpacking autopkgtest-satdep (0) ... 134s Setting up python3-iniconfig (1.1.1-2) ... 134s Setting up python3-colorlog (6.8.2-1) ... 134s Setting up libarchive-zip-perl (1.68-1) ... 134s Setting up libdebhelper-perl (13.14.1ubuntu5) ... 134s Setting up m4 (1.4.19-4build1) ... 134s Setting up python3-all (3.12.3-0ubuntu1) ... 134s Setting up libgomp1:amd64 (14.1.0-1ubuntu1) ... 134s Setting up autotools-dev (20220109.1) ... 134s Setting up python3-packaging (24.0-1) ... 134s Setting up gcc-13-base:amd64 (13.2.0-23ubuntu4) ... 134s Setting up python3-cattr (23.2.3-1) ... 134s Setting up python3-debian (0.1.49ubuntu2) ... 135s Setting up libquadmath0:amd64 (14.1.0-1ubuntu1) ... 135s Setting up libmpc3:amd64 (1.3.1-1build1) ... 135s Setting up libatomic1:amd64 (14.1.0-1ubuntu1) ... 135s Setting up autopoint (0.21-14ubuntu2) ... 135s Setting up autoconf (2.71-3) ... 135s Setting up python3-pluggy (1.5.0-1) ... 135s Setting up libubsan1:amd64 (14.1.0-1ubuntu1) ... 135s Setting up dwz (0.15-1build6) ... 135s Setting up libhwasan0:amd64 (14.1.0-1ubuntu1) ... 135s Setting up libasan8:amd64 (14.1.0-1ubuntu1) ... 135s Setting up debugedit (1:5.0-5build2) ... 135s Setting up python3-colored (2.2.3-1) ... 135s Setting up libtsan2:amd64 (14.1.0-1ubuntu1) ... 135s Setting up libisl23:amd64 (0.26-3build1) ... 135s Setting up python3-ruyaml (0.91.0-3) ... 135s Setting up libcc1-0:amd64 (14.1.0-1ubuntu1) ... 135s Setting up liblsan0:amd64 (14.1.0-1ubuntu1) ... 135s Setting up libitm1:amd64 (14.1.0-1ubuntu1) ... 135s Setting up automake (1:1.16.5-1.3ubuntu1) ... 135s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 135s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 135s Setting up gettext (0.21-14ubuntu2) ... 135s Setting up python3-lsprotocol (2023.0.0-1) ... 135s Setting up cpp-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ... 135s Setting up python3-pytest (8.2.2-1ubuntu1) ... 136s Setting up strip-nondeterminism (1.14.0-1) ... 136s Setting up intltool-debian (0.35.0+20060710.6) ... 136s Setting up dh-strip-nondeterminism (1.14.0-1) ... 136s Setting up libgcc-13-dev:amd64 (13.2.0-23ubuntu4) ... 136s Setting up cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 136s Setting up cpp-13 (13.2.0-23ubuntu4) ... 136s Setting up gcc-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ... 136s Setting up po-debconf (1.0.21+nmu1) ... 136s Setting up gcc-13 (13.2.0-23ubuntu4) ... 136s Setting up cpp (4:13.2.0-7ubuntu1) ... 136s Setting up gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 136s Setting up libtool (2.4.7-7build1) ... 136s Setting up gcc (4:13.2.0-7ubuntu1) ... 136s Setting up dh-autoreconf (20) ... 136s Setting up debhelper (13.14.1ubuntu5) ... 136s Setting up dh-debputy (0.1.35) ... 136s Setting up autopkgtest-satdep (0) ... 136s Processing triggers for man-db (2.12.1-1) ... 138s Processing triggers for install-info (7.1-3build2) ... 138s Processing triggers for libc-bin (2.39-0ubuntu8.1) ... 141s (Reading database ... 76365 files and directories currently installed.) 141s Removing autopkgtest-satdep (0) ... 141s autopkgtest [00:20:40]: test debputy-py.test: [----------------------- 141s + mkdir /tmp/autopkgtest.9CbZrT/autopkgtest_tmp/debian 141s + cp -r pyproject.toml tests/ /tmp/autopkgtest.9CbZrT/autopkgtest_tmp 141s + cp -a debian/control /tmp/autopkgtest.9CbZrT/autopkgtest_tmp/debian 141s + export PYTHONWARNINGS=d 141s + export DEBPUTY_TEST_AGAINST_INSTALLED_PLUGINS=uninstalled 141s + DEBPUTY_PYTHONPATH=/usr/share/dh-debputy 141s + PYTHOHPATH= 141s + [ ] 141s + PYTHOHPATH=/usr/share/dh-debputy 141s + export DEBPUTY_REQUIRE_LIBCAP=1 141s + cd /tmp/autopkgtest.9CbZrT/autopkgtest_tmp/ 141s + py3versions -s 141s ---------------------------------------------- 141s Testing with python3.12 141s ---------------------------------------------- 141s + echo ---------------------------------------------- 141s + echo Testing with python3.12 141s + echo ---------------------------------------------- 141s + PYTHONPATH=/usr/share/dh-debputy LC_ALL=C python3.12 -m pytest 143s ============================= test session starts ============================== 143s platform linux -- Python 3.12.3, pytest-8.2.2, pluggy-1.5.0 143s rootdir: /tmp/autopkgtest.9CbZrT/autopkgtest_tmp 143s configfile: pyproject.toml 143s testpaths: src, tests, self-hosting-plugins 143s collected 342 items 143s 143s tests/lint_tests/test_lint_changelog.py .. [ 0%] 143s tests/lint_tests/test_lint_dcpy.py . [ 0%] 143s tests/lint_tests/test_lint_dctrl.py .ss............. [ 5%] 144s tests/lint_tests/test_lint_debputy.py ..s. [ 6%] 144s tests/lint_tests/test_lint_dpatches_series.py ... [ 7%] 144s tests/lint_tests/test_lint_dtctrl.py s [ 7%] 144s tests/lsp_tests/test_debpkg_metadata.py ........... [ 11%] 144s tests/lsp_tests/test_lsp_dctrl.py sssssssssssssss [ 15%] 144s tests/lsp_tests/test_lsp_debputy_manifest_completer.py sssssssss [ 18%] 144s tests/lsp_tests/test_lsp_debputy_manifest_hover.py ssssssssss [ 21%] 144s tests/lsp_tests/test_lsp_dpatches_series.py s [ 21%] 144s tests/plugin_tests/gnome_test.py .... [ 22%] 144s tests/plugin_tests/grantlee_test.py . [ 22%] 144s tests/plugin_tests/numpy3_test.py .. [ 23%] 144s tests/plugin_tests/perl-openssl_test.py . [ 23%] 144s tests/test_alternatives.py . [ 23%] 144s tests/test_apply_compression.py . [ 24%] 144s tests/test_architecture.py . [ 24%] 144s tests/test_cross_check_precheck.py ............... [ 28%] 144s tests/test_deb_packaging_support.py .......... [ 31%] 145s tests/test_debputy_plugin.py ....................... [ 38%] 145s tests/test_declarative_parser.py ............ [ 42%] 145s tests/test_fs_metadata.py ................. [ 47%] 145s tests/test_install_rules.py ............ [ 50%] 145s tests/test_interpreter.py ............. [ 54%] 145s tests/test_migrations.py ................................ [ 63%] 145s tests/test_output_filename.py ...... [ 65%] 146s tests/test_packager_provided_files.py ................ [ 70%] 146s tests/test_packer_pack.py . [ 70%] 146s tests/test_parser.py .......................................... [ 82%] 146s tests/test_path.py . [ 83%] 146s tests/test_plugin_tester.py ....................... [ 89%] 146s tests/test_style.py ...x....... [ 92%] 146s tests/test_substitute.py ...... [ 94%] 146s tests/test_symbolic_mode.py ........ [ 97%] 146s tests/test_symlink_normalization.py .......... [100%] 146s 146s ================== 302 passed, 39 skipped, 1 xfailed in 4.08s ================== 146s + PYTHONPATH=/usr/share/dh-debputy LC_ALL=C.UTF-8 python3.12 -m pytest 147s ============================= test session starts ============================== 147s platform linux -- Python 3.12.3, pytest-8.2.2, pluggy-1.5.0 147s rootdir: /tmp/autopkgtest.9CbZrT/autopkgtest_tmp 147s configfile: pyproject.toml 147s testpaths: src, tests, self-hosting-plugins 147s collected 342 items 147s 147s tests/lint_tests/test_lint_changelog.py .. [ 0%] 147s tests/lint_tests/test_lint_dcpy.py . [ 0%] 147s tests/lint_tests/test_lint_dctrl.py .ss............. [ 5%] 147s tests/lint_tests/test_lint_debputy.py ..s. [ 6%] 147s tests/lint_tests/test_lint_dpatches_series.py ... [ 7%] 147s tests/lint_tests/test_lint_dtctrl.py s [ 7%] 147s tests/lsp_tests/test_debpkg_metadata.py ........... [ 11%] 147s tests/lsp_tests/test_lsp_dctrl.py sssssssssssssss [ 15%] 147s tests/lsp_tests/test_lsp_debputy_manifest_completer.py sssssssss [ 18%] 147s tests/lsp_tests/test_lsp_debputy_manifest_hover.py ssssssssss [ 21%] 147s tests/lsp_tests/test_lsp_dpatches_series.py s [ 21%] 148s tests/plugin_tests/gnome_test.py .... [ 22%] 148s tests/plugin_tests/grantlee_test.py . [ 22%] 148s tests/plugin_tests/numpy3_test.py .. [ 23%] 148s tests/plugin_tests/perl-openssl_test.py . [ 23%] 148s tests/test_alternatives.py . [ 23%] 148s tests/test_apply_compression.py . [ 24%] 148s tests/test_architecture.py . [ 24%] 148s tests/test_cross_check_precheck.py ............... [ 28%] 148s tests/test_deb_packaging_support.py .......... [ 31%] 149s tests/test_debputy_plugin.py ....................... [ 38%] 149s tests/test_declarative_parser.py ............ [ 42%] 149s tests/test_fs_metadata.py ................. [ 47%] 149s tests/test_install_rules.py ............ [ 50%] 149s tests/test_interpreter.py ............. [ 54%] 149s tests/test_migrations.py ................................ [ 63%] 149s tests/test_output_filename.py ...... [ 65%] 149s tests/test_packager_provided_files.py ................ [ 70%] 149s tests/test_packer_pack.py . [ 70%] 149s tests/test_parser.py .......................................... [ 82%] 149s tests/test_path.py . [ 83%] 150s tests/test_plugin_tester.py ....................... [ 89%] 150s tests/test_style.py ...x....... [ 92%] 150s tests/test_substitute.py ...... [ 94%] 150s tests/test_symbolic_mode.py ........ [ 97%] 150s tests/test_symlink_normalization.py .......... [100%] 150s 150s ================== 302 passed, 39 skipped, 1 xfailed in 3.21s ================== 150s autopkgtest [00:20:49]: test debputy-py.test: -----------------------] 151s autopkgtest [00:20:50]: test debputy-py.test: - - - - - - - - - - results - - - - - - - - - - 151s debputy-py.test PASS 151s autopkgtest [00:20:50]: test debputy-cli: preparing testbed 438s autopkgtest [00:25:37]: testbed dpkg architecture: amd64 438s autopkgtest [00:25:37]: testbed apt version: 2.9.3 438s autopkgtest [00:25:37]: @@@@@@@@@@@@@@@@@@@@ test bed setup 439s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [110 kB] 439s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [7972 B] 439s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [2852 B] 439s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [44.3 kB] 439s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [339 kB] 439s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 Packages [65.6 kB] 439s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main i386 Packages [37.8 kB] 439s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted i386 Packages [9340 B] 439s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 Packages [27.4 kB] 439s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe i386 Packages [124 kB] 439s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 Packages [300 kB] 439s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 Packages [9280 B] 439s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse i386 Packages [3368 B] 439s Fetched 1081 kB in 0s (4259 kB/s) 439s Reading package lists... 440s Reading package lists... 441s Building dependency tree... 441s Reading state information... 441s Calculating upgrade... 442s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 442s Reading package lists... 442s Building dependency tree... 442s Reading state information... 443s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 443s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 443s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 443s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 443s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 444s Reading package lists... 444s Reading package lists... 445s Building dependency tree... 445s Reading state information... 445s Calculating upgrade... 446s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 446s Reading package lists... 446s Building dependency tree... 446s Reading state information... 446s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 448s Reading package lists... 448s Building dependency tree... 448s Reading state information... 448s Starting pkgProblemResolver with broken count: 0 448s Starting 2 pkgProblemResolver with broken count: 0 448s Done 449s The following additional packages will be installed: 449s autoconf automake autopoint autotools-dev cpp cpp-13 cpp-13-x86-64-linux-gnu 449s cpp-x86-64-linux-gnu debhelper debugedit dh-autoreconf dh-debputy 449s dh-strip-nondeterminism dwz gcc gcc-13 gcc-13-base gcc-13-x86-64-linux-gnu 449s gcc-x86-64-linux-gnu gettext intltool-debian libarchive-zip-perl libasan8 449s libatomic1 libcc1-0 libdebhelper-perl libfile-stripnondeterminism-perl 449s libgcc-13-dev libgomp1 libhwasan0 libisl23 libitm1 liblsan0 libmpc3 449s libquadmath0 libtool libtsan2 libubsan1 m4 po-debconf python3-colored 449s python3-colorlog python3-debian python3-ruyaml strip-nondeterminism 449s Suggested packages: 449s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-13-locales 449s cpp-13-doc dh-make hunspell-en-us python3-hunspell python3-junit.xml 449s python3-levenshtein python3-lsprotocol python3-pygls gcc-multilib 449s manpages-dev flex bison gdb gcc-doc gcc-13-multilib gcc-13-doc 449s gdb-x86-64-linux-gnu gettext-doc libasprintf-dev libgettextpo-dev 449s libtool-doc gfortran | fortran95-compiler gcj-jdk m4-doc libmail-box-perl 449s python-ruamel-doc 449s Recommended packages: 449s python3-argcomplete libarchive-cpio-perl libltdl-dev libmail-sendmail-perl 449s The following NEW packages will be installed: 449s autoconf automake autopkgtest-satdep autopoint autotools-dev cpp cpp-13 449s cpp-13-x86-64-linux-gnu cpp-x86-64-linux-gnu debhelper debugedit 449s dh-autoreconf dh-debputy dh-strip-nondeterminism dwz gcc gcc-13 gcc-13-base 449s gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu gettext intltool-debian 449s libarchive-zip-perl libasan8 libatomic1 libcc1-0 libdebhelper-perl 449s libfile-stripnondeterminism-perl libgcc-13-dev libgomp1 libhwasan0 libisl23 449s libitm1 liblsan0 libmpc3 libquadmath0 libtool libtsan2 libubsan1 m4 449s po-debconf python3-colored python3-colorlog python3-debian python3-ruyaml 449s strip-nondeterminism 449s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 449s Need to get 52.1 MB/52.1 MB of archives. 449s After this operation, 178 MB of additional disk space will be used. 449s Get:1 /tmp/autopkgtest.9CbZrT/2-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [708 B] 449s Get:2 http://ftpmaster.internal/ubuntu oracular/main amd64 m4 amd64 1.4.19-4build1 [244 kB] 449s Get:3 http://ftpmaster.internal/ubuntu oracular/main amd64 autoconf all 2.71-3 [339 kB] 449s Get:4 http://ftpmaster.internal/ubuntu oracular/main amd64 autotools-dev all 20220109.1 [44.9 kB] 449s Get:5 http://ftpmaster.internal/ubuntu oracular/main amd64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] 449s Get:6 http://ftpmaster.internal/ubuntu oracular/main amd64 autopoint all 0.21-14ubuntu2 [422 kB] 449s Get:7 http://ftpmaster.internal/ubuntu oracular/main amd64 gcc-13-base amd64 13.2.0-23ubuntu4 [49.0 kB] 449s Get:8 http://ftpmaster.internal/ubuntu oracular/main amd64 libisl23 amd64 0.26-3build1 [680 kB] 449s Get:9 http://ftpmaster.internal/ubuntu oracular/main amd64 libmpc3 amd64 1.3.1-1build1 [54.5 kB] 449s Get:10 http://ftpmaster.internal/ubuntu oracular/main amd64 cpp-13-x86-64-linux-gnu amd64 13.2.0-23ubuntu4 [11.2 MB] 449s Get:11 http://ftpmaster.internal/ubuntu oracular/main amd64 cpp-13 amd64 13.2.0-23ubuntu4 [1032 B] 449s Get:12 http://ftpmaster.internal/ubuntu oracular/main amd64 cpp-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [5326 B] 449s Get:13 http://ftpmaster.internal/ubuntu oracular/main amd64 cpp amd64 4:13.2.0-7ubuntu1 [22.4 kB] 449s Get:14 http://ftpmaster.internal/ubuntu oracular/main amd64 libdebhelper-perl all 13.14.1ubuntu5 [89.8 kB] 449s Get:15 http://ftpmaster.internal/ubuntu oracular/main amd64 libcc1-0 amd64 14.1.0-1ubuntu1 [48.0 kB] 449s Get:16 http://ftpmaster.internal/ubuntu oracular/main amd64 libgomp1 amd64 14.1.0-1ubuntu1 [148 kB] 449s Get:17 http://ftpmaster.internal/ubuntu oracular/main amd64 libitm1 amd64 14.1.0-1ubuntu1 [29.1 kB] 449s Get:18 http://ftpmaster.internal/ubuntu oracular/main amd64 libatomic1 amd64 14.1.0-1ubuntu1 [10.4 kB] 449s Get:19 http://ftpmaster.internal/ubuntu oracular/main amd64 libasan8 amd64 14.1.0-1ubuntu1 [3025 kB] 449s Get:20 http://ftpmaster.internal/ubuntu oracular/main amd64 liblsan0 amd64 14.1.0-1ubuntu1 [1313 kB] 449s Get:21 http://ftpmaster.internal/ubuntu oracular/main amd64 libtsan2 amd64 14.1.0-1ubuntu1 [2736 kB] 449s Get:22 http://ftpmaster.internal/ubuntu oracular/main amd64 libubsan1 amd64 14.1.0-1ubuntu1 [1174 kB] 449s Get:23 http://ftpmaster.internal/ubuntu oracular/main amd64 libhwasan0 amd64 14.1.0-1ubuntu1 [1632 kB] 449s Get:24 http://ftpmaster.internal/ubuntu oracular/main amd64 libquadmath0 amd64 14.1.0-1ubuntu1 [153 kB] 449s Get:25 http://ftpmaster.internal/ubuntu oracular/main amd64 libgcc-13-dev amd64 13.2.0-23ubuntu4 [2688 kB] 449s Get:26 http://ftpmaster.internal/ubuntu oracular/main amd64 gcc-13-x86-64-linux-gnu amd64 13.2.0-23ubuntu4 [21.9 MB] 449s Get:27 http://ftpmaster.internal/ubuntu oracular/main amd64 gcc-13 amd64 13.2.0-23ubuntu4 [482 kB] 449s Get:28 http://ftpmaster.internal/ubuntu oracular/main amd64 gcc-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [1212 B] 449s Get:29 http://ftpmaster.internal/ubuntu oracular/main amd64 gcc amd64 4:13.2.0-7ubuntu1 [5018 B] 449s Get:30 http://ftpmaster.internal/ubuntu oracular/main amd64 libtool all 2.4.7-7build1 [166 kB] 449s Get:31 http://ftpmaster.internal/ubuntu oracular/main amd64 dh-autoreconf all 20 [16.1 kB] 449s Get:32 http://ftpmaster.internal/ubuntu oracular/main amd64 libarchive-zip-perl all 1.68-1 [90.2 kB] 449s Get:33 http://ftpmaster.internal/ubuntu oracular/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 449s Get:34 http://ftpmaster.internal/ubuntu oracular/main amd64 dh-strip-nondeterminism all 1.14.0-1 [5058 B] 450s Get:35 http://ftpmaster.internal/ubuntu oracular/main amd64 debugedit amd64 1:5.0-5build2 [46.1 kB] 450s Get:36 http://ftpmaster.internal/ubuntu oracular/main amd64 dwz amd64 0.15-1build6 [115 kB] 450s Get:37 http://ftpmaster.internal/ubuntu oracular/main amd64 gettext amd64 0.21-14ubuntu2 [864 kB] 450s Get:38 http://ftpmaster.internal/ubuntu oracular/main amd64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 450s Get:39 http://ftpmaster.internal/ubuntu oracular/main amd64 po-debconf all 1.0.21+nmu1 [233 kB] 450s Get:40 http://ftpmaster.internal/ubuntu oracular/main amd64 debhelper all 13.14.1ubuntu5 [869 kB] 450s Get:41 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-colored all 2.2.3-1 [14.0 kB] 450s Get:42 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-colorlog all 6.8.2-1 [21.4 kB] 450s Get:43 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-debian all 0.1.49ubuntu2 [115 kB] 450s Get:44 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruyaml all 0.91.0-3 [107 kB] 450s Get:45 http://ftpmaster.internal/ubuntu oracular/universe amd64 strip-nondeterminism all 1.14.0-1 [5552 B] 450s Get:46 http://ftpmaster.internal/ubuntu oracular/universe amd64 dh-debputy all 0.1.35 [407 kB] 450s Fetched 52.1 MB in 0s (111 MB/s) 450s Selecting previously unselected package m4. 450s (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 ... 74365 files and directories currently installed.) 450s Preparing to unpack .../00-m4_1.4.19-4build1_amd64.deb ... 450s Unpacking m4 (1.4.19-4build1) ... 450s Selecting previously unselected package autoconf. 450s Preparing to unpack .../01-autoconf_2.71-3_all.deb ... 450s Unpacking autoconf (2.71-3) ... 450s Selecting previously unselected package autotools-dev. 450s Preparing to unpack .../02-autotools-dev_20220109.1_all.deb ... 450s Unpacking autotools-dev (20220109.1) ... 450s Selecting previously unselected package automake. 450s Preparing to unpack .../03-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 450s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 450s Selecting previously unselected package autopoint. 450s Preparing to unpack .../04-autopoint_0.21-14ubuntu2_all.deb ... 450s Unpacking autopoint (0.21-14ubuntu2) ... 450s Selecting previously unselected package gcc-13-base:amd64. 450s Preparing to unpack .../05-gcc-13-base_13.2.0-23ubuntu4_amd64.deb ... 450s Unpacking gcc-13-base:amd64 (13.2.0-23ubuntu4) ... 450s Selecting previously unselected package libisl23:amd64. 450s Preparing to unpack .../06-libisl23_0.26-3build1_amd64.deb ... 450s Unpacking libisl23:amd64 (0.26-3build1) ... 450s Selecting previously unselected package libmpc3:amd64. 450s Preparing to unpack .../07-libmpc3_1.3.1-1build1_amd64.deb ... 450s Unpacking libmpc3:amd64 (1.3.1-1build1) ... 450s Selecting previously unselected package cpp-13-x86-64-linux-gnu. 450s Preparing to unpack .../08-cpp-13-x86-64-linux-gnu_13.2.0-23ubuntu4_amd64.deb ... 450s Unpacking cpp-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ... 451s Selecting previously unselected package cpp-13. 451s Preparing to unpack .../09-cpp-13_13.2.0-23ubuntu4_amd64.deb ... 451s Unpacking cpp-13 (13.2.0-23ubuntu4) ... 451s Selecting previously unselected package cpp-x86-64-linux-gnu. 451s Preparing to unpack .../10-cpp-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 451s Unpacking cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 451s Selecting previously unselected package cpp. 451s Preparing to unpack .../11-cpp_4%3a13.2.0-7ubuntu1_amd64.deb ... 451s Unpacking cpp (4:13.2.0-7ubuntu1) ... 451s Selecting previously unselected package libdebhelper-perl. 451s Preparing to unpack .../12-libdebhelper-perl_13.14.1ubuntu5_all.deb ... 451s Unpacking libdebhelper-perl (13.14.1ubuntu5) ... 451s Selecting previously unselected package libcc1-0:amd64. 451s Preparing to unpack .../13-libcc1-0_14.1.0-1ubuntu1_amd64.deb ... 451s Unpacking libcc1-0:amd64 (14.1.0-1ubuntu1) ... 451s Selecting previously unselected package libgomp1:amd64. 451s Preparing to unpack .../14-libgomp1_14.1.0-1ubuntu1_amd64.deb ... 451s Unpacking libgomp1:amd64 (14.1.0-1ubuntu1) ... 451s Selecting previously unselected package libitm1:amd64. 451s Preparing to unpack .../15-libitm1_14.1.0-1ubuntu1_amd64.deb ... 451s Unpacking libitm1:amd64 (14.1.0-1ubuntu1) ... 451s Selecting previously unselected package libatomic1:amd64. 451s Preparing to unpack .../16-libatomic1_14.1.0-1ubuntu1_amd64.deb ... 451s Unpacking libatomic1:amd64 (14.1.0-1ubuntu1) ... 451s Selecting previously unselected package libasan8:amd64. 451s Preparing to unpack .../17-libasan8_14.1.0-1ubuntu1_amd64.deb ... 451s Unpacking libasan8:amd64 (14.1.0-1ubuntu1) ... 451s Selecting previously unselected package liblsan0:amd64. 451s Preparing to unpack .../18-liblsan0_14.1.0-1ubuntu1_amd64.deb ... 451s Unpacking liblsan0:amd64 (14.1.0-1ubuntu1) ... 451s Selecting previously unselected package libtsan2:amd64. 451s Preparing to unpack .../19-libtsan2_14.1.0-1ubuntu1_amd64.deb ... 451s Unpacking libtsan2:amd64 (14.1.0-1ubuntu1) ... 451s Selecting previously unselected package libubsan1:amd64. 451s Preparing to unpack .../20-libubsan1_14.1.0-1ubuntu1_amd64.deb ... 451s Unpacking libubsan1:amd64 (14.1.0-1ubuntu1) ... 451s Selecting previously unselected package libhwasan0:amd64. 451s Preparing to unpack .../21-libhwasan0_14.1.0-1ubuntu1_amd64.deb ... 451s Unpacking libhwasan0:amd64 (14.1.0-1ubuntu1) ... 451s Selecting previously unselected package libquadmath0:amd64. 451s Preparing to unpack .../22-libquadmath0_14.1.0-1ubuntu1_amd64.deb ... 451s Unpacking libquadmath0:amd64 (14.1.0-1ubuntu1) ... 451s Selecting previously unselected package libgcc-13-dev:amd64. 451s Preparing to unpack .../23-libgcc-13-dev_13.2.0-23ubuntu4_amd64.deb ... 451s Unpacking libgcc-13-dev:amd64 (13.2.0-23ubuntu4) ... 451s Selecting previously unselected package gcc-13-x86-64-linux-gnu. 451s Preparing to unpack .../24-gcc-13-x86-64-linux-gnu_13.2.0-23ubuntu4_amd64.deb ... 451s Unpacking gcc-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ... 452s Selecting previously unselected package gcc-13. 452s Preparing to unpack .../25-gcc-13_13.2.0-23ubuntu4_amd64.deb ... 452s Unpacking gcc-13 (13.2.0-23ubuntu4) ... 452s Selecting previously unselected package gcc-x86-64-linux-gnu. 452s Preparing to unpack .../26-gcc-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 452s Unpacking gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 452s Selecting previously unselected package gcc. 452s Preparing to unpack .../27-gcc_4%3a13.2.0-7ubuntu1_amd64.deb ... 452s Unpacking gcc (4:13.2.0-7ubuntu1) ... 452s Selecting previously unselected package libtool. 452s Preparing to unpack .../28-libtool_2.4.7-7build1_all.deb ... 452s Unpacking libtool (2.4.7-7build1) ... 452s Selecting previously unselected package dh-autoreconf. 452s Preparing to unpack .../29-dh-autoreconf_20_all.deb ... 452s Unpacking dh-autoreconf (20) ... 452s Selecting previously unselected package libarchive-zip-perl. 452s Preparing to unpack .../30-libarchive-zip-perl_1.68-1_all.deb ... 452s Unpacking libarchive-zip-perl (1.68-1) ... 452s Selecting previously unselected package libfile-stripnondeterminism-perl. 452s Preparing to unpack .../31-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 452s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 452s Selecting previously unselected package dh-strip-nondeterminism. 452s Preparing to unpack .../32-dh-strip-nondeterminism_1.14.0-1_all.deb ... 452s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 452s Selecting previously unselected package debugedit. 452s Preparing to unpack .../33-debugedit_1%3a5.0-5build2_amd64.deb ... 452s Unpacking debugedit (1:5.0-5build2) ... 452s Selecting previously unselected package dwz. 452s Preparing to unpack .../34-dwz_0.15-1build6_amd64.deb ... 452s Unpacking dwz (0.15-1build6) ... 452s Selecting previously unselected package gettext. 452s Preparing to unpack .../35-gettext_0.21-14ubuntu2_amd64.deb ... 452s Unpacking gettext (0.21-14ubuntu2) ... 452s Selecting previously unselected package intltool-debian. 452s Preparing to unpack .../36-intltool-debian_0.35.0+20060710.6_all.deb ... 452s Unpacking intltool-debian (0.35.0+20060710.6) ... 452s Selecting previously unselected package po-debconf. 452s Preparing to unpack .../37-po-debconf_1.0.21+nmu1_all.deb ... 452s Unpacking po-debconf (1.0.21+nmu1) ... 452s Selecting previously unselected package debhelper. 452s Preparing to unpack .../38-debhelper_13.14.1ubuntu5_all.deb ... 452s Unpacking debhelper (13.14.1ubuntu5) ... 452s Selecting previously unselected package python3-colored. 452s Preparing to unpack .../39-python3-colored_2.2.3-1_all.deb ... 452s Unpacking python3-colored (2.2.3-1) ... 452s Selecting previously unselected package python3-colorlog. 452s Preparing to unpack .../40-python3-colorlog_6.8.2-1_all.deb ... 452s Unpacking python3-colorlog (6.8.2-1) ... 452s Selecting previously unselected package python3-debian. 452s Preparing to unpack .../41-python3-debian_0.1.49ubuntu2_all.deb ... 452s Unpacking python3-debian (0.1.49ubuntu2) ... 452s Selecting previously unselected package python3-ruyaml. 453s Preparing to unpack .../42-python3-ruyaml_0.91.0-3_all.deb ... 453s Unpacking python3-ruyaml (0.91.0-3) ... 453s Selecting previously unselected package strip-nondeterminism. 453s Preparing to unpack .../43-strip-nondeterminism_1.14.0-1_all.deb ... 453s Unpacking strip-nondeterminism (1.14.0-1) ... 453s Selecting previously unselected package dh-debputy. 453s Preparing to unpack .../44-dh-debputy_0.1.35_all.deb ... 453s Unpacking dh-debputy (0.1.35) ... 453s Selecting previously unselected package autopkgtest-satdep. 453s Preparing to unpack .../45-2-autopkgtest-satdep.deb ... 453s Unpacking autopkgtest-satdep (0) ... 453s Setting up python3-colorlog (6.8.2-1) ... 453s Setting up libarchive-zip-perl (1.68-1) ... 453s Setting up libdebhelper-perl (13.14.1ubuntu5) ... 453s Setting up m4 (1.4.19-4build1) ... 453s Setting up libgomp1:amd64 (14.1.0-1ubuntu1) ... 453s Setting up autotools-dev (20220109.1) ... 453s Setting up gcc-13-base:amd64 (13.2.0-23ubuntu4) ... 453s Setting up python3-debian (0.1.49ubuntu2) ... 453s Setting up libquadmath0:amd64 (14.1.0-1ubuntu1) ... 453s Setting up libmpc3:amd64 (1.3.1-1build1) ... 453s Setting up libatomic1:amd64 (14.1.0-1ubuntu1) ... 453s Setting up autopoint (0.21-14ubuntu2) ... 453s Setting up autoconf (2.71-3) ... 453s Setting up libubsan1:amd64 (14.1.0-1ubuntu1) ... 453s Setting up dwz (0.15-1build6) ... 453s Setting up libhwasan0:amd64 (14.1.0-1ubuntu1) ... 453s Setting up libasan8:amd64 (14.1.0-1ubuntu1) ... 453s Setting up debugedit (1:5.0-5build2) ... 453s Setting up python3-colored (2.2.3-1) ... 453s Setting up libtsan2:amd64 (14.1.0-1ubuntu1) ... 453s Setting up libisl23:amd64 (0.26-3build1) ... 453s Setting up python3-ruyaml (0.91.0-3) ... 453s Setting up libcc1-0:amd64 (14.1.0-1ubuntu1) ... 453s Setting up liblsan0:amd64 (14.1.0-1ubuntu1) ... 453s Setting up libitm1:amd64 (14.1.0-1ubuntu1) ... 453s Setting up automake (1:1.16.5-1.3ubuntu1) ... 453s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 453s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 453s Setting up gettext (0.21-14ubuntu2) ... 453s Setting up cpp-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ... 453s Setting up strip-nondeterminism (1.14.0-1) ... 453s Setting up intltool-debian (0.35.0+20060710.6) ... 453s Setting up dh-strip-nondeterminism (1.14.0-1) ... 453s Setting up libgcc-13-dev:amd64 (13.2.0-23ubuntu4) ... 453s Setting up cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 453s Setting up cpp-13 (13.2.0-23ubuntu4) ... 453s Setting up gcc-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ... 453s Setting up po-debconf (1.0.21+nmu1) ... 453s Setting up gcc-13 (13.2.0-23ubuntu4) ... 453s Setting up cpp (4:13.2.0-7ubuntu1) ... 453s Setting up gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 453s Setting up libtool (2.4.7-7build1) ... 453s Setting up gcc (4:13.2.0-7ubuntu1) ... 453s Setting up dh-autoreconf (20) ... 453s Setting up debhelper (13.14.1ubuntu5) ... 453s Setting up dh-debputy (0.1.35) ... 454s Setting up autopkgtest-satdep (0) ... 454s Processing triggers for man-db (2.12.1-1) ... 455s Processing triggers for install-info (7.1-3build2) ... 455s Processing triggers for libc-bin (2.39-0ubuntu8.1) ... 458s (Reading database ... 76129 files and directories currently installed.) 458s Removing autopkgtest-satdep (0) ... 458s autopkgtest [00:25:57]: test debputy-cli: [----------------------- 459s + debputy --no-pager --help 459s usage: debputy [-h] [--version] [--debputy-manifest DEBPUTY_MANIFEST] [-d] 459s [--no-pager] [--plugin REQUIRED_PLUGINS] 459s COMMAND ... 459s 459s The `debputy` program is a manifest-based Debian packaging tool. 459s 459s It is used as a part of compiling a source package and transforming it into one or 459s more binary (.deb) packages. 459s 459s If you are using a screen reader, consider exporting setting the environment variable 459s OPTIMIZE_FOR_SCREEN_READER=1. This will remove some of the visual formatting and some 459s commands will render the output in a purely textual manner rather than visual layout. 459s 459s positional arguments: 459s COMMAND 459s internal-command Commands used for internal purposes. These are 459s implementation details and subject to change 459s tool-support Tool integration commands. These are intended to have 459s stable output and behaviour 459s check-manifest Check the manifest for obvious errors, but do not run 459s anything 459s autopkgtest-test-runner 459s Detect tests in the debian dir and run them against 459s installed plugins 459s migrate-from-dh Generate/update manifest from a "dh $@" using package 459s plugin Interact with debputy plugins 459s lsp Language server related subcommands 459s lint 459s reformat 459s 459s options: 459s -h, --help show this help message and exit 459s --version show program's version number and exit 459s --debputy-manifest DEBPUTY_MANIFEST 459s Specify another `debputy` manifest (default: 459s debian/debputy.manifest) 459s -d, --debug Enable debug logging and raw stack traces on errors. 459s Some warnings become errors as a consequence. 459s --no-pager For subcommands that can use a pager, disable the use 459s of pager. Some output formats implies --no-pager 459s --plugin REQUIRED_PLUGINS 459s Request the plugin to be loaded. Can be used multiple 459s time. Ignored for some commands (such as autopkgtest- 459s test-runner) 459s + debputy --no-pager check-manifest 459s + debputy --no-pager plugin --help 459s usage: debputy plugin [-h] [--debputy-manifest DEBPUTY_MANIFEST] [-d] 459s [--no-pager] [--plugin REQUIRED_PLUGINS] 459s command ... 459s 459s positional arguments: 459s command 459s list List plugins or things provided by plugins (unstable 459s format). Pass `--help` *after* `list` get a topic 459s listing 459s show Show details about a plugin or things provided by 459s plugins (unstable format). Pass `--help` *after* 459s `show` get a topic listing 459s 459s options: 459s -h, --help show this help message and exit 459s --debputy-manifest DEBPUTY_MANIFEST 459s Specify another `debputy` manifest (default: 459s debian/debputy.manifest) 459s -d, --debug Enable debug logging and raw stack traces on errors. 459s Some warnings become errors as a consequence. 459s --no-pager For subcommands that can use a pager, disable the use 459s of pager. Some output formats implies --no-pager 459s --plugin REQUIRED_PLUGINS 459s Request the plugin to be loaded. Can be used multiple 459s time. Ignored for some commands (such as autopkgtest- 459s test-runner) 459s + debputy --no-pager plugin list --help 460s usage: debputy plugin list [-h] [--debputy-manifest DEBPUTY_MANIFEST] [-d] 460s [--no-pager] [--plugin REQUIRED_PLUGINS] 460s topic ... 460s 460s positional arguments: 460s topic 460s plugins List known plugins with their versions 460s used-packager-provided-files (uppf, u-p-p-f) 460s List packager provided files used by this package 460s (debian/pkg.foo) 460s packager-provided-files (ppf, p-p-f) 460s List packager provided file definitions 460s (debian/pkg.foo) 460s metadata-detectors List metadata detectors 460s manifest-variables List plugin provided manifest variables (such as 460s `{{path:FOO}}`) 460s pluggable-manifest-rules (p-m-r, pmr) 460s Pluggable manifest rules (such as install rules) 460s automatic-discard-rules (a-d-r) 460s List automatic discard rules 460s type-mappings Registered type mappings/descriptions 460s 460s options: 460s -h, --help show this help message and exit 460s --debputy-manifest DEBPUTY_MANIFEST 460s Specify another `debputy` manifest (default: 460s debian/debputy.manifest) 460s -d, --debug Enable debug logging and raw stack traces on errors. 460s Some warnings become errors as a consequence. 460s --no-pager For subcommands that can use a pager, disable the use 460s of pager. Some output formats implies --no-pager 460s --plugin REQUIRED_PLUGINS 460s Request the plugin to be loaded. Can be used multiple 460s time. Ignored for some commands (such as autopkgtest- 460s test-runner) 460s + debputy --no-pager plugin list 460s +-------------------------+-----------------------------------------------------------------+ 460s | Plugin Name | Plugin Path | 460s +-------------------------+-----------------------------------------------------------------+ 460s | debputy | | 460s | perl-openssl | /usr/share/debputy/debputy/plugins/perl-openssl.json | 460s | debhelper-documentation | /usr/share/debputy/debputy/plugins/debhelper-documentation.json | 460s | debputy-documentation | /usr/share/debputy/debputy/plugins/debputy-documentation.json | 460s | grantlee | /usr/share/debputy/debputy/plugins/grantlee.json | 460s | gnome | /usr/share/debputy/debputy/plugins/gnome.json | 460s | numpy3 | /usr/share/debputy/debputy/plugins/numpy3.json | 460s +-------------------------+-----------------------------------------------------------------+ 460s + debputy --no-pager plugin list plugins 460s +-------------------------+-----------------------------------------------------------------+ 460s | Plugin Name | Plugin Path | 460s +-------------------------+-----------------------------------------------------------------+ 460s | debputy | | 460s | perl-openssl | /usr/share/debputy/debputy/plugins/perl-openssl.json | 460s | debhelper-documentation | /usr/share/debputy/debputy/plugins/debhelper-documentation.json | 460s | debputy-documentation | /usr/share/debputy/debputy/plugins/debputy-documentation.json | 460s | grantlee | /usr/share/debputy/debputy/plugins/grantlee.json | 460s | gnome | /usr/share/debputy/debputy/plugins/gnome.json | 460s | numpy3 | /usr/share/debputy/debputy/plugins/numpy3.json | 460s +-------------------------+-----------------------------------------------------------------+ 460s + debputy --no-pager plugin list ppf 461s +-----------------------------+-------------------------------------------------------------------+------+------------------------+-------------+ 461s | Stem | Installed As | Mode | Features | Provided by | 461s +-----------------------------+-------------------------------------------------------------------+------+------------------------+-------------+ 461s | @path | /usr/lib/systemd/system/{name}@.path | 0644 | named | debputy | 461s | @service | /usr/lib/systemd/system/{name}@.service | 0644 | named | debputy | 461s | @socket | /usr/lib/systemd/system/{name}@.socket | 0644 | named | debputy | 461s | @target | /usr/lib/systemd/system/{name}@.target | 0644 | named | debputy | 461s | @timer | /usr/lib/systemd/system/{name}@.timer | 0644 | named | debputy | 461s | NEWS | /usr/share/doc/{name}/NEWS.Debian | 0644 | main-all-fallback | debputy | 461s | README.Debian | /usr/share/doc/{name}/README.Debian | 0644 | | debputy | 461s | TODO | /usr/share/doc/{name}/TODO.Debian | 0644 | | debputy | 461s | alternatives | /DEBIAN/alternatives | 0644 | arch | debputy | 461s | bash-completion | /usr/share/bash-completion/completions/{name} | 0644 | named | debputy | 461s | bug-control | /usr/share/bug/{name}/control | 0644 | | debputy | 461s | bug-presubj | /usr/share/bug/{name}/presubj | 0644 | | debputy | 461s | bug-script | /usr/share/bug/{name}/script | 0755 | | debputy | 461s | changelog | /usr/share/doc/{name}/changelog.Debian | 0644 | main-all-fallback | debputy | 461s | copyright | /usr/share/doc/{name}/copyright | 0644 | main-all-fallback | debputy | 461s | cron.d | /etc/cron.d/{name} | 0644 | named | debputy | 461s | cron.daily | /etc/cron.daily/{name} | 0755 | named | debputy | 461s | cron.hourly | /etc/cron.hourly/{name} | 0755 | named | debputy | 461s | cron.monthly | /etc/cron.monthly/{name} | 0755 | named | debputy | 461s | cron.weekly | /etc/cron.weekly/{name} | 0755 | named | debputy | 461s | cron.yearly | /etc/cron.yearly/{name} | 0755 | named | debputy | 461s | default | /etc/default/{name} | 0644 | named | debputy | 461s | doc-base | /usr/share/doc-base/{owning_package}.{name} | 0644 | named | debputy | 461s | gsettings-override | /usr/share/glib-2.0/schemas/{priority:02}_{name}.gschema.override | 0644 | named,priority=10 | debputy | 461s | if-down | /etc/network/if-down.d/{name} | 0755 | named | debputy | 461s | if-post-down | /etc/network/if-post-down.d/{name} | 0755 | named | debputy | 461s | if-pre-up | /etc/network/if-pre-up.d/{name} | 0755 | named | debputy | 461s | if-up | /etc/network/if-up.d/{name} | 0755 | named | debputy | 461s | init | /etc/init.d/{name} | 0755 | named | debputy | 461s | initramfs-hook | /usr/share/initramfs-tools/hooks/{name} | 0755 | named | debputy | 461s | lintian-overrides | /usr/share/lintian/overrides/{name} | 0644 | | debputy | 461s | logcheck.cracking | /etc/logcheck/cracking.d/{name} | 0644 | named,post-format-hook | debputy | 461s | logcheck.ignore.paranoid | /etc/logcheck/ignore.d.paranoid/{name} | 0644 | named,post-format-hook | debputy | 461s | logcheck.ignore.server | /etc/logcheck/ignore.d.server/{name} | 0644 | named,post-format-hook | debputy | 461s | logcheck.ignore.workstation | /etc/logcheck/ignore.d.workstation/{name} | 0644 | named,post-format-hook | debputy | 461s | logcheck.violations | /etc/logcheck/violations.d/{name} | 0644 | named,post-format-hook | debputy | 461s | logcheck.violations.ignore | /etc/logcheck/violations.ignore.d/{name} | 0644 | named,post-format-hook | debputy | 461s | logrotate | /etc/logrotate.d/{name} | 0644 | named | debputy | 461s | mime | /usr/lib/mime/packages/{name} | 0644 | named | debputy | 461s | modprobe | /etc/modprobe.d/{name}.conf | 0644 | named | debputy | 461s | mount | /usr/lib/systemd/system/{name}.mount | 0644 | named | debputy | 461s | pam | /usr/lib/pam.d/{name} | 0644 | named | debputy | 461s | path | /usr/lib/systemd/system/{name}.path | 0644 | named | debputy | 461s | ppp.ip-down | /etc/ppp/ip-down.d/{name} | 0755 | named | debputy | 461s | ppp.ip-up | /etc/ppp/ip-up.d/{name} | 0755 | named | debputy | 461s | service | /usr/lib/systemd/system/{name}.service | 0644 | named | debputy | 461s | sharedmimeinfo | /usr/share/mime/packages/{name}.xml | 0644 | named | debputy | 461s | shlibs | /DEBIAN/shlibs | 0644 | | debputy | 461s | socket | /usr/lib/systemd/system/{name}.socket | 0644 | named | debputy | 461s | symbols | /DEBIAN/symbols | 0644 | arch | debputy | 461s | sysusers | /usr/lib/sysusers.d/{name}.conf | 0644 | named | debputy | 461s | target | /usr/lib/systemd/system/{name}.target | 0644 | named | debputy | 461s | templates | /DEBIAN/templates | 0644 | | debputy | 461s | timer | /usr/lib/systemd/system/{name}.timer | 0644 | named | debputy | 461s | tmpfiles | /usr/lib/tmpfiles.d/{name}.conf | 0644 | named | debputy | 461s +-----------------------------+-------------------------------------------------------------------+------+------------------------+-------------+ 461s 461s Hint: You can use `debputy plugin list used-packager-provided-files` to have `debputy` 461s list all the files in debian/ that matches these definitions. 461s + debputy --no-pager plugin list uppf 461s +------------------+--------------+----------------+--------------------------------------------+ 461s | File | Matched Stem | Installed Into | Installed As | 461s +------------------+--------------+----------------+--------------------------------------------+ 461s | debian/changelog | changelog | dh-debputy | /usr/share/doc/dh-debputy/changelog.Debian | 461s | debian/copyright | copyright | dh-debputy | /usr/share/doc/dh-debputy/copyright | 461s +------------------+--------------+----------------+--------------------------------------------+ 461s + debputy --no-pager plugin list manifest-variables 461s +----------------------------------+----------------------------------------+------+-------------+ 461s | Variable (use via: `{{ NAME }}`) | Value | Flag | Provided by | 461s +----------------------------------+----------------------------------------+------+-------------+ 461s | DEB_HOST_ARCH | amd64 | | debputy | 461s | DEB_HOST_ARCH_ABI | base | | debputy | 461s | DEB_HOST_ARCH_BITS | 64 | | debputy | 461s | DEB_HOST_ARCH_CPU | amd64 | | debputy | 461s | DEB_HOST_ARCH_ENDIAN | little | | debputy | 461s | DEB_HOST_ARCH_LIBC | gnu | | debputy | 461s | DEB_HOST_ARCH_OS | linux | | debputy | 461s | DEB_HOST_GNU_CPU | x86_64 | | debputy | 461s | DEB_HOST_GNU_SYSTEM | linux-gnu | | debputy | 461s | DEB_HOST_GNU_TYPE | x86_64-linux-gnu | | debputy | 461s | DEB_HOST_MULTIARCH | x86_64-linux-gnu | | debputy | 461s | DEB_SOURCE | debputy | | debputy | 461s | DEB_VERSION | 0.1.35 | | debputy | 461s | DEB_VERSION_EPOCH_UPSTREAM | 0.1.35 | | debputy | 461s | DEB_VERSION_UPSTREAM | 0.1.35 | | debputy | 461s | DEB_VERSION_UPSTREAM_REVISION | 0.1.35 | | debputy | 461s | PACKAGE | | | debputy | 461s | SOURCE_DATE_EPOCH | 1717608837 | | debputy | 461s | path:BASH_COMPLETION_DIR | /usr/share/bash-completion/completions | | debputy | 461s | path:GNU_INFO_DIR | /usr/share/info | | debputy | 461s +----------------------------------+----------------------------------------+------+-------------+ 461s 461s +-----------------------+--------+-------------------------------------------------------+ 461s | Variable type | Value | Option | 461s +-----------------------+--------+-------------------------------------------------------+ 461s | Token variables | hidden | --show-token-variables OR --show-all-variables | 461s | Special use variables | hidden | --show-special-case-variables OR --show-all-variables | 461s +-----------------------+--------+-------------------------------------------------------+ 461s + debputy --no-pager plugin list manifest-variables --show-all-variables 462s +-------------------------------------+----------------------------------------+------------------+-------------+ 462s | Variable (use via: `{{ NAME }}`) | Value | Flag | Provided by | 462s +-------------------------------------+----------------------------------------+------------------+-------------+ 462s | DEB_BUILD_ARCH | amd64 | special-use-case | debputy | 462s | DEB_BUILD_ARCH_ABI | base | special-use-case | debputy | 462s | DEB_BUILD_ARCH_BITS | 64 | special-use-case | debputy | 462s | DEB_BUILD_ARCH_CPU | amd64 | special-use-case | debputy | 462s | DEB_BUILD_ARCH_ENDIAN | little | special-use-case | debputy | 462s | DEB_BUILD_ARCH_LIBC | gnu | special-use-case | debputy | 462s | DEB_BUILD_ARCH_OS | linux | special-use-case | debputy | 462s | DEB_BUILD_GNU_CPU | x86_64 | special-use-case | debputy | 462s | DEB_BUILD_GNU_SYSTEM | linux-gnu | special-use-case | debputy | 462s | DEB_BUILD_GNU_TYPE | x86_64-linux-gnu | special-use-case | debputy | 462s | DEB_BUILD_MULTIARCH | x86_64-linux-gnu | special-use-case | debputy | 462s | DEB_HOST_ARCH | amd64 | | debputy | 462s | DEB_HOST_ARCH_ABI | base | | debputy | 462s | DEB_HOST_ARCH_BITS | 64 | | debputy | 462s | DEB_HOST_ARCH_CPU | amd64 | | debputy | 462s | DEB_HOST_ARCH_ENDIAN | little | | debputy | 462s | DEB_HOST_ARCH_LIBC | gnu | | debputy | 462s | DEB_HOST_ARCH_OS | linux | | debputy | 462s | DEB_HOST_GNU_CPU | x86_64 | | debputy | 462s | DEB_HOST_GNU_SYSTEM | linux-gnu | | debputy | 462s | DEB_HOST_GNU_TYPE | x86_64-linux-gnu | | debputy | 462s | DEB_HOST_MULTIARCH | x86_64-linux-gnu | | debputy | 462s | DEB_SOURCE | debputy | | debputy | 462s | DEB_TARGET_ARCH | amd64 | special-use-case | debputy | 462s | DEB_TARGET_ARCH_ABI | base | special-use-case | debputy | 462s | DEB_TARGET_ARCH_BITS | 64 | special-use-case | debputy | 462s | DEB_TARGET_ARCH_CPU | amd64 | special-use-case | debputy | 462s | DEB_TARGET_ARCH_ENDIAN | little | special-use-case | debputy | 462s | DEB_TARGET_ARCH_LIBC | gnu | special-use-case | debputy | 462s | DEB_TARGET_ARCH_OS | linux | special-use-case | debputy | 462s | DEB_TARGET_GNU_CPU | x86_64 | special-use-case | debputy | 462s | DEB_TARGET_GNU_SYSTEM | linux-gnu | special-use-case | debputy | 462s | DEB_TARGET_GNU_TYPE | x86_64-linux-gnu | special-use-case | debputy | 462s | DEB_TARGET_MULTIARCH | x86_64-linux-gnu | special-use-case | debputy | 462s | DEB_VERSION | 0.1.35 | | debputy | 462s | DEB_VERSION_EPOCH_UPSTREAM | 0.1.35 | | debputy | 462s | DEB_VERSION_UPSTREAM | 0.1.35 | | debputy | 462s | DEB_VERSION_UPSTREAM_REVISION | 0.1.35 | | debputy | 462s | PACKAGE | | | debputy | 462s | SOURCE_DATE_EPOCH | 1717608837 | | debputy | 462s | _DEBPUTY_INTERNAL_NON_BINNMU_SOURCE | 0.1.35 | internal | debputy | 462s | _DEBPUTY_SND_SOURCE_DATE_EPOCH | 1717608837 | internal | debputy | 462s | path:BASH_COMPLETION_DIR | /usr/share/bash-completion/completions | | debputy | 462s | path:GNU_INFO_DIR | /usr/share/info | | debputy | 462s | token:CLOSE_CURLY_BRACE | } | | debputy | 462s | token:DOUBLE_CLOSE_CURLY_BRACE | }} | | debputy | 462s | token:DOUBLE_OPEN_CURLY_BRACE | {{ | | debputy | 462s | token:NEWLINE | \n | | debputy | 462s | token:NL | \n | | debputy | 462s | token:OPEN_CURLY_BRACE | { | | debputy | 462s | token:TAB | \t | | debputy | 462s +-------------------------------------+----------------------------------------+------------------+-------------+ 462s 462s +-----------------------+-------+-------------------------------------------------------+ 462s | Variable type | Value | Option | 462s +-----------------------+-------+-------------------------------------------------------+ 462s | Token variables | shown | --show-token-variables OR --show-all-variables | 462s | Special use variables | shown | --show-special-case-variables OR --show-all-variables | 462s +-----------------------+-------+-------------------------------------------------------+ 462s + debputy --no-pager plugin list pmr 462s +-------------------------------+------------------------------+-------------+ 462s | Rule Name | Rule Type | Provided By | 462s +-------------------------------+------------------------------+-------------+ 462s | install | InstallRule | debputy | 462s | install-docs | InstallRule | debputy | 462s | install-doc | InstallRule | debputy | 462s | install-examples | InstallRule | debputy | 462s | install-example | InstallRule | debputy | 462s | install-man | InstallRule | debputy | 462s | discard | InstallRule | debputy | 462s | multi-dest-install | InstallRule | debputy | 462s | move | TransformationRule | debputy | 462s | remove | TransformationRule | debputy | 462s | create-symlink | TransformationRule | debputy | 462s | path-metadata | TransformationRule | debputy | 462s | create-directories | TransformationRule | debputy | 462s | remove | DpkgMaintscriptHelperCommand | debputy | 462s | rename | DpkgMaintscriptHelperCommand | debputy | 462s | cross-compiling | ManifestCondition | debputy | 462s | can-execute-compiled-binaries | ManifestCondition | debputy | 462s | run-build-time-tests | ManifestCondition | debputy | 462s | not | ManifestCondition | debputy | 462s | any-of | ManifestCondition | debputy | 462s | all-of | ManifestCondition | debputy | 462s | arch-matches | ManifestCondition | debputy | 462s | source-context-arch-matches | ManifestCondition | debputy | 462s | package-context-arch-matches | ManifestCondition | debputy | 462s | build-profiles-matches | ManifestCondition | debputy | 462s | manifest-version | | debputy | 462s | definitions | | debputy | 462s | installations | | debputy | 462s | packages | | debputy | 462s | variables | definitions | debputy | 462s | binary-version | packages.{{PACKAGE}} | debputy | 462s | transformations | packages.{{PACKAGE}} | debputy | 462s | conffile-management | packages.{{PACKAGE}} | debputy | 462s | services | packages.{{PACKAGE}} | debputy | 462s | clean-after-removal | packages.{{PACKAGE}} | debputy | 462s | installation-search-dirs | packages.{{PACKAGE}} | debputy | 462s +-------------------------------+------------------------------+-------------+ 462s + debputy --no-pager plugin list automatic-discard-rules 463s +-----------------------+-------------+ 463s | Name | Provided By | 463s +-----------------------+-------------+ 463s | python-cache-files | debputy | 463s | la-files | debputy | 463s | backup-files | debputy | 463s | version-control-paths | debputy | 463s | gnu-info-dir-file | debputy | 463s | debian-dir | debputy | 463s | doxygen-cruft-files | debputy | 463s +-----------------------+-------------+ 463s + debputy --no-pager plugin list a-d-r 463s +-----------------------+-------------+ 463s | Name | Provided By | 463s +-----------------------+-------------+ 463s | python-cache-files | debputy | 463s | la-files | debputy | 463s | backup-files | debputy | 463s | version-control-paths | debputy | 463s | gnu-info-dir-file | debputy | 463s | debian-dir | debputy | 463s | doxygen-cruft-files | debputy | 463s +-----------------------+-------------+ 463s + debputy --no-pager plugin show ppf changelog 463s Packager Provided File: changelog 463s ================================= 463s 463s This file is the changelog of the package and is mandatory. 463s 463s The changelog contains the version of the source package and is mandatory for all 463s packages. 463s 463s Use `dch --create` to create the changelog. 463s 463s In theory, the binary package can have a different changelog than the source 463s package (by having `debian/binary-package.changelog`). However, it is generally 463s not useful and leads to double administration. It has not been used in practice. 463s 463s Features: 463s * debian/changelog is used for *ALL* packages 463s * No naming support; at most one per package and it is named after the package. 463s * No architecture specific variants. 463s 463s Examples matches: 463s +-----------------------------+--------------------------------------------+ 463s | Source file | Installed As | 463s +-----------------------------+--------------------------------------------+ 463s | debian/changelog | /usr/share/doc/dh-debputy/changelog.Debian | 463s | debian/dh-debputy.changelog | /usr/share/doc/dh-debputy/changelog.Debian | 463s +-----------------------------+--------------------------------------------+ 463s 463s Documentation URIs: 463s * man:deb-changelog(5) 463s * https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog 463s * man:dch(1) 463s 463s Install Mode: 0644 463s Provided by plugin: debputy 463s + debputy --no-pager plugin show ppf debian/changelog 464s Packager Provided File: changelog 464s ================================= 464s 464s This file is the changelog of the package and is mandatory. 464s 464s The changelog contains the version of the source package and is mandatory for all 464s packages. 464s 464s Use `dch --create` to create the changelog. 464s 464s In theory, the binary package can have a different changelog than the source 464s package (by having `debian/binary-package.changelog`). However, it is generally 464s not useful and leads to double administration. It has not been used in practice. 464s 464s Features: 464s * debian/changelog is used for *ALL* packages 464s * No naming support; at most one per package and it is named after the package. 464s * No architecture specific variants. 464s 464s Examples matches: 464s +-----------------------------+--------------------------------------------+ 464s | Source file | Installed As | 464s +-----------------------------+--------------------------------------------+ 464s | debian/changelog | /usr/share/doc/dh-debputy/changelog.Debian | 464s | debian/dh-debputy.changelog | /usr/share/doc/dh-debputy/changelog.Debian | 464s +-----------------------------+--------------------------------------------+ 464s 464s Documentation URIs: 464s * man:deb-changelog(5) 464s * https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog 464s * man:dch(1) 464s 464s Install Mode: 0644 464s Provided by plugin: debputy 464s + debputy --no-pager plugin show ppf service 464s Packager Provided File: service 464s =============================== 464s 464s Sorry, no description provided by the plugin debputy. 464s 464s Features: 464s * debian/service is used for only for the "main" package 464s * Supports naming segment (multiple files and custom naming). 464s * No architecture specific variants. 464s 464s Examples matches: 464s +------------------------------------------+------------------------------------------------+ 464s | Source file | Installed As | 464s +------------------------------------------+------------------------------------------------+ 464s | debian/service | /usr/lib/systemd/system/dh-debputy.service | 464s | debian/dh-debputy.service | /usr/lib/systemd/system/dh-debputy.service | 464s | debian/dh-debputy.my.custom.name.service | /usr/lib/systemd/system/my.custom.name.service | 464s +------------------------------------------+------------------------------------------------+ 464s 464s Documentation URIs: 464s * man:systemd.service(5) 464s 464s Install Mode: 0644 464s Provided by plugin: debputy 464s + debputy --no-pager plugin show pmr --help 464s usage: debputy plugin show pluggable-manifest-rules [-h] 464s [--debputy-manifest DEBPUTY_MANIFEST] 464s [-d] [--no-pager] 464s [--plugin REQUIRED_PLUGINS] 464s rule-name 464s 464s positional arguments: 464s rule-name Name of the rule (such as `install`) to display 464s details about 464s 464s options: 464s -h, --help show this help message and exit 464s --debputy-manifest DEBPUTY_MANIFEST 464s Specify another `debputy` manifest (default: 464s debian/debputy.manifest) 464s -d, --debug Enable debug logging and raw stack traces on errors. 464s Some warnings become errors as a consequence. 464s --no-pager For subcommands that can use a pager, disable the use 464s of pager. Some output formats implies --no-pager 464s --plugin REQUIRED_PLUGINS 464s Request the plugin to be loaded. Can be used multiple 464s time. Ignored for some commands (such as autopkgtest- 464s test-runner) 464s Checking installations manifest rules 464s + echo Checking installations manifest rules 464s + debputy --no-pager plugin show pmr install 464s Generic install (`install`) 464s =========================== 464s 464s The generic `install` rule can be used to install arbitrary paths into packages 464s and is *similar* to how `dh_install` from debhelper works. It is a two "primary" uses. 464s 464s 1) The classic "install into directory" similar to the standard `dh_install` 464s 2) The "install as" similar to `dh-exec`'s `foo => bar` feature. 464s 464s The `install` rule installs a path exactly once into each package it acts on. In 464s the rare case that you want to install the same source *multiple* times into the 464s *same* packages, please have a look at `multi-dest-install`. 464s 464s Attributes: 464s - `source` (conditional): FileSystemMatchRule 464s `sources` (conditional): List of string 464s 464s A path match (`source`) or a list of path matches (`sources`) defining the 464s source path(s) to be installed. The path match(es) can use globs. Each match 464s is tried against default search directories. 464s - When a symlink is matched, then the symlink (not its target) is installed 464s as-is. When a directory is matched, then the directory is installed along 464s with all the contents that have not already been installed somewhere. 464s 464s - `dest-dir` (optional): FileSystemExactMatchRule 464s 464s A path defining the destination *directory*. The value *cannot* use globs, but can 464s use substitution. If neither `as` nor `dest-dir` is given, then `dest-dir` defaults 464s to the directory name of the `source`. 464s 464s - `into` (optional): string or a list of string 464s 464s Either a package name or a list of package names for which these paths should be 464s installed. This key is conditional on whether there are multiple binary packages listed 464s in `debian/control`. When there is only one binary package, then that binary is the 464s default for `into`. Otherwise, the key is required. 464s 464s - `as` (optional): FileSystemExactMatchRule 464s 464s A path defining the path to install the source as. This is a full path. This option 464s is mutually exclusive with `dest-dir` and `sources` (but not `source`). When `as` is 464s given, then `source` must match exactly one "not yet matched" path. 464s 464s - `when` (optional): ManifestCondition 464s 464s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#Conditional rules). 464s 464s 464s This rule enforces the following restrictions: 464s - The rule must use exactly one of: `sources`, `source` 464s - The attribute `as` cannot be used with any of: `sources`, `dest-dir` 464s 464s Non-mapping format: string or a list of string 464s When the input is a string or a list of string, then that value is used as shorthand 464s for `source` or `sources` (respectively). This form can only be used when `into` is 464s not required. 464s 464s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#generic-install-install 464s Used in: installations 464s Rule reference: InstallRule::install 464s Plugin: debputy 464s 464s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 464s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 465s + debputy --no-pager plugin show pmr install-docs 465s Install documentation (`install-docs`) 465s ====================================== 465s 465s This install rule resemble that of `dh_installdocs`. It is a shorthand over the generic 465s `install` rule with the following key features: 465s 465s 1) The default `dest-dir` is to use the package's documentation directory (usually something 465s like `/usr/share/doc/{PACKAGE}`, though it respects the "main documentation package" 465s recommendation from Debian Policy). The `dest-dir` or `as` can be set in case the 465s documentation in question goes into another directory or with a concrete path. In this 465s case, it is still "better" than `install` due to the remaining benefits. 465s 2) The rule comes with pre-defined conditional logic for skipping the rule under 465s `DEB_BUILD_OPTIONS=nodoc`, so you do not have to write that conditional yourself. 465s 3) The `into` parameter can be omitted as long as there is a exactly one non-`udeb` 465s package listed in `debian/control`. 465s 465s With these two things in mind, it behaves just like the `install` rule. 465s 465s Note: It is often worth considering to use a more specialized version of the `install-docs` 465s rule when one such is available. If you are looking to install an example or a man page, 465s consider whether `install-examples` or `install-man` might be a better fit for your 465s use-case. 465s 465s Attributes: 465s - `source` (conditional): FileSystemMatchRule 465s `sources` (conditional): List of string 465s 465s A path match (`source`) or a list of path matches (`sources`) defining the 465s source path(s) to be installed. The path match(es) can use globs. Each match 465s is tried against default search directories. 465s - When a symlink is matched, then the symlink (not its target) is installed 465s as-is. When a directory is matched, then the directory is installed along 465s with all the contents that have not already been installed somewhere. 465s 465s - **CAVEAT**: Specifying `source: examples` where `examples` resolves to a 465s directory for `install-examples` will give you an `examples/examples` 465s directory in the package, which is rarely what you want. Often, you 465s can solve this by using `examples/*` instead. Similar for `install-docs` 465s and a `doc` or `docs` directory. 465s 465s - `dest-dir` (optional): FileSystemExactMatchRule 465s 465s A path defining the destination *directory*. The value *cannot* use globs, but can 465s use substitution. If neither `as` nor `dest-dir` is given, then `dest-dir` defaults 465s to the relevant package documentation directory (a la `/usr/share/doc/{PACKAGE}`). 465s 465s - `into` (optional): string or a list of string 465s 465s Either a package name or a list of package names for which these paths should be 465s installed as documentation. This key is conditional on whether there are multiple 465s (non-`udeb`) binary packages listed in `debian/control`. When there is only one 465s (non-`udeb`) binary package, then that binary is the default for `into`. Otherwise, 465s the key is required. 465s 465s - `as` (optional): FileSystemExactMatchRule 465s 465s A path defining the path to install the source as. This is a full path. This option 465s is mutually exclusive with `dest-dir` and `sources` (but not `source`). When `as` is 465s given, then `source` must match exactly one "not yet matched" path. 465s 465s - `when` (optional): ManifestCondition 465s 465s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#Conditional rules). 465s This condition will be combined with the built-in condition provided by these rules 465s (rather than replacing it). 465s 465s 465s This rule enforces the following restrictions: 465s - The rule must use exactly one of: `sources`, `source` 465s - The attribute `as` cannot be used with any of: `sources`, `dest-dir` 465s 465s Non-mapping format: string or a list of string 465s When the input is a string or a list of string, then that value is used as shorthand 465s for `source` or `sources` (respectively). This form can only be used when `into` is 465s not required. 465s 465s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#install-documentation-install-docs 465s Used in: installations 465s Rule reference: InstallRule::install-docs 465s Plugin: debputy 465s 465s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 465s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 465s + debputy --no-pager plugin show pmr install-man 465s Install man pages (`install-man`) 465s ================================= 465s 465s Install rule for installing man pages similar to `dh_installman`. It is a shorthand 465s over the generic `install` rule with the following key features: 465s 465s 1) The rule can only match files (notably, symlinks cannot be matched by this rule). 465s 2) The `dest-dir` is computed per source file based on the man page's section and 465s language. 465s 3) The `into` parameter can be omitted as long as there is a exactly one non-`udeb` 465s package listed in `debian/control`. 465s 4) The rule comes with man page specific attributes such as `language` and `section` 465s for when the auto-detection is insufficient. 465s 5) The rule comes with pre-defined conditional logic for skipping the rule under 465s `DEB_BUILD_OPTIONS=nodoc`, so you do not have to write that conditional yourself. 465s 465s With these things in mind, the rule behaves similar to the `install` rule. 465s 465s Attributes: 465s - `source` (conditional): FileSystemMatchRule 465s `sources` (conditional): List of string 465s 465s A path match (`source`) or a list of path matches (`sources`) defining the 465s source path(s) to be installed. The path match(es) can use globs. Each match 465s is tried against default search directories. 465s - When a symlink is matched, then the symlink (not its target) is installed 465s as-is. When a directory is matched, then the directory is installed along 465s with all the contents that have not already been installed somewhere. 465s 465s - `into` (optional): string or a list of string 465s 465s Either a package name or a list of package names for which these paths should be 465s installed as man pages. This key is conditional on whether there are multiple (non-`udeb`) 465s binary packages listed in `debian/control`. When there is only one (non-`udeb`) binary 465s package, then that binary is the default for `into`. Otherwise, the key is required. 465s 465s - `section` (optional): integer 465s 465s If provided, it must be an integer between 1 and 9 (both inclusive), defining the 465s section the man pages belong overriding any auto-detection that `debputy` would 465s have performed. 465s 465s - `language` (optional): string 465s 465s If provided, it must be either a 2 letter language code (such as `de`), a 5 letter 465s language + dialect code (such as `pt_BR`), or one of the special keywords `C`, 465s `derive-from-path`, or `derive-from-basename`. The default is `derive-from-path`. 465s - When `language` is `C`, then the man pages are assumed to be "untranslated". 465s - When `language` is a language code (with or without dialect), then all man pages 465s matched will be assumed to be translated to that concrete language / dialect. 465s - When `language` is `derive-from-path`, then `debputy` attempts to derive the 465s language from the path (`man//man
`). This matches the 465s default of `dh_installman`. When no language can be found for a given source, 465s `debputy` behaves like language was `C`. 465s - When `language` is `derive-from-basename`, then `debputy` attempts to derive 465s the language from the basename (`foo..1`) similar to `dh_installman` 465s previous default. When no language can be found for a given source, `debputy` 465s behaves like language was `C`. Note this is prone to false positives where 465s `.pl`, `.so` or similar two-letter extensions gets mistaken for a language code 465s (`.pl` can both be "Polish" or "Perl Script", `.so` can both be "Somali" and 465s "Shared Object" documentation). In this configuration, such extensions are 465s always assumed to be a language. 465s 465s - `when` (optional): ManifestCondition 465s 465s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#Conditional rules). 465s 465s 465s This rule enforces the following restrictions: 465s - The rule must use exactly one of: `sources`, `source` 465s 465s Non-mapping format: string or a list of string 465s When the input is a string or a list of string, then that value is used as shorthand 465s for `source` or `sources` (respectively). This form can only be used when `into` is 465s not required. 465s 465s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#install-manpages-install-man 465s Used in: installations 465s Rule reference: InstallRule::install-man 465s Plugin: debputy 465s 465s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 465s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 465s + debputy --no-pager plugin show pmr discard 466s Discard (or exclude) upstream provided paths (`discard`) 466s ======================================================== 466s 466s When installing paths from `debian/tmp` into packages, it might be useful to ignore 466s some paths that you never need installed. This can be done with the `discard` rule. 466s 466s Once a path is discarded, it cannot be matched by any other install rules. A path 466s that is discarded, is considered handled when `debputy` checks for paths you might 466s have forgotten to install. The `discard` feature is therefore *also* replaces the 466s `debian/not-installed` file used by `debhelper` and `cdbs`. 466s 466s Attributes: 466s - `path` (conditional): FileSystemMatchRule 466s `paths` (conditional): List of string 466s 466s A path match (`path`) or a list of path matches (`paths`) defining the source 466s path(s) that should not be installed anywhere. The path match(es) can use globs. 466s - When a symlink is matched, then the symlink (not its target) is discarded as-is. 466s When a directory is matched, then the directory is discarded along with all the 466s contents that have not already been installed somewhere. 466s 466s - `search-dir` (optional): FileSystemExactMatchRule 466s `search-dirs` (optional): List of string 466s 466s A path (`search-dir`) or a list to paths (`search-dirs`) that defines 466s which search directories apply to. This attribute is primarily useful 466s for source packages that uses "per package search dirs", and you want 466s to restrict a discard rule to a subset of the relevant search dirs. 466s Note all listed search directories must be either an explicit search 466s requested by the packager or a search directory that `debputy` 466s provided automatically (such as `debian/tmp`). Listing other paths 466s will make `debputy` report an error. 466s - Note that the `path` or `paths` must match at least one entry in 466s any of the search directories unless *none* of the search directories 466s exist (or the condition in `required-when` evaluates to false). When 466s none of the search directories exist, the discard rule is silently 466s skipped. This special-case enables you to have discard rules only 466s applicable to certain builds that are only performed conditionally. 466s 466s - `required-when` (optional): ManifestCondition 466s 466s A condition as defined in [Conditional rules](#conditional-rules). The discard 466s rule is always applied. When the conditional is present and evaluates to false, 466s the discard rule can silently match nothing.When the condition is absent, *or* 466s it evaluates to true, then each pattern provided must match at least one path. 466s 466s 466s This rule enforces the following restrictions: 466s - The rule must use exactly one of: `path`, `paths` 466s - The following attributes are mutually exclusive: `search-dirs`, `search-dir` 466s 466s Non-mapping format: string or a list of string 466s When the input is a string or a list of string, then that value is used as shorthand 466s for `path` or `paths` (respectively). 466s 466s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#discard-or-exclude-upstream-provided-paths-discard 466s Used in: installations 466s Rule reference: InstallRule::discard 466s Plugin: debputy 466s 466s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 466s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 466s Checking binary package transformations manifest rules 466s + echo Checking binary package transformations manifest rules 466s + debputy --no-pager plugin show pmr TransformationRule::remove 466s Remove transformation rule (`remove`) 466s ===================================== 466s 466s The remove transformation rule is mostly only useful for single binary source packages, 466s where everything from upstream's build system is installed automatically into the package. 466s In those case, you might find yourself with some files that are _not_ relevant for the 466s Debian package (but would be relevant for other distros or for non-distro local builds). 466s Common examples include `INSTALL` files or `LICENSE` files (when they are just a subset 466s of `debian/copyright`). 466s 466s In the manifest, you can ask `debputy` to remove paths from the debian package by using 466s the `remove` transformation rule. 466s 466s Note that `remove` removes paths from future glob matches and transformation rules. 466s 466s Attributes: 466s - `path` (conditional): FileSystemMatchRule 466s `paths` (conditional): List of string 466s 466s A path match (`path`) or a list of path matches (`paths`) defining the 466s path(s) inside the package that should be removed. The path match(es) 466s can use globs. 466s - When a symlink is matched, then the symlink (not its target) is removed 466s as-is. When a directory is matched, then the directory is removed 466s along with all the contents. 466s 466s - `keep-empty-parent-dirs` (optional): boolean 466s 466s A boolean determining whether to prune parent directories that become 466s empty as a consequence of this rule. When provided and `true`, this 466s rule will leave empty directories behind. Otherwise, if this rule 466s causes a directory to become empty that directory will be removed. 466s 466s - `when` (optional): ManifestCondition 466s 466s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#Conditional rules). 466s This condition will be combined with the built-in condition provided by these rules 466s (rather than replacing it). 466s 466s 466s This rule enforces the following restrictions: 466s - The rule must use exactly one of: `paths`, `path` 466s 466s Non-mapping format: string or a list of string 466s When the input is a string or a list of string, then that value is used as shorthand 466s for `path` or `paths` (respectively). 466s 466s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#remove-transformation-rule-remove 466s Used in: packages.{{PACKAGE}}.transformations 466s Rule reference: TransformationRule::remove 466s Plugin: debputy 466s 466s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 466s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 466s + debputy --no-pager plugin show pmr move 466s Move transformation rule (`move`) 466s ================================= 466s 466s The move transformation rule is mostly only useful for single binary source packages, 466s where everything from upstream's build system is installed automatically into the package. 466s In those case, you might find yourself with some files that need to be renamed to match 466s Debian specific requirements. 466s 466s This can be done with the `move` transformation rule, which is a rough emulation of the 466s `mv` command line tool. 466s 466s Attributes: 466s - `source` (required): FileSystemMatchRule 466s 466s A path match defining the source path(s) to be renamed. The value can use globs 466s and substitutions. 466s 466s - `target` (required): FileSystemExactMatchRule 466s 466s A path defining the target path. The value *cannot* use globs, but can use 466s substitution. If the target ends with a literal `/` (prior to substitution), 466s the target will *always* be a directory. 466s 466s - `when` (optional): ManifestCondition 466s 466s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#Conditional rules). 466s 466s 466s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#move-transformation-rule-move 466s Used in: packages.{{PACKAGE}}.transformations 466s Rule reference: TransformationRule::move 466s Plugin: debputy 466s 466s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 466s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 466s + debputy --no-pager plugin show pmr create-symlink 467s Create symlinks transformation rule (`create-symlink`) 467s ====================================================== 467s 467s Often, the upstream build system will provide the symlinks for you. However, 467s in some cases, it is useful for the packager to define distribution specific 467s symlinks. This can be done via the `create-symlink` transformation rule. 467s 467s Attributes: 467s - `path` (required): FileSystemExactMatchRule 467s 467s The path that should be a symlink. The path may contain substitution 467s variables such as `{DEB_HOST_MULTIARCH}` but _cannot_ use globs. 467s Parent directories are implicitly created as necessary. 467s * Note that if `path` already exists, the behaviour of this 467s transformation depends on the value of `replacement-rule`. 467s 467s - `target` (required): SymlinkTarget 467s 467s Where the symlink should point to. The target may contain substitution 467s variables such as `{DEB_HOST_MULTIARCH}` but _cannot_ use globs. 467s The link target is _not_ required to exist inside the package. 467s * The `debputy` tool will normalize the target according to the rules 467s of the Debian Policy. Use absolute or relative target at your own 467s preference. 467s 467s - `replacement-rule` (optional): One of the following literal values: "error-if-exists", "error-if-directory", "abort-on-non-empty-directory", "discard-existing" 467s 467s This attribute defines how to handle if `path` already exists. It can 467s be set to one of the following values: 467s - `error-if-exists`: When `path` already exists, `debputy` will 467s stop with an error. This is similar to `ln -s` semantics. 467s - `error-if-directory`: When `path` already exists, **and** it is 467s a directory, `debputy` will stop with an error. Otherwise, 467s remove the `path` first and then create the symlink. This is 467s similar to `ln -sf` semantics. 467s - `abort-on-non-empty-directory` (default): When `path` already 467s exists, then it will be removed provided it is a non-directory 467s **or** an *empty* directory and the symlink will then be 467s created. If the path is a *non-empty* directory, `debputy` 467s will stop with an error. 467s - `discard-existing`: When `path` already exists, it will be 467s removed. If the `path` is a directory, all its contents will 467s be removed recursively along with the directory. Finally, 467s the symlink is created. This is similar to having an explicit 467s `remove` rule just prior to the `create-symlink` that is 467s conditional on `path` existing (plus the condition defined in 467s `when` if any). 467s 467s Keep in mind, that `replacement-rule` only applies if `path` exists. 467s If the symlink cannot be created, because a part of `path` exist and 467s is *not* a directory, then `create-symlink` will fail regardless of 467s the value in `replacement-rule`. 467s 467s - `when` (optional): ManifestCondition 467s 467s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#Conditional rules). 467s 467s 467s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#create-symlinks-transformation-rule-create-symlink 467s Used in: packages.{{PACKAGE}}.transformations 467s Rule reference: TransformationRule::create-symlink 467s Plugin: debputy 467s 467s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 467s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 467s + debputy --no-pager plugin show pmr path-metadata 467s Change path owner/group or mode (`path-metadata`) 467s ================================================= 467s 467s The `debputy` command normalizes the path metadata (such as ownership and mode) similar 467s to `dh_fixperms`. For most packages, the default is what you want. However, in some 467s cases, the package has a special case or two that `debputy` does not cover. In that 467s case, you can tell `debputy` to use the metadata you want by using the `path-metadata` 467s transformation. 467s 467s Common use-cases include setuid/setgid binaries (such `usr/bin/sudo`) or/and static 467s ownership (such as /usr/bin/write). 467s 467s Attributes: 467s - `path` (conditional): FileSystemMatchRule 467s `paths` (conditional): List of string 467s 467s A path match (`path`) or a list of path matches (`paths`) defining the path(s) 467s inside the package that should be affected. The path match(es) can use globs 467s and substitution variables. Special-rules for matches: 467s - Symlinks are never followed and will never be matched by this rule. 467s - Directory handling depends on the `recursive` attribute. 467s 467s - `owner` (optional): one-of: integer, string 467s 467s Denotes the owner of the paths matched by `path` or `paths`. When omitted, 467s no change of owner is done. 467s 467s - `group` (optional): one-of: integer, string 467s 467s Denotes the group of the paths matched by `path` or `paths`. When omitted, 467s no change of group is done. 467s 467s - `mode` (optional): FileSystemMode 467s 467s Denotes the mode of the paths matched by `path` or `paths`. When omitted, 467s no change in mode is done. Note that numeric mode must always be given as 467s a string (i.e., with quotes). Symbolic mode can be used as well. If 467s symbolic mode uses a relative definition (e.g., `o-rx`), then it is 467s relative to the matched path's current mode. 467s 467s - `capabilities` (optional): string 467s 467s Denotes a Linux capability that should be applied to the path. When provided, 467s `debputy` will cause the capability to be applied to all *files* denoted by 467s the `path`/`paths` attribute on install (via `postinst configure`) provided 467s that `setcap` is installed on the system when the `postinst configure` is 467s run. 467s - If any non-file paths are matched, the `capabilities` will *not* be applied 467s to those paths. 467s 467s 467s - `capability-mode` (optional): FileSystemMode 467s 467s Denotes the mode to apply to the path *if* the Linux capability denoted in 467s `capabilities` was successfully applied. If omitted, it defaults to `a-s` as 467s generally capabilities are used to avoid "setuid"/"setgid" binaries. The 467s `capability-mode` is relative to the *final* path mode (the mode of the path 467s in the produced `.deb`). The `capability-mode` attribute cannot be used if 467s `capabilities` is omitted. 467s 467s - `recursive` (optional): boolean 467s 467s When a directory is matched, then the metadata changes are applied to the 467s directory itself. When `recursive` is `true`, then the transformation is 467s *also* applied to all paths beneath the directory. The default value for 467s this attribute is `false`. 467s 467s - `when` (optional): ManifestCondition 467s 467s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#Conditional rules). 467s 467s 467s This rule enforces the following restrictions: 467s - The rule must use exactly one of: `path`, `paths` 467s 467s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#change-path-ownergroup-or-mode-path-metadata 467s Used in: packages.{{PACKAGE}}.transformations 467s Rule reference: TransformationRule::path-metadata 467s Plugin: debputy 467s 467s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 467s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 467s + debputy --no-pager plugin show pmr create-directories 467s Create directories transformation rule (`create-directories`) 467s ============================================================= 467s 467s NOTE: This transformation is only really needed if you need to create an empty 467s directory somewhere in your package as an integration point. All `debputy` 467s transformations will create directories as required. 467s 467s In most cases, upstream build systems and `debputy` will create all the relevant 467s directories. However, in some rare cases you may want to explicitly define a path 467s to be a directory. Maybe to silence a linter that is warning you about a directory 467s being empty, or maybe you need an empty directory that nothing else is creating for 467s you. This can be done via the `create-directories` transformation rule. 467s 467s Unless you have a specific need for the mapping form, you are recommended to use the 467s shorthand form of just listing the directories you want created. 467s 467s Attributes: 467s - `path` (conditional): FileSystemExactMatchRule 467s `paths` (conditional): List of string 467s 467s A path (`path`) or a list of path (`paths`) defining the path(s) inside the 467s package that should be created as directories. The path(es) _cannot_ use globs 467s but can use substitution variables. Parent directories are implicitly created 467s (with owner `root:root` and mode `0755` - only explicitly listed directories 467s are affected by the owner/mode options) 467s 467s - `owner` (optional): one-of: integer, string 467s 467s Denotes the owner of the directory (but _not_ what is inside the directory). 467s Default is "root". 467s 467s - `group` (optional): one-of: integer, string 467s 467s Denotes the group of the directory (but _not_ what is inside the directory). 467s Default is "root". 467s 467s - `mode` (optional): FileSystemMode 467s 467s Denotes the mode of the directory (but _not_ what is inside the directory). 467s Note that numeric mode must always be given as a string (i.e., with quotes). 467s Symbolic mode can be used as well. If symbolic mode uses a relative 467s definition (e.g., `o-rx`), then it is relative to the directory's current mode 467s (if it already exists) or `0755` if the directory is created by this 467s transformation. The default is "0755". 467s 467s - `when` (optional): ManifestCondition 467s 467s A condition as defined in [Conditional rules](https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#Conditional rules). 467s 467s 467s This rule enforces the following restrictions: 467s - The rule must use exactly one of: `path`, `paths` 467s 467s Non-mapping format: string or a list of string 467s When the input is a string or a list of string, then that value is used as shorthand 467s for `path` or `paths` (respectively). 467s 467s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#create-directories-transformation-rule-directories 467s Used in: packages.{{PACKAGE}}.transformations 467s Rule reference: TransformationRule::create-directories 467s Plugin: debputy 467s 467s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 467s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 467s + debputy --no-pager plugin show pmr run-build-time-tests 468s Whether build time tests should be run `run-build-time-tests` 468s ============================================================= 468s 468s The `run-build-time-tests` condition is used to determine whether (build 468s time) tests should be run for this build. This condition roughly 468s translates into whether `nocheck` is present in `DEB_BUILD_OPTIONS`. 468s 468s In general, the manifest *should not* prevent build time tests from being 468s run during cross-builds. 468s 468s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#whether-build-time-tests-should-be-run-run-build-time-tests-string 468s Used in: *.when 468s Rule reference: ManifestCondition::run-build-time-tests 468s Plugin: debputy 468s 468s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 468s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 468s + debputy --no-pager plugin show pmr arch-matches 468s Architecture match condition `arch-matches` 468s =========================================== 468s 468s Sometimes, a rule needs to be conditional on the architecture. 468s This can be done by using the `arch-matches` rule. In 99.99% 468s of the cases, `arch-matches` will be form you are looking for 468s and practically behaves like a comparison against 468s `dpkg-architecture -qDEB_HOST_ARCH`. 468s 468s For the cross-compiling specialists or curious people: The 468s `arch-matches` rule behaves like a `package-context-arch-matches` 468s in the context of a binary package and like 468s `source-context-arch-matches` otherwise. The details of those 468s are covered in their own keywords. 468s 468s Non-mapping format: string 468s The value must be a string in the form of a space separated list 468s architecture names or architecture wildcards (same syntax as the 468s architecture restriction in Build-Depends in debian/control except 468s there is no enclosing `[]` brackets). The names/wildcards can 468s optionally be prefixed by `!` to negate them. However, either 468s *all* names / wildcards must have negation or *none* of them may 468s have it. 468s 468s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#architecture-match-condition-arch-matches-mapping 468s Used in: *.when 468s Rule reference: ManifestCondition::arch-matches 468s Plugin: debputy 468s 468s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 468s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 468s + debputy --no-pager plugin show pmr not 468s Negated condition `not` (mapping) 468s ================================= 468s 468s It is possible to negate a condition via the `not` condition. 468s 468s As an example: 468s 468s packages: 468s util-linux: 468s transformations: 468s - create-symlink 468s path: sbin/getty 468s target: /sbin/agetty 468s when: 468s # On Hurd, the package "hurd" ships "sbin/getty". 468s # This example happens to also be alternative to `arch-marches: '!hurd-any` 468s not: 468s arch-matches: 'hurd-any' 468s 468s The `not` condition is specified as a mapping, where the key is `not` and the 468s value is a nested condition. 468s 468s Attributes: 468s - `not` (required): ManifestCondition 468s 468s The condition to be negated. 468s 468s 468s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#whether-build-time-tests-should-be-run-run-build-time-tests-string 468s Used in: *.when 468s Rule reference: ManifestCondition::not 468s Plugin: debputy 468s 468s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 468s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 468s + debputy --no-pager plugin show pmr build-profiles-matches 469s Active build profile match condition `build-profiles-matches` 469s ============================================================= 469s 469s The `build-profiles-matches` condition is used to assert whether the 469s active build profiles (`DEB_BUILD_PROFILES` / `dpkg-buildpackage -P`) 469s matches a given build profile restriction. 469s 469s Non-mapping format: string 469s The value is a string using the same syntax as the `Build-Profiles` 469s field from `debian/control` (i.e., a space separated list of 469s `<[!]profile ...>` groups). 469s 469s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#active-build-profile-match-condition-build-profiles-matches-mapping 469s Used in: *.when 469s Rule reference: ManifestCondition::build-profiles-matches 469s Plugin: debputy 469s 469s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 469s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 469s + debputy --no-pager plugin show pmr cross-compiling 469s Cross-Compiling condition `cross-compiling` 469s =========================================== 469s 469s The `cross-compiling` condition is used to determine if the current build is 469s performing a cross build (i.e., `DEB_BUILD_GNU_TYPE` != `DEB_HOST_GNU_TYPE`). 469s Often this has consequences for what is possible to do. 469s 469s Note if you specifically want to know: 469s 469s * whether build-time tests should be run, then please use the 469s `run-build-time-tests` condition. 469s * whether compiled binaries can be run as if it was a native binary, please 469s use the `can-execute-compiled-binaries` condition instead. That condition 469s accounts for cross-building in its evaluation. 469s 469s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#cross-compiling-condition-cross-compiling-string 469s Used in: *.when 469s Rule reference: ManifestCondition::cross-compiling 469s Plugin: debputy 469s 469s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 469s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 469s + debputy --no-pager plugin show pmr binary-version 469s Custom binary version (`binary-version`) 469s ======================================== 469s 469s In the *rare* case that you need a binary package to have a custom version, you can use 469s the `binary-version:` key to describe the desired package version. An example being: 469s 469s packages: 469s foo: 469s # The foo package needs a different epoch because we took it over from a different 469s # source package with higher epoch version 469s binary-version: '1:{DEB_VERSION_UPSTREAM_REVISION}' 469s 469s Use this feature sparingly as it is generally not possible to undo as each version must be 469s monotonously higher than the previous one. This feature translates into `-v` option for 469s `dpkg-gencontrol`. 469s 469s The value for the `binary-version` key is a string that defines the binary version. Generally, 469s you will want it to contain one of the versioned related substitution variables such as 469s `{DEB_VERSION_UPSTREAM_REVISION}`. Otherwise, you will have to remember to bump the version 469s manually with each upload as versions cannot be reused and the package would not support binNMUs 469s either. 469s 469s Non-mapping format: string 469s 469s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#custom-binary-version-binary-version 469s Used in: packages.{{PACKAGE}} 469s Rule reference: packages.{{PACKAGE}}::binary-version 469s Plugin: debputy 469s 469s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 469s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 469s + debputy --no-pager plugin show pmr definitions 470s Packager provided definitions 470s ============================= 470s 470s Reusable packager provided definitions such as manifest variables. 470s 470s Attributes: 470s - `variables` (optional): Mapping of string 470s 470s It is possible to provide custom manifest variables via the `variables` attribute. An example: 470s 470s manifest-version: '0.1' 470s definitions: 470s variables: 470s LIBPATH: "/usr/lib/{DEB_HOST_MULTIARCH}" 470s SONAME: "1" 470s installations: 470s - install: 470s source: build/libfoo.so.{SONAME}* 470s # The quotes here is for the YAML parser's sake. 470s dest-dir: "{LIBPATH}" 470s into: libfoo{SONAME} 470s 470s The value of the `variables` key must be a mapping, where each key is a new variable name and 470s the related value is the value of said key. The keys must be valid variable name and not shadow 470s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 470s redefined). The value for each variable *can* refer to *existing* variables as seen in the 470s example above. 470s 470s As usual, `debputy` will insist that all declared variables must be used. 470s 470s Limitations: 470s * When declaring variables that depends on another variable declared in the manifest, the 470s order is important. The variables are resolved from top to bottom. 470s * When a manifest variable depends on another manifest variable, the existing variable is 470s currently always resolved in source context. As a consequence, some variables such as 470s `{PACKAGE}` cannot be used when defining a variable. This restriction may be 470s lifted in the future. 470s 470s 470s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#packager-provided-definitions 470s Used in: The manifest root 470s Rule reference: ::definitions 470s Plugin: debputy 470s 470s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 470s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 470s + debputy --no-pager plugin show pmr variables 470s Manifest Variables (`variables`) 470s ================================ 470s 470s It is possible to provide custom manifest variables via the `variables` attribute. An example: 470s 470s manifest-version: '0.1' 470s definitions: 470s variables: 470s LIBPATH: "/usr/lib/{DEB_HOST_MULTIARCH}" 470s SONAME: "1" 470s installations: 470s - install: 470s source: build/libfoo.so.{SONAME}* 470s # The quotes here is for the YAML parser's sake. 470s dest-dir: "{LIBPATH}" 470s into: libfoo{SONAME} 470s 470s The value of the `variables` key must be a mapping, where each key is a new variable name and 470s the related value is the value of said key. The keys must be valid variable name and not shadow 470s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 470s redefined). The value for each variable *can* refer to *existing* variables as seen in the 470s example above. 470s 470s As usual, `debputy` will insist that all declared variables must be used. 470s 470s Limitations: 470s * When declaring variables that depends on another variable declared in the manifest, the 470s order is important. The variables are resolved from top to bottom. 470s * When a manifest variable depends on another manifest variable, the existing variable is 470s currently always resolved in source context. As a consequence, some variables such as 470s `{PACKAGE}` cannot be used when defining a variable. This restriction may be 470s lifted in the future. 470s 470s Non-mapping format: Mapping of string 470s 470s Reference documentation: No reference documentation link provided by the plugin 470s Used in: definitions 470s Rule reference: definitions::variables 470s Plugin: debputy 470s 470s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 470s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 470s + debputy --no-pager plugin show pmr ::definitions 470s Packager provided definitions 470s ============================= 470s 470s Reusable packager provided definitions such as manifest variables. 470s 470s Attributes: 470s - `variables` (optional): Mapping of string 470s 470s It is possible to provide custom manifest variables via the `variables` attribute. An example: 470s 470s manifest-version: '0.1' 470s definitions: 470s variables: 470s LIBPATH: "/usr/lib/{DEB_HOST_MULTIARCH}" 470s SONAME: "1" 470s installations: 470s - install: 470s source: build/libfoo.so.{SONAME}* 470s # The quotes here is for the YAML parser's sake. 470s dest-dir: "{LIBPATH}" 470s into: libfoo{SONAME} 470s 470s The value of the `variables` key must be a mapping, where each key is a new variable name and 470s the related value is the value of said key. The keys must be valid variable name and not shadow 470s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 470s redefined). The value for each variable *can* refer to *existing* variables as seen in the 470s example above. 470s 470s As usual, `debputy` will insist that all declared variables must be used. 470s 470s Limitations: 470s * When declaring variables that depends on another variable declared in the manifest, the 470s order is important. The variables are resolved from top to bottom. 470s * When a manifest variable depends on another manifest variable, the existing variable is 470s currently always resolved in source context. As a consequence, some variables such as 470s `{PACKAGE}` cannot be used when defining a variable. This restriction may be 470s lifted in the future. 470s 470s 470s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md#packager-provided-definitions 470s Used in: The manifest root 470s Rule reference: ::definitions 470s Plugin: debputy 470s 470s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 470s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 470s + debputy --no-pager plugin show pmr definitions::variables 471s Manifest Variables (`variables`) 471s ================================ 471s 471s It is possible to provide custom manifest variables via the `variables` attribute. An example: 471s 471s manifest-version: '0.1' 471s definitions: 471s variables: 471s LIBPATH: "/usr/lib/{DEB_HOST_MULTIARCH}" 471s SONAME: "1" 471s installations: 471s - install: 471s source: build/libfoo.so.{SONAME}* 471s # The quotes here is for the YAML parser's sake. 471s dest-dir: "{LIBPATH}" 471s into: libfoo{SONAME} 471s 471s The value of the `variables` key must be a mapping, where each key is a new variable name and 471s the related value is the value of said key. The keys must be valid variable name and not shadow 471s existing variables (that is, variables such as `PACKAGE` and `DEB_HOST_MULTIARCH` *cannot* be 471s redefined). The value for each variable *can* refer to *existing* variables as seen in the 471s example above. 471s 471s As usual, `debputy` will insist that all declared variables must be used. 471s 471s Limitations: 471s * When declaring variables that depends on another variable declared in the manifest, the 471s order is important. The variables are resolved from top to bottom. 471s * When a manifest variable depends on another manifest variable, the existing variable is 471s currently always resolved in source context. As a consequence, some variables such as 471s `{PACKAGE}` cannot be used when defining a variable. This restriction may be 471s lifted in the future. 471s 471s Non-mapping format: Mapping of string 471s 471s Reference documentation: No reference documentation link provided by the plugin 471s Used in: definitions 471s Rule reference: definitions::variables 471s Plugin: debputy 471s 471s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 471s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 471s + debputy --no-pager plugin show pmr :: 471s Auto-generated reference documentation for the manifest root 471s ============================================================ 471s 471s This is an automatically generated reference documentation for the manifest root. It is generated 471s from input provided by debputy via the debputy API. 471s 471s (If you are the provider of the debputy plugin, you can replace this text with 471s your own documentation by providing the `inline_reference_documentation` when registering 471s the manifest rule.) 471s 471s Attributes: 471s - `manifest-version` (optional): One of the following literal values: "0.1" 471s 471s All `debputy` manifests must include a `debputy` manifest version, which will enable the 471s format to change over time. For now, there is only one version (`"0.1"`) and you have 471s to include the line: 471s 471s manifest-version: "0.1" 471s 471s On its own, the manifest containing only `manifest-version: "..."` will not do anything. So if you 471s end up only having the `manifest-version` key in the manifest, you can just remove the manifest and 471s rely entirely on the built-in rules. 471s 471s - `definitions` (optional): Object (see `::definitions`) 471s 471s Reusable packager provided definitions such as manifest variables. 471s 471s - `installations` (optional): 471s 471s For source packages building a single binary, the `dh_auto_install` from debhelper will default to 471s providing everything from upstream's install in the binary package. The `debputy` tool matches this 471s behaviour and accordingly, the `installations` feature is only relevant in this case when you need to 471s manually specify something upstream's install did not cover. 471s 471s For sources, that build multiple binaries, where `dh_auto_install` does not detect anything to install, 471s or when `dh_auto_install --destdir debian/tmp` is used, the `installations` section of the manifest is 471s used to declare what goes into which binary package. An example: 471s 471s installations: 471s - install: 471s sources: "usr/bin/foo" 471s into: foo 471s - install: 471s sources: "usr/*" 471s into: foo-extra 471s 471s All installation rules are processed in order (top to bottom). Once a path has been matched, it can 471s no longer be matched by future rules. In the above example, then `usr/bin/foo` would be in the `foo` 471s package while everything in `usr` *except* `usr/bin/foo` would be in `foo-extra`. If these had been 471s ordered in reverse, the `usr/bin/foo` rule would not have matched anything and caused `debputy` 471s to reject the input as an error on that basis. This behaviour is similar to "DEP-5" copyright files, 471s except the order is reversed ("DEP-5" uses "last match wins", where here we are doing "first match wins") 471s 471s In the rare case that some path need to be installed into two packages at the same time, then this is 471s generally done by changing `into` into a list of packages. 471s 471s All installations are currently run in *source* package context. This implies that: 471s 471s 1) No package specific substitutions are available. Notably `{PACKAGE}` cannot be resolved. 471s 2) All conditions are evaluated in source context. For 99.9% of users, this makes no difference, 471s but there is a cross-build feature that changes the "per package" architecture which is affected. 471s 471s This is a limitation that should be fixed in `debputy`. 471s 471s **Attention debhelper users**: Note the difference between `dh_install` (etc.) vs. `debputy` on 471s overlapping matches for installation. 471s 471s - `packages` (optional): PackageContext (chains to `::packages`) 471s 471s Inside the manifest, the `packages` mapping can be used to define requests for the binary packages 471s you want `debputy` to produce. Each key inside `packages` must be the name of a binary package 471s defined in `debian/control`. The value is a dictionary defining which features that `debputy` 471s should apply to that binary package. An example could be: 471s 471s packages: 471s foo: 471s transformations: 471s - create-symlink: 471s path: usr/share/foo/my-first-symlink 471s target: /usr/share/bar/symlink-target 471s - create-symlink: 471s path: usr/lib/{DEB_HOST_MULTIARCH}/my-second-symlink 471s target: /usr/lib/{DEB_HOST_MULTIARCH}/baz/symlink-target 471s bar: 471s transformations: 471s - create-directories: 471s - some/empty/directory.d 471s - another/empty/integration-point.d 471s - create-directories: 471s path: a/third-empty/directory.d 471s owner: www-data 471s group: www-data 471s 471s In this case, `debputy` will create some symlinks inside the `foo` package and some directories for 471s the `bar` package. The following subsections define the keys you can use under each binary package. 471s 471s 471s Reference documentation: https://salsa.debian.org/debian/debputy/-/blob/debian/0.1.35/MANIFEST-FORMAT.md 471s Rule reference: :: 471s 471s PS: If you want to know more about a non-trivial type of an attribute such as `FileSystemMatchRule`, 471s you can use `debputy plugin show type-mappings FileSystemMatchRule` to look it up 471s + debputy --no-pager plugin show manifest-variables DEB_SOURCE 471s Variable: DEB_SOURCE 471s ==================== 471s 471s Documentation: Name of the source package (`dpkg-parsechangelog -SSource`) 471s Resolved: debputy 471s Plugin: debputy 471s + debputy --no-pager plugin show manifest-variables token:TAB 472s Variable: token:TAB 472s =================== 472s 472s Documentation: Literal tab character 472s Resolved: \t 472s Plugin: debputy 472s + debputy --no-pager plugin show manifest-variables DEB_HOST_ARCH 472s Variable: DEB_HOST_ARCH 472s ======================= 472s 472s Documentation: Debian's name for the architecture (installed on) 472s This variable describes machine information used when the package is compiled and assembled. 472s * Machine type: The package will be **installed** on this type of machine / system 472s * Value description: Debian's name for the architecture 472s 472s The value is the output of: `dpkg-architecture -qDEB_HOST_ARCH` 472s Resolved: amd64 472s + debputy --no-pager plugin show manifest-variables DEB_BUILD_ARCH 472s Variable: DEB_BUILD_ARCH 472s ======================== 472s 472s Documentation: Debian's name for the architecture (compiled on) 472s This variable describes machine information used when the package is compiled and assembled. 472s * Machine type: The compilation of this package will be performed **on** this kind of machine / system 472s * Value description: Debian's name for the architecture 472s 472s The value is the output of: `dpkg-architecture -qDEB_BUILD_ARCH` 472s Resolved: amd64 472s Special-case: The variable has been marked as a "special-case"-only variable. 472s + debputy --no-pager plugin show automatic-discard-rules python-cache-files 473s Automatic Discard Rule: python-cache-files 473s ========================================== 473s 473s Discards any *.pyc, *.pyo files and any __pycache__ directories 473s 473s Example 473s ------- 473s 473s Consider the following source paths matched by a glob or directory match: 473s 473s /.../__pycache__/ << Discarded (directly by the rule) 473s /.../__pycache__/... << Discarded (directory was discarded) 473s /.../foo.py 473s /.../foo.pyc << Discarded (directly by the rule) 473s /.../foo.pyo << Discarded (directly by the rule) 473s + debputy --no-pager plugin show automatic-discard-rules la-files 473s Automatic Discard Rule: la-files 473s ================================ 473s 473s Discards any file with the extension .la beneath the directory /usr/lib 473s 473s Example 473s ------- 473s 473s Consider the following source paths matched by a glob or directory match: 473s 473s /usr/lib/libfoo.la << Discarded (directly by the rule) 473s /usr/lib/libfoo.so.1.0.0 473s + debputy --no-pager plugin show automatic-discard-rules backup-files 473s Automatic Discard Rule: backup-files 473s ==================================== 473s 473s Discards common back up files such as foo~, foo.bak or foo.orig 473s 473s Example 473s ------- 473s 473s Consider the following source paths matched by a glob or directory match: 473s 473s /.../.foo.sw. << Discarded (directly by the rule) 473s /.../DEADJOE << Discarded (directly by the rule) 473s /.../foo.orig << Discarded (directly by the rule) 473s /.../foo.rej << Discarded (directly by the rule) 473s /.../foo~ << Discarded (directly by the rule) 473s + debputy --no-pager plugin show automatic-discard-rules version-control-paths 474s Automatic Discard Rule: version-control-paths 474s ============================================= 474s 474s Discards common version control paths such as .git, .gitignore, CVS, etc. 474s 474s Example 474s ------- 474s 474s Consider the following source paths matched by a glob or directory match: 474s 474s /.../.git/ << Discarded (directly by the rule) 474s /.../.git/... << Discarded (directory was discarded) 474s /.../.gitattributes << Discarded (directly by the rule) 474s /.../.gitignore << Discarded (directly by the rule) 474s /.../CVS/ << Discarded (directly by the rule) 474s /.../CVS/... << Discarded (directory was discarded) 474s /tools/foo 474s + debputy --no-pager plugin show automatic-discard-rules gnu-info-dir-file 474s Automatic Discard Rule: gnu-info-dir-file 474s ========================================= 474s 474s Discards the /usr/share/info/dir file (causes package file conflicts) 474s 474s Example 474s ------- 474s 474s Consider the following source paths matched by a glob or directory match: 474s 474s /usr/share/info/dir << Discarded (directly by the rule) 474s /usr/share/info/dir.info 474s /usr/share/info/foo.info 474s /usr/share/random/case/dir 474s + debputy --no-pager plugin show automatic-discard-rules debian-dir 474s Automatic Discard Rule: debian-dir 474s ================================== 474s 474s (Implementation detail) Discards any DEBIAN directory to avoid it from appearing literally in the file listing 474s 474s Example 474s ------- 474s 474s Consider the following source paths matched by a glob or directory match: 474s 474s /DEBIAN/ << Discarded (directly by the rule) 474s /DEBIAN/control << Discarded (directory was discarded) 474s /usr/bin/foo 474s /usr/share/DEBIAN/foo 475s + debputy --no-pager plugin show automatic-discard-rules doxygen-cruft-files 475s Automatic Discard Rule: doxygen-cruft-files 475s =========================================== 475s 475s Discards cruft files generated by doxygen 475s 475s Example 475s ------- 475s 475s Consider the following source paths matched by a glob or directory match: 475s 475s /usr/share/doc/foo/api/.../cruft.map << Discarded (directly by the rule) 475s /usr/share/doc/foo/api/.../cruft.md5 << Discarded (directly by the rule) 475s /usr/share/doc/foo/api/doxygen.css 475s /usr/share/doc/foo/api/doxygen.svg 475s /usr/share/doc/foo/api/index.html 475s + debputy --no-pager tool-support annotate-debian-directory 475s {"result": [{"path": "debian/changelog", "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)"]}, {"path": "debian/copyright", "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/"]}, {"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.35/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/source/lintian-overrides", "file-categories": ["lint-config"], "documentation-uris": ["man:lintian(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 476s {"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 476s +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 476s | key | description | 476s +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 476s | generated | The file is (likely) generated from another file | 476s | 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. | 476s | 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. | 476s | 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/`) | 476s | maint-config | Maintenance configuration for a specific tool that the maintainer uses (tool / style preferences) | 476s | pkg-metadata | The file is related to standard package metadata (usually documented in Debian Policy) | 476s | pkg-helper-config | The file is packaging helper configuration or instruction file | 476s | testing | The file is related to automated testing (autopkgtests, salsa/gitlab CI). | 476s | lint-config | The file is related to a linter (such as overrides for false-positives or style preferences) | 476s +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 476s 476s If you wanted this as JSON, please use --output-format=json 476s autopkgtest [00:26:15]: test debputy-cli: -----------------------] 476s autopkgtest [00:26:15]: test debputy-cli: - - - - - - - - - - results - - - - - - - - - - 476s debputy-cli PASS (superficial) 477s autopkgtest [00:26:16]: test debputy-cli-lint-lsp: preparing testbed 477s Reading package lists... 477s Building dependency tree... 477s Reading state information... 478s Starting pkgProblemResolver with broken count: 0 478s Starting 2 pkgProblemResolver with broken count: 0 478s Done 478s The following additional packages will be installed: 478s python3-cattr python3-lsprotocol 478s The following NEW packages will be installed: 478s autopkgtest-satdep python3-cattr python3-lsprotocol 478s 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 478s Need to get 96.4 kB/97.1 kB of archives. 478s After this operation, 763 kB of additional disk space will be used. 478s Get:1 /tmp/autopkgtest.9CbZrT/3-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [720 B] 478s Get:2 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-cattr all 23.2.3-1 [38.1 kB] 478s Get:3 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-lsprotocol all 2023.0.0-1 [58.3 kB] 479s Fetched 96.4 kB in 0s (2486 kB/s) 479s Selecting previously unselected package python3-cattr. 479s (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 ... 76129 files and directories currently installed.) 479s Preparing to unpack .../python3-cattr_23.2.3-1_all.deb ... 479s Unpacking python3-cattr (23.2.3-1) ... 479s Selecting previously unselected package python3-lsprotocol. 479s Preparing to unpack .../python3-lsprotocol_2023.0.0-1_all.deb ... 479s Unpacking python3-lsprotocol (2023.0.0-1) ... 479s Selecting previously unselected package autopkgtest-satdep. 479s Preparing to unpack .../3-autopkgtest-satdep.deb ... 479s Unpacking autopkgtest-satdep (0) ... 479s Setting up python3-cattr (23.2.3-1) ... 479s Setting up python3-lsprotocol (2023.0.0-1) ... 480s Setting up autopkgtest-satdep (0) ... 481s (Reading database ... 76200 files and directories currently installed.) 481s Removing autopkgtest-satdep (0) ... 482s autopkgtest [00:26:21]: test debputy-cli-lint-lsp: [----------------------- 482s + debputy lint --linter-exit-code 483s debputy: info: Note: Due to a limitation in the linter, debian/debputy.manifest is 483s debputy: info: only **partially** checked by this command at the time of writing. 483s debputy: info: Please use `debputy check-manifest` to fully check the manifest. 483s + debputy lint --no-linter-exit-code 484s debputy: info: Note: Due to a limitation in the linter, debian/debputy.manifest is 484s debputy: info: only **partially** checked by this command at the time of writing. 484s debputy: info: Please use `debputy check-manifest` to fully check the manifest. 484s + debputy reformat --no-linter-exit-code --no-auto-fix 485s + debputy lsp editor-config 485s This version of debputy has editor snippets for the following editors: 485s * emacs (short for: emacs+eglot) 485s * emacs+eglot 485s * vim (short for: vim+youcompleteme) 485s * vim+youcompleteme 485s * vim+vim9lsp 485s * neovim (short for: neovim+nvim-lspconfig) 485s * neovim+nvim-lspconfig 485s + debputy lsp editor-config emacs 486s ;; `deputy lsp server` glue for emacs eglot (eglot is built-in these days) 486s ;; 486s ;; Add to ~/.emacs or ~/.emacs.d/init.el and then activate via `M-x eglot`. 486s ;; 486s ;; Requires: apt install elpa-dpkg-dev-el elpa-yaml-mode 486s ;; Recommends: apt install elpa-markdown-mode 486s 486s ;; Make emacs recognize debian/debputy.manifest as a YAML file 486s (add-to-list 'auto-mode-alist '("/debian/debputy.manifest\'" . yaml-mode)) 486s ;; Inform eglot about the debputy LSP 486s (with-eval-after-load 'eglot 486s (add-to-list 'eglot-server-programs 486s '(debian-control-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s (add-to-list 'eglot-server-programs 486s '(debian-changelog-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s (add-to-list 'eglot-server-programs 486s '(debian-copyright-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s ;; Requires elpa-dpkg-dev-el (>= 37.12) 486s (add-to-list 'eglot-server-programs 486s '(debian-autopkgtest-control-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s ;; The debian/rules file uses the qmake mode. 486s (add-to-list 'eglot-server-programs 486s '(makefile-gmake-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s (add-to-list 'eglot-server-programs 486s '(yaml-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s ) 486s 486s ;; Auto-start eglot for the relevant modes. 486s (add-hook 'debian-control-mode-hook 'eglot-ensure) 486s ;; Requires elpa-dpkg-dev-el (>= 37.12) 486s ;; Technically, the `eglot-ensure` works before then, but it causes a 486s ;; visible and very annoying long delay on opening the first changelog. 486s ;; It still has a minor delay in 37.12, which may still be too long for 486s ;; for your preference. In that case, comment it out. 486s (add-hook 'debian-changelog-mode-hook 'eglot-ensure) 486s (add-hook 'debian-copyright-mode-hook 'eglot-ensure) 486s ;; Requires elpa-dpkg-dev-el (>= 37.12) 486s (add-hook 'debian-autopkgtest-control-mode-hook 'eglot-ensure) 486s (add-hook 'makefile-gmake-mode-hook 'eglot-ensure) 486s (add-hook 'yaml-mode-hook 'eglot-ensure) 486s 486s + debputy lsp editor-config emacs+eglot 486s ;; `deputy lsp server` glue for emacs eglot (eglot is built-in these days) 486s ;; 486s ;; Add to ~/.emacs or ~/.emacs.d/init.el and then activate via `M-x eglot`. 486s ;; 486s ;; Requires: apt install elpa-dpkg-dev-el elpa-yaml-mode 486s ;; Recommends: apt install elpa-markdown-mode 486s 486s ;; Make emacs recognize debian/debputy.manifest as a YAML file 486s (add-to-list 'auto-mode-alist '("/debian/debputy.manifest\'" . yaml-mode)) 486s ;; Inform eglot about the debputy LSP 486s (with-eval-after-load 'eglot 486s (add-to-list 'eglot-server-programs 486s '(debian-control-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s (add-to-list 'eglot-server-programs 486s '(debian-changelog-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s (add-to-list 'eglot-server-programs 486s '(debian-copyright-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s ;; Requires elpa-dpkg-dev-el (>= 37.12) 486s (add-to-list 'eglot-server-programs 486s '(debian-autopkgtest-control-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s ;; The debian/rules file uses the qmake mode. 486s (add-to-list 'eglot-server-programs 486s '(makefile-gmake-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s (add-to-list 'eglot-server-programs 486s '(yaml-mode . ("debputy" "lsp" "server" "--ignore-language-ids"))) 486s ) 486s 486s ;; Auto-start eglot for the relevant modes. 486s (add-hook 'debian-control-mode-hook 'eglot-ensure) 486s ;; Requires elpa-dpkg-dev-el (>= 37.12) 486s ;; Technically, the `eglot-ensure` works before then, but it causes a 486s ;; visible and very annoying long delay on opening the first changelog. 486s ;; It still has a minor delay in 37.12, which may still be too long for 486s ;; for your preference. In that case, comment it out. 486s (add-hook 'debian-changelog-mode-hook 'eglot-ensure) 486s (add-hook 'debian-copyright-mode-hook 'eglot-ensure) 486s ;; Requires elpa-dpkg-dev-el (>= 37.12) 486s (add-hook 'debian-autopkgtest-control-mode-hook 'eglot-ensure) 486s (add-hook 'makefile-gmake-mode-hook 'eglot-ensure) 486s (add-hook 'yaml-mode-hook 'eglot-ensure) 486s 486s + debputy lsp editor-config vim 486s # debputy lsp server glue for vim with vim-youcompleteme. Add to ~/.vimrc 486s # 486s # Requires: apt install vim-youcompleteme 486s 486s # Make vim recognize debputy.manifest as YAML file 486s au BufNewFile,BufRead debputy.manifest setf yaml 486s # Inform vim/ycm about the debputy LSP 486s # - NB: No known support for debian/tests/control that we can hook into. 486s # Feel free to provide one :) 486s let g:ycm_language_server = [ 486s \ { 'name': 'debputy', 486s \ 'filetypes': [ 'debcontrol', 'debcopyright', 'debchangelog', 'make', 'yaml'], 486s \ 'cmdline': [ 'debputy', 'lsp', 'server', '--ignore-language-ids' ] 486s \ }, 486s \ ] 486s 486s packadd! youcompleteme 486s # Add relevant ycm keybinding such as: 486s # nmap d (YCMHover) 486s 487s autopkgtest [00:26:26]: test debputy-cli-lint-lsp: -----------------------] 487s autopkgtest [00:26:26]: test debputy-cli-lint-lsp: - - - - - - - - - - results - - - - - - - - - - 487s debputy-cli-lint-lsp PASS (superficial) 487s autopkgtest [00:26:26]: test debputy-cli-lsp: preparing testbed 488s Reading package lists... 488s Building dependency tree... 488s Reading state information... 488s Starting pkgProblemResolver with broken count: 0 488s Starting 2 pkgProblemResolver with broken count: 0 488s Done 489s The following additional packages will be installed: 489s python3-pygls 489s Suggested packages: 489s python3-websockets 489s The following NEW packages will be installed: 489s autopkgtest-satdep python3-pygls 489s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 489s Need to get 36.4 kB/37.1 kB of archives. 489s After this operation, 265 kB of additional disk space will be used. 489s Get:1 /tmp/autopkgtest.9CbZrT/4-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [732 B] 489s Get:2 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pygls all 1.3.0-2 [36.4 kB] 489s Fetched 36.4 kB in 0s (1275 kB/s) 489s Selecting previously unselected package python3-pygls. 489s (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 ... 76200 files and directories currently installed.) 489s Preparing to unpack .../python3-pygls_1.3.0-2_all.deb ... 489s Unpacking python3-pygls (1.3.0-2) ... 489s Selecting previously unselected package autopkgtest-satdep. 489s Preparing to unpack .../4-autopkgtest-satdep.deb ... 489s Unpacking autopkgtest-satdep (0) ... 489s Setting up python3-pygls (1.3.0-2) ... 490s Setting up autopkgtest-satdep (0) ... 492s (Reading database ... 76231 files and directories currently installed.) 492s Removing autopkgtest-satdep (0) ... 492s autopkgtest [00:26:31]: test debputy-cli-lsp: [----------------------- 492s + debputy lsp features 493s LSP language IDs and their features: 493s * debian/changelog: 493s - diagnostics (lint) 493s - code actions/quickfixes 493s - on-save handler 493s * debian/control: 493s - diagnostics (lint) 493s - code actions/quickfixes 493s - completion suggestions 493s - hover docs 493s - folding ranges 493s - semantic tokens 493s - on-save handler 493s - format file handler 493s * debian/copyright: 493s - diagnostics (lint) 493s - code actions/quickfixes 493s - completion suggestions 493s - hover docs 493s - folding ranges 493s - semantic tokens 493s - on-save handler 493s - format file handler 493s * debian/debputy.manifest: 493s - diagnostics (lint) 493s - code actions/quickfixes 493s - completion suggestions 493s - hover docs 493s - on-save handler 493s * debian/patches/series: 493s - diagnostics (lint) 493s - completion suggestions 493s - semantic tokens 493s - on-save handler 493s * debian/rules: 493s - diagnostics (lint) 493s - code actions/quickfixes 493s - completion suggestions 493s - on-save handler 493s * debian/tests/control: 493s - diagnostics (lint) 493s - code actions/quickfixes 493s - completion suggestions 493s - hover docs 493s - folding ranges 493s - semantic tokens 493s - on-save handler 493s - format file handler 493s 493s Aliases: 493s * debian/changelog: debchangelog, debian-changelog 493s * debian/control: debcontrol, debian-control 493s * debian/copyright: debcopyright, debian-copyright 493s * debian/tests/control: debian-autopkgtest-control-mode, debtestscontrol 493s * debian/debputy.manifest: debputy.manifest, yaml 493s * debian/rules: make, makefile, makefile-gmake 493s * debian/patches/series: patches/series 493s 493s General features: 493s * typo detection: disabled 493s - Run `apt satisfy 'python3-levenshtein'` to enable this feature 493s * spell checking: disabled 493s - Run `apt satisfy 'hunspell-en-us, python3-hunspell'` to enable this feature 493s + debputy lsp server 494s pygls.feature_manager: info: Registered builtin feature exit 494s pygls.feature_manager: info: Registered builtin feature initialize 494s pygls.feature_manager: info: Registered builtin feature initialized 494s pygls.feature_manager: info: Registered builtin feature notebookDocument/didChange 494s pygls.feature_manager: info: Registered builtin feature notebookDocument/didClose 494s pygls.feature_manager: info: Registered builtin feature notebookDocument/didOpen 494s pygls.feature_manager: info: Registered builtin feature $/setTrace 494s pygls.feature_manager: info: Registered builtin feature shutdown 494s pygls.feature_manager: info: Registered builtin feature textDocument/didChange 494s pygls.feature_manager: info: Registered builtin feature textDocument/didClose 494s pygls.feature_manager: info: Registered builtin feature textDocument/didOpen 494s pygls.feature_manager: info: Registered builtin feature window/workDoneProgress/cancel 494s pygls.feature_manager: info: Registered builtin feature workspace/didChangeWorkspaceFolders 494s pygls.feature_manager: info: Registered builtin feature workspace/executeCommand 494s pygls.feature_manager: info: Registered "textDocument/didOpen" with options "None" 494s pygls.feature_manager: info: Registered "textDocument/didChange" with options "None" 494s pygls.feature_manager: info: Registered "textDocument/completion" with options "None" 494s pygls.feature_manager: info: Registered "textDocument/hover" with options "None" 494s pygls.feature_manager: info: Registered "textDocument/codeAction" with options "None" 494s pygls.feature_manager: info: Registered "textDocument/foldingRange" with options "None" 494s pygls.feature_manager: info: Registered "textDocument/semanticTokens/full" with options "SemanticTokensRegistrationOptions(legend=SemanticTokensLegend(token_types=['keyword', 'enumMember', 'comment', 'string'], token_modifiers=[]), document_selector=None, range=None, full=True, work_done_progress=None, id=None)" 494s pygls.feature_manager: info: Registered "textDocument/willSaveWaitUntil" with options "None" 494s pygls.feature_manager: info: Registered "textDocument/formatting" with options "None" 494s debputy: info: Loaded style preferences: 9 unique maintainer preferences recorded 494s pygls.server: info: Starting IO server 494s pygls.server: info: Shutting down the server 494s pygls.server: info: Closing the event loop. 494s autopkgtest [00:26:33]: test debputy-cli-lsp: -----------------------] 495s debputy-cli-lsp PASS (superficial) 495s autopkgtest [00:26:34]: test debputy-cli-lsp: - - - - - - - - - - results - - - - - - - - - - 495s autopkgtest [00:26:34]: @@@@@@@@@@@@@@@@@@@@ summary 495s debputy-py.test PASS 495s debputy-cli PASS (superficial) 495s debputy-cli-lint-lsp PASS (superficial) 495s debputy-cli-lsp PASS (superficial) 505s nova [W] Skipping flock for amd64 505s Creating nova instance adt-oracular-amd64-debputy-20240608-001819-juju-7f2275-prod-proposed-migration-environment-3-7db28287-b197-4002-ba0a-c2ffe4ff2d5d from image adt/ubuntu-oracular-amd64-server-20240607.img (UUID d996b44c-1e10-4875-aeab-5b4c434d75a2)... 505s nova [W] Skipping flock for amd64 505s Creating nova instance adt-oracular-amd64-debputy-20240608-001819-juju-7f2275-prod-proposed-migration-environment-3-7db28287-b197-4002-ba0a-c2ffe4ff2d5d from image adt/ubuntu-oracular-amd64-server-20240607.img (UUID d996b44c-1e10-4875-aeab-5b4c434d75a2)...