Diff of the two buildlogs:

--
--- b1/build.log	2025-03-12 09:43:32.076920361 +0000
+++ b2/build.log	2025-03-12 09:44:54.913194482 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Tue Mar 11 21:35:13 -12 2025
-I: pbuilder-time-stamp: 1741772113
+I: Current time: Wed Apr 15 06:06:30 +14 2026
+I: pbuilder-time-stamp: 1776182790
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
 I: copying local configuration
@@ -22,52 +22,84 @@
 dpkg-source: info: unpacking ergochat_2.15.0+ds1-4.debian.tar.xz
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/1171086/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/2988583/tmp/hooks/D01_modify_environment starting
+debug: Running on ionos15-amd64.
+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 Apr 14 16:06 /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/2988583/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/2988583/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  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=20 '
-  DISTRIBUTION='unstable'
-  HOME='/root'
-  HOST_ARCH='amd64'
+  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]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=amd64
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 '
+  DIRSTACK=()
+  DISTRIBUTION=unstable
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=x86_64
+  HOST_ARCH=amd64
   IFS=' 	
   '
-  INVOCATION_ID='3d947637d3e349a09bb3ce59a515029c'
-  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='1171086'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=4cda0df58a7b439aa78e430e5215e236
+  LANG=C
+  LANGUAGE=et_EE:et
+  LC_ALL=C
+  MACHTYPE=x86_64-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=2988583
   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/r-b-build.tBYKhPOj/pbuilderrc_u71l --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.tBYKhPOj/b1 --logfile b1/build.log ergochat_2.15.0+ds1-4.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://46.16.76.132:3128'
+  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.tBYKhPOj/pbuilderrc_wR64 --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.tBYKhPOj/b2 --logfile b2/build.log ergochat_2.15.0+ds1-4.dsc'
+  SUDO_GID=111
+  SUDO_UID=106
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://213.165.73.152:3128
 I: uname -a
-  Linux ionos1-amd64 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux
+  Linux i-capture-the-hostname 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Mar  4 11:20 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/1171086/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Mar  4  2025 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/2988583/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -211,7 +243,7 @@
 Get: 74 http://deb.debian.org/debian unstable/main amd64 golang-github-xdg-go-stringprep-dev all 1.0.4-1 [15.5 kB]
 Get: 75 http://deb.debian.org/debian unstable/main amd64 golang-github-xdg-go-scram-dev all 1.1.2-1 [15.6 kB]
 Get: 76 http://deb.debian.org/debian unstable/main amd64 golang-gopkg-yaml.v2-dev all 2.4.0-5 [60.5 kB]
-Fetched 83.2 MB in 9s (8826 kB/s)
+Fetched 83.2 MB in 3s (25.2 MB/s)
 Preconfiguring packages ...
 Selecting previously unselected package sensible-utils.
 (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 ... 19783 files and directories currently installed.)
@@ -530,7 +562,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/ergochat-2.15.0+ds1/ && 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  > ../ergochat_2.15.0+ds1-4_source.changes
+I: user script /srv/workspace/pbuilder/2988583/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for unstable
+I: user script /srv/workspace/pbuilder/2988583/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/ergochat-2.15.0+ds1/ && 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  > ../ergochat_2.15.0+ds1-4_source.changes
 dpkg-buildpackage: info: source package ergochat
 dpkg-buildpackage: info: source version 2.15.0+ds1-4
 dpkg-buildpackage: info: source distribution unstable
@@ -550,275 +586,275 @@
    debian/rules override_dh_auto_build
 make[1]: Entering directory '/build/reproducible-path/ergochat-2.15.0+ds1'
 dh_auto_build -- 
