Diff of the two buildlogs: -- --- b1/build.log 2025-02-06 09:47:04.330371554 +0000 +++ b2/build.log 2025-02-06 09:54:25.770367824 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Mar 11 04:09:12 -12 2026 -I: pbuilder-time-stamp: 1773245352 +I: Current time: Thu Feb 6 23:47:07 +14 2025 +I: pbuilder-time-stamp: 1738835227 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -25,52 +25,84 @@ dpkg-source: info: applying drop-rspec-github.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2297718/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/418976/tmp/hooks/D01_modify_environment starting +debug: Running on ionos11-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 Feb 6 09:47 /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/418976/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/418976/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=42 ' - 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=20 ' + 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='a63d4061ecf94465855af48957be7f00' - 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='2297718' - PS1='# ' - PS2='> ' + INVOCATION_ID=101c198bd1d34d1c9024b5f2e8407d94 + 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=418976 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.L6imOVdN/pbuilderrc_o8JL --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.L6imOVdN/b1 --logfile b1/build.log ruby-puppetlabs-spec-helper_8.0.0-1.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://213.165.73.152: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.L6imOVdN/pbuilderrc_DVSe --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.L6imOVdN/b2 --logfile b2/build.log ruby-puppetlabs-spec-helper_8.0.0-1.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://46.16.76.132:3128 I: uname -a - Linux ionos5-amd64 6.12.9+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.9-1~bpo12+1 (2025-01-19) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2297718/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/418976/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -296,7 +328,7 @@ Get: 166 http://deb.debian.org/debian unstable/main amd64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 167 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-puppet all 4.0.2+ds-1 [46.4 kB] Get: 168 http://deb.debian.org/debian unstable/main amd64 ruby-sync all 0.5.0-2 [5540 B] -Fetched 59.1 MB in 4s (14.9 MB/s) +Fetched 59.1 MB in 4s (15.4 MB/s) Preconfiguring packages ... Selecting previously unselected package openssl. (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 ... 19806 files and directories currently installed.) @@ -852,8 +884,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Wed Mar 11 16:09:42 UTC 2026. -Universal Time is now: Wed Mar 11 16:09:42 UTC 2026. +Local time is now: Thu Feb 6 09:50:43 UTC 2025. +Universal Time is now: Thu Feb 6 09:50:43 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.25.4-1) ... @@ -1011,7 +1043,11 @@ fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/ruby-puppetlabs-spec-helper-8.0.0/ && 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 > ../ruby-puppetlabs-spec-helper_8.0.0-1_source.changes +I: user script /srv/workspace/pbuilder/418976/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/418976/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-puppetlabs-spec-helper-8.0.0/ && 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 > ../ruby-puppetlabs-spec-helper_8.0.0-1_source.changes dpkg-buildpackage: info: source package ruby-puppetlabs-spec-helper dpkg-buildpackage: info: source version 8.0.0-1 dpkg-buildpackage: info: source distribution unstable @@ -1046,7 +1082,7 @@ │ ruby-puppetlabs-spec-helper: Installing files and building extensions for ruby3.3│ └──────────────────────────────────────────────────────────────────────────────┘ -/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20260311-2303623-752qh8/gemspec +/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20250206-487637-6b16ij/gemspec WARNING: open-ended dependency on rspec-puppet (>= 4.0) is not recommended if rspec-puppet is semantically versioned, use: add_runtime_dependency "rspec-puppet", "~> 4.0" @@ -1055,7 +1091,7 @@ Name: puppetlabs_spec_helper Version: 8.0.0 File: puppetlabs_spec_helper-8.0.0.gem -/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-puppetlabs-spec-helper/usr/share/rubygems-integration/all /tmp/d20260311-2303623-752qh8/puppetlabs_spec_helper-8.0.0.gem +/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-puppetlabs-spec-helper/usr/share/rubygems-integration/all /tmp/d20250206-487637-6b16ij/puppetlabs_spec_helper-8.0.0.gem /build/reproducible-path/ruby-puppetlabs-spec-helper-8.0.0/debian/ruby-puppetlabs-spec-helper/usr/share/rubygems-integration/all/gems/puppetlabs_spec_helper-8.0.0/lib/puppetlabs_spec_helper/module_spec_helper.rb /build/reproducible-path/ruby-puppetlabs-spec-helper-8.0.0/debian/ruby-puppetlabs-spec-helper/usr/share/rubygems-integration/all/gems/puppetlabs_spec_helper-8.0.0/lib/puppetlabs_spec_helper/puppet_spec_helper.rb /build/reproducible-path/ruby-puppetlabs-spec-helper-8.0.0/debian/ruby-puppetlabs-spec-helper/usr/share/rubygems-integration/all/gems/puppetlabs_spec_helper-8.0.0/lib/puppetlabs_spec_helper/puppetlabs_spec/files.rb @@ -1098,7 +1134,11 @@ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-puppetlabs-spec-helper-8.0.0/debian/ruby-puppetlabs-spec-helper/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-puppetlabs-spec-helper-8.0.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.3.0:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake /usr/bin/ruby3.3 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation -Randomized with seed 20767 +Randomized with seed 8481 + +rake + is expected to be success + is expected to match /spec_prep/ rake check:test_file when there are .pp files under tests/ @@ -1108,22 +1148,23 @@ when there is no tests/ directory runs without raising an error -PuppetlabsSpec::PuppetInternals - .node - defaults to a name of testinghost - can have a defined environment - can have a defined name - accepts facts via options for rspec-puppet - .compiler - can have a defined node - .resource - defaults to a name of testing - can have a defined name - can have a defined type - defaults to a type of hostclass - .function_method - returns nil if the function doesn't exist - accepts an injected scope +rake check:symlinks + when there are symlinks under a directory listed in .gitignore + runs without raising an error + when there are symlinks under .bundle/ + runs without raising an error + when there are no files + runs without raising an error + when there are symlinks under a directory listed in .pdkignore + runs without raising an error + when there are symlinks under .git/ + runs without raising an error + when there is a symlink present + raises an error + when there are symlinks under vendor/ + runs without raising an error + when there are regular files + runs without raising an error PuppetlabsSpecHelper::Tasks::FixtureHelpers .module_name @@ -1138,67 +1179,62 @@ when it contains invalid JSON behaves like module name from working directory determines the module name from the working directory name - when it contains a name value - behaves like module name from metadata - determines the module name from the module metadata when it does not contain a name value behaves like module name from working directory determines the module name from the working directory name - when the name has a null value + when the name is blank behaves like module name from working directory determines the module name from the working directory name - when the name is blank + when the name has a null value behaves like module name from working directory determines the module name from the working directory name + when it contains a name value + behaves like module name from metadata + determines the module name from the module metadata .fixtures - when forge_api_key env variable is set - correctly sets --forge_authorization + when file specifies repository fixtures + returns the hash when file specifies puppet version excludes the fixture if the puppet version does not match includes the fixture if the puppet version matches - when file is missing - returns basic directories per category - when file specifies repository fixtures - returns the hash - when file specifies fixtures - returns the hash - when file is malformed - raises an error - when file is empty - returns basic directories per category when file contains no fixtures raises an error + when file is malformed + raises an error when file specifies repository fixtures with an invalid git ref raises an ArgumentError + when file is empty + returns basic directories per category when file specifies defaults returns the hash + when file specifies fixtures + returns the hash + when file is missing + returns basic directories per category + when forge_api_key env variable is set + correctly sets --forge_authorization -rake check:symlinks - when there are symlinks under a directory listed in .pdkignore - runs without raising an error - when there are no files - runs without raising an error - when there is a symlink present - raises an error - when there are symlinks under a directory listed in .gitignore - runs without raising an error - when there are symlinks under vendor/ - runs without raising an error - when there are symlinks under .git/ - runs without raising an error - when there are symlinks under .bundle/ - runs without raising an error - when there are regular files - runs without raising an error - -rake - is expected to match /spec_prep/ - is expected to be success +PuppetlabsSpec::PuppetInternals + .function_method + accepts an injected scope + returns nil if the function doesn't exist + .node + defaults to a name of testinghost + accepts facts via options for rspec-puppet + can have a defined name + can have a defined environment + .resource + defaults to a type of hostclass + defaults to a name of testing + can have a defined type + can have a defined name + .compiler + can have a defined node -Finished in 1.14 seconds (files took 1.38 seconds to load) +Finished in 15.52 seconds (files took 11.24 seconds to load) 42 examples, 0 failures -Randomized with seed 20767 +Randomized with seed 8481 /usr/bin/ruby3.1 /usr/bin/gem2deb-test-runner @@ -1215,107 +1251,107 @@ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-puppetlabs-spec-helper-8.0.0/debian/ruby-puppetlabs-spec-helper/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-puppetlabs-spec-helper-8.0.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0 ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake /usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation -Randomized with seed 23059 +Randomized with seed 15699 -rake check:symlinks - when there are symlinks under .bundle/ +rake check:test_file + when there are no .pp files under tests/ runs without raising an error - when there is a symlink present + when there are .pp files under tests/ raises an error - when there are symlinks under .git/ + when there is no tests/ directory + runs without raising an error + +rake + is expected to be success + is expected to match /spec_prep/ + +rake check:symlinks + when there are no files runs without raising an error when there are symlinks under a directory listed in .gitignore runs without raising an error + when there are symlinks under vendor/ + runs without raising an error when there are regular files runs without raising an error - when there are symlinks under vendor/ + when there is a symlink present + raises an error + when there are symlinks under .bundle/ runs without raising an error - when there are symlinks under a directory listed in .pdkignore + when there are symlinks under .git/ runs without raising an error - when there are no files + when there are symlinks under a directory listed in .pdkignore runs without raising an error PuppetlabsSpecHelper::Tasks::FixtureHelpers - .fixtures - when forge_api_key env variable is set - correctly sets --forge_authorization - when file is missing - returns basic directories per category - when file is empty - returns basic directories per category - when file contains no fixtures - raises an error - when file is malformed - raises an error - when file specifies defaults - returns the hash - when file specifies repository fixtures - returns the hash - when file specifies puppet version - includes the fixture if the puppet version matches - excludes the fixture if the puppet version does not match - when file specifies fixtures - returns the hash - when file specifies repository fixtures with an invalid git ref - raises an ArgumentError .module_name + when metadata.json does not exist + behaves like module name from working directory + determines the module name from the working directory name when metadata.json does exist when it is not readable behaves like module name from working directory determines the module name from the working directory name when it is readable - when the name is blank + when the name has a null value behaves like module name from working directory determines the module name from the working directory name when it contains a name value behaves like module name from metadata determines the module name from the module metadata - when it does not contain a name value + when it contains invalid JSON behaves like module name from working directory determines the module name from the working directory name - when the name has a null value + when it does not contain a name value behaves like module name from working directory determines the module name from the working directory name - when it contains invalid JSON + when the name is blank behaves like module name from working directory determines the module name from the working directory name - when metadata.json does not exist - behaves like module name from working directory - determines the module name from the working directory name - -rake check:test_file - when there are .pp files under tests/ - raises an error - when there are no .pp files under tests/ - runs without raising an error - when there is no tests/ directory - runs without raising an error - -rake - is expected to be success - is expected to match /spec_prep/ + .fixtures + when file is malformed + raises an error + when file specifies fixtures + returns the hash + when file is empty + returns basic directories per category + when file is missing + returns basic directories per category + when file contains no fixtures + raises an error + when file specifies repository fixtures with an invalid git ref + raises an ArgumentError + when file specifies repository fixtures + returns the hash + when file specifies puppet version + excludes the fixture if the puppet version does not match + includes the fixture if the puppet version matches + when file specifies defaults + returns the hash + when forge_api_key env variable is set + correctly sets --forge_authorization PuppetlabsSpec::PuppetInternals - .resource - can have a defined type - can have a defined name - defaults to a name of testing - defaults to a type of hostclass - .compiler - can have a defined node .function_method - returns nil if the function doesn't exist accepts an injected scope + returns nil if the function doesn't exist + .compiler + can have a defined node .node accepts facts via options for rspec-puppet can have a defined environment can have a defined name defaults to a name of testinghost + .resource + defaults to a type of hostclass + defaults to a name of testing + can have a defined type + can have a defined name -Finished in 1.21 seconds (files took 1.71 seconds to load) +Finished in 15.55 seconds (files took 9.41 seconds to load) 42 examples, 0 failures -Randomized with seed 23059 +Randomized with seed 15699 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1349,12 +1385,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/418976/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/418976/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/2297718 and its subdirectories -I: Current time: Wed Mar 11 04:10:03 -12 2026 -I: pbuilder-time-stamp: 1773245403 +I: removing directory /srv/workspace/pbuilder/418976 and its subdirectories +I: Current time: Thu Feb 6 23:54:24 +14 2025 +I: pbuilder-time-stamp: 1738835664