I: pbuilder: network access will be disabled during build I: Current time: Mon May 20 15:53:45 +14 2024 I: pbuilder-time-stamp: 1716170025 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-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: Copying source file I: copying [ctdopts_1.5-2.dsc] I: copying [./ctdopts_1.5.orig.tar.gz] I: copying [./ctdopts_1.5-2.debian.tar.xz] I: Extracting source gpgv: Signature made Fri Nov 4 00:44:34 2022 +14 gpgv: using RSA key F1F007320A035541F0A663CA578A0494D1C646D1 gpgv: issuer "tille@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./ctdopts_1.5-2.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-2.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1603/tmp/hooks/D01_modify_environment starting debug: Running on codethink13-arm64. 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 May 20 15:53 /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/1603/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/1603/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]="15" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") BASH_VERSION='5.2.15(1)-release' BUILDDIR=/build BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=arm64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=8' DIRSTACK=() DISTRIBUTION=bookworm EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/var/lib/jenkins HOSTNAME=i-capture-the-hostname HOSTTYPE=aarch64 HOST_ARCH=arm64 IFS=' ' LANG=C LANGUAGE=nl_BE:nl LC_ALL=C MACHTYPE=aarch64-unknown-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=1603 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.Fnb7LMgK/pbuilderrc_ItOa --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Fnb7LMgK/b2 --logfile b2/build.log --extrapackages usrmerge ctdopts_1.5-2.dsc' SUDO_GID=117 SUDO_UID=110 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root USERNAME=root _='I: set' http_proxy=http://192.168.101.16:3128 I: uname -a Linux i-capture-the-hostname 4.15.0-208-generic #220-Ubuntu SMP Mon Mar 20 14:28:12 UTC 2023 aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 May 20 06:47 /bin -> usr/bin I: user script /srv/workspace/pbuilder/1603/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: arm64 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, 2to3, 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 ... 19616 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 2to3; however: Package 2to3 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: 2to3{a} 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} libdebhelper-perl{a} libelf1{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1{a} libpipeline1{a} libpython3-stdlib{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libreadline8{a} libsub-override-perl{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} media-types{a} po-debconf{a} python3{a} python3-distutils{a} python3-lib2to3{a} python3-minimal{a} python3-pkg-resources{a} python3-setuptools{a} python3-tz{a} python3.11{a} python3.11-minimal{a} readline-common{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 48 newly installed, 0 to remove and 0 not upgraded. Need to get 24.9 MB of archives. After unpacking 104 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian bookworm/main arm64 libpython3.11-minimal arm64 3.11.2-6 [806 kB] Get: 2 http://deb.debian.org/debian bookworm/main arm64 libexpat1 arm64 2.5.0-1 [84.8 kB] Get: 3 http://deb.debian.org/debian bookworm/main arm64 python3.11-minimal arm64 3.11.2-6 [1858 kB] Get: 4 http://deb.debian.org/debian bookworm/main arm64 python3-minimal arm64 3.11.2-1+b1 [26.3 kB] Get: 5 http://deb.debian.org/debian bookworm/main arm64 media-types all 10.0.0 [26.1 kB] Get: 6 http://deb.debian.org/debian bookworm/main arm64 readline-common all 8.2-1.3 [69.0 kB] Get: 7 http://deb.debian.org/debian bookworm/main arm64 libreadline8 arm64 8.2-1.3 [155 kB] Get: 8 http://deb.debian.org/debian bookworm/main arm64 libpython3.11-stdlib arm64 3.11.2-6 [1747 kB] Get: 9 http://deb.debian.org/debian bookworm/main arm64 python3.11 arm64 3.11.2-6 [572 kB] Get: 10 http://deb.debian.org/debian bookworm/main arm64 libpython3-stdlib arm64 3.11.2-1+b1 [9296 B] Get: 11 http://deb.debian.org/debian bookworm/main arm64 python3 arm64 3.11.2-1+b1 [26.3 kB] Get: 12 http://deb.debian.org/debian bookworm/main arm64 sensible-utils all 0.0.17+nmu1 [19.0 kB] Get: 13 http://deb.debian.org/debian bookworm/main arm64 libmagic-mgc arm64 1:5.44-3 [305 kB] Get: 14 http://deb.debian.org/debian bookworm/main arm64 libmagic1 arm64 1:5.44-3 [98.5 kB] Get: 15 http://deb.debian.org/debian bookworm/main arm64 file arm64 1:5.44-3 [42.5 kB] Get: 16 http://deb.debian.org/debian bookworm/main arm64 gettext-base arm64 0.21-12 [159 kB] Get: 17 http://deb.debian.org/debian bookworm/main arm64 libuchardet0 arm64 0.0.7-1 [67.9 kB] Get: 18 http://deb.debian.org/debian bookworm/main arm64 groff-base arm64 1.22.4-10 [861 kB] Get: 19 http://deb.debian.org/debian bookworm/main arm64 bsdextrautils arm64 2.38.1-5+b1 [86.9 kB] Get: 20 http://deb.debian.org/debian bookworm/main arm64 libpipeline1 arm64 1.5.7-1 [36.4 kB] Get: 21 http://deb.debian.org/debian bookworm/main arm64 man-db arm64 2.11.2-2 [1369 kB] Get: 22 http://deb.debian.org/debian bookworm/main arm64 python3-lib2to3 all 3.11.2-2 [76.2 kB] Get: 23 http://deb.debian.org/debian bookworm/main arm64 2to3 all 3.11.2-1 [10.0 kB] Get: 24 http://deb.debian.org/debian bookworm/main arm64 m4 arm64 1.4.19-3 [276 kB] Get: 25 http://deb.debian.org/debian bookworm/main arm64 autoconf all 2.71-3 [332 kB] Get: 26 http://deb.debian.org/debian bookworm/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 27 http://deb.debian.org/debian bookworm/main arm64 automake all 1:1.16.5-1.3 [823 kB] Get: 28 http://deb.debian.org/debian bookworm/main arm64 autopoint all 0.21-12 [495 kB] Get: 29 http://deb.debian.org/debian bookworm/main arm64 libdebhelper-perl all 13.11.4 [81.2 kB] Get: 30 http://deb.debian.org/debian bookworm/main arm64 libtool all 2.4.7-5 [517 kB] Get: 31 http://deb.debian.org/debian bookworm/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 32 http://deb.debian.org/debian bookworm/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 33 http://deb.debian.org/debian bookworm/main arm64 libsub-override-perl all 0.09-4 [9304 B] Get: 34 http://deb.debian.org/debian bookworm/main arm64 libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 35 http://deb.debian.org/debian bookworm/main arm64 dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 36 http://deb.debian.org/debian bookworm/main arm64 libelf1 arm64 0.188-2.1 [173 kB] Get: 37 http://deb.debian.org/debian bookworm/main arm64 dwz arm64 0.15-1 [101 kB] Get: 38 http://deb.debian.org/debian bookworm/main arm64 libicu72 arm64 72.1-3 [9204 kB] Get: 39 http://deb.debian.org/debian bookworm/main arm64 libxml2 arm64 2.9.14+dfsg-1.1+b3 [619 kB] Get: 40 http://deb.debian.org/debian bookworm/main arm64 gettext arm64 0.21-12 [1248 kB] Get: 41 http://deb.debian.org/debian bookworm/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 42 http://deb.debian.org/debian bookworm/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 43 http://deb.debian.org/debian bookworm/main arm64 debhelper all 13.11.4 [942 kB] Get: 44 http://deb.debian.org/debian bookworm/main arm64 python3-distutils all 3.11.2-2 [131 kB] Get: 45 http://deb.debian.org/debian bookworm/main arm64 dh-python all 5.20230130 [104 kB] Get: 46 http://deb.debian.org/debian bookworm/main arm64 python3-pkg-resources all 66.1.1-1 [296 kB] Get: 47 http://deb.debian.org/debian bookworm/main arm64 python3-setuptools all 66.1.1-1 [521 kB] Get: 48 http://deb.debian.org/debian bookworm/main arm64 python3-tz all 2022.7.1-3 [30.1 kB] Fetched 24.9 MB in 3s (7474 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:arm64. (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 ... 19616 files and directories currently installed.) Preparing to unpack .../libpython3.11-minimal_3.11.2-6_arm64.deb ... Unpacking libpython3.11-minimal:arm64 (3.11.2-6) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.5.0-1_arm64.deb ... Unpacking libexpat1:arm64 (2.5.0-1) ... Selecting previously unselected package python3.11-minimal. Preparing to unpack .../python3.11-minimal_3.11.2-6_arm64.deb ... Unpacking python3.11-minimal (3.11.2-6) ... Setting up libpython3.11-minimal:arm64 (3.11.2-6) ... Setting up libexpat1:arm64 (2.5.0-1) ... Setting up python3.11-minimal (3.11.2-6) ... 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 ... 19932 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.11.2-1+b1_arm64.deb ... Unpacking python3-minimal (3.11.2-1+b1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.0.0_all.deb ... Unpacking media-types (10.0.0) ... Selecting previously unselected package readline-common. Preparing to unpack .../2-readline-common_8.2-1.3_all.deb ... Unpacking readline-common (8.2-1.3) ... Selecting previously unselected package libreadline8:arm64. Preparing to unpack .../3-libreadline8_8.2-1.3_arm64.deb ... Unpacking libreadline8:arm64 (8.2-1.3) ... Selecting previously unselected package libpython3.11-stdlib:arm64. Preparing to unpack .../4-libpython3.11-stdlib_3.11.2-6_arm64.deb ... Unpacking libpython3.11-stdlib:arm64 (3.11.2-6) ... Selecting previously unselected package python3.11. Preparing to unpack .../5-python3.11_3.11.2-6_arm64.deb ... Unpacking python3.11 (3.11.2-6) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../6-libpython3-stdlib_3.11.2-1+b1_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.11.2-1+b1) ... Setting up python3-minimal (3.11.2-1+b1) ... 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 ... 20366 files and directories currently installed.) Preparing to unpack .../00-python3_3.11.2-1+b1_arm64.deb ... Unpacking python3 (3.11.2-1+b1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.17+nmu1_all.deb ... Unpacking sensible-utils (0.0.17+nmu1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../02-libmagic-mgc_1%3a5.44-3_arm64.deb ... Unpacking libmagic-mgc (1:5.44-3) ... Selecting previously unselected package libmagic1:arm64. Preparing to unpack .../03-libmagic1_1%3a5.44-3_arm64.deb ... Unpacking libmagic1:arm64 (1:5.44-3) ... Selecting previously unselected package file. Preparing to unpack .../04-file_1%3a5.44-3_arm64.deb ... Unpacking file (1:5.44-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../05-gettext-base_0.21-12_arm64.deb ... Unpacking gettext-base (0.21-12) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../06-libuchardet0_0.0.7-1_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.7-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../07-groff-base_1.22.4-10_arm64.deb ... Unpacking groff-base (1.22.4-10) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../08-bsdextrautils_2.38.1-5+b1_arm64.deb ... Unpacking bsdextrautils (2.38.1-5+b1) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../09-libpipeline1_1.5.7-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.7-1) ... Selecting previously unselected package man-db. Preparing to unpack .../10-man-db_2.11.2-2_arm64.deb ... Unpacking man-db (2.11.2-2) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../11-python3-lib2to3_3.11.2-2_all.deb ... Unpacking python3-lib2to3 (3.11.2-2) ... Selecting previously unselected package 2to3. Preparing to unpack .../12-2to3_3.11.2-1_all.deb ... Unpacking 2to3 (3.11.2-1) ... Selecting previously unselected package m4. Preparing to unpack .../13-m4_1.4.19-3_arm64.deb ... Unpacking m4 (1.4.19-3) ... Selecting previously unselected package autoconf. Preparing to unpack .../14-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../15-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../16-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 .../17-autopoint_0.21-12_all.deb ... Unpacking autopoint (0.21-12) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../18-libdebhelper-perl_13.11.4_all.deb ... Unpacking libdebhelper-perl (13.11.4) ... Selecting previously unselected package libtool. Preparing to unpack .../19-libtool_2.4.7-5_all.deb ... Unpacking libtool (2.4.7-5) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../20-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../21-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../22-libsub-override-perl_0.09-4_all.deb ... Unpacking libsub-override-perl (0.09-4) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../23-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../24-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libelf1:arm64. Preparing to unpack .../25-libelf1_0.188-2.1_arm64.deb ... Unpacking libelf1:arm64 (0.188-2.1) ... Selecting previously unselected package dwz. Preparing to unpack .../26-dwz_0.15-1_arm64.deb ... Unpacking dwz (0.15-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../27-libicu72_72.1-3_arm64.deb ... Unpacking libicu72:arm64 (72.1-3) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../28-libxml2_2.9.14+dfsg-1.1+b3_arm64.deb ... Unpacking libxml2:arm64 (2.9.14+dfsg-1.1+b3) ... Selecting previously unselected package gettext. Preparing to unpack .../29-gettext_0.21-12_arm64.deb ... Unpacking gettext (0.21-12) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../30-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 .../31-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../32-debhelper_13.11.4_all.deb ... Unpacking debhelper (13.11.4) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../33-python3-distutils_3.11.2-2_all.deb ... Unpacking python3-distutils (3.11.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../34-dh-python_5.20230130_all.deb ... Unpacking dh-python (5.20230130) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../35-python3-pkg-resources_66.1.1-1_all.deb ... Unpacking python3-pkg-resources (66.1.1-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../36-python3-setuptools_66.1.1-1_all.deb ... Unpacking python3-setuptools (66.1.1-1) ... Selecting previously unselected package python3-tz. Preparing to unpack .../37-python3-tz_2022.7.1-3_all.deb ... Unpacking python3-tz (2022.7.1-3) ... Setting up media-types (10.0.0) ... Setting up libpipeline1:arm64 (1.5.7-1) ... Setting up libicu72:arm64 (72.1-3) ... Setting up bsdextrautils (2.38.1-5+b1) ... Setting up libmagic-mgc (1:5.44-3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.11.4) ... Setting up libmagic1:arm64 (1:5.44-3) ... Setting up gettext-base (0.21-12) ... Setting up m4 (1.4.19-3) ... Setting up file (1:5.44-3) ... Setting up autotools-dev (20220109.1) ... Setting up autopoint (0.21-12) ... Setting up autoconf (2.71-3) ... Setting up sensible-utils (0.0.17+nmu1) ... Setting up libuchardet0:arm64 (0.0.7-1) ... Setting up libsub-override-perl (0.09-4) ... Setting up libelf1:arm64 (0.188-2.1) ... Setting up readline-common (8.2-1.3) ... Setting up libxml2:arm64 (2.9.14+dfsg-1.1+b3) ... 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.13.1-1) ... Setting up gettext (0.21-12) ... Setting up libtool (2.4.7-5) ... Setting up libreadline8:arm64 (8.2-1.3) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up dwz (0.15-1) ... Setting up groff-base (1.22.4-10) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpython3.11-stdlib:arm64 (3.11.2-6) ... Setting up man-db (2.11.2-2) ... Not building database; man-db/auto-update is not 'true'. Setting up libpython3-stdlib:arm64 (3.11.2-1+b1) ... Setting up python3.11 (3.11.2-6) ... Setting up debhelper (13.11.4) ... Setting up python3 (3.11.2-1+b1) ... Setting up python3-tz (2022.7.1-3) ... Setting up python3-lib2to3 (3.11.2-2) ... Setting up python3-pkg-resources (66.1.1-1) ... Setting up python3-distutils (3.11.2-2) ... Setting up dh-python (5.20230130) ... Setting up python3-setuptools (66.1.1-1) ... Setting up 2to3 (3.11.2-1) ... Processing triggers for libc-bin (2.36-8) ... 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 Reading package lists... Building dependency tree... Reading state information... usrmerge is already the newest version (35). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: user script /srv/workspace/pbuilder/1603/tmp/hooks/A99_set_merged_usr starting Re-configuring usrmerge... I: user script /srv/workspace/pbuilder/1603/tmp/hooks/A99_set_merged_usr finished hostname: Temporary failure in name resolution I: Running cd /build/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-2_source.changes dpkg-buildpackage: info: source package ctdopts dpkg-buildpackage: info: source version 1.5-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Andreas Tille dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:240: python3.11 setup.py clean 'build/bdist.linux-arm64' does not exist -- can't clean it 'build/scripts-3.11' 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:240: python3.11 setup.py config debian/rules override_dh_auto_build make[1]: Map '/build/ctdopts-1.5' wordt binnengegaan dh_auto_build I: pybuild base:240: /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 2to3 --write --nobackups --no-diffs --output-dir=debian example.py /usr/bin/2to3:3: DeprecationWarning: lib2to3 package is deprecated and may not be able to parse Python 3.10+ from lib2to3.main import main lib2to3.main: Output in 'debian' will mirror the input directory '' layout. RefactoringTool: Skipping optional fixer: buffer RefactoringTool: Skipping optional fixer: idioms RefactoringTool: Skipping optional fixer: set_literal RefactoringTool: Skipping optional fixer: ws_comma RefactoringTool: Refactored example.py RefactoringTool: Writing converted example.py to debian/example.py. RefactoringTool: Files that were modified: RefactoringTool: example.py make[1]: Map '/build/ctdopts-1.5' wordt verlaten debian/rules override_dh_auto_test make[1]: Map '/build/ctdopts-1.5' wordt binnengegaan export PYBUILD_SYSTEM=custom; dh_auto_test I: pybuild base:240: PYTHONPATH=/build/ctdopts-1.5/.pybuild/cpython3_3.11_CTDopts/build python3.11 debian/example.py /build/ctdopts-1.5/.pybuild/cpython3_3.11_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/ctdopts-1.5/.pybuild/cpython3_3.11_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]: Map '/build/ctdopts-1.5' wordt verlaten 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:240: /usr/bin/python3 setup.py install --root /build/ctdopts-1.5/debian/python3-ctdopts /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( 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: pakket 'python3-ctdopts' wordt gebouwd in '../python3-ctdopts_1.5-2_all.deb'. dpkg-genbuildinfo --build=binary -O../ctdopts_1.5-2_arm64.buildinfo dpkg-genchanges --build=binary -O../ctdopts_1.5-2_arm64.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/1603/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/1603/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/1603 and its subdirectories I: Current time: Mon May 20 15:55:00 +14 2024 I: pbuilder-time-stamp: 1716170100