Diff of the two buildlogs:

--
--- b1/build.log	2025-03-05 18:28:34.691151838 +0000
+++ b2/build.log	2025-03-05 18:29:28.708711929 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Wed Mar  5 06:27:50 -12 2025
-I: pbuilder-time-stamp: 1741199270
+I: Current time: Wed Apr  8 14:51:37 +14 2026
+I: pbuilder-time-stamp: 1775609497
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz]
 I: copying local configuration
@@ -29,52 +29,84 @@
 dpkg-source: info: applying gcc-15.patch
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/1089113/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/3123384/tmp/hooks/D01_modify_environment starting
+debug: Running on codethink03-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 Apr  8 00:51 /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/3123384/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/3123384/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='arm64'
-  DEBIAN_FRONTEND='noninteractive'
+  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]="aarch64-unknown-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=arm64
+  DEBIAN_FRONTEND=noninteractive
   DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 '
-  DISTRIBUTION='trixie'
-  HOME='/root'
-  HOST_ARCH='arm64'
+  DIRSTACK=()
+  DISTRIBUTION=trixie
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=aarch64
+  HOST_ARCH=arm64
   IFS=' 	
   '
-  INVOCATION_ID='8007b5d3d99c4efc823fef5483cb5f58'
-  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='1089113'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=b21c2b35cb104bd58bebbf3542a69fd1
+  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=3123384
   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.4mbcqJ8T/pbuilderrc_unS0 --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.4mbcqJ8T/b1 --logfile b1/build.log lucy_1.20-6.dsc'
-  SUDO_GID='109'
-  SUDO_UID='104'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://192.168.101.4: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.4mbcqJ8T/pbuilderrc_ZfyG --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.4mbcqJ8T/b2 --logfile b2/build.log lucy_1.20-6.dsc'
+  SUDO_GID=109
+  SUDO_UID=104
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://192.168.101.4:3128
 I: uname -a
-  Linux codethink04-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/1089113/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Nov 22  2024 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/3123384/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -140,7 +172,7 @@
 Get: 28 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
 Get: 29 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB]
 Get: 30 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.24.1 [920 kB]
-Fetched 20.1 MB in 0s (125 MB/s)
+Fetched 20.1 MB in 0s (91.1 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 ... 19914 files and directories currently installed.)
@@ -275,7 +307,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/lucy-1.20/ && 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  > ../lucy_1.20-6_source.changes
+I: user script /srv/workspace/pbuilder/3123384/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for trixie
+I: user script /srv/workspace/pbuilder/3123384/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/lucy-1.20/ && 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  > ../lucy_1.20-6_source.changes
 dpkg-buildpackage: info: source package lucy
 dpkg-buildpackage: info: source version 1.20-6
 dpkg-buildpackage: info: source distribution unstable
@@ -314,6 +350,8 @@
 cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/lucy-1.20=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2  -c -o qual_trim.o qual_trim.c
 cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/lucy-1.20=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2  -c -o abi.o abi.c
 cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/lucy-1.20=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2  -c -o vector.o vector.c
+cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/lucy-1.20=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2  -c -o splice.o splice.c
+cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/lucy-1.20=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2  -c -o poly.o poly.c
 qual_trim.c:10:1: warning: "/*" within comment [-Wcomment]
    10 | /* qual_trim.c - Quality trimming algorithm which determines a "clean"
 qual_trim.c:11:1: warning: "/*" within comment [-Wcomment]
@@ -392,8 +430,7 @@
    47 | /*
 qual_trim.c:48:1: warning: "/*" within comment [-Wcomment]
    48 | /**************************************************************************/
-cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/lucy-1.20=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2  -c -o splice.o splice.c
-cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/lucy-1.20=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2  -c -o poly.o poly.c
+lucy.c: In function 'hashstring':
 abi.c: In function 'abi_align':
 abi.c:196:18: warning: array subscript has type 'char' [-Wchar-subscripts]
   196 |     if (badness[a[i]][b[j]]) {
@@ -422,6 +459,9 @@
 abi.c:246:46: warning: array subscript has type 'char' [-Wchar-subscripts]
   246 |              l<width && r<height && badness[a[l]][b[r]]==0
       |                                             ~^~~
+lucy.c:112:9: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
+  112 |     if (g = value&0xF0000000) {
+      |         ^
 abi.c:246:52: warning: array subscript has type 'char' [-Wchar-subscripts]
   246 |              l<width && r<height && badness[a[l]][b[r]]==0
       |                                                   ~^~~
@@ -431,9 +471,14 @@
 abi.c:253:36: warning: array subscript has type 'char' [-Wchar-subscripts]
   253 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
       |                                   ~^~~
+lucy.c: In function 'worker':
+lucy.c:173:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
+  173 |   int id=(int)arg;
+      |          ^
 abi.c:267:46: warning: array subscript has type 'char' [-Wchar-subscripts]
   267 |              l<width && r<height && badness[a[l]][b[r]]==0
       |                                             ~^~~
+done!
 abi.c:267:52: warning: array subscript has type 'char' [-Wchar-subscripts]
   267 |              l<width && r<height && badness[a[l]][b[r]]==0
       |                                                   ~^~~
@@ -485,17 +530,11 @@
 abi.c:342:36: warning: array subscript has type 'char' [-Wchar-subscripts]
   342 |         if ((count+=badness[a[l]][b[r]])<VERYBAD) {
       |                                   ~^~~
-done!
-lucy.c: In function 'hashstring':
-lucy.c:112:9: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
-  112 |     if (g = value&0xF0000000) {
-      |         ^
-lucy.c: In function 'worker':
-lucy.c:173:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
-  173 |   int id=(int)arg;
-      |          ^
-vector.c: In function 'construct_vector_tags':
 splice.c: In function 'splice_align_left':
+lucy.c: In function 'main':
+lucy.c:532:51: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
+  532 |     if (pthread_create(&threads[i], NULL, worker, (void*)i))
+      |                                                   ^
 splice.c:69:32: warning: array subscript has type 'char' [-Wchar-subscripts]
    69 |     Score(0,0)=max_score=match[*a][*b];
       |                                ^~
@@ -514,64 +553,37 @@
 splice.c:77:38: note: in expansion of macro 'Direc'
    77 |       left=Score(i-1,0)+left_penalty[Direc(i-1,0)];
       |                                      ^~~~~
-qual_trim.c:215:1: warning: "/*" within comment [-Wcomment]
-  215 | /* Determines some number of candidate clean ranges using a particular
 splice.c:91:19: warning: array subscript has type 'char' [-Wchar-subscripts]
    91 |       score=match[*a][b[j]];
       |                   ^~
-qual_trim.c:216:1: warning: "/*" within comment [-Wcomment]
-  216 | /* window size.
 splice.c:91:24: warning: array subscript has type 'char' [-Wchar-subscripts]
    91 |       score=match[*a][b[j]];
       |                       ~^~~
-qual_trim.c:217:1: warning: "/*" within comment [-Wcomment]
-  217 | /*
-qual_trim.c:218:1: warning: "/*" within comment [-Wcomment]
-  218 | /* Globals used:
-qual_trim.c:219:1: warning: "/*" within comment [-Wcomment]
-  219 | /*      double end_limit,       (maximum allowed probability of error for bases)
 splice.c:17:38: warning: array subscript has type 'char' [-Wchar-subscripts]
    17 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
 splice.c:92:36: note: in expansion of macro 'Direc'
    92 |       top=Score(0,j-1)+top_penalty[Direc(0,j-1)];
       |                                    ^~~~~
-qual_trim.c:220:1: warning: "/*" within comment [-Wcomment]
-  220 | /*                              (  at each end of clean range)
-qual_trim.c:221:1: warning: "/*" within comment [-Wcomment]
-  221 | /*
-lucy.c: In function 'main':
 splice.c:108:25: warning: array subscript has type 'char' [-Wchar-subscripts]
   108 |           score+=match[a[i]][b[j]];
       |                        ~^~~
+lucy.c:793:15: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
+  793 |            (i=(int)fgets(buf, BUFFER_LENGTH, spl_file)) && buf[0]!='>'; ) {
+      |               ^
+vector.c: In function 'construct_vector_tags':
+vector.c:86:34: warning: array subscript has type 'char' [-Wchar-subscripts]
+   86 |       accr|=tag_code(rev_code[seq[len-k%len-1]]);
+      |                               ~~~^~~~~~~~~~~~~
 splice.c:108:31: warning: array subscript has type 'char' [-Wchar-subscripts]
   108 |           score+=match[a[i]][b[j]];
       |                              ~^~~
 splice.c:111:24: warning: array subscript has type 'char' [-Wchar-subscripts]
   111 |           score=match[a[i]][b[j]];
       |                       ~^~~
-qual_trim.c:333:1: warning: "/*" within comment [-Wcomment]
-  333 | /* Finds the largest subsequence of a sequence whose average probability
-qual_trim.c:334:1: warning: "/*" within comment [-Wcomment]
-  334 | /* of error does not exceed a specified maximum.
-qual_trim.c:335:1: warning: "/*" within comment [-Wcomment]
-  335 | /*
-vector.c:86:34: warning: array subscript has type 'char' [-Wchar-subscripts]
-   86 |       accr|=tag_code(rev_code[seq[len-k%len-1]]);
-      |                               ~~~^~~~~~~~~~~~~
-qual_trim.c:336:1: warning: "/*" within comment [-Wcomment]
-  336 | /* Globals used:
-qual_trim.c:337:1: warning: "/*" within comment [-Wcomment]
-  337 | /*      double max_avg_error,   (maximum allowed average probability of error)
-qual_trim.c:338:1: warning: "/*" within comment [-Wcomment]
-  338 | /*      double end_limit,       (maximum allowed probability of error for bases)
-qual_trim.c:339:1: warning: "/*" within comment [-Wcomment]
-  339 | /*                              (  at each end of clean range)
 splice.c:111:30: warning: array subscript has type 'char' [-Wchar-subscripts]
   111 |           score=match[a[i]][b[j]];
       |                             ~^~~
-qual_trim.c:340:1: warning: "/*" within comment [-Wcomment]
-  340 | /*
 splice.c:17:38: warning: array subscript has type 'char' [-Wchar-subscripts]
    17 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
@@ -584,8 +596,6 @@
 splice.c:115:40: note: in expansion of macro 'Direc'
   115 |         left=Score(i-1,j)+left_penalty[Direc(i-1,j)];
       |                                        ^~~~~
-qual_trim.c:435:1: warning: "/*" within comment [-Wcomment]
-  435 | /* Determines a single clean range, after recursively considering all of
 splice.c:140:12: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   140 |     while (direc=Direc(i,j))
       |            ^~~~~
@@ -593,30 +603,9 @@
 splice.c:190:30: warning: array subscript has type 'char' [-Wchar-subscripts]
   190 |   Score(0,0)=max_score=match[*a][*b];
       |                              ^~
-qual_trim.c:436:1: warning: "/*" within comment [-Wcomment]
-  436 | /* the specified window sizes.  Calls average_error_trim to trim the
-qual_trim.c:437:1: warning: "/*" within comment [-Wcomment]
-  437 | /* results of the final window based on overall average probability of
-qual_trim.c:438:1: warning: "/*" within comment [-Wcomment]
-  438 | /* error.
-lucy.c:532:51: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
-  532 |     if (pthread_create(&threads[i], NULL, worker, (void*)i))
-      |                                                   ^
-qual_trim.c:439:1: warning: "/*" within comment [-Wcomment]
-  439 | /*
-qual_trim.c:440:1: warning: "/*" within comment [-Wcomment]
-  440 | /* Globals used:
-qual_trim.c:441:1: warning: "/*" within comment [-Wcomment]
-  441 | /*      double max_avg_error,   (maximum allowed average probability of error)
 splice.c:190:34: warning: array subscript has type 'char' [-Wchar-subscripts]
   190 |   Score(0,0)=max_score=match[*a][*b];
       |                                  ^~
-qual_trim.c:442:1: warning: "/*" within comment [-Wcomment]
-  442 | /*      double end_limit,       (maximum allowed probability of error for bases)
-qual_trim.c:443:1: warning: "/*" within comment [-Wcomment]
-  443 | /*                              (  at each end of clean range)
-qual_trim.c:444:1: warning: "/*" within comment [-Wcomment]
-  444 | /*
 splice.c:197:18: warning: array subscript has type 'char' [-Wchar-subscripts]
   197 |     score=match[a[i]][*b];
       |                 ~^~~
@@ -632,59 +621,131 @@
 splice.c:212:17: warning: array subscript has type 'char' [-Wchar-subscripts]
   212 |     score=match[*a][b[j]];
       |                 ^~
-qual_trim.c:570:1: warning: "/*" within comment [-Wcomment]
-  570 | /* Sets the window size and average probability of error allowed for the
 splice.c:212:22: warning: array subscript has type 'char' [-Wchar-subscripts]
   212 |     score=match[*a][b[j]];
       |                     ~^~~
-qual_trim.c:571:1: warning: "/*" within comment [-Wcomment]
-  571 | /* terminal windows that "bracket" the candidate clean range.
-qual_trim.c:572:1: warning: "/*" within comment [-Wcomment]
-  572 | /*
-qual_trim.c:573:1: warning: "/*" within comment [-Wcomment]
-  573 | /* Globals used:
 splice.c:17:38: warning: array subscript has type 'char' [-Wchar-subscripts]
    17 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
 splice.c:213:34: note: in expansion of macro 'Direc'
   213 |     top=Score(0,j-1)+top_penalty[Direc(0,j-1)];
       |                                  ^~~~~
-qual_trim.c:574:1: warning: "/*" within comment [-Wcomment]
-  574 | /*      int bracket_window,     (size of terminal window)
-qual_trim.c:575:1: warning: "/*" within comment [-Wcomment]
-  575 | /*      double bracket_error    (allowable average prob. error in window)
-qual_trim.c:576:1: warning: "/*" within comment [-Wcomment]
-  576 | /*
-qual_trim.c:588:1: warning: "/*" within comment [-Wcomment]
-  588 | /* Finds the leftmost window, and the rightmost window, which meet the
 splice.c:229:23: warning: array subscript has type 'char' [-Wchar-subscripts]
   229 |         score+=match[a[i]][b[j]];
       |                      ~^~~
-qual_trim.c:589:1: warning: "/*" within comment [-Wcomment]
-  589 | /* specified error criterion.  The purpose of this function is to bracket
 splice.c:229:29: warning: array subscript has type 'char' [-Wchar-subscripts]
   229 |         score+=match[a[i]][b[j]];
       |                            ~^~~
-qual_trim.c:590:1: warning: "/*" within comment [-Wcomment]
-  590 | /* the portion of the sequence that is of decent quality -- i.e. to
 splice.c:232:22: warning: array subscript has type 'char' [-Wchar-subscripts]
   232 |         score=match[a[i]][b[j]];
       |                     ~^~~
-qual_trim.c:591:1: warning: "/*" within comment [-Wcomment]
-  591 | /* eliminate the really bad quality stuff that is often found on either
-qual_trim.c:592:1: warning: "/*" within comment [-Wcomment]
-  592 | /* end.  The beginning of the first matching window, and the end of the
 splice.c:232:28: warning: array subscript has type 'char' [-Wchar-subscripts]
   232 |         score=match[a[i]][b[j]];
       |                           ~^~~
-qual_trim.c:593:1: warning: "/*" within comment [-Wcomment]
-  593 | /* last, bracket the sequence range that will be looked at to find the
 splice.c:17:38: warning: array subscript has type 'char' [-Wchar-subscripts]
    17 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
       |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
 splice.c:235:36: note: in expansion of macro 'Direc'
   235 |       top=Score(i,j-1)+top_penalty[Direc(i,j-1)];
       |                                    ^~~~~
+splice.c:17:38: warning: array subscript has type 'char' [-Wchar-subscripts]
+   17 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
+      |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
+splice.c:236:38: note: in expansion of macro 'Direc'
+  236 |       left=Score(i-1,j)+left_penalty[Direc(i-1,j)];
+      |                                      ^~~~~
+splice.c:261:10: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
+  261 |   while (direc=Direc(i,j))
+      |          ^~~~~
+splice.c:277:15: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
+  277 |   if (j>=span && j>=width-max_i || j>height/2)
+      |       ~~~~~~~~^~~~~~~~~~~~~~~~~
+lucy.c:632:7: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result]
+  632 |       fgets(buf, BUFFER_LENGTH, qul_file);
+      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+vector.c: In function 'tag_code':
+vector.c:45:10: warning: 'tmp' may be used uninitialized [-Wmaybe-uninitialized]
+   45 |   return tmp;
+      |          ^~~
+vector.c:23:16: note: 'tmp' was declared here
+   23 |   register int tmp;
+      |                ^~~
+qual_trim.c:215:1: warning: "/*" within comment [-Wcomment]
+  215 | /* Determines some number of candidate clean ranges using a particular
+qual_trim.c:216:1: warning: "/*" within comment [-Wcomment]
+  216 | /* window size.
+qual_trim.c:217:1: warning: "/*" within comment [-Wcomment]
+  217 | /*
+qual_trim.c:218:1: warning: "/*" within comment [-Wcomment]
+  218 | /* Globals used:
+qual_trim.c:219:1: warning: "/*" within comment [-Wcomment]
+  219 | /*      double end_limit,       (maximum allowed probability of error for bases)
+qual_trim.c:220:1: warning: "/*" within comment [-Wcomment]
+  220 | /*                              (  at each end of clean range)
+qual_trim.c:221:1: warning: "/*" within comment [-Wcomment]
+  221 | /*
+qual_trim.c:333:1: warning: "/*" within comment [-Wcomment]
+  333 | /* Finds the largest subsequence of a sequence whose average probability
+qual_trim.c:334:1: warning: "/*" within comment [-Wcomment]
+  334 | /* of error does not exceed a specified maximum.
+qual_trim.c:335:1: warning: "/*" within comment [-Wcomment]
+  335 | /*
+qual_trim.c:336:1: warning: "/*" within comment [-Wcomment]
+  336 | /* Globals used:
+qual_trim.c:337:1: warning: "/*" within comment [-Wcomment]
+  337 | /*      double max_avg_error,   (maximum allowed average probability of error)
+qual_trim.c:338:1: warning: "/*" within comment [-Wcomment]
+  338 | /*      double end_limit,       (maximum allowed probability of error for bases)
+qual_trim.c:339:1: warning: "/*" within comment [-Wcomment]
+  339 | /*                              (  at each end of clean range)
+qual_trim.c:340:1: warning: "/*" within comment [-Wcomment]
+  340 | /*
+qual_trim.c:435:1: warning: "/*" within comment [-Wcomment]
+  435 | /* Determines a single clean range, after recursively considering all of
+qual_trim.c:436:1: warning: "/*" within comment [-Wcomment]
+  436 | /* the specified window sizes.  Calls average_error_trim to trim the
+qual_trim.c:437:1: warning: "/*" within comment [-Wcomment]
+  437 | /* results of the final window based on overall average probability of
+qual_trim.c:438:1: warning: "/*" within comment [-Wcomment]
+  438 | /* error.
+qual_trim.c:439:1: warning: "/*" within comment [-Wcomment]
+  439 | /*
+qual_trim.c:440:1: warning: "/*" within comment [-Wcomment]
+  440 | /* Globals used:
+qual_trim.c:441:1: warning: "/*" within comment [-Wcomment]
+  441 | /*      double max_avg_error,   (maximum allowed average probability of error)
+qual_trim.c:442:1: warning: "/*" within comment [-Wcomment]
+  442 | /*      double end_limit,       (maximum allowed probability of error for bases)
+qual_trim.c:443:1: warning: "/*" within comment [-Wcomment]
+  443 | /*                              (  at each end of clean range)
+qual_trim.c:444:1: warning: "/*" within comment [-Wcomment]
+  444 | /*
+qual_trim.c:570:1: warning: "/*" within comment [-Wcomment]
+  570 | /* Sets the window size and average probability of error allowed for the
+qual_trim.c:571:1: warning: "/*" within comment [-Wcomment]
+  571 | /* terminal windows that "bracket" the candidate clean range.
+qual_trim.c:572:1: warning: "/*" within comment [-Wcomment]
+  572 | /*
+qual_trim.c:573:1: warning: "/*" within comment [-Wcomment]
+  573 | /* Globals used:
+qual_trim.c:574:1: warning: "/*" within comment [-Wcomment]
+  574 | /*      int bracket_window,     (size of terminal window)
+qual_trim.c:575:1: warning: "/*" within comment [-Wcomment]
+  575 | /*      double bracket_error    (allowable average prob. error in window)
+qual_trim.c:576:1: warning: "/*" within comment [-Wcomment]
+  576 | /*
+qual_trim.c:588:1: warning: "/*" within comment [-Wcomment]
+  588 | /* Finds the leftmost window, and the rightmost window, which meet the
+qual_trim.c:589:1: warning: "/*" within comment [-Wcomment]
+  589 | /* specified error criterion.  The purpose of this function is to bracket
+qual_trim.c:590:1: warning: "/*" within comment [-Wcomment]
+  590 | /* the portion of the sequence that is of decent quality -- i.e. to
+qual_trim.c:591:1: warning: "/*" within comment [-Wcomment]
+  591 | /* eliminate the really bad quality stuff that is often found on either
+qual_trim.c:592:1: warning: "/*" within comment [-Wcomment]
+  592 | /* end.  The beginning of the first matching window, and the end of the
+qual_trim.c:593:1: warning: "/*" within comment [-Wcomment]
+  593 | /* last, bracket the sequence range that will be looked at to find the
 qual_trim.c:594:1: warning: "/*" within comment [-Wcomment]
   594 | /* final clean range.
 qual_trim.c:595:1: warning: "/*" within comment [-Wcomment]
@@ -693,26 +754,15 @@
   596 | /* This function is called before the multi_window_trim function, and
 qual_trim.c:597:1: warning: "/*" within comment [-Wcomment]
   597 | /* its results are used to limit the range of sequence that will be
-splice.c:17:38: warning: array subscript has type 'char' [-Wchar-subscripts]
-   17 | #define Direc(x, y) splice_direc_base[(y)*width+(x)]
-      |                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
-splice.c:236:38: note: in expansion of macro 'Direc'
-  236 |       left=Score(i-1,j)+left_penalty[Direc(i-1,j)];
-      |                                      ^~~~~
 qual_trim.c:598:1: warning: "/*" within comment [-Wcomment]
   598 | /* considered by that function.
 qual_trim.c:599:1: warning: "/*" within comment [-Wcomment]
   599 | /*
-splice.c:261:10: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
-  261 |   while (direc=Direc(i,j))
-      |          ^~~~~
+abi.c: In function 'abi_code':
 qual_trim.c:679:1: warning: "/*" within comment [-Wcomment]
   679 | /* Determines the clean range.  Calls multi_window_trim, which calls both
 qual_trim.c:680:1: warning: "/*" within comment [-Wcomment]
   680 | /* window_trim and average_error_trim.
-splice.c:277:15: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
-  277 |   if (j>=span && j>=width-max_i || j>height/2)
-      |       ~~~~~~~~^~~~~~~~~~~~~~~~~
 qual_trim.c:681:1: warning: "/*" within comment [-Wcomment]
   681 | /*
 qual_trim.c:682:1: warning: "/*" within comment [-Wcomment]
@@ -721,17 +771,20 @@
   683 | /*      int num_windows,        (number of windows)
 qual_trim.c:684:1: warning: "/*" within comment [-Wcomment]
   684 | /*      int *windows,           (array of window sizes (largest to smallest))
+abi.c:85:10: warning: 'tmp' may be used uninitialized [-Wmaybe-uninitialized]
+   85 |   return tmp;
+      |          ^~~
 qual_trim.c:685:1: warning: "/*" within comment [-Wcomment]
   685 | /*      double *err_limits,     (array of maximum allowed average probability)
+abi.c:63:16: note: 'tmp' was declared here
+   63 |   register int tmp;
+      |                ^~~
 qual_trim.c:686:1: warning: "/*" within comment [-Wcomment]
   686 | /*                              (  for each window size)
 qual_trim.c:687:1: warning: "/*" within comment [-Wcomment]
   687 | /*      double max_avg_error,   (maximum allowed average probability of error)
 qual_trim.c:688:1: warning: "/*" within comment [-Wcomment]
   688 | /*      double end_limit,       (maximum allowed probability of error for bases)
-lucy.c:793:15: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
-  793 |            (i=(int)fgets(buf, BUFFER_LENGTH, spl_file)) && buf[0]!='>'; ) {
-      |               ^
 qual_trim.c:689:1: warning: "/*" within comment [-Wcomment]
   689 | /*                              (  at each end of clean range)
 qual_trim.c:690:1: warning: "/*" within comment [-Wcomment]
@@ -792,28 +845,11 @@
   837 | /*                              (  at each end of clean range)
 qual_trim.c:838:1: warning: "/*" within comment [-Wcomment]
   838 | /*
-lucy.c:632:7: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result]
-  632 |       fgets(buf, BUFFER_LENGTH, qul_file);
-      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-vector.c: In function 'tag_code':
-vector.c:45:10: warning: 'tmp' may be used uninitialized [-Wmaybe-uninitialized]
-   45 |   return tmp;
-      |          ^~~
-vector.c:23:16: note: 'tmp' was declared here
-   23 |   register int tmp;
-      |                ^~~
-abi.c: In function 'abi_code':
-abi.c:85:10: warning: 'tmp' may be used uninitialized [-Wmaybe-uninitialized]
-   85 |   return tmp;
-      |          ^~~
-abi.c:63:16: note: 'tmp' was declared here
-   63 |   register int tmp;
-      |                ^~~
 rm -f lucy
 cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/lucy-1.20=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -pedantic -o lucy lucy.o qual_trim.o abi.o vector.o splice.o poly.o -lpthread -Wl,-z,relro -Wl,-z,now -Wl,--as-needed
 make[1]: Leaving directory '/build/reproducible-path/lucy-1.20'
    dh_auto_test
-	rm -fr -- /tmp/dh-xdg-rundir-jbPKKcKz
+	rm -fr -- /tmp/dh-xdg-rundir-r5__Gnix
    create-stamp debian/debhelper-build-stamp
    dh_prep
 	rm -f -- debian/lucy.substvars
@@ -912,10 +948,10 @@
 	cd debian/.debhelper/lucy/dbgsym-root >/dev/null && xargs -r0 md5sum | perl -pe 'if (s@^\\@@) { s/\\\\/\\/g; }' > DEBIAN/md5sums
 	chmod 0644 -- debian/.debhelper/lucy/dbgsym-root/DEBIAN/md5sums
    dh_builddeb
-	dpkg-deb --root-owner-group --build debian/.debhelper/lucy/dbgsym-root ..
 	dpkg-deb --root-owner-group --build debian/lucy ..
-dpkg-deb: building package 'lucy-dbgsym' in '../lucy-dbgsym_1.20-6_arm64.deb'.
+	dpkg-deb --root-owner-group --build debian/.debhelper/lucy/dbgsym-root ..
 dpkg-deb: building package 'lucy' in '../lucy_1.20-6_arm64.deb'.
+dpkg-deb: building package 'lucy-dbgsym' in '../lucy-dbgsym_1.20-6_arm64.deb'.
  dpkg-genbuildinfo --build=binary -O../lucy_1.20-6_arm64.buildinfo
  dpkg-genchanges --build=binary -O../lucy_1.20-6_arm64.changes
 dpkg-genchanges: info: binary-only upload (no source code included)
@@ -923,12 +959,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/3123384/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/3123384/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/1089113 and its subdirectories
-I: Current time: Wed Mar  5 06:28:33 -12 2025
-I: pbuilder-time-stamp: 1741199313
+I: removing directory /srv/workspace/pbuilder/3123384 and its subdirectories
+I: Current time: Wed Apr  8 14:52:27 +14 2026
+I: pbuilder-time-stamp: 1775609547