-	cd _build && go install -trimpath -v -p 20 github.com/ergochat/ergo github.com/ergochat/ergo/irc github.com/ergochat/ergo/irc/bunt github.com/ergochat/ergo/irc/caps github.com/ergochat/ergo/irc/cloaks github.com/ergochat/ergo/irc/connection_limits github.com/ergochat/ergo/irc/custime github.com/ergochat/ergo/irc/datastore github.com/ergochat/ergo/irc/email github.com/ergochat/ergo/irc/flatip github.com/ergochat/ergo/irc/flock github.com/ergochat/ergo/irc/history github.com/ergochat/ergo/irc/isupport github.com/ergochat/ergo/irc/jwt github.com/ergochat/ergo/irc/languages github.com/ergochat/ergo/irc/logger github.com/ergochat/ergo/irc/migrations github.com/ergochat/ergo/irc/mkcerts github.com/ergochat/ergo/irc/modes github.com/ergochat/ergo/irc/mysql github.com/ergochat/ergo/irc/oauth2 github.com/ergochat/ergo/irc/passwd github.com/ergochat/ergo/irc/smtp github.com/ergochat/ergo/irc/sno github.com/ergochat/ergo/irc/utils github.com/ergochat/ergo/irc/webpush
-internal/profilerecord
-internal/goexperiment
-internal/godebugs
-internal/goos
+	cd _build && go install -trimpath -v -p 42 github.com/ergochat/ergo github.com/ergochat/ergo/irc github.com/ergochat/ergo/irc/bunt github.com/ergochat/ergo/irc/caps github.com/ergochat/ergo/irc/cloaks github.com/ergochat/ergo/irc/connection_limits github.com/ergochat/ergo/irc/custime github.com/ergochat/ergo/irc/datastore github.com/ergochat/ergo/irc/email github.com/ergochat/ergo/irc/flatip github.com/ergochat/ergo/irc/flock github.com/ergochat/ergo/irc/history github.com/ergochat/ergo/irc/isupport github.com/ergochat/ergo/irc/jwt github.com/ergochat/ergo/irc/languages github.com/ergochat/ergo/irc/logger github.com/ergochat/ergo/irc/migrations github.com/ergochat/ergo/irc/mkcerts github.com/ergochat/ergo/irc/modes github.com/ergochat/ergo/irc/mysql github.com/ergochat/ergo/irc/oauth2 github.com/ergochat/ergo/irc/passwd github.com/ergochat/ergo/irc/smtp github.com/ergochat/ergo/irc/sno github.com/ergochat/ergo/irc/utils github.com/ergochat/ergo/irc/webpush
 internal/coverage/rtcov
-internal/msan
-internal/byteorder
-unicode
-internal/itoa
-internal/asan
-cmp
+internal/goos
 math/bits
+internal/profilerecord
+internal/godebugs
 internal/goarch
-unicode/utf8
 internal/unsafeheader
-crypto/internal/fips140/alias
-container/list
-unicode/utf16
-internal/cpu
-sync/atomic
+unicode
+unicode/utf8
+internal/asan
+encoding
 internal/runtime/atomic
-crypto/internal/boring/sig
-internal/runtime/syscall
+github.com/ergochat/ergo/vendor/github.com/GehirnInc/crypt/internal
 vendor/golang.org/x/crypto/cryptobyte/asn1
+internal/msan
+internal/cpu
+internal/goexperiment
 vendor/golang.org/x/crypto/internal/alias
+internal/byteorder
+unicode/utf16
+crypto/internal/boring/sig
+internal/itoa
+internal/runtime/syscall
+sync/atomic
 internal/nettrace
-encoding
-internal/abi
+github.com/tidwall/btree
+cmp
+github.com/tidwall/tinyqueue
+log/internal
+crypto/internal/fips140/alias
+container/list
 internal/runtime/math
-internal/chacha8rand
 internal/runtime/sys
-crypto/internal/fips140deps/byteorder
+internal/abi
 crypto/internal/fips140/subtle
-github.com/tidwall/tinyqueue
-github.com/tidwall/btree
-log/internal
+crypto/internal/fips140deps/byteorder
+internal/chacha8rand
 github.com/tidwall/match
-github.com/ergochat/ergo/vendor/github.com/GehirnInc/crypt/internal
-internal/runtime/exithook
 crypto/internal/fips140deps/cpu
 internal/bytealg
 math
+internal/runtime/exithook
 internal/stringslite
 internal/race
 internal/sync
 internal/runtime/maps
 github.com/tidwall/rtree/base
 runtime
-internal/reflectlite
-sync
-iter
 crypto/subtle
+iter
 weak
+sync
+internal/reflectlite
 maps
 slices
 internal/bisect
-internal/testlog
 internal/singleflight
+internal/testlog
 unique
 github.com/tidwall/rtree
+runtime/cgo
 errors
 sort
-runtime/cgo
-io
 internal/oserror
+io
 path
+internal/godebug
 vendor/golang.org/x/net/dns/dnsmessage
-strconv
 math/rand/v2
-internal/godebug
-syscall
+strconv
+hash
 bytes
 strings
