Tue Nov 30 15:07:30 UTC 2021 I: starting to build ctdopts/buster/amd64 on jenkins on '2021-11-30 15:07' Tue Nov 30 15:07:30 UTC 2021 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_2/8597/console.log Tue Nov 30 15:07:30 UTC 2021 I: Downloading source for buster/ctdopts=1.2-3 --2021-11-30 15:07:30-- http://deb.debian.org/debian/pool/main/c/ctdopts/ctdopts_1.2-3.dsc Connecting to 78.137.99.97:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2038 (2.0K) Saving to: ‘ctdopts_1.2-3.dsc’ 0K . 100% 99.8M=0s 2021-11-30 15:07:30 (99.8 MB/s) - ‘ctdopts_1.2-3.dsc’ saved [2038/2038] Tue Nov 30 15:07:30 UTC 2021 I: ctdopts_1.2-3.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: ctdopts Binary: python3-ctdopts Architecture: all Version: 1.2-3 Maintainer: Debian Med Packaging Team Uploaders: Michael R. Crusoe Homepage: https://github.com/WorkflowConversion/CTDopts Standards-Version: 4.1.3 Vcs-Browser: https://salsa.debian.org/med-team/ctdopts.git Vcs-Git: https://salsa.debian.org/med-team/ctdopts.git Testsuite: autopkgtest Testsuite-Triggers: 2to3, python3-all Build-Depends: debhelper (>= 11), dh-python, python3, python3-setuptools, 2to3, python3-tz Package-List: python3-ctdopts deb python optional arch=all Checksums-Sha1: 02c306f6e08fba97a5325cb6bb3a25e039ac8d2d 33461 ctdopts_1.2.orig.tar.gz ac2b3210851c2b43fb8671868c39f2ef0bfa0326 3048 ctdopts_1.2-3.debian.tar.xz Checksums-Sha256: 85d7a77bc781509eb31657cb0b0ffecfd8f8b0161aacd22ff3ad1395eb4b136b 33461 ctdopts_1.2.orig.tar.gz aa5fa171087f5b122b3c813073adef715c09122feb207a19dde3cb743d19492f 3048 ctdopts_1.2-3.debian.tar.xz Files: 4434506326994623fb567d66d66bf9c4 33461 ctdopts_1.2.orig.tar.gz 4b4c11dee8b2fdcf22291b8319b168d5 3048 ctdopts_1.2-3.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEck1gkzcRPHEFUNdHPCZ2P2xn5uIFAlqWnAQACgkQPCZ2P2xn 5uJZiQ//TvPUwtPdKUeek/KtfLY6/wt+xyD/2BnkQeOfnJpeJ1W5RsqqQz89mJaH mdCxTFhL05tqdq4SapfOEOJV8ZRDXfyMAxTBKMF6YqAnoaeV0b79KOUIJlK25VAG fBhrLCcOGCPu4ibj/pJshkvtf1u9hq9u+/av7LWU2nGccBfJDmcHzmalNTZDrXSf eCjta2hirUEpjCq8v7VoyjoMdaTOrx0AVxy4VXIx+P64j8MNXak0fO0BSTfvhA8a XPfbMjfmtFus43WOVvbvONog3uAkZmn4kr3fZ97+yssG/la2h2FQSBOVexJyUz/8 uuPROd+TE6cHukxVSw34uUjxocYS8Bpr0r1dnlngKWptTEsuVPNELd3x8R4ySO+P qHMejJ8gTCgTkGNyXEK9Usy8Zk68ZhQEj+U+Is8tQw2MXjRLsPtZBywQ6ezouuod Fq6huC2WforhoKZnl6hQrxh+FQ9PQuactd4jPD3Fc6Abux2nyU7WQyfHPICg9Ewr WiGNDw69ARZK3KJYP0mVTUOAVGRzXk6ST1tDkbLys4Wsts5NPILlBXZqGAElHMLg i979LMnqH9m5id6k1r0XhTQqJbP4eDMwQL/tzOff7liTShSW6ND9wQ5ldA/25Aqf 0pGPCwTu9DmZm+pUYy6R6JK+8J1SMM/INFFbQx75aW+tZNm8yXw= =y8Oe -----END PGP SIGNATURE----- Tue Nov 30 15:07:30 UTC 2021 I: Checking whether the package is not for us Tue Nov 30 15:07:30 UTC 2021 I: Starting 1st build on remote node ionos5-amd64.debian.net. Tue Nov 30 15:07:30 UTC 2021 I: Preparing to do remote build '1' on ionos5-amd64.debian.net. Tue Nov 30 15:09:50 UTC 2021 I: Deleting $TMPDIR on ionos5-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Mon Jan 2 09:30:37 -12 2023 I: pbuilder-time-stamp: 1672695037 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration 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.2-3.dsc] I: copying [./ctdopts_1.2.orig.tar.gz] I: copying [./ctdopts_1.2-3.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error gpgv: Signature made Wed Feb 28 00:09:40 2018 -12 gpgv: using RSA key 724D609337113C710550D7473C26763F6C67E6E2 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./ctdopts_1.2-3.dsc dpkg-source: info: extracting ctdopts in ctdopts-1.2 dpkg-source: info: unpacking ctdopts_1.2.orig.tar.gz dpkg-source: info: unpacking ctdopts_1.2-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 2to3 I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3016484/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=16' DISTRIBUTION='' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='a1cf694896224dfbad2f3a858cd4d655' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='3016484' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.aqjwsIu0jZ/pbuilderrc_bwwG --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.aqjwsIu0jZ/b1 --logfile b1/build.log ctdopts_1.2-3.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://85.184.249.68:3128' I: uname -a Linux ionos5-amd64 5.14.0-0.bpo.2-amd64 #1 SMP Debian 5.14.9-2~bpo11+1 (2021-10-10) x86_64 GNU/Linux I: ls -l /bin total 5116 -rwxr-xr-x 1 root root 1168776 Apr 17 2019 bash -rwxr-xr-x 3 root root 38984 Jul 10 2019 bunzip2 -rwxr-xr-x 3 root root 38984 Jul 10 2019 bzcat lrwxrwxrwx 1 root root 6 Jul 10 2019 bzcmp -> bzdiff -rwxr-xr-x 1 root root 2227 Jul 10 2019 bzdiff lrwxrwxrwx 1 root root 6 Jul 10 2019 bzegrep -> bzgrep -rwxr-xr-x 1 root root 4877 Jun 24 2019 bzexe lrwxrwxrwx 1 root root 6 Jul 10 2019 bzfgrep -> bzgrep -rwxr-xr-x 1 root root 3641 Jul 10 2019 bzgrep -rwxr-xr-x 3 root root 38984 Jul 10 2019 bzip2 -rwxr-xr-x 1 root root 14328 Jul 10 2019 bzip2recover lrwxrwxrwx 1 root root 6 Jul 10 2019 bzless -> bzmore -rwxr-xr-x 1 root root 1297 Jul 10 2019 bzmore -rwxr-xr-x 1 root root 43744 Feb 28 2019 cat -rwxr-xr-x 1 root root 64320 Feb 28 2019 chgrp -rwxr-xr-x 1 root root 64288 Feb 28 2019 chmod -rwxr-xr-x 1 root root 72512 Feb 28 2019 chown -rwxr-xr-x 1 root root 146880 Feb 28 2019 cp -rwxr-xr-x 1 root root 121464 Jan 17 2019 dash -rwxr-xr-x 1 root root 109408 Feb 28 2019 date -rwxr-xr-x 1 root root 76712 Feb 28 2019 dd -rwxr-xr-x 1 root root 93744 Feb 28 2019 df -rwxr-xr-x 1 root root 138856 Feb 28 2019 dir -rwxr-xr-x 1 root root 84288 Jan 9 2019 dmesg lrwxrwxrwx 1 root root 8 Sep 26 2018 dnsdomainname -> hostname lrwxrwxrwx 1 root root 8 Sep 26 2018 domainname -> hostname -rwxr-xr-x 1 root root 39520 Feb 28 2019 echo -rwxr-xr-x 1 root root 28 Jan 7 2019 egrep -rwxr-xr-x 1 root root 35424 Feb 28 2019 false -rwxr-xr-x 1 root root 28 Jan 7 2019 fgrep -rwxr-xr-x 1 root root 68880 Jan 9 2019 findmnt -rwsr-xr-x 1 root root 34896 Apr 22 2020 fusermount -rwxr-xr-x 1 root root 198976 Jan 7 2019 grep -rwxr-xr-x 2 root root 2345 Jan 5 2019 gunzip -rwxr-xr-x 1 root root 6375 Jan 5 2019 gzexe -rwxr-xr-x 1 root root 98048 Jan 5 2019 gzip -rwxr-xr-x 1 root root 26696 Sep 26 2018 hostname -rwxr-xr-x 1 root root 68552 Feb 28 2019 ln -rwxr-xr-x 1 root root 56760 Jul 26 2018 login -rwxr-xr-x 1 root root 138856 Feb 28 2019 ls -rwxr-xr-x 1 root root 108624 Jan 9 2019 lsblk -rwxr-xr-x 1 root root 89088 Feb 28 2019 mkdir -rwxr-xr-x 1 root root 68544 Feb 28 2019 mknod -rwxr-xr-x 1 root root 43808 Feb 28 2019 mktemp -rwxr-xr-x 1 root root 43008 Jan 9 2019 more -rwsr-xr-x 1 root root 51280 Jan 9 2019 mount -rwxr-xr-x 1 root root 14408 Jan 9 2019 mountpoint -rwxr-xr-x 1 root root 138728 Feb 28 2019 mv lrwxrwxrwx 1 root root 8 Sep 26 2018 nisdomainname -> hostname lrwxrwxrwx 1 root root 14 Feb 14 2019 pidof -> /sbin/killall5 -rwxr-xr-x 1 root root 39616 Feb 28 2019 pwd lrwxrwxrwx 1 root root 4 Apr 17 2019 rbash -> bash -rwxr-xr-x 1 root root 47776 Feb 28 2019 readlink -rwxr-xr-x 1 root root 68416 Feb 28 2019 rm -rwxr-xr-x 1 root root 47776 Feb 28 2019 rmdir -rwxr-xr-x 1 root root 23312 Jan 21 2019 run-parts -rwxr-xr-x 1 root root 122224 Dec 22 2018 sed lrwxrwxrwx 1 root root 4 Dec 10 16:21 sh -> dash -rwxr-xr-x 1 root root 39552 Feb 28 2019 sleep -rwxr-xr-x 1 root root 80672 Feb 28 2019 stty -rwsr-xr-x 1 root root 63568 Jan 9 2019 su -rwxr-xr-x 1 root root 35488 Feb 28 2019 sync -rwxr-xr-x 1 root root 445560 Apr 23 2019 tar -rwxr-xr-x 1 root root 14440 Jan 21 2019 tempfile -rwxr-xr-x 1 root root 97152 Feb 28 2019 touch -rwxr-xr-x 1 root root 35424 Feb 28 2019 true -rwxr-xr-x 1 root root 14328 Apr 22 2020 ulockmgr_server -rwsr-xr-x 1 root root 34888 Jan 9 2019 umount -rwxr-xr-x 1 root root 39584 Feb 28 2019 uname -rwxr-xr-x 2 root root 2345 Jan 5 2019 uncompress -rwxr-xr-x 1 root root 138856 Feb 28 2019 vdir -rwxr-xr-x 1 root root 34896 Jan 9 2019 wdctl -rwxr-xr-x 1 root root 946 Jan 21 2019 which lrwxrwxrwx 1 root root 8 Sep 26 2018 ypdomainname -> hostname -rwxr-xr-x 1 root root 1983 Jan 5 2019 zcat -rwxr-xr-x 1 root root 1677 Jan 5 2019 zcmp -rwxr-xr-x 1 root root 5879 Jan 5 2019 zdiff -rwxr-xr-x 1 root root 29 Jan 5 2019 zegrep -rwxr-xr-x 1 root root 29 Jan 5 2019 zfgrep -rwxr-xr-x 1 root root 2080 Jan 5 2019 zforce -rwxr-xr-x 1 root root 7584 Jan 5 2019 zgrep -rwxr-xr-x 1 root root 2205 Jan 5 2019 zless -rwxr-xr-x 1 root root 1841 Jan 5 2019 zmore -rwxr-xr-x 1 root root 4552 Jan 5 2019 znew I: user script /srv/workspace/pbuilder/3016484/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: amd64 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 (>= 11), 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 ... 19195 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 (>= 11); however: Package debhelper 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} bsdmainutils{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} libbsd0{a} libcroco3{a} libelf1{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libglib2.0-0{a} libicu63{a} libmagic-mgc{a} libmagic1{a} libmpdec2{a} libncurses6{a} libpipeline1{a} libpython3-stdlib{a} libpython3.7-minimal{a} libpython3.7-stdlib{a} libreadline7{a} libsigsegv2{a} libssl1.1{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} mime-support{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.7{a} python3.7-minimal{a} readline-common{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libglib2.0-data libgpm2 libltdl-dev libmail-sendmail-perl lynx shared-mime-info wget xdg-user-dirs 0 packages upgraded, 53 newly installed, 0 to remove and 0 not upgraded. Need to get 26.3 MB of archives. After unpacking 102 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian buster/main amd64 libbsd0 amd64 0.9.1-2+deb10u1 [99.5 kB] Get: 2 http://deb.debian.org/debian buster/main amd64 bsdmainutils amd64 11.1.2+b1 [191 kB] Get: 3 http://deb.debian.org/debian buster/main amd64 libuchardet0 amd64 0.0.6-3 [64.9 kB] Get: 4 http://deb.debian.org/debian buster/main amd64 groff-base amd64 1.22.4-3+deb10u1 [916 kB] Get: 5 http://deb.debian.org/debian buster/main amd64 libpipeline1 amd64 1.5.1-2 [31.2 kB] Get: 6 http://deb.debian.org/debian buster/main amd64 man-db amd64 2.8.5-2 [1274 kB] Get: 7 http://deb.debian.org/debian buster/main amd64 libssl1.1 amd64 1.1.1d-0+deb10u7 [1539 kB] Get: 8 http://deb.debian.org/debian buster/main amd64 libpython3.7-minimal amd64 3.7.3-2+deb10u3 [589 kB] Get: 9 http://deb.debian.org/debian buster/main amd64 libexpat1 amd64 2.2.6-2+deb10u1 [106 kB] Get: 10 http://deb.debian.org/debian buster/main amd64 python3.7-minimal amd64 3.7.3-2+deb10u3 [1737 kB] Get: 11 http://deb.debian.org/debian buster/main amd64 python3-minimal amd64 3.7.3-1 [36.6 kB] Get: 12 http://deb.debian.org/debian buster/main amd64 mime-support all 3.62 [37.2 kB] Get: 13 http://deb.debian.org/debian buster/main amd64 libmpdec2 amd64 2.4.2-2 [87.2 kB] Get: 14 http://deb.debian.org/debian buster/main amd64 readline-common all 7.0-5 [70.6 kB] Get: 15 http://deb.debian.org/debian buster/main amd64 libreadline7 amd64 7.0-5 [151 kB] Get: 16 http://deb.debian.org/debian buster/main amd64 libpython3.7-stdlib amd64 3.7.3-2+deb10u3 [1734 kB] Get: 17 http://deb.debian.org/debian buster/main amd64 python3.7 amd64 3.7.3-2+deb10u3 [330 kB] Get: 18 http://deb.debian.org/debian buster/main amd64 libpython3-stdlib amd64 3.7.3-1 [20.0 kB] Get: 19 http://deb.debian.org/debian buster/main amd64 python3 amd64 3.7.3-1 [61.5 kB] Get: 20 http://deb.debian.org/debian buster/main amd64 sensible-utils all 0.0.12 [15.8 kB] Get: 21 http://deb.debian.org/debian buster/main amd64 libmagic-mgc amd64 1:5.35-4+deb10u2 [242 kB] Get: 22 http://deb.debian.org/debian buster/main amd64 libmagic1 amd64 1:5.35-4+deb10u2 [118 kB] Get: 23 http://deb.debian.org/debian buster/main amd64 file amd64 1:5.35-4+deb10u2 [66.4 kB] Get: 24 http://deb.debian.org/debian buster/main amd64 gettext-base amd64 0.19.8.1-9 [123 kB] Get: 25 http://deb.debian.org/debian buster/main amd64 python3-lib2to3 all 3.7.3-1 [76.7 kB] Get: 26 http://deb.debian.org/debian buster/main amd64 2to3 all 3.7.3-1 [20.8 kB] Get: 27 http://deb.debian.org/debian buster/main amd64 libsigsegv2 amd64 2.12-2 [32.8 kB] Get: 28 http://deb.debian.org/debian buster/main amd64 m4 amd64 1.4.18-2 [203 kB] Get: 29 http://deb.debian.org/debian buster/main amd64 autoconf all 2.69-11 [341 kB] Get: 30 http://deb.debian.org/debian buster/main amd64 autotools-dev all 20180224.1 [77.0 kB] Get: 31 http://deb.debian.org/debian buster/main amd64 automake all 1:1.16.1-4 [771 kB] Get: 32 http://deb.debian.org/debian buster/main amd64 autopoint all 0.19.8.1-9 [434 kB] Get: 33 http://deb.debian.org/debian buster/main amd64 libtool all 2.4.6-9 [547 kB] Get: 34 http://deb.debian.org/debian buster/main amd64 dh-autoreconf all 19 [16.9 kB] Get: 35 http://deb.debian.org/debian buster/main amd64 libarchive-zip-perl all 1.64-1 [96.8 kB] Get: 36 http://deb.debian.org/debian buster/main amd64 libfile-stripnondeterminism-perl all 1.1.2-1 [19.8 kB] Get: 37 http://deb.debian.org/debian buster/main amd64 dh-strip-nondeterminism all 1.1.2-1 [13.0 kB] Get: 38 http://deb.debian.org/debian buster/main amd64 libelf1 amd64 0.176-1.1 [161 kB] Get: 39 http://deb.debian.org/debian buster/main amd64 dwz amd64 0.12-3 [78.0 kB] Get: 40 http://deb.debian.org/debian buster/main amd64 libglib2.0-0 amd64 2.58.3-2+deb10u3 [1259 kB] Get: 41 http://deb.debian.org/debian buster/main amd64 libicu63 amd64 63.1-6+deb10u1 [8300 kB] Get: 42 http://deb.debian.org/debian buster/main amd64 libxml2 amd64 2.9.4+dfsg1-7+deb10u2 [689 kB] Get: 43 http://deb.debian.org/debian buster/main amd64 libcroco3 amd64 0.6.12-3 [145 kB] Get: 44 http://deb.debian.org/debian buster/main amd64 libncurses6 amd64 6.1+20181013-2+deb10u2 [102 kB] Get: 45 http://deb.debian.org/debian buster/main amd64 gettext amd64 0.19.8.1-9 [1303 kB] Get: 46 http://deb.debian.org/debian buster/main amd64 intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get: 47 http://deb.debian.org/debian buster/main amd64 po-debconf all 1.0.21 [248 kB] Get: 48 http://deb.debian.org/debian buster/main amd64 debhelper all 12.1.1 [1016 kB] Get: 49 http://deb.debian.org/debian buster/main amd64 python3-distutils all 3.7.3-1 [142 kB] Get: 50 http://deb.debian.org/debian buster/main amd64 dh-python all 3.20190308 [99.3 kB] Get: 51 http://deb.debian.org/debian buster/main amd64 python3-pkg-resources all 40.8.0-1 [153 kB] Get: 52 http://deb.debian.org/debian buster/main amd64 python3-setuptools all 40.8.0-1 [306 kB] Get: 53 http://deb.debian.org/debian buster/main amd64 python3-tz all 2019.1-1 [27.1 kB] Fetched 26.3 MB in 1s (19.6 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:amd64. (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 ... 19195 files and directories currently installed.) Preparing to unpack .../0-libbsd0_0.9.1-2+deb10u1_amd64.deb ... Unpacking libbsd0:amd64 (0.9.1-2+deb10u1) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../1-bsdmainutils_11.1.2+b1_amd64.deb ... Unpacking bsdmainutils (11.1.2+b1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../2-libuchardet0_0.0.6-3_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.6-3) ... Selecting previously unselected package groff-base. Preparing to unpack .../3-groff-base_1.22.4-3+deb10u1_amd64.deb ... Unpacking groff-base (1.22.4-3+deb10u1) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../4-libpipeline1_1.5.1-2_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.1-2) ... Selecting previously unselected package man-db. Preparing to unpack .../5-man-db_2.8.5-2_amd64.deb ... Unpacking man-db (2.8.5-2) ... Selecting previously unselected package libssl1.1:amd64. Preparing to unpack .../6-libssl1.1_1.1.1d-0+deb10u7_amd64.deb ... Unpacking libssl1.1:amd64 (1.1.1d-0+deb10u7) ... Selecting previously unselected package libpython3.7-minimal:amd64. Preparing to unpack .../7-libpython3.7-minimal_3.7.3-2+deb10u3_amd64.deb ... Unpacking libpython3.7-minimal:amd64 (3.7.3-2+deb10u3) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../8-libexpat1_2.2.6-2+deb10u1_amd64.deb ... Unpacking libexpat1:amd64 (2.2.6-2+deb10u1) ... Selecting previously unselected package python3.7-minimal. Preparing to unpack .../9-python3.7-minimal_3.7.3-2+deb10u3_amd64.deb ... Unpacking python3.7-minimal (3.7.3-2+deb10u3) ... Setting up libssl1.1:amd64 (1.1.1d-0+deb10u7) ... Setting up libpython3.7-minimal:amd64 (3.7.3-2+deb10u3) ... Setting up libexpat1:amd64 (2.2.6-2+deb10u1) ... Setting up python3.7-minimal (3.7.3-2+deb10u3) ... 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 ... 20090 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.7.3-1_amd64.deb ... Unpacking python3-minimal (3.7.3-1) ... Selecting previously unselected package mime-support. Preparing to unpack .../1-mime-support_3.62_all.deb ... Unpacking mime-support (3.62) ... Selecting previously unselected package libmpdec2:amd64. Preparing to unpack .../2-libmpdec2_2.4.2-2_amd64.deb ... Unpacking libmpdec2:amd64 (2.4.2-2) ... Selecting previously unselected package readline-common. Preparing to unpack .../3-readline-common_7.0-5_all.deb ... Unpacking readline-common (7.0-5) ... Selecting previously unselected package libreadline7:amd64. Preparing to unpack .../4-libreadline7_7.0-5_amd64.deb ... Unpacking libreadline7:amd64 (7.0-5) ... Selecting previously unselected package libpython3.7-stdlib:amd64. Preparing to unpack .../5-libpython3.7-stdlib_3.7.3-2+deb10u3_amd64.deb ... Unpacking libpython3.7-stdlib:amd64 (3.7.3-2+deb10u3) ... Selecting previously unselected package python3.7. Preparing to unpack .../6-python3.7_3.7.3-2+deb10u3_amd64.deb ... Unpacking python3.7 (3.7.3-2+deb10u3) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../7-libpython3-stdlib_3.7.3-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.7.3-1) ... Setting up python3-minimal (3.7.3-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 ... 20551 files and directories currently installed.) Preparing to unpack .../00-python3_3.7.3-1_amd64.deb ... Unpacking python3 (3.7.3-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.12_all.deb ... Unpacking sensible-utils (0.0.12) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../02-libmagic-mgc_1%3a5.35-4+deb10u2_amd64.deb ... Unpacking libmagic-mgc (1:5.35-4+deb10u2) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../03-libmagic1_1%3a5.35-4+deb10u2_amd64.deb ... Unpacking libmagic1:amd64 (1:5.35-4+deb10u2) ... Selecting previously unselected package file. Preparing to unpack .../04-file_1%3a5.35-4+deb10u2_amd64.deb ... Unpacking file (1:5.35-4+deb10u2) ... Selecting previously unselected package gettext-base. Preparing to unpack .../05-gettext-base_0.19.8.1-9_amd64.deb ... Unpacking gettext-base (0.19.8.1-9) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../06-python3-lib2to3_3.7.3-1_all.deb ... Unpacking python3-lib2to3 (3.7.3-1) ... Selecting previously unselected package 2to3. Preparing to unpack .../07-2to3_3.7.3-1_all.deb ... Unpacking 2to3 (3.7.3-1) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../08-libsigsegv2_2.12-2_amd64.deb ... Unpacking libsigsegv2:amd64 (2.12-2) ... Selecting previously unselected package m4. Preparing to unpack .../09-m4_1.4.18-2_amd64.deb ... Unpacking m4 (1.4.18-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../10-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../11-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../12-automake_1%3a1.16.1-4_all.deb ... Unpacking automake (1:1.16.1-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../13-autopoint_0.19.8.1-9_all.deb ... Unpacking autopoint (0.19.8.1-9) ... Selecting previously unselected package libtool. Preparing to unpack .../14-libtool_2.4.6-9_all.deb ... Unpacking libtool (2.4.6-9) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../15-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../16-libarchive-zip-perl_1.64-1_all.deb ... Unpacking libarchive-zip-perl (1.64-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../17-libfile-stripnondeterminism-perl_1.1.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.1.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../18-dh-strip-nondeterminism_1.1.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.1.2-1) ... Selecting previously unselected package libelf1:amd64. Preparing to unpack .../19-libelf1_0.176-1.1_amd64.deb ... Unpacking libelf1:amd64 (0.176-1.1) ... Selecting previously unselected package dwz. Preparing to unpack .../20-dwz_0.12-3_amd64.deb ... Unpacking dwz (0.12-3) ... Selecting previously unselected package libglib2.0-0:amd64. Preparing to unpack .../21-libglib2.0-0_2.58.3-2+deb10u3_amd64.deb ... Unpacking libglib2.0-0:amd64 (2.58.3-2+deb10u3) ... Selecting previously unselected package libicu63:amd64. Preparing to unpack .../22-libicu63_63.1-6+deb10u1_amd64.deb ... Unpacking libicu63:amd64 (63.1-6+deb10u1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../23-libxml2_2.9.4+dfsg1-7+deb10u2_amd64.deb ... Unpacking libxml2:amd64 (2.9.4+dfsg1-7+deb10u2) ... Selecting previously unselected package libcroco3:amd64. Preparing to unpack .../24-libcroco3_0.6.12-3_amd64.deb ... Unpacking libcroco3:amd64 (0.6.12-3) ... Selecting previously unselected package libncurses6:amd64. Preparing to unpack .../25-libncurses6_6.1+20181013-2+deb10u2_amd64.deb ... Unpacking libncurses6:amd64 (6.1+20181013-2+deb10u2) ... Selecting previously unselected package gettext. Preparing to unpack .../26-gettext_0.19.8.1-9_amd64.deb ... Unpacking gettext (0.19.8.1-9) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../27-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../28-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../29-debhelper_12.1.1_all.deb ... Unpacking debhelper (12.1.1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../30-python3-distutils_3.7.3-1_all.deb ... Unpacking python3-distutils (3.7.3-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../31-dh-python_3.20190308_all.deb ... Unpacking dh-python (3.20190308) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../32-python3-pkg-resources_40.8.0-1_all.deb ... Unpacking python3-pkg-resources (40.8.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../33-python3-setuptools_40.8.0-1_all.deb ... Unpacking python3-setuptools (40.8.0-1) ... Selecting previously unselected package python3-tz. Preparing to unpack .../34-python3-tz_2019.1-1_all.deb ... Unpacking python3-tz (2019.1-1) ... Setting up libpipeline1:amd64 (1.5.1-2) ... Setting up mime-support (3.62) ... Setting up libmagic-mgc (1:5.35-4+deb10u2) ... Setting up libarchive-zip-perl (1.64-1) ... Setting up libglib2.0-0:amd64 (2.58.3-2+deb10u3) ... No schema files found: doing nothing. Setting up libmagic1:amd64 (1:5.35-4+deb10u2) ... Setting up gettext-base (0.19.8.1-9) ... Setting up file (1:5.35-4+deb10u2) ... Setting up libicu63:amd64 (63.1-6+deb10u1) ... Setting up autotools-dev (20180224.1) ... Setting up libncurses6:amd64 (6.1+20181013-2+deb10u2) ... Setting up libsigsegv2:amd64 (2.12-2) ... Setting up autopoint (0.19.8.1-9) ... Setting up sensible-utils (0.0.12) ... Setting up libuchardet0:amd64 (0.0.6-3) ... Setting up libmpdec2:amd64 (2.4.2-2) ... Setting up libbsd0:amd64 (0.9.1-2+deb10u1) ... Setting up libelf1:amd64 (0.176-1.1) ... Setting up readline-common (7.0-5) ... Setting up libxml2:amd64 (2.9.4+dfsg1-7+deb10u2) ... Setting up libreadline7:amd64 (7.0-5) ... Setting up libfile-stripnondeterminism-perl (1.1.2-1) ... Setting up libpython3.7-stdlib:amd64 (3.7.3-2+deb10u3) ... Setting up libtool (2.4.6-9) ... Setting up m4 (1.4.18-2) ... Setting up bsdmainutils (11.1.2+b1) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up libcroco3:amd64 (0.6.12-3) ... Setting up autoconf (2.69-11) ... Setting up dwz (0.12-3) ... Setting up groff-base (1.22.4-3+deb10u1) ... Setting up libpython3-stdlib:amd64 (3.7.3-1) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up python3.7 (3.7.3-2+deb10u3) ... Setting up gettext (0.19.8.1-9) ... Setting up python3 (3.7.3-1) ... Setting up man-db (2.8.5-2) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-tz (2019.1-1) ... Setting up intltool-debian (0.35.0+20060710.5) ... Setting up python3-lib2to3 (3.7.3-1) ... Setting up python3-pkg-resources (40.8.0-1) ... Setting up python3-distutils (3.7.3-1) ... Setting up dh-python (3.20190308) ... Setting up python3-setuptools (40.8.0-1) ... Setting up po-debconf (1.0.21) ... Setting up 2to3 (3.7.3-1) ... Setting up dh-autoreconf (19) ... Setting up dh-strip-nondeterminism (1.1.2-1) ... Setting up debhelper (12.1.1) ... Processing triggers for libc-bin (2.28-10) ... 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... fakeroot is already the newest version (1.23-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/ctdopts-1.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ctdopts_1.2-3_source.changes dpkg-buildpackage: info: source package ctdopts dpkg-buildpackage: info: source version 1.2-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Michael R. Crusoe dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 fakeroot debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:217: python3.7 setup.py clean running clean removing '/build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build' (and everything under it) 'build/bdist.linux-amd64' does not exist -- can't clean it 'build/scripts-3.7' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules build dh build --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:217: python3.7 setup.py config running config debian/rules override_dh_auto_build make[1]: Entering directory '/build/ctdopts-1.2' dh_auto_build I: pybuild base:217: /usr/bin/python3 setup.py build running build running build_py creating /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts copying CTDopts/CTDopts.py -> /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts copying CTDopts/__init__.py -> /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts Fixing /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts/CTDopts.py /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts/__init__.py Skipping optional fixer: buffer Skipping optional fixer: idioms Skipping optional fixer: set_literal Skipping optional fixer: ws_comma Fixing /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts/CTDopts.py /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts/__init__.py Skipping optional fixer: buffer Skipping optional fixer: idioms Skipping optional fixer: set_literal Skipping optional fixer: ws_comma # 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 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]: Leaving directory '/build/ctdopts-1.2' debian/rules override_dh_auto_test make[1]: Entering directory '/build/ctdopts-1.2' export PYBUILD_SYSTEM=custom; dh_auto_test I: pybuild base:217: PYTHONPATH=/build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build python3.7 debian/example.py /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts/CTDopts.py:790: UserWarning: Argument restrictions for positive_int violated. Restriction: 0:. Value: -5 (':'.join(lineage), param.restrictions.ctd_restriction_string(), validated_value)) 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', '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', 'this_that', 'subparams:param_1', 'subparams:param_2', 'subparams:subsubparam:param_3'] A dictionary of parameters with default values, returned by CTDModel.get_defaults(): { '1': { 'positive_int': 5, 'subparams': { 'param_1': 5.5, 'param_2': [0.0, 2.5, 5.0], 'subsubparam': {'param_3': 2}}, 'this_that': 'this'}, 'version': '1.0'} 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... { ('1',): { 'positive_int': 5, 'subparams': { 'param_1': 5.5, 'param_2': [0.0, 2.5, 5.0], 'subsubparam': {'param_3': 2}}, 'this_that': 'this'}, ('version',): '1.0'} ...or they can be strings where nesing levels are separated by colons: { '1': { 'positive_int': 5, 'subparams': { 'param_1': 5.5, 'param_2': [0.0, 2.5, 5.0], 'subsubparam': {'param_3': 2}}, 'this_that': 'this'}, 'version': '1.0'} 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'], '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'], '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'], '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'], '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 dictionary with a 'log' keyword, using any or all of the fields shown below. make[1]: Leaving directory '/build/ctdopts-1.2' create-stamp debian/debhelper-build-stamp fakeroot debian/rules binary dh binary --with python3 --buildsystem=pybuild dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_auto_install -O--buildsystem=pybuild I: pybuild base:217: /usr/bin/python3 setup.py install --root /build/ctdopts-1.2/debian/python3-ctdopts running install running build running build_py running install_lib creating /build/ctdopts-1.2/debian/python3-ctdopts/usr creating /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib creating /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7 creating /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7/dist-packages creating /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7/dist-packages/CTDopts creating /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7/dist-packages/CTDopts/__pycache__ copying /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts/__pycache__/CTDopts.cpython-37.pyc -> /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7/dist-packages/CTDopts/__pycache__ copying /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts/__pycache__/__init__.cpython-37.pyc -> /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7/dist-packages/CTDopts/__pycache__ copying /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts/__init__.py -> /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7/dist-packages/CTDopts copying /build/ctdopts-1.2/.pybuild/cpython3_3.7_CTDopts/build/CTDopts/CTDopts.py -> /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7/dist-packages/CTDopts byte-compiling /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7/dist-packages/CTDopts/__init__.py to __init__.cpython-37.pyc byte-compiling /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7/dist-packages/CTDopts/CTDopts.py to CTDopts.cpython-37.pyc running install_egg_info running egg_info creating CTDopts.egg-info writing CTDopts.egg-info/PKG-INFO writing dependency_links to CTDopts.egg-info/dependency_links.txt writing requirements to CTDopts.egg-info/requires.txt writing top-level names to CTDopts.egg-info/top_level.txt writing manifest file 'CTDopts.egg-info/SOURCES.txt' reading manifest file 'CTDopts.egg-info/SOURCES.txt' writing manifest file 'CTDopts.egg-info/SOURCES.txt' Copying CTDopts.egg-info to /build/ctdopts-1.2/debian/python3-ctdopts/usr/lib/python3.7/dist-packages/CTDopts-1.1.egg-info Skipping SOURCES.txt running install_scripts 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_installinit -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.2-3_all.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../ctdopts_1.2-3_amd64.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: 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/3016484 and its subdirectories I: Current time: Mon Jan 2 09:32:54 -12 2023 I: pbuilder-time-stamp: 1672695174 Tue Nov 30 15:09:50 UTC 2021 I: 1st build successful. Starting 2nd build on remote node ionos1-amd64.debian.net. Tue Nov 30 15:09:50 UTC 2021 I: Preparing to do remote build '2' on ionos1-amd64.debian.net. Tue Nov 30 15:10:29 UTC 2021 I: Deleting $TMPDIR on ionos1-amd64.debian.net. Tue Nov 30 15:10:29 UTC 2021 I: ctdopts_1.2-3_amd64.changes: Format: 1.8 Date: Sun, 25 Feb 2018 09:27:06 -0800 Source: ctdopts Binary: python3-ctdopts Architecture: all Version: 1.2-3 Distribution: unstable Urgency: medium Maintainer: Debian Med Packaging Team Changed-By: Michael R. Crusoe Description: python3-ctdopts - Gives your Python tools a CTD-compatible interface Changes: ctdopts (1.2-3) unstable; urgency=medium . * Fix VCS*. Checksums-Sha1: de16e20526b688d64f672ea1f54f31041a9afd12 5100 ctdopts_1.2-3_amd64.buildinfo ddf1d295216515dfcc65af98e864023dbba0771d 22012 python3-ctdopts_1.2-3_all.deb Checksums-Sha256: 04f5a2ed4f554c1f86e2568c357d701217bce7222a9dc6cc82a1268a4adfe369 5100 ctdopts_1.2-3_amd64.buildinfo 07fce6947190eb1c7a68330beafbd401912585dc5e083e61a26ea8dd4a511ee4 22012 python3-ctdopts_1.2-3_all.deb Files: 0941cf8c96ac50e9f606673a8d845a42 5100 python optional ctdopts_1.2-3_amd64.buildinfo 264a404d839c923224ebd5a0de87afe9 22012 python optional python3-ctdopts_1.2-3_all.deb Tue Nov 30 15:10:30 UTC 2021 I: will be used to compare the two builds: # Profiling output for: /usr/bin/diffoscope --html /srv/reproducible-results/rbuild-debian/tmp.aqjwsIu0jZ/ctdopts_1.2-3.diffoscope.html --text /srv/reproducible-results/rbuild-debian/tmp.aqjwsIu0jZ/ctdopts_1.2-3.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/tmp.aqjwsIu0jZ/ctdopts_1.2-3.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/tmp.aqjwsIu0jZ/b1/ctdopts_1.2-3_amd64.changes /srv/reproducible-results/rbuild-debian/tmp.aqjwsIu0jZ/b2/ctdopts_1.2-3_amd64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.273s) 0.273s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.024s) 0.024s 10 calls diffoscope.comparators.binary.FilesystemFile 0.000s 8 calls abc.DotChangesFile ## specialize (total time: 0.000s) 0.000s 1 call specialize Tue Nov 30 15:10:31 UTC 2021 I: found no differences in the changes files, and a .buildinfo file also exists. Tue Nov 30 15:10:31 UTC 2021 I: ctdopts from buster built successfully and reproducibly on amd64. Tue Nov 30 15:10:33 UTC 2021 I: Submitting .buildinfo files to external archives: Tue Nov 30 15:10:33 UTC 2021 I: Submitting 8.0K b1/ctdopts_1.2-3_amd64.buildinfo.asc Tue Nov 30 15:10:34 UTC 2021 I: Submitting 8.0K b2/ctdopts_1.2-3_amd64.buildinfo.asc Tue Nov 30 15:10:36 UTC 2021 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Tue Nov 30 15:10:36 UTC 2021 I: Done submitting .buildinfo files. Tue Nov 30 15:10:36 UTC 2021 I: Removing signed ctdopts_1.2-3_amd64.buildinfo.asc files: removed './b1/ctdopts_1.2-3_amd64.buildinfo.asc' removed './b2/ctdopts_1.2-3_amd64.buildinfo.asc'