Diff of the two buildlogs: -- --- b1/build.log 2024-05-20 12:46:48.743467038 +0000 +++ b2/build.log 2024-05-20 12:47:13.538412492 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon May 20 00:46:23 -12 2024 -I: pbuilder-time-stamp: 1716209183 +I: Current time: Mon Jun 23 09:09:48 +14 2025 +I: pbuilder-time-stamp: 1750619388 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -31,53 +31,85 @@ dpkg-source: info: applying 40_dev-c.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/29605/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/30748/tmp/hooks/D01_modify_environment starting +debug: Running on infom08-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Jun 22 19:09 /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/30748/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/30748/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='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=6 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='i386' + 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]="21" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=5 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='75482b37bf984a1b9d263d8e2faf7ae0' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - 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='29605' - PS1='# ' - PS2='> ' + INVOCATION_ID=a3cd00ea403641eab93d8ed269dfadd9 + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=30748 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.NytEEUVY/pbuilderrc_qOdn --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.NytEEUVY/b1 --logfile b1/build.log recoverdm_0.20-8.dsc' - SUDO_GID='111' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' + 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.NytEEUVY/pbuilderrc_olOv --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.NytEEUVY/b2 --logfile b2/build.log recoverdm_0.20-8.dsc' + SUDO_GID=111 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' I: uname -a - Linux infom07-i386 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.6.13+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.6.13-1~bpo12+1 (2024-02-15) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 17 14:57 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/29605/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Jun 22 14:05 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/30748/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -148,7 +180,7 @@ Get: 33 http://deb.debian.org/debian unstable/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 34 http://deb.debian.org/debian unstable/main i386 po-debconf all 1.0.21+nmu1 [248 kB] Get: 35 http://deb.debian.org/debian unstable/main i386 debhelper all 13.15.3 [901 kB] -Fetched 19.4 MB in 2s (10.5 MB/s) +Fetched 19.4 MB in 0s (52.7 MB/s) debconf: delaying package configuration, since apt-utils is not installed 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 ... 19703 files and directories currently installed.) @@ -303,7 +335,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/recoverdm-0.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 > ../recoverdm_0.20-8_source.changes +I: user script /srv/workspace/pbuilder/30748/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/30748/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/recoverdm-0.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 > ../recoverdm_0.20-8_source.changes dpkg-buildpackage: info: source package recoverdm dpkg-buildpackage: info: source version 0.20-8 dpkg-buildpackage: info: source distribution unstable @@ -313,7 +349,7 @@ debian/rules clean dh clean dh_auto_clean - make -j6 clean + make -j5 clean make[1]: Entering directory '/build/reproducible-path/recoverdm-0.20' rm -f recoverdm.o dev.o io.o utils.o error.o mergebad.o io.o utils.o error.o recoverdm mergebad core make[1]: Leaving directory '/build/reproducible-path/recoverdm-0.20' @@ -324,117 +360,13 @@ dh_autoreconf dh_auto_configure dh_auto_build - make -j6 "INSTALL=install --strip-program=true" + make -j5 "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/reproducible-path/recoverdm-0.20' cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/recoverdm-0.20=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -Wdate-time -D_FORTIFY_SOURCE=2 -c -o recoverdm.o recoverdm.c cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/recoverdm-0.20=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -Wdate-time -D_FORTIFY_SOURCE=2 -c -o dev.o dev.c cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/recoverdm-0.20=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -Wdate-time -D_FORTIFY_SOURCE=2 -c -o io.o io.c cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/recoverdm-0.20=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -Wdate-time -D_FORTIFY_SOURCE=2 -c -o utils.o utils.c cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/recoverdm-0.20=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -Wdate-time -D_FORTIFY_SOURCE=2 -c -o error.o error.c -cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/recoverdm-0.20=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -Wdate-time -D_FORTIFY_SOURCE=2 -c -o mergebad.o mergebad.c -io.c: In function 'READ': -io.c:30:52: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 30 | error_exit("unexpected error while reading: %s (%d)\n", strerror(errno), errno); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from io.c:12: -error.h:1:23: note: expected 'char *' but argument is of type 'const char *' - 1 | void error_exit(char *format, ...); - | ~~~~~~^~~~~~ -io.c:42:29: warning: conversion to 'size_t' {aka 'unsigned int'} from 'ssize_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] - 42 | len -= rc; - | ^~ -io.c: In function 'WRITE': -io.c:75:29: warning: conversion to 'size_t' {aka 'unsigned int'} from 'ssize_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] - 75 | len -= rc; - | ^~ -io.c: In function 'phantom_write': -io.c:132:39: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] - 132 | move_a_little -= rc; - | ^~ -io.c:181:24: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] - 181 | nbytes -= rc; - | ^~ -mergebad.c: In function 'read_mapfile': -mergebad.c:191:67: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 191 | bbs = (badblock *)myrealloc(bbs, sizeof(badblock) * (n_bb + 1), "badblocks list"); - | ^ -mergebad.c:191:81: warning: passing argument 3 of 'myrealloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 191 | bbs = (badblock *)myrealloc(bbs, sizeof(badblock) * (n_bb + 1), "badblocks list"); - | ^~~~~~~~~~~~~~~~ -In file included from mergebad.c:14: -utils.h:2:52: note: expected 'char *' but argument is of type 'const char *' - 2 | void * myrealloc(void *oldp, size_t newsize, char *what); - | ~~~~~~^~~~ -mergebad.c:196:45: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'int' [-Wformat=] - 196 | printf("%d] %lld %lld\n", n_bb, offset, block_size); - | ~~~^ ~~~~~~~~~~ - | | | - | long long int int - | %d -mergebad.c: In function 'select_most_occuring_byte': -mergebad.c:228:41: warning: conversion from 'int' to 'char' may change value [-Wconversion] - 228 | selected_byte = loop; - | ^~~~ -mergebad.c:235:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 235 | error_exit("Internal error: no byte found!"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from mergebad.c:15: -error.h:1:23: note: expected 'char *' but argument is of type 'const char *' - 1 | void error_exit(char *format, ...); - | ~~~~~~^~~~~~ -mergebad.c: In function 'main': -mergebad.c:272:62: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] - 272 | imgs = myrealloc(imgs, sizeof(image) * (n_imgs + 1), "image structure"); - | ^ -mergebad.c:272:78: warning: passing argument 3 of 'myrealloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 272 | imgs = myrealloc(imgs, sizeof(image) * (n_imgs + 1), "image structure"); - | ^~~~~~~~~~~~~~~~~ -utils.h:2:52: note: expected 'char *' but argument is of type 'const char *' - 2 | void * myrealloc(void *oldp, size_t newsize, char *what); - | ~~~~~~^~~~ -mergebad.c:321:57: warning: format '%d' expects argument of type 'int', but argument 2 has type 'off64_t' {aka 'long long int'} [-Wformat=] - 321 | printf("Length set to: %d\n", length); - | ~^ ~~~~~~ - | | | - | int off64_t {aka long long int} - | %lld -mergebad.c:419:65: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] - 419 | guess_bytes = (unsigned char *)mymalloc(n_imgs, "temp buffer for bytes from each image to select from"); - | ^~~~~~ -mergebad.c:419:73: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 419 | guess_bytes = (unsigned char *)mymalloc(n_imgs, "temp buffer for bytes from each image to select from"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -utils.h:1:36: note: expected 'char *' but argument is of type 'const char *' - 1 | void * mymalloc(size_t size, char *what); - | ~~~~~~^~~~ -mergebad.c:425:44: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 425 | error_exit("Internal error: could not find the badblock \"we're in\".\n"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -error.h:1:23: note: expected 'char *' but argument is of type 'const char *' - 1 | void error_exit(char *format, ...); - | ~~~~~~^~~~~~ -mergebad.c:447:44: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 447 | error_exit("Number of \"bytes to guess\" less then 1!\n"); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -error.h:1:23: note: expected 'char *' but argument is of type 'const char *' - 1 | void error_exit(char *format, ...); - | ~~~~~~^~~~~~ -mergebad.c:455:50: warning: conversion from 'off64_t' {aka 'long long int'} to 'size_t' {aka 'unsigned int'} may change value [-Wconversion] - 455 | output_buffer = mymalloc(n_to_guess, "guessed bytes"); - | ^~~~~~~~~~ -mergebad.c:455:62: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 455 | output_buffer = mymalloc(n_to_guess, "guessed bytes"); - | ^~~~~~~~~~~~~~~ -utils.h:1:36: note: expected 'char *' but argument is of type 'const char *' - 1 | void * mymalloc(size_t size, char *what); - | ~~~~~~^~~~ -mergebad.c:478:66: warning: conversion from 'off64_t' {aka 'long long int'} to 'size_t' {aka 'unsigned int'} may change value [-Wconversion] - 478 | if (phantom_write(fd_out, output_buffer, n_to_guess) != n_to_guess) - | ^~~~~~~~~~ -mergebad.c: In function 'read_mapfile': -mergebad.c:189:17: warning: ignoring return value of 'fscanf' declared with attribute 'warn_unused_result' [-Wunused-result] - 189 | fscanf(fh, "%lld %d", &offset, &block_size); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ recoverdm.c: In function 'lba_to_msf': recoverdm.c:55:27: warning: conversion from 'off64_t' {aka 'long long int'} to 'unsigned char' may change value [-Wconversion] 55 | *minute = (lba + 150) / (60 * 75); @@ -498,22 +430,81 @@ recoverdm.c:71:35: note: expected 'unsigned char **' but argument is of type 'char **' 71 | int create_sector(unsigned char **sectors, int n_sectors, size_t block_size, char **psector_out) | ~~~~~~~~~~~~~~~~^~~~~~~ +io.c: In function 'READ': +io.c:30:52: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 30 | error_exit("unexpected error while reading: %s (%d)\n", strerror(errno), errno); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from io.c:12: +error.h:1:23: note: expected 'char *' but argument is of type 'const char *' + 1 | void error_exit(char *format, ...); + | ~~~~~~^~~~~~ +io.c:42:29: warning: conversion to 'size_t' {aka 'unsigned int'} from 'ssize_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] + 42 | len -= rc; + | ^~ recoverdm.c: In function 'main': +utils.c: In function 'mymalloc': +utils.c:21:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 21 | error_exit("failed to allocate %d bytes for %s\n", size, what); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ recoverdm.c:235:36: warning: conversion from 'int' to 'char' may change value [-Wconversion] 235 | dev_type = atoi(optarg); | ^~~~ +In file included from utils.c:15: +error.h:1:23: note: expected 'char *' but argument is of type 'const char *' + 1 | void error_exit(char *format, ...); + | ~~~~~~^~~~~~ +io.c: In function 'WRITE': +io.c:75:29: warning: conversion to 'size_t' {aka 'unsigned int'} from 'ssize_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] + 75 | len -= rc; + | ^~ +utils.c: In function 'myrealloc': +utils.c:30:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 30 | error_exit("failed to reallocate to %d bytes for %s\n", newsize, what); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +error.h:1:23: note: expected 'char *' but argument is of type 'const char *' + 1 | void error_exit(char *format, ...); + | ~~~~~~^~~~~~ recoverdm.c:256:37: warning: conversion from 'int' to 'char' may change value [-Wconversion] 256 | n_retries = atoi(optarg); | ^~~~ +utils.c: In function 'get_filesize': +utils.c:40:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 40 | error_exit("Failed to retrieve length of file %s: %s (%d)\n", filename, strerror(errno), errno); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +error.h:1:23: note: expected 'char *' but argument is of type 'const char *' + 1 | void error_exit(char *format, ...); + | ~~~~~~^~~~~~ recoverdm.c:262:36: warning: conversion from 'int' to 'char' may change value [-Wconversion] 262 | cd_speed = atoi(optarg); | ^~~~ +io.c: In function 'phantom_write': +In file included from utils.c:13: +utils.c: In function 'copy_block': recoverdm.c:265:44: warning: conversion from 'int' to 'char' may change value [-Wconversion] 265 | n_raw_cd_retries = atoi(optarg); | ^~~~ +io.c:132:39: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] + 132 | move_a_little -= rc; + | ^~ +gen.h:1:25: warning: conversion from 'off64_t' {aka 'long long int'} to 'size_t' {aka 'unsigned int'} may change value [-Wconversion] + 1 | #define min(x, y) ((x)<(y)?(x):(y)) + | ^ +utils.c:51:38: note: in expansion of macro 'min' + 51 | size_t sector_size = min(block_size, 512); + | ^~~ +io.c:181:24: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] + 181 | nbytes -= rc; + | ^~ +utils.c: In function 'myseek': +utils.c:78:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 78 | error_exit("Failed to seek in file to offset %lld: %s (%d)\n", offset, strerror(errno), errno); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ recoverdm.c:307:47: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 307 | buffer = (char *)mymalloc(block_size, "sectorbuffer"); | ^~~~~~~~~~~~~~ +error.h:1:23: note: expected 'char *' but argument is of type 'const char *' + 1 | void error_exit(char *format, ...); + | ~~~~~~^~~~~~ utils.h:1:36: note: expected 'char *' but argument is of type 'const char *' 1 | void * mymalloc(size_t size, char *what); | ~~~~~~^~~~ @@ -535,43 +526,88 @@ recoverdm.c:440:38: warning: variable 'ok' set but not used [-Wunused-but-set-variable] 440 | char ok = 1; | ^~ -utils.c: In function 'mymalloc': -utils.c:21:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 21 | error_exit("failed to allocate %d bytes for %s\n", size, what); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from utils.c:15: -error.h:1:23: note: expected 'char *' but argument is of type 'const char *' - 1 | void error_exit(char *format, ...); - | ~~~~~~^~~~~~ -utils.c: In function 'myrealloc': -utils.c:30:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 30 | error_exit("failed to reallocate to %d bytes for %s\n", newsize, what); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/recoverdm-0.20=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -Wdate-time -D_FORTIFY_SOURCE=2 -c -o mergebad.o mergebad.c +mergebad.c: In function 'read_mapfile': +mergebad.c:191:67: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 191 | bbs = (badblock *)myrealloc(bbs, sizeof(badblock) * (n_bb + 1), "badblocks list"); + | ^ +mergebad.c:191:81: warning: passing argument 3 of 'myrealloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 191 | bbs = (badblock *)myrealloc(bbs, sizeof(badblock) * (n_bb + 1), "badblocks list"); + | ^~~~~~~~~~~~~~~~ +In file included from mergebad.c:14: +utils.h:2:52: note: expected 'char *' but argument is of type 'const char *' + 2 | void * myrealloc(void *oldp, size_t newsize, char *what); + | ~~~~~~^~~~ +mergebad.c:196:45: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type 'int' [-Wformat=] + 196 | printf("%d] %lld %lld\n", n_bb, offset, block_size); + | ~~~^ ~~~~~~~~~~ + | | | + | long long int int + | %d +mergebad.c: In function 'select_most_occuring_byte': +mergebad.c:228:41: warning: conversion from 'int' to 'char' may change value [-Wconversion] + 228 | selected_byte = loop; + | ^~~~ +mergebad.c:235:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 235 | error_exit("Internal error: no byte found!"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from mergebad.c:15: error.h:1:23: note: expected 'char *' but argument is of type 'const char *' 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ -utils.c: In function 'get_filesize': -utils.c:40:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 40 | error_exit("Failed to retrieve length of file %s: %s (%d)\n", filename, strerror(errno), errno); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +mergebad.c: In function 'main': +mergebad.c:272:62: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion] + 272 | imgs = myrealloc(imgs, sizeof(image) * (n_imgs + 1), "image structure"); + | ^ +mergebad.c:272:78: warning: passing argument 3 of 'myrealloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 272 | imgs = myrealloc(imgs, sizeof(image) * (n_imgs + 1), "image structure"); + | ^~~~~~~~~~~~~~~~~ +utils.h:2:52: note: expected 'char *' but argument is of type 'const char *' + 2 | void * myrealloc(void *oldp, size_t newsize, char *what); + | ~~~~~~^~~~ +mergebad.c:321:57: warning: format '%d' expects argument of type 'int', but argument 2 has type 'off64_t' {aka 'long long int'} [-Wformat=] + 321 | printf("Length set to: %d\n", length); + | ~^ ~~~~~~ + | | | + | int off64_t {aka long long int} + | %lld +mergebad.c:419:65: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] + 419 | guess_bytes = (unsigned char *)mymalloc(n_imgs, "temp buffer for bytes from each image to select from"); + | ^~~~~~ +mergebad.c:419:73: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 419 | guess_bytes = (unsigned char *)mymalloc(n_imgs, "temp buffer for bytes from each image to select from"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +utils.h:1:36: note: expected 'char *' but argument is of type 'const char *' + 1 | void * mymalloc(size_t size, char *what); + | ~~~~~~^~~~ +mergebad.c:425:44: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 425 | error_exit("Internal error: could not find the badblock \"we're in\".\n"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error.h:1:23: note: expected 'char *' but argument is of type 'const char *' 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ -In file included from utils.c:13: -utils.c: In function 'copy_block': -gen.h:1:25: warning: conversion from 'off64_t' {aka 'long long int'} to 'size_t' {aka 'unsigned int'} may change value [-Wconversion] - 1 | #define min(x, y) ((x)<(y)?(x):(y)) - | ^ -utils.c:51:38: note: in expansion of macro 'min' - 51 | size_t sector_size = min(block_size, 512); - | ^~~ -utils.c: In function 'myseek': -utils.c:78:28: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 78 | error_exit("Failed to seek in file to offset %lld: %s (%d)\n", offset, strerror(errno), errno); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +mergebad.c:447:44: warning: passing argument 1 of 'error_exit' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 447 | error_exit("Number of \"bytes to guess\" less then 1!\n"); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error.h:1:23: note: expected 'char *' but argument is of type 'const char *' 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ +mergebad.c:455:50: warning: conversion from 'off64_t' {aka 'long long int'} to 'size_t' {aka 'unsigned int'} may change value [-Wconversion] + 455 | output_buffer = mymalloc(n_to_guess, "guessed bytes"); + | ^~~~~~~~~~ +mergebad.c:455:62: warning: passing argument 2 of 'mymalloc' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 455 | output_buffer = mymalloc(n_to_guess, "guessed bytes"); + | ^~~~~~~~~~~~~~~ +utils.h:1:36: note: expected 'char *' but argument is of type 'const char *' + 1 | void * mymalloc(size_t size, char *what); + | ~~~~~~^~~~ +mergebad.c:478:66: warning: conversion from 'off64_t' {aka 'long long int'} to 'size_t' {aka 'unsigned int'} may change value [-Wconversion] + 478 | if (phantom_write(fd_out, output_buffer, n_to_guess) != n_to_guess) + | ^~~~~~~~~~ +mergebad.c: In function 'read_mapfile': +mergebad.c:189:17: warning: ignoring return value of 'fscanf' declared with attribute 'warn_unused_result' [-Wunused-result] + 189 | fscanf(fh, "%lld %d", &offset, &block_size); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc -Wall -W recoverdm.o dev.o io.o utils.o error.o -Wl,-z,relro -Wl,-z,now -o recoverdm cc -Wall -W mergebad.o io.o utils.o error.o -Wl,-z,relro -Wl,-z,now -o mergebad make[1]: Leaving directory '/build/reproducible-path/recoverdm-0.20' @@ -580,7 +616,7 @@ dh_prep dh_installdirs dh_auto_install --destdir=debian/recoverdm/ - make -j6 install DESTDIR=/build/reproducible-path/recoverdm-0.20/debian/recoverdm AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" + make -j5 install DESTDIR=/build/reproducible-path/recoverdm-0.20/debian/recoverdm AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/reproducible-path/recoverdm-0.20' cp recoverdm mergebad /build/reproducible-path/recoverdm-0.20/debian/recoverdm/usr/bin echo @@ -605,8 +641,8 @@ dh_gencontrol dh_md5sums dh_builddeb -dpkg-deb: building package 'recoverdm-dbgsym' in '../recoverdm-dbgsym_0.20-8_i386.deb'. dpkg-deb: building package 'recoverdm' in '../recoverdm_0.20-8_i386.deb'. +dpkg-deb: building package 'recoverdm-dbgsym' in '../recoverdm-dbgsym_0.20-8_i386.deb'. dpkg-genbuildinfo --build=binary -O../recoverdm_0.20-8_i386.buildinfo dpkg-genchanges --build=binary -O../recoverdm_0.20-8_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -614,12 +650,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/30748/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/30748/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/29605 and its subdirectories -I: Current time: Mon May 20 00:46:47 -12 2024 -I: pbuilder-time-stamp: 1716209207 +I: removing directory /srv/workspace/pbuilder/30748 and its subdirectories +I: Current time: Mon Jun 23 09:10:09 +14 2025 +I: pbuilder-time-stamp: 1750619409