-crypto/internal/fips140deps/godebug
-crypto/internal/randutil
-hash
+syscall
+github.com/tidwall/pretty
+golang.org/x/text/internal/tag
 hash/adler32
 hash/crc32
-github.com/tidwall/pretty
+crypto/internal/randutil
+crypto/internal/fips140deps/godebug
 math/rand
-golang.org/x/text/internal/tag
 golang.org/x/text/transform
 vendor/golang.org/x/text/transform
 github.com/ergochat/ergo/vendor/github.com/ergochat/irc-go/ircreader
-crypto
-reflect
-encoding/base32
-golang.org/x/crypto/blowfish
-net/netip
-regexp/syntax
-code.cloudfoundry.org/bytefmt
-crypto/internal/fips140
-crypto/internal/impl
 net/http/internal/ascii
 github.com/ergochat/ergo/irc/sno
-github.com/ergochat/ergo/vendor/github.com/ergochat/irc-go/ircmsg
+crypto/internal/impl
+crypto/internal/fips140
 bufio
+github.com/ergochat/ergo/vendor/github.com/ergochat/irc-go/ircmsg
 html
-golang.org/x/text/width
+crypto
+regexp/syntax
+code.cloudfoundry.org/bytefmt
+encoding/base32
+net/netip
+golang.org/x/crypto/blowfish
+reflect
 golang.org/x/text/runes
-crypto/internal/fips140/sha3
-crypto/internal/fips140/sha512
+golang.org/x/text/width
 crypto/tls/internal/fips140tls
 crypto/internal/fips140/sha256
-crypto/internal/fips140/hmac
+crypto/internal/fips140/sha512
+crypto/internal/fips140/sha3
 crypto/sha3
-regexp
+crypto/internal/fips140/hmac
 crypto/internal/fips140/check
 crypto/internal/fips140hash
-crypto/internal/fips140/edwards25519/field
-crypto/internal/fips140/bigmod
-crypto/internal/fips140/aes
 crypto/internal/fips140/hkdf
 crypto/internal/fips140/tls12
+crypto/internal/fips140/bigmod
+crypto/internal/fips140/edwards25519/field
+crypto/internal/fips140/aes
 crypto/internal/fips140/nistec/fiat
 crypto/internal/fips140/tls13
-crypto/internal/fips140/edwards25519
-time
 internal/syscall/execenv
 internal/syscall/unix
+time
+crypto/internal/fips140/edwards25519
+regexp
 github.com/ergochat/ergo/vendor/github.com/ergochat/irc-go/ircfmt
 crypto/internal/fips140/nistec
-github.com/tidwall/gjson
-internal/poll
 github.com/ergochat/ergo/irc/custime
 context
 io/fs
+github.com/tidwall/gjson
+internal/poll
 internal/filepathlite
 embed
 os
-github.com/tidwall/grect
 internal/fmtsort
 encoding/binary
-vendor/golang.org/x/crypto/internal/poly1305
+github.com/tidwall/grect
 encoding/base64
+vendor/golang.org/x/crypto/internal/poly1305
 filippo.io/edwards25519/field
 golang.org/x/sys/unix
 encoding/pem
 github.com/ergochat/ergo/vendor/github.com/ergochat/irc-go/ircutils
+filippo.io/edwards25519
 crypto/internal/sysrand
 fmt
-vendor/golang.org/x/sys/cpu
-path/filepath
-golang.org/x/sys/cpu
+github.com/tidwall/buntdb
 io/ioutil
-github.com/gofrs/flock
-filippo.io/edwards25519
 os/signal
-github.com/tidwall/buntdb
+github.com/gofrs/flock
+path/filepath
+golang.org/x/sys/cpu
+vendor/golang.org/x/sys/cpu
 net
 crypto/internal/entropy
-github.com/ergochat/ergo/irc/flock
 crypto/internal/fips140/drbg
-crypto/internal/fips140only
+github.com/ergochat/ergo/irc/flock
+golang.org/x/crypto/sha3
+os/exec
 crypto/internal/fips140/aes/gcm
+crypto/internal/fips140only
 crypto/internal/fips140/ecdh
-crypto/internal/fips140/mlkem
+crypto/internal/fips140/ed25519
 crypto/internal/fips140/rsa
 crypto/internal/fips140/ecdsa
