I: pbuilder: network access will be disabled during build I: Current time: Sat Sep 14 08:22:34 +14 2024 I: pbuilder-time-stamp: 1726251754 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [ctdopts_1.5-5.dsc] I: copying [./ctdopts_1.5.orig.tar.gz] I: copying [./ctdopts_1.5-5.debian.tar.xz] I: Extracting source gpgv: Signature made Fri Sep 13 10:45:23 2024 gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A gpgv: issuer "tchet@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./ctdopts_1.5-5.dsc: no acceptable signature found dpkg-source: info: extracting ctdopts in ctdopts-1.5 dpkg-source: info: unpacking ctdopts_1.5.orig.tar.gz dpkg-source: info: unpacking ctdopts_1.5-5.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/63896/tmp/hooks/D01_modify_environment starting debug: Running on ionos12-i386. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Sep 13 18:22 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/63896/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/63896/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="32" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") BASH_VERSION='5.2.32(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=i386 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=10 ' DIRSTACK=() DISTRIBUTION=unstable EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=i686 HOST_ARCH=i386 IFS=' ' INVOCATION_ID=2a9dfa43cd434d1a8618a92db27fa68f LANG=C LANGUAGE=de_CH:de LC_ALL=C LD_LIBRARY_PATH=/usr/lib/libeatmydata LD_PRELOAD=libeatmydata.so MACHTYPE=i686-pc-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=63896 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.iKN08LCr/pbuilderrc_4X1A --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.iKN08LCr/b2 --logfile b2/build.log ctdopts_1.5-5.dsc' SUDO_GID=112 SUDO_UID=107 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://46.16.76.132:3128 I: uname -a Linux i-capture-the-hostname 6.1.0-25-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.106-3 (2024-08-26) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/63896/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-python, python3, python3-setuptools, python3-tz dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19768 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on python3; however: Package python3 is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-tz; however: Package python3-tz is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libgssapi-krb5-2{a} libicu72{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libnsl2{a} libpipeline1{a} libpython3-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libreadline8t64{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} po-debconf{a} python3{a} python3-autocommand{a} python3-inflect{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-minimal{a} python3-more-itertools{a} python3-pkg-resources{a} python3-setuptools{a} python3-typeguard{a} python3-typing-extensions{a} python3-tz{a} python3-zipp{a} python3.12{a} python3.12-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl krb5-locales libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 63 newly installed, 0 to remove and 0 not upgraded. Need to get 28.6 MB of archives. After unpacking 110 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main i386 libpython3.12-minimal i386 3.12.6-1 [813 kB] Get: 2 http://deb.debian.org/debian unstable/main i386 libexpat1 i386 2.6.3-1 [107 kB] Get: 3 http://deb.debian.org/debian unstable/main i386 python3.12-minimal i386 3.12.6-1 [2242 kB] Get: 4 http://deb.debian.org/debian unstable/main i386 python3-minimal i386 3.12.5-1 [26.7 kB] Get: 5 http://deb.debian.org/debian unstable/main i386 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian unstable/main i386 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main i386 tzdata all 2024a-4 [255 kB] Get: 8 http://deb.debian.org/debian unstable/main i386 libkrb5support0 i386 1.21.3-3 [34.9 kB] Get: 9 http://deb.debian.org/debian unstable/main i386 libcom-err2 i386 1.47.1-1 [23.1 kB] Get: 10 http://deb.debian.org/debian unstable/main i386 libk5crypto3 i386 1.21.3-3 [83.6 kB] Get: 11 http://deb.debian.org/debian unstable/main i386 libkeyutils1 i386 1.6.3-3 [9432 B] Get: 12 http://deb.debian.org/debian unstable/main i386 libkrb5-3 i386 1.21.3-3 [350 kB] Get: 13 http://deb.debian.org/debian unstable/main i386 libgssapi-krb5-2 i386 1.21.3-3 [146 kB] Get: 14 http://deb.debian.org/debian unstable/main i386 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 15 http://deb.debian.org/debian unstable/main i386 libtirpc3t64 i386 1.3.4+ds-1.3 [90.2 kB] Get: 16 http://deb.debian.org/debian unstable/main i386 libnsl2 i386 1.3.0-3+b2 [42.4 kB] Get: 17 http://deb.debian.org/debian unstable/main i386 readline-common all 8.2-5 [69.3 kB] Get: 18 http://deb.debian.org/debian unstable/main i386 libreadline8t64 i386 8.2-5 [173 kB] Get: 19 http://deb.debian.org/debian unstable/main i386 libpython3.12-stdlib i386 3.12.6-1 [1961 kB] Get: 20 http://deb.debian.org/debian unstable/main i386 python3.12 i386 3.12.6-1 [669 kB] Get: 21 http://deb.debian.org/debian unstable/main i386 libpython3-stdlib i386 3.12.5-1 [9588 B] Get: 22 http://deb.debian.org/debian unstable/main i386 python3 i386 3.12.5-1 [27.6 kB] Get: 23 http://deb.debian.org/debian unstable/main i386 sensible-utils all 0.0.24 [24.8 kB] Get: 24 http://deb.debian.org/debian unstable/main i386 libmagic-mgc i386 1:5.45-3 [314 kB] Get: 25 http://deb.debian.org/debian unstable/main i386 libmagic1t64 i386 1:5.45-3 [114 kB] Get: 26 http://deb.debian.org/debian unstable/main i386 file i386 1:5.45-3 [42.9 kB] Get: 27 http://deb.debian.org/debian unstable/main i386 gettext-base i386 0.22.5-2 [201 kB] Get: 28 http://deb.debian.org/debian unstable/main i386 libuchardet0 i386 0.0.8-1+b1 [69.1 kB] Get: 29 http://deb.debian.org/debian unstable/main i386 groff-base i386 1.23.0-5 [1196 kB] Get: 30 http://deb.debian.org/debian unstable/main i386 bsdextrautils i386 2.40.2-8 [102 kB] Get: 31 http://deb.debian.org/debian unstable/main i386 libpipeline1 i386 1.5.8-1 [41.2 kB] Get: 32 http://deb.debian.org/debian unstable/main i386 man-db i386 2.13.0-1 [1428 kB] Get: 33 http://deb.debian.org/debian unstable/main i386 m4 i386 1.4.19-4 [293 kB] Get: 34 http://deb.debian.org/debian unstable/main i386 autoconf all 2.72-3 [493 kB] Get: 35 http://deb.debian.org/debian unstable/main i386 autotools-dev all 20220109.1 [51.6 kB] Get: 36 http://deb.debian.org/debian unstable/main i386 automake all 1:1.16.5-1.3 [823 kB] Get: 37 http://deb.debian.org/debian unstable/main i386 autopoint all 0.22.5-2 [723 kB] Get: 38 http://deb.debian.org/debian unstable/main i386 libdebhelper-perl all 13.20 [89.7 kB] Get: 39 http://deb.debian.org/debian unstable/main i386 libtool all 2.4.7-7 [517 kB] Get: 40 http://deb.debian.org/debian unstable/main i386 dh-autoreconf all 20 [17.1 kB] Get: 41 http://deb.debian.org/debian unstable/main i386 libarchive-zip-perl all 1.68-1 [104 kB] Get: 42 http://deb.debian.org/debian unstable/main i386 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 43 http://deb.debian.org/debian unstable/main i386 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 44 http://deb.debian.org/debian unstable/main i386 libelf1t64 i386 0.191-2 [194 kB] Get: 45 http://deb.debian.org/debian unstable/main i386 dwz i386 0.15-1+b1 [116 kB] Get: 46 http://deb.debian.org/debian unstable/main i386 libicu72 i386 72.1-5 [9550 kB] Get: 47 http://deb.debian.org/debian unstable/main i386 libxml2 i386 2.12.7+dfsg-3+b1 [704 kB] Get: 48 http://deb.debian.org/debian unstable/main i386 gettext i386 0.22.5-2 [1631 kB] Get: 49 http://deb.debian.org/debian unstable/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 50 http://deb.debian.org/debian unstable/main i386 po-debconf all 1.0.21+nmu1 [248 kB] Get: 51 http://deb.debian.org/debian unstable/main i386 debhelper all 13.20 [915 kB] Get: 52 http://deb.debian.org/debian unstable/main i386 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 53 http://deb.debian.org/debian unstable/main i386 python3-more-itertools all 10.4.0-1 [63.7 kB] Get: 54 http://deb.debian.org/debian unstable/main i386 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 55 http://deb.debian.org/debian unstable/main i386 python3-typeguard all 4.3.0-1 [36.5 kB] Get: 56 http://deb.debian.org/debian unstable/main i386 python3-inflect all 7.3.1-1 [42.2 kB] Get: 57 http://deb.debian.org/debian unstable/main i386 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 58 http://deb.debian.org/debian unstable/main i386 python3-jaraco.functools all 4.0.2-1 [11.7 kB] Get: 59 http://deb.debian.org/debian unstable/main i386 python3-pkg-resources all 74.1.2-2 [213 kB] Get: 60 http://deb.debian.org/debian unstable/main i386 python3-zipp all 3.20.1-1 [10.2 kB] Get: 61 http://deb.debian.org/debian unstable/main i386 python3-setuptools all 74.1.2-2 [736 kB] Get: 62 http://deb.debian.org/debian unstable/main i386 dh-python all 6.20240824 [109 kB] Get: 63 http://deb.debian.org/debian unstable/main i386 python3-tz all 2024.1-2 [30.9 kB] Fetched 28.6 MB in 1s (36.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.12-minimal:i386. (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 ... 19768 files and directories currently installed.) Preparing to unpack .../libpython3.12-minimal_3.12.6-1_i386.deb ... Unpacking libpython3.12-minimal:i386 (3.12.6-1) ... Selecting previously unselected package libexpat1:i386. Preparing to unpack .../libexpat1_2.6.3-1_i386.deb ... Unpacking libexpat1:i386 (2.6.3-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../python3.12-minimal_3.12.6-1_i386.deb ... Unpacking python3.12-minimal (3.12.6-1) ... Setting up libpython3.12-minimal:i386 (3.12.6-1) ... Setting up libexpat1:i386 (2.6.3-1) ... Setting up python3.12-minimal (3.12.6-1) ... Selecting previously unselected package python3-minimal. (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 ... 20088 files and directories currently installed.) Preparing to unpack .../00-python3-minimal_3.12.5-1_i386.deb ... Unpacking python3-minimal (3.12.5-1) ... Selecting previously unselected package media-types. Preparing to unpack .../01-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../02-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../03-tzdata_2024a-4_all.deb ... Unpacking tzdata (2024a-4) ... Selecting previously unselected package libkrb5support0:i386. Preparing to unpack .../04-libkrb5support0_1.21.3-3_i386.deb ... Unpacking libkrb5support0:i386 (1.21.3-3) ... Selecting previously unselected package libcom-err2:i386. Preparing to unpack .../05-libcom-err2_1.47.1-1_i386.deb ... Unpacking libcom-err2:i386 (1.47.1-1) ... Selecting previously unselected package libk5crypto3:i386. Preparing to unpack .../06-libk5crypto3_1.21.3-3_i386.deb ... Unpacking libk5crypto3:i386 (1.21.3-3) ... Selecting previously unselected package libkeyutils1:i386. Preparing to unpack .../07-libkeyutils1_1.6.3-3_i386.deb ... Unpacking libkeyutils1:i386 (1.6.3-3) ... Selecting previously unselected package libkrb5-3:i386. Preparing to unpack .../08-libkrb5-3_1.21.3-3_i386.deb ... Unpacking libkrb5-3:i386 (1.21.3-3) ... Selecting previously unselected package libgssapi-krb5-2:i386. Preparing to unpack .../09-libgssapi-krb5-2_1.21.3-3_i386.deb ... Unpacking libgssapi-krb5-2:i386 (1.21.3-3) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../10-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:i386. Preparing to unpack .../11-libtirpc3t64_1.3.4+ds-1.3_i386.deb ... Adding 'diversion of /lib/i386-linux-gnu/libtirpc.so.3 to /lib/i386-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/i386-linux-gnu/libtirpc.so.3.0.0 to /lib/i386-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:i386 (1.3.4+ds-1.3) ... Selecting previously unselected package libnsl2:i386. Preparing to unpack .../12-libnsl2_1.3.0-3+b2_i386.deb ... Unpacking libnsl2:i386 (1.3.0-3+b2) ... Selecting previously unselected package readline-common. Preparing to unpack .../13-readline-common_8.2-5_all.deb ... Unpacking readline-common (8.2-5) ... Selecting previously unselected package libreadline8t64:i386. Preparing to unpack .../14-libreadline8t64_8.2-5_i386.deb ... Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8 to /lib/i386-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8.2 to /lib/i386-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8 to /lib/i386-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8.2 to /lib/i386-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:i386 (8.2-5) ... Selecting previously unselected package libpython3.12-stdlib:i386. Preparing to unpack .../15-libpython3.12-stdlib_3.12.6-1_i386.deb ... Unpacking libpython3.12-stdlib:i386 (3.12.6-1) ... Selecting previously unselected package python3.12. Preparing to unpack .../16-python3.12_3.12.6-1_i386.deb ... Unpacking python3.12 (3.12.6-1) ... Selecting previously unselected package libpython3-stdlib:i386. Preparing to unpack .../17-libpython3-stdlib_3.12.5-1_i386.deb ... Unpacking libpython3-stdlib:i386 (3.12.5-1) ... Setting up python3-minimal (3.12.5-1) ... Selecting previously unselected package python3. (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 ... 21160 files and directories currently installed.) Preparing to unpack .../00-python3_3.12.5-1_i386.deb ... Unpacking python3 (3.12.5-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../02-libmagic-mgc_1%3a5.45-3_i386.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:i386. Preparing to unpack .../03-libmagic1t64_1%3a5.45-3_i386.deb ... Unpacking libmagic1t64:i386 (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../04-file_1%3a5.45-3_i386.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../05-gettext-base_0.22.5-2_i386.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../06-libuchardet0_0.0.8-1+b1_i386.deb ... Unpacking libuchardet0:i386 (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../07-groff-base_1.23.0-5_i386.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../08-bsdextrautils_2.40.2-8_i386.deb ... Unpacking bsdextrautils (2.40.2-8) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../09-libpipeline1_1.5.8-1_i386.deb ... Unpacking libpipeline1:i386 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../10-man-db_2.13.0-1_i386.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../11-m4_1.4.19-4_i386.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../12-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../13-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../14-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../15-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../16-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../17-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../18-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../19-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../20-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../21-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:i386. Preparing to unpack .../22-libelf1t64_0.191-2_i386.deb ... Unpacking libelf1t64:i386 (0.191-2) ... Selecting previously unselected package dwz. Preparing to unpack .../23-dwz_0.15-1+b1_i386.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:i386. Preparing to unpack .../24-libicu72_72.1-5_i386.deb ... Unpacking libicu72:i386 (72.1-5) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../25-libxml2_2.12.7+dfsg-3+b1_i386.deb ... Unpacking libxml2:i386 (2.12.7+dfsg-3+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../26-gettext_0.22.5-2_i386.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../27-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../28-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../29-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../30-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../31-python3-more-itertools_10.4.0-1_all.deb ... Unpacking python3-more-itertools (10.4.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../32-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../33-python3-typeguard_4.3.0-1_all.deb ... Unpacking python3-typeguard (4.3.0-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../34-python3-inflect_7.3.1-1_all.deb ... Unpacking python3-inflect (7.3.1-1) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../35-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../36-python3-jaraco.functools_4.0.2-1_all.deb ... Unpacking python3-jaraco.functools (4.0.2-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../37-python3-pkg-resources_74.1.2-2_all.deb ... Unpacking python3-pkg-resources (74.1.2-2) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../38-python3-zipp_3.20.1-1_all.deb ... Unpacking python3-zipp (3.20.1-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../39-python3-setuptools_74.1.2-2_all.deb ... Unpacking python3-setuptools (74.1.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../40-dh-python_6.20240824_all.deb ... Unpacking dh-python (6.20240824) ... Selecting previously unselected package python3-tz. Preparing to unpack .../41-python3-tz_2024.1-2_all.deb ... Unpacking python3-tz (2024.1-2) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:i386 (1.5.8-1) ... Setting up libkeyutils1:i386 (1.6.3-3) ... Setting up libicu72:i386 (72.1-5) ... Setting up bsdextrautils (2.40.2-8) ... Setting up libmagic-mgc (1:5.45-3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:i386 (1:5.45-3) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up libcom-err2:i386 (1.47.1-1) ... Setting up file (1:5.45-3) ... Setting up libelf1t64:i386 (0.191-2) ... Setting up libkrb5support0:i386 (1.21.3-3) ... Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' Local time is now: Fri Sep 13 18:23:02 UTC 2024. Universal Time is now: Fri Sep 13 18:23:02 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up autopoint (0.22.5-2) ... Setting up libk5crypto3:i386 (1.21.3-3) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:i386 (0.0.8-1+b1) ... Setting up netbase (6.4) ... Setting up libkrb5-3:i386 (1.21.3-3) ... Setting up readline-common (8.2-5) ... Setting up libxml2:i386 (2.12.7+dfsg-3+b1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up gettext (0.22.5-2) ... Setting up libtool (2.4.7-7) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libgssapi-krb5-2:i386 (1.21.3-3) ... Setting up libreadline8t64:i386 (8.2-5) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-5) ... Setting up libtirpc3t64:i386 (1.3.4+ds-1.3) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libnsl2:i386 (1.3.0-3+b2) ... Setting up libpython3.12-stdlib:i386 (3.12.6-1) ... Setting up python3.12 (3.12.6-1) ... Setting up debhelper (13.20) ... Setting up libpython3-stdlib:i386 (3.12.5-1) ... Setting up python3 (3.12.5-1) ... Setting up python3-zipp (3.20.1-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up python3-tz (2024.1-2) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-more-itertools (10.4.0-1) ... Setting up python3-jaraco.functools (4.0.2-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3-typeguard (4.3.0-1) ... Setting up python3-inflect (7.3.1-1) ... Setting up python3-pkg-resources (74.1.2-2) ... Setting up python3-setuptools (74.1.2-2) ... Setting up dh-python (6.20240824) ... Processing triggers for libc-bin (2.40-2) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: user script /srv/workspace/pbuilder/63896/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for unstable I: user script /srv/workspace/pbuilder/63896/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/ctdopts-1.5/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../ctdopts_1.5-5_source.changes dpkg-buildpackage: info: source package ctdopts dpkg-buildpackage: info: source version 1.5-5 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Alexandre Detiste dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py clean 'build/bdist.linux-i686' does not exist -- can't clean it 'build/scripts-3.12' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py config debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/ctdopts-1.5' dh_auto_build I: pybuild base:311: /usr/bin/python3 setup.py build # an override, not a PYBUILD directive, as we only need to do this once # not for every Python version sed 's#^print$#print()#' example.py > debian/example.py make[1]: Leaving directory '/build/reproducible-path/ctdopts-1.5' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/ctdopts-1.5' export PYBUILD_SYSTEM=custom; dh_auto_test I: pybuild base:311: PYTHONPATH=/build/reproducible-path/ctdopts-1.5/.pybuild/cpython3_3.12_CTDopts/build python3.12 debian/example.py /build/reproducible-path/ctdopts-1.5/.pybuild/cpython3_3.12_CTDopts/build/CTDopts/CTDopts.py:1071: UserWarning: Argument restrictions for positive_int violated. Restriction: 0:. Value: -5 warnings.warn('Argument restrictions for %s violated. Restriction: %s. Value: %s' % /build/reproducible-path/ctdopts-1.5/.pybuild/cpython3_3.12_CTDopts/build/CTDopts/CTDopts.py:1071: UserWarning: Argument restrictions for output violated. Restriction: *.fastq,*.fastq.gz. Value: warnings.warn('Argument restrictions for %s violated. Restriction: %s. Value: %s' % Model being written to exampleTool.ctd... Model loaded from exampleTool.ctd... For debugging purposes we can output a human readable representation of Parameter objects. Here's the first one: PARAMETER positive_int type: int default: 5 tags: advanced, magic restrictions on numeric range: 0 to None description: A positive integer parameter The following parameters were registered in the model: ['positive_int', 'input_files', 'output', 'this_that', 'param_1', 'param_2', 'param_3'] The same parameters with subgroup information, if they were registered under parameter groups: ['positive_int', 'input_files', 'output', 'this_that', 'subparams:param_1', 'subparams:param_2', 'subparams:subsubparam:param_3'] A dictionary of parameters with default values, returned by CTDModel.get_defaults(): { 'positive_int': 5, 'subparams': { 'param_1': 5.5, 'param_2': [0.0, 2.5, 5.0], 'subsubparam': {'param_3': 2}}, 'this_that': 'this'} As you can see, parameter values are usually stored in nested dictionaries. If you want a flat dictionary, you canget that using CTDopts.flatten_dict(). Flat keys can be either tuples of tree node (subgroup) names down to the parameter... { ('positive_int',): 5, ('subparams', 'param_1'): 5.5, ('subparams', 'param_2'): [0.0, 2.5, 5.0], ('subparams', 'subsubparam', 'param_3'): 2, ('this_that',): 'this'} ...or they can be strings where nesing levels are separated by colons: { 'positive_int': 5, 'subparams:param_1': 5.5, 'subparams:param_2': [0.0, 2.5, 5.0], 'subparams:subsubparam:param_3': 2, 'this_that': 'this'} We can create dictionaries of arguments on our own that we want to validate against the model.CTDopts can read them from argument-storing CTD files or from the command line, but we can just define them in a nested dictionary on our own as well. We start with defining them explicitly. { 'input_files': ['file1.fastq', 'file2.fastq', 'file3.fastq'], 'positive_int': 111, 'subparams': {'param_1': '999.0'}} We can validate these arguments against the model, and get a dictionary with parameter types correctly casted and defaults set. Note that subparams:param_1 was casted from string to a floating point number because that's how it was defined in the model. { 'input_files': ['file1.fastq', 'file2.fastq', 'file3.fastq'], 'positive_int': 111, 'subparams': { 'param_1': 999.0, 'param_2': [0.0, 2.5, 5.0], 'subsubparam': {'param_3': 2}}, 'this_that': 'this'} We can write a CTD file containing these validated argument values. Just call CTDModel.write_ctd() with an extra parameter: the nested argument dictionary containing the actual values. As mentioned earlier, CTDopts can load argument values from CTD files. Feel free to change some values in exampleTool_preset_params.ctd you've just written, and load it back. { 'input_files': ['file1.fastq', 'file2.fastq', 'file3.fastq'], 'output': '', 'positive_int': '111', 'subparams': { 'param_1': '999.0', 'param_2': ['0.0', '2.5', '5.0'], 'subsubparam': {'param_3': '2'}}, 'this_that': 'this'} Notice that all the argument values are strings now. This is because we didn't validate them against the model, just loaded some stuff from a file into a dictionary. If you want to cast them, call CTDModel.validate_args(): { 'input_files': ['file1.fastq', 'file2.fastq', 'file3.fastq'], 'output': '', 'positive_int': 111, 'subparams': { 'param_1': 999.0, 'param_2': [0.0, 2.5, 5.0], 'subsubparam': {'param_3': 2}}, 'this_that': 'this'} Now certain parameters may have restrictions that we might want to validate for as well. Let's set the parameter positive_int to a negative value, and try to validate it with a strictness level enforce_restrictions=1. This will register a warning, but still accept the value. Validation enforcement levels can be 0, 1 or 2 for type-casting, restriction-checking and required argument presence. They can be set with the keywords enforce_type, enforce_restrictions and enforce_required respectively. Let's increase strictness for restriction checking. CTDModel.validate_args() will now raise an exception that we'll catch: Argument restrictions for positive_int failed. Restriction: 0:. Value: -5 One might want to combine arguments loaded from a CTD file with arguments coming from elsewhere, like the command line.In that case, the method CTDopts.override_args(*arg_dicts) creates a combined argument dictionary where argument values are always taken from the rightmost (last) dictionary that has them. Let's override a few parameters: { 'input_files': ['file1.fastq', 'file2.fastq', 'file3.fastq'], 'positive_int': 777, 'subparams': { 'param_1': 999.0, 'param_2': [0.0, 2.5, 5.0], 'subsubparam': {'param_3': 2}}, 'this_that': 'that'} So how to deal with command line arguments? If we have a model, we can look for its arguments. Call CTDModel.parse_cl_args() with either a string of the command line call or a list with the split words. By default, it will assume a '--' prefix before parameter names, but it can be overridden with prefix='-'.Grouped parameters are expected in --group:subgroup:param_x format. { 'input_files': ['a.fastq', 'b.fastq'], 'output': 'out_dir/', 'positive_int': '44', 'subparams': { 'param_1': 5.5, 'param_2': ['5.0', '5.5', '6.0'], 'subsubparam': {'param_3': 2}}, 'this_that': 'this'} Override other parameters with them, and validate it against the model: { 'input_files': ['a.fastq', 'b.fastq'], 'output': 'out_dir/', 'positive_int': 44, 'subparams': { 'param_1': 5.5, 'param_2': [5.0, 5.5, 6.0], 'subsubparam': {'param_3': 2}}, 'this_that': 'this'} One last thing: certain command line directives that are specific to CTD functionality can be parsed for, to help your script performing common tasks. These are CTD argument input, CTD model file writing and CTD argument file writing. CTDopts.parse_cl_directives() can also be customized as to what directives to look for if the defaults --input_ctd, --write_tool_ctd and --write_param_ctd respectively don't satisfy you. { 'input_ctd': 'exampleTool_preset_params.ctd', 'write_param_ctd': 'new_preset_params.ctd', 'write_tool_ctd': None} { 'input_ctd': 'exampleTool_preset_params_2.ctd', 'write_param_ctd': None, 'write_tool_ctd': True} Finally, writing CTDs with logging information, passing a dictionarywith a 'log' keyword, using any or all of the fields shown below. make[1]: Leaving directory '/build/reproducible-path/ctdopts-1.5' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_auto_install --destdir=debian/python3-ctdopts/ -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py install --root /build/reproducible-path/ctdopts-1.5/debian/python3-ctdopts /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() dh_install -O--buildsystem=pybuild dh_installdocs -O--buildsystem=pybuild dh_installchangelogs -O--buildsystem=pybuild dh_installexamples -O--buildsystem=pybuild dh_python3 -O--buildsystem=pybuild dh_installsystemduser -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild dh_gencontrol -O--buildsystem=pybuild dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'python3-ctdopts' in '../python3-ctdopts_1.5-5_all.deb'. dpkg-genbuildinfo --build=binary -O../ctdopts_1.5-5_i386.buildinfo dpkg-genchanges --build=binary -O../ctdopts_1.5-5_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/63896/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/63896/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/63896 and its subdirectories I: Current time: Sat Sep 14 08:23:20 +14 2024 I: pbuilder-time-stamp: 1726251800