Diff of the two buildlogs: -- --- b1/build.log 2025-04-30 12:16:22.679800736 +0000 +++ b2/build.log 2025-04-30 12:18:10.485496165 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Apr 30 00:02:29 -12 2025 -I: pbuilder-time-stamp: 1746014549 +I: Current time: Thu May 1 02:16:31 +14 2025 +I: pbuilder-time-stamp: 1746015391 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/26207/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/30736/tmp/hooks/D01_modify_environment starting +debug: Running on virt64a. +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 30 12:16 /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/30736/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/30736/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='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='armhf' + 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]="arm-unknown-linux-gnueabihf") + 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=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='ac28c29468b94bf0b15cd5d0d8e6a5ad' - 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='26207' - PS1='# ' - PS2='> ' + INVOCATION_ID=60310e55904d494d8c27fb8a99f3eb5b + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=30736 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.ZiBUs07g/pbuilderrc_toke --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.ZiBUs07g/b1 --logfile b1/build.log ruby-puppetlabs-spec-helper_8.0.0-1.dsc' - SUDO_GID='113' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + 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.ZiBUs07g/pbuilderrc_Q6l5 --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.ZiBUs07g/b2 --logfile b2/build.log ruby-puppetlabs-spec-helper_8.0.0-1.dsc' + SUDO_GID=114 + SUDO_UID=108 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux wbq0 6.1.0-34-armmp #1 SMP Debian 6.1.135-1 (2025-04-25) armv7l GNU/Linux + Linux i-capture-the-hostname 6.1.0-34-arm64 #1 SMP Debian 6.1.135-1 (2025-04-25) 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/26207/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/30736/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -278,7 +310,7 @@ Get: 148 http://deb.debian.org/debian trixie/main armhf ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 149 http://deb.debian.org/debian trixie/main armhf ruby-rspec-puppet all 4.0.2+ds-1 [46.4 kB] Get: 150 http://deb.debian.org/debian trixie/main armhf ruby-sync all 0.5.0-2 [5540 B] -Fetched 36.7 MB in 4s (8660 kB/s) +Fetched 36.7 MB in 1s (52.0 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 ... 19566 files and directories currently installed.) @@ -777,8 +809,8 @@ Setting up tzdata (2025b-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Wed Apr 30 12:07:13 UTC 2025. -Universal Time is now: Wed Apr 30 12:07:13 UTC 2025. +Local time is now: Wed Apr 30 12:17:19 UTC 2025. +Universal Time is now: Wed Apr 30 12:17:19 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.25.4-2) ... @@ -920,7 +952,11 @@ fakeroot is already the newest version (1.37.1.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/30736/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/30736/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 @@ -955,7 +991,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/d20250430-1947-yoin6y/gemspec +/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20250501-3485-qf9jok/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" @@ -964,7 +1000,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/d20250430-1947-yoin6y/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/d20250501-3485-qf9jok/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 @@ -1007,7 +1043,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/arm-linux-gnueabihf/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/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 56639 +Randomized with seed 56613 + +rake + is expected to be success + is expected to match /spec_prep/ rake check:test_file when there are .pp files under tests/ @@ -1018,96 +1058,92 @@ runs without raising an error PuppetlabsSpec::PuppetInternals - .function_method - accepts an injected scope - returns nil if the function doesn't exist - .node - can have a defined name - defaults to a name of testinghost - accepts facts via options for rspec-puppet - can have a defined environment + .compiler + can have a defined node .resource can have a defined type - defaults to a name of testing defaults to a type of hostclass can have a defined name - .compiler - can have a defined node - -rake check:symlinks - when there are no files - runs without raising an error - when there are regular files - 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 .pdkignore - 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 .bundle/ - 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 - -rake - is expected to match /spec_prep/ - is expected to be success + defaults to a name of testing + .node + accepts facts via options for rspec-puppet + can have a defined environment + can have a defined name + defaults to a name of testinghost + .function_method + accepts an injected scope + returns nil if the function doesn't exist PuppetlabsSpecHelper::Tasks::FixtureHelpers + .fixtures + when forge_api_key env variable is set + correctly sets --forge_authorization + when file is empty + returns basic directories per category + when file specifies fixtures + returns the hash + when file is malformed + raises an error + 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 contains no fixtures + raises an error + when file specifies repository fixtures + returns the hash + when file specifies repository fixtures with an invalid git ref + raises an ArgumentError + when file specifies defaults + returns the hash .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 readable - 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 the name is blank + 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 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 the name has a null value behaves like module name from working directory determines the module name from the working directory name when it is not readable 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 - .fixtures - when file contains no fixtures - raises an error - when file is malformed - raises an error - when file specifies fixtures - returns the hash - when file specifies defaults - returns the hash - when file specifies repository fixtures with an invalid git ref - raises an ArgumentError - when file specifies repository fixtures - returns the hash - when file is missing - returns basic directories per category - 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 -Finished in 47.28 seconds (files took 57.81 seconds to load) +rake check:symlinks + 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 + when there are symlinks under .bundle/ + runs without raising an error + when there are symlinks under .git/ + 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 symlinks under a directory listed in .gitignore + runs without raising an error + +Finished in 3.49 seconds (files took 4.41 seconds to load) 42 examples, 0 failures -Randomized with seed 56639 +Randomized with seed 56613 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1141,12 +1177,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/30736/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/30736/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/26207 and its subdirectories -I: Current time: Wed Apr 30 00:16:17 -12 2025 -I: pbuilder-time-stamp: 1746015377 +I: removing directory /srv/workspace/pbuilder/30736 and its subdirectories +I: Current time: Thu May 1 02:18:06 +14 2025 +I: pbuilder-time-stamp: 1746015486