-crypto/internal/fips140/ed25519
-golang.org/x/crypto/sha3
+crypto/internal/fips140/mlkem
 crypto/md5
 crypto/rc4
-os/exec
 crypto/cipher
-crypto/internal/boring
-crypto/des
-vendor/golang.org/x/crypto/chacha20
-github.com/docopt/docopt-go
 encoding/hex
-math/big
-github.com/ergochat/ergo/irc/isupport
-mime
-encoding/json
-gopkg.in/yaml.v2
+github.com/docopt/docopt-go
 github.com/ergochat/ergo/irc/logger
 log
-database/sql/driver
-runtime/debug
-mime/quotedprintable
 net/url
-crypto/aes
-golang.org/x/text/unicode/norm
+encoding/json
+mime/quotedprintable
+github.com/ergochat/ergo/irc/isupport
+database/sql/driver
+mime
 compress/flate
-crypto/ecdh
+golang.org/x/text/unicode/norm
+math/big
+runtime/debug
+gopkg.in/yaml.v2
+net/http/internal
+text/tabwriter
+runtime/trace
+vendor/golang.org/x/net/http2/hpack
+golang.org/x/text/internal/language
+vendor/golang.org/x/text/unicode/norm
+vendor/golang.org/x/crypto/chacha20
+crypto/des
+crypto/internal/boring
 crypto/sha512
+crypto/ecdh
+crypto/aes
+crypto/sha256
 crypto/hmac
 crypto/sha1
 vendor/golang.org/x/crypto/chacha20poly1305
-crypto/sha256
-vendor/golang.org/x/net/http2/hpack
-vendor/golang.org/x/text/unicode/norm
+golang.org/x/text/unicode/bidi
+vendor/golang.org/x/text/unicode/bidi
+database/sql
 golang.org/x/crypto/pbkdf2
-net/http/internal
 golang.org/x/crypto/hkdf
-database/sql
 github.com/xdg-go/pbkdf2
-golang.org/x/text/internal/language
-vendor/golang.org/x/text/unicode/bidi
-text/tabwriter
-golang.org/x/text/unicode/bidi
-runtime/trace
 compress/zlib
 compress/gzip
-golang.org/x/text/secure/bidirule
-internal/profile
 runtime/pprof
+internal/profile
 vendor/golang.org/x/text/secure/bidirule
+golang.org/x/text/secure/bidirule
 golang.org/x/text/internal/language/compact
 vendor/golang.org/x/net/idna
-golang.org/x/text/language
 github.com/ergochat/ergo/vendor/github.com/ergochat/confusables
 github.com/xdg-go/stringprep
-crypto/elliptic
+golang.org/x/text/language
+golang.org/x/term
+crypto/rand
 crypto/internal/boring/bbig
-encoding/asn1
+crypto/elliptic
 crypto/dsa
-crypto/rand
+encoding/asn1
+github.com/ergochat/ergo/irc/languages
+golang.org/x/text/internal
 crypto/ed25519
 crypto/internal/hpke
+github.com/ergochat/ergo/vendor/github.com/GehirnInc/crypt/common
 crypto/rsa
 golang.org/x/crypto/bcrypt
-github.com/ergochat/ergo/vendor/github.com/GehirnInc/crypt/common
-golang.org/x/term
+golang.org/x/text/cases
 github.com/ergochat/ergo/vendor/github.com/GehirnInc/crypt
 github.com/ergochat/ergo/irc/passwd
-golang.org/x/text/internal
-github.com/ergochat/ergo/irc/languages
-golang.org/x/text/cases
 github.com/ergochat/ergo/vendor/github.com/GehirnInc/crypt/md5_crypt
 github.com/ergochat/ergo/irc/migrations
 vendor/golang.org/x/crypto/cryptobyte
 crypto/x509/pkix
 golang.org/x/text/secure/precis
-crypto/ecdsa
 github.com/xdg-go/scram
-crypto/x509
-net/textproto
-github.com/ergochat/ergo/vendor/github.com/ergochat/go-ident
+crypto/ecdsa
 vendor/golang.org/x/net/http/httpproxy
+github.com/ergochat/ergo/vendor/github.com/ergochat/go-ident
 github.com/ergochat/ergo/irc/flatip
 github.com/okzk/sdnotify
+net/textproto
+crypto/x509
 net/mail
 vendor/golang.org/x/net/http/httpguts
 mime/multipart
