Diff of the two buildlogs: -- --- b1/build.log 2025-03-20 23:17:04.564497846 +0000 +++ b2/build.log 2025-03-20 23:19:33.297796848 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Mar 20 11:16:17 -12 2025 -I: pbuilder-time-stamp: 1742512577 +I: Current time: Thu Apr 23 19:40:06 +14 2026 +I: pbuilder-time-stamp: 1776922806 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-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/1904469/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2436395/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 23 05:40 /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/2436395/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2436395/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='e681b076df2e456099c5a7e95000027c' - 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='1904469' - PS1='# ' - PS2='> ' + INVOCATION_ID=4af8b89cfd6a431f9b05522bc5f197ff + 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=2436395 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.FDaE3XPU/pbuilderrc_tBgp --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.FDaE3XPU/b1 --logfile b1/build.log ruby-puppetlabs-spec-helper_8.0.0-1.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.FDaE3XPU/pbuilderrc_3uqT --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.FDaE3XPU/b2 --logfile b2/build.log ruby-puppetlabs-spec-helper_8.0.0-1.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-32-cloud-arm64 #1 SMP Debian 6.1.129-1 (2025-03-06) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-32-cloud-arm64 #1 SMP Debian 6.1.129-1 (2025-03-06) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1904469/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Mar 4 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2436395/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -291,7 +323,7 @@ Get: 161 http://deb.debian.org/debian trixie/main arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 162 http://deb.debian.org/debian trixie/main arm64 ruby-rspec-puppet all 4.0.2+ds-1 [46.4 kB] Get: 163 http://deb.debian.org/debian trixie/main arm64 ruby-sync all 0.5.0-2 [5540 B] -Fetched 50.3 MB in 1s (57.4 MB/s) +Fetched 50.3 MB in 1s (82.8 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 ... 19899 files and directories currently installed.) @@ -832,8 +864,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Mar 20 23:16:41 UTC 2025. -Universal Time is now: Thu Mar 20 23:16:41 UTC 2025. +Local time is now: Thu Apr 23 05:41:03 UTC 2026. +Universal Time is now: Thu Apr 23 05:41:03 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.25.4-2) ... @@ -986,7 +1018,11 @@ fakeroot is already the newest version (1.37.1-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/2436395/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/2436395/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 @@ -1021,7 +1057,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/d20250320-1914820-syj2ot/gemspec +/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20260423-2472683-girmwj/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" @@ -1030,7 +1066,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/d20250320-1914820-syj2ot/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/d20260423-2472683-girmwj/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 @@ -1073,25 +1109,7 @@ 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/aarch64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/aarch64-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 61180 - -rake check:symlinks - when there are symlinks under .bundle/ - 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 a directory listed in .gitignore - runs without raising an error - when there is a symlink present - raises an error - when there are symlinks under a directory listed in .pdkignore - runs without raising an error - when there are regular files - runs without raising an error - when there are no files - runs without raising an error +Randomized with seed 55648 rake is expected to be success @@ -1099,81 +1117,99 @@ PuppetlabsSpecHelper::Tasks::FixtureHelpers .fixtures + when file contains no fixtures + raises an error + when file is empty + returns basic directories per category when forge_api_key env variable is set correctly sets --forge_authorization + 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 defaults returns the hash when file is malformed raises an error - when file specifies repository fixtures + when file is missing + returns basic directories per category + when file specifies 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 repository fixtures with an invalid git ref raises an ArgumentError - when file specifies fixtures + when file specifies repository fixtures returns the hash - when file contains no fixtures - raises an error - when file is empty - returns basic directories per category - when file is missing - returns basic directories per category .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 it contains invalid JSON - behaves like module name from working directory - determines the module name from the working directory name 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 a name value + behaves like module name from metadata + determines the module name from the module metadata when the name has a null value behaves like module name from working directory determines the module name from the working directory name when the name is blank 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 is not readable - behaves like module name from working directory - determines the module name from the working directory name + when it contains invalid JSON + 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: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 are symlinks under .bundle/ + 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 is a symlink present + raises an error + when there are regular files + runs without raising an error + when there are symlinks under .git/ + runs without raising an error 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 - when there are .pp files under tests/ - raises an error PuppetlabsSpec::PuppetInternals - .function_method - returns nil if the function doesn't exist - accepts an injected scope .node + can have a defined environment accepts facts via options for rspec-puppet defaults to a name of testinghost can have a defined name - can have a defined environment + .compiler + can have a defined node .resource can have a defined type - defaults to a name of testing 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 + accepts an injected scope + returns nil if the function doesn't exist -Finished in 1.31 seconds (files took 1.51 seconds to load) +Finished in 6.78 seconds (files took 4.98 seconds to load) 42 examples, 0 failures -Randomized with seed 61180 +Randomized with seed 55648 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1207,12 +1243,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/2436395/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2436395/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/1904469 and its subdirectories -I: Current time: Thu Mar 20 11:17:03 -12 2025 -I: pbuilder-time-stamp: 1742512623 +I: removing directory /srv/workspace/pbuilder/2436395 and its subdirectories +I: Current time: Thu Apr 23 19:42:30 +14 2026 +I: pbuilder-time-stamp: 1776922950