+github.com/ergochat/ergo/irc/mkcerts
 github.com/toorop/go-dkim
 github.com/golang-jwt/jwt/v5
 crypto/tls
-github.com/ergochat/ergo/irc/mkcerts
 github.com/ergochat/ergo/irc/jwt
 github.com/ergochat/ergo/irc/smtp
-github.com/go-sql-driver/mysql
 net/http/httptrace
 github.com/ergochat/ergo/irc/utils
+github.com/go-sql-driver/mysql
 net/http
-github.com/ergochat/ergo/irc/datastore
-github.com/ergochat/ergo/irc/caps
-github.com/ergochat/ergo/irc/cloaks
 github.com/ergochat/ergo/irc/email
-github.com/ergochat/ergo/irc/history
+github.com/ergochat/ergo/irc/cloaks
 github.com/ergochat/ergo/irc/connection_limits
 github.com/ergochat/ergo/irc/modes
+github.com/ergochat/ergo/irc/datastore
+github.com/ergochat/ergo/irc/caps
+github.com/ergochat/ergo/irc/history
 github.com/ergochat/ergo/irc/bunt
 github.com/ergochat/ergo/irc/mysql
 github.com/ergochat/ergo/irc/oauth2
+net/http/pprof
 github.com/ergochat/ergo/vendor/github.com/ergochat/webpush-go/v2
 github.com/gorilla/websocket
-net/http/pprof
 github.com/ergochat/ergo/irc/webpush
 github.com/ergochat/ergo/irc
 github.com/ergochat/ergo
@@ -827,14 +863,14 @@
 renamed '_build/bin/ergo' -> '_build/bin/ergochat'
 make[1]: Leaving directory '/build/reproducible-path/ergochat-2.15.0+ds1'
    dh_auto_test -O--builddirectory=_build -O--buildsystem=golang
-	cd _build && go test -vet=off -v -p 20 github.com/ergochat/ergo github.com/ergochat/ergo/irc github.com/ergochat/ergo/irc/bunt github.com/ergochat/ergo/irc/caps github.com/ergochat/ergo/irc/cloaks github.com/ergochat/ergo/irc/connection_limits github.com/ergochat/ergo/irc/custime github.com/ergochat/ergo/irc/datastore github.com/ergochat/ergo/irc/email github.com/ergochat/ergo/irc/flatip github.com/ergochat/ergo/irc/flock github.com/ergochat/ergo/irc/history github.com/ergochat/ergo/irc/isupport github.com/ergochat/ergo/irc/jwt github.com/ergochat/ergo/irc/languages github.com/ergochat/ergo/irc/logger github.com/ergochat/ergo/irc/migrations github.com/ergochat/ergo/irc/mkcerts github.com/ergochat/ergo/irc/modes github.com/ergochat/ergo/irc/mysql github.com/ergochat/ergo/irc/oauth2 github.com/ergochat/ergo/irc/passwd github.com/ergochat/ergo/irc/smtp github.com/ergochat/ergo/irc/sno github.com/ergochat/ergo/irc/utils github.com/ergochat/ergo/irc/webpush
+	cd _build && go test -vet=off -v -p 42 github.com/ergochat/ergo github.com/ergochat/ergo/irc github.com/ergochat/ergo/irc/bunt github.com/ergochat/ergo/irc/caps github.com/ergochat/ergo/irc/cloaks github.com/ergochat/ergo/irc/connection_limits github.com/ergochat/ergo/irc/custime github.com/ergochat/ergo/irc/datastore github.com/ergochat/ergo/irc/email github.com/ergochat/ergo/irc/flatip github.com/ergochat/ergo/irc/flock github.com/ergochat/ergo/irc/history github.com/ergochat/ergo/irc/isupport github.com/ergochat/ergo/irc/jwt github.com/ergochat/ergo/irc/languages github.com/ergochat/ergo/irc/logger github.com/ergochat/ergo/irc/migrations github.com/ergochat/ergo/irc/mkcerts github.com/ergochat/ergo/irc/modes github.com/ergochat/ergo/irc/mysql github.com/ergochat/ergo/irc/oauth2 github.com/ergochat/ergo/irc/passwd github.com/ergochat/ergo/irc/smtp github.com/ergochat/ergo/irc/sno github.com/ergochat/ergo/irc/utils github.com/ergochat/ergo/irc/webpush
 ?   	github.com/ergochat/ergo	[no test files]
 === RUN   TestAccept
 --- PASS: TestAccept (0.00s)
 === RUN   TestAcceptInternal
 --- PASS: TestAcceptInternal (0.00s)
 === RUN   TestGenerateBatchID
---- PASS: TestGenerateBatchID (0.15s)
+--- PASS: TestGenerateBatchID (0.02s)
 === RUN   TestUserMasks
 --- PASS: TestUserMasks (0.00s)
 === RUN   TestWhoFields
@@ -964,7 +1000,7 @@
 === RUN   TestEmptyWhoWas
 --- PASS: TestEmptyWhoWas (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc	0.184s
+ok  	github.com/ergochat/ergo/irc	0.037s
 ?   	github.com/ergochat/ergo/irc/bunt	[no test files]
 === RUN   TestSets
 --- PASS: TestSets (0.00s)
@@ -973,7 +1009,7 @@
 === RUN   TestSubtract
 --- PASS: TestSubtract (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc/caps	0.088s
+ok  	github.com/ergochat/ergo/irc/caps	0.006s
 === RUN   TestCloakDeterminism
 --- PASS: TestCloakDeterminism (0.00s)
 === RUN   TestCloakShortv4Cidr
@@ -987,7 +1023,7 @@
 === RUN   TestAccountCloakCollisions
 --- PASS: TestAccountCloakCollisions (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc/cloaks	0.046s
+ok  	github.com/ergochat/ergo/irc/cloaks	0.006s
 === RUN   TestKeying
 --- PASS: TestKeying (0.00s)
 === RUN   TestLimits
@@ -1003,7 +1039,7 @@
 === RUN   TestConnectionThrottleIPv4
 --- PASS: TestConnectionThrottleIPv4 (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc/connection_limits	0.091s
+ok  	github.com/ergochat/ergo/irc/connection_limits	0.007s
 ?   	github.com/ergochat/ergo/irc/custime	[no test files]
 ?   	github.com/ergochat/ergo/irc/datastore	[no test files]
 ?   	github.com/ergochat/ergo/irc/email	[no test files]
@@ -1018,9 +1054,9 @@
 === RUN   TestMasking
 --- PASS: TestMasking (0.00s)
 === RUN   TestMaskingFuzz
---- PASS: TestMaskingFuzz (1.24s)
+--- PASS: TestMaskingFuzz (0.23s)
 PASS
-ok  	github.com/ergochat/ergo/irc/flatip	1.276s
+ok  	github.com/ergochat/ergo/irc/flatip	0.233s
 ?   	github.com/ergochat/ergo/irc/flock	[no test files]
 === RUN   TestEmptyBuffer
 --- PASS: TestEmptyBuffer (0.00s)
@@ -1033,25 +1069,25 @@
 === RUN   TestDisabledByResize
 --- PASS: TestDisabledByResize (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc/history	0.059s
+ok  	github.com/ergochat/ergo/irc/history	0.007s
 === RUN   TestISUPPORT
 --- PASS: TestISUPPORT (0.00s)
 === RUN   TestBadToken
 --- PASS: TestBadToken (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc/isupport	0.047s
+ok  	github.com/ergochat/ergo/irc/isupport	0.005s
 === RUN   TestJWTBearerAuth
---- PASS: TestJWTBearerAuth (0.05s)
+--- PASS: TestJWTBearerAuth (0.01s)
 PASS
-ok  	github.com/ergochat/ergo/irc/jwt	0.110s
+ok  	github.com/ergochat/ergo/irc/jwt	0.018s
 ?   	github.com/ergochat/ergo/irc/languages	[no test files]
 ?   	github.com/ergochat/ergo/irc/logger	[no test files]
 === RUN   TestAthemePassphrases
---- PASS: TestAthemePassphrases (3.07s)
+--- PASS: TestAthemePassphrases (0.41s)
 === RUN   TestAthemeRawSha1
 --- PASS: TestAthemeRawSha1 (0.00s)
 === RUN   TestOragonoLegacyPassphrase
---- PASS: TestOragonoLegacyPassphrase (12.24s)
+--- PASS: TestOragonoLegacyPassphrase (4.75s)
 === RUN   TestAnopePassphraseRawSha1
 --- PASS: TestAnopePassphraseRawSha1 (0.00s)
 === RUN   TestAnopePassphraseRawMd5
@@ -1059,11 +1095,11 @@
 === RUN   TestAnopePassphrasePlain
 --- PASS: TestAnopePassphrasePlain (0.00s)
 === RUN   TestAnopePassphraseBcrypt
---- PASS: TestAnopePassphraseBcrypt (0.80s)
+--- PASS: TestAnopePassphraseBcrypt (0.15s)
 === RUN   TestAnopePassphraseEncSha256
 --- PASS: TestAnopePassphraseEncSha256 (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc/migrations	16.179s
+ok  	github.com/ergochat/ergo/irc/migrations	5.307s
 ?   	github.com/ergochat/ergo/irc/mkcerts	[no test files]
 === RUN   TestParseUserModeChanges
 --- PASS: TestParseUserModeChanges (0.00s)
@@ -1084,22 +1120,22 @@
 === RUN   TestModeChangesString
 --- PASS: TestModeChangesString (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc/modes	0.042s
+ok  	github.com/ergochat/ergo/irc/modes	0.006s
 ?   	github.com/ergochat/ergo/irc/mysql	[no test files]
 ?   	github.com/ergochat/ergo/irc/oauth2	[no test files]
 === RUN   TestBasic
---- PASS: TestBasic (1.95s)
+--- PASS: TestBasic (0.90s)
 === RUN   TestVector
---- PASS: TestVector (1.05s)
+--- PASS: TestVector (0.30s)
 === RUN   TestLongPassphrases
---- PASS: TestLongPassphrases (2.96s)
+--- PASS: TestLongPassphrases (0.89s)
 PASS
-ok  	github.com/ergochat/ergo/irc/passwd	6.003s
+ok  	github.com/ergochat/ergo/irc/passwd	2.090s
 ?   	github.com/ergochat/ergo/irc/smtp	[no test files]
 === RUN   TestEvaluateSnomaskChanges
 --- PASS: TestEvaluateSnomaskChanges (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc/sno	0.028s
+ok  	github.com/ergochat/ergo/irc/sno	0.004s
 === RUN   TestStringToBool
 --- PASS: TestStringToBool (0.00s)
 === RUN   TestSafeErrorParam
@@ -1147,7 +1183,7 @@
 === RUN   TestCombinedValue
 --- PASS: TestCombinedValue (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc/utils	0.275s
+ok  	github.com/ergochat/ergo/irc/utils	0.208s
 === RUN   TestExternalOnlyHTTPClient
 --- PASS: TestExternalOnlyHTTPClient (0.00s)
 === RUN   TestBuildPushLine
@@ -1155,7 +1191,7 @@
 === RUN   TestBuildPushMessage
 --- PASS: TestBuildPushMessage (0.00s)
 PASS
-ok  	github.com/ergochat/ergo/irc/webpush	0.059s
+ok  	github.com/ergochat/ergo/irc/webpush	0.008s
    create-stamp debian/debhelper-build-stamp
    dh_testroot -O--builddirectory=_build -O--buildsystem=golang
    dh_prep -O--builddirectory=_build -O--buildsystem=golang
@@ -1187,8 +1223,8 @@
    dh_gencontrol -O--builddirectory=_build -O--buildsystem=golang
    dh_md5sums -O--builddirectory=_build -O--buildsystem=golang
    dh_builddeb -O--builddirectory=_build -O--buildsystem=golang
-dpkg-deb: building package 'ergochat' in '../ergochat_2.15.0+ds1-4_amd64.deb'.
 dpkg-deb: building package 'ergochat-dbgsym' in '../ergochat-dbgsym_2.15.0+ds1-4_amd64.deb'.
+dpkg-deb: building package 'ergochat' in '../ergochat_2.15.0+ds1-4_amd64.deb'.
  dpkg-genbuildinfo --build=binary -O../ergochat_2.15.0+ds1-4_amd64.buildinfo
  dpkg-genchanges --build=binary -O../ergochat_2.15.0+ds1-4_amd64.changes
 dpkg-genchanges: info: binary-only upload (no source code included)
@@ -1196,12 +1232,14 @@
 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/2988583/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/2988583/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/1171086 and its subdirectories
-I: Current time: Tue Mar 11 21:43:31 -12 2025
-I: pbuilder-time-stamp: 1741772611
+I: removing directory /srv/workspace/pbuilder/2988583 and its subdirectories
+I: Current time: Wed Apr 15 06:07:50 +14 2026
+I: pbuilder-time-stamp: 1776182870