Diff of the two buildlogs: -- --- b1/build.log 2025-07-16 03:15:33.467865721 +0000 +++ b2/build.log 2025-07-16 03:26:15.544679963 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Aug 17 21:33:43 -12 2026 -I: pbuilder-time-stamp: 1787045623 +I: Current time: Wed Jul 16 17:15:36 +14 2025 +I: pbuilder-time-stamp: 1752635736 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -26,52 +26,84 @@ dpkg-source: info: applying 0003-ext-re2-extconf.rb-build-in-a-fixed-directory.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3419893/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1890329/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-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 Jul 16 03:15 /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/1890329/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1890329/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='62c5fa3ee9de4337a54b3fd14a40084f' - 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='3419893' - PS1='# ' - PS2='> ' + INVOCATION_ID=2dd76fd14d7e40f7a279d73d8433ec3a + 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=1890329 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.4OC9JEPS/pbuilderrc_uScM --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.4OC9JEPS/b1 --logfile b1/build.log ruby-re2_2.7.0-3.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.4OC9JEPS/pbuilderrc_jAIj --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.4OC9JEPS/b2 --logfile b2/build.log ruby-re2_2.7.0-3.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 codethink03-arm64 6.1.0-37-cloud-arm64 #1 SMP Debian 6.1.140-1 (2025-05-22) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-37-cloud-arm64 #1 SMP Debian 6.1.140-1 (2025-05-22) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 12 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3419893/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 12 19:25 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1890329/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -283,7 +315,7 @@ Get: 160 http://deb.debian.org/debian trixie/main arm64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [90.2 kB] Get: 161 http://deb.debian.org/debian trixie/main arm64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 162 http://deb.debian.org/debian trixie/main arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] -Fetched 54.3 MB in 0s (150 MB/s) +Fetched 54.3 MB in 0s (114 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (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 ... 19964 files and directories currently installed.) @@ -821,8 +853,8 @@ Setting up tzdata (2025b-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Tue Aug 18 09:34:25 UTC 2026. -Universal Time is now: Tue Aug 18 09:34:25 UTC 2026. +Local time is now: Wed Jul 16 03:16:41 UTC 2025. +Universal Time is now: Wed Jul 16 03:16:41 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.25.4-3) ... @@ -966,7 +998,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-re2-2.7.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-re2_2.7.0-3_source.changes +I: user script /srv/workspace/pbuilder/1890329/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/1890329/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-re2-2.7.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-re2_2.7.0-3_source.changes dpkg-buildpackage: info: source package ruby-re2 dpkg-buildpackage: info: source version 2.7.0-3 dpkg-buildpackage: info: source distribution unstable @@ -1043,27 +1079,27 @@ checking for RE2::Set::Match() with error information... yes creating Makefile current directory: /build/reproducible-path/ruby-re2-2.7.0/ext/re2 -["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "DESTDIR=", "sitearchdir=./.gem.20260817-3445993-g5x8o3", "sitelibdir=./.gem.20260817-3445993-g5x8o3", "clean"] +["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "DESTDIR=", "sitearchdir=./.gem.20250716-1915109-phr9pj", "sitelibdir=./.gem.20250716-1915109-phr9pj", "clean"] make[1]: Entering directory '/build/reproducible-path/ruby-re2-2.7.0/ext/re2' rm -f rm -fr re2.so false re2.o *.bak mkmf.log .*.time make[1]: Leaving directory '/build/reproducible-path/ruby-re2-2.7.0/ext/re2' current directory: /build/reproducible-path/ruby-re2-2.7.0/ext/re2 -["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "DESTDIR=", "sitearchdir=./.gem.20260817-3445993-g5x8o3", "sitelibdir=./.gem.20260817-3445993-g5x8o3"] +["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "DESTDIR=", "sitearchdir=./.gem.20250716-1915109-phr9pj", "sitelibdir=./.gem.20250716-1915109-phr9pj"] make[1]: Entering directory '/build/reproducible-path/ruby-re2-2.7.0/ext/re2' g++ -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=. -I. -I/usr/include/aarch64-linux-gnu/ruby-3.3.0 -I/usr/include/ruby-3.3.0/ruby/backward -I/usr/include/ruby-3.3.0 -I. -DHAVE_STDINT_H -DHAVE_RB_GC_MARK_MOVABLE -DHAVE_ENDPOS_ARGUMENT -DHAVE_ERROR_INFO_ARGUMENT -I/build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/include -I/build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/libre2/2023-11-01/include -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-register -fPIC -g -O2 -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -o re2.o -c re2.cc rm -f re2.so g++ -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=. -shared -o re2.so re2.o -L. -L/usr/lib/aarch64-linux-gnu -L/build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib -L/build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/libre2/2023-11-01/lib -L. -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -pthread /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/libre2/2023-11-01/lib/libre2.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_flags.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_flags_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_flags_marshalling.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_flags_reflection.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_flags_private_handle_accessor.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_flags_commandlineflag.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_flags_commandlineflag_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_flags_config.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_flags_program_name.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_cord.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_cordz_info.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_cord_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_cordz_functions.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_cordz_handle.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_crc_cord_state.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_crc32c.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_crc_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_crc_cpu_detect.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_raw_hash_set.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_hash.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_city.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_bad_variant_access.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_low_level_hash.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_hashtablez_sampler.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_exponential_biased.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_bad_optional_access.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_str_format_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_synchronization.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_graphcycles_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_kernel_timeout_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_stacktrace.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_symbolize.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_debugging_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_demangle_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_malloc_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_time.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_civil_time.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_strings.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_string_view.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_strings_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_base.a -lrt /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_spinlock_wait.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_int128.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_throw_delegate.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_raw_logging_internal.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_log_severity.a /build/reproducible-path/ruby-re2-2.7.0/ports/aarch64-linux-gnu/abseil/20230802.1/lib/libabsl_time_zone.a -Wl,-z,relro -Wl,-z,now -lruby-3.3 -lstdc++ -lm -lpthread -lc make[1]: Leaving directory '/build/reproducible-path/ruby-re2-2.7.0/ext/re2' current directory: /build/reproducible-path/ruby-re2-2.7.0/ext/re2 -["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "DESTDIR=", "sitearchdir=./.gem.20260817-3445993-g5x8o3", "sitelibdir=./.gem.20260817-3445993-g5x8o3", "install"] +["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "DESTDIR=", "sitearchdir=./.gem.20250716-1915109-phr9pj", "sitelibdir=./.gem.20250716-1915109-phr9pj", "install"] make[1]: Entering directory '/build/reproducible-path/ruby-re2-2.7.0/ext/re2' -/bin/mkdir -p . ./.gem.20260817-3445993-g5x8o3 +/bin/mkdir -p . ./.gem.20250716-1915109-phr9pj exit > .sitearchdir.time -/usr/bin/install -c -m 0755 re2.so ./.gem.20260817-3445993-g5x8o3 +/usr/bin/install -c -m 0755 re2.so ./.gem.20250716-1915109-phr9pj make[1]: Leaving directory '/build/reproducible-path/ruby-re2-2.7.0/ext/re2' current directory: /build/reproducible-path/ruby-re2-2.7.0/ext/re2 -["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "DESTDIR=", "sitearchdir=./.gem.20260817-3445993-g5x8o3", "sitelibdir=./.gem.20260817-3445993-g5x8o3", "clean"] +["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-re2-2.7.0=.", "DESTDIR=", "sitearchdir=./.gem.20250716-1915109-phr9pj", "sitelibdir=./.gem.20250716-1915109-phr9pj", "clean"] make[1]: Entering directory '/build/reproducible-path/ruby-re2-2.7.0/ext/re2' rm -f rm -fr re2.so false re2.o *.bak mkmf.log .*.time @@ -1071,13 +1107,13 @@ current directory: /build/reproducible-path/ruby-re2-2.7.0/ext/re2 /usr/bin/ruby3.3 -I/usr/lib/ruby/vendor_ruby extconf.rb current directory: /build/reproducible-path/ruby-re2-2.7.0/ext/re2 -make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. DESTDIR\= sitearchdir\=./.gem.20260817-3445993-g5x8o3 sitelibdir\=./.gem.20260817-3445993-g5x8o3 clean +make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. DESTDIR\= sitearchdir\=./.gem.20250716-1915109-phr9pj sitelibdir\=./.gem.20250716-1915109-phr9pj clean current directory: /build/reproducible-path/ruby-re2-2.7.0/ext/re2 -make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. DESTDIR\= sitearchdir\=./.gem.20260817-3445993-g5x8o3 sitelibdir\=./.gem.20260817-3445993-g5x8o3 +make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. DESTDIR\= sitearchdir\=./.gem.20250716-1915109-phr9pj sitelibdir\=./.gem.20250716-1915109-phr9pj current directory: /build/reproducible-path/ruby-re2-2.7.0/ext/re2 -make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. DESTDIR\= sitearchdir\=./.gem.20260817-3445993-g5x8o3 sitelibdir\=./.gem.20260817-3445993-g5x8o3 install +make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. DESTDIR\= sitearchdir\=./.gem.20250716-1915109-phr9pj sitelibdir\=./.gem.20250716-1915109-phr9pj install current directory: /build/reproducible-path/ruby-re2-2.7.0/ext/re2 -make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. DESTDIR\= sitearchdir\=./.gem.20260817-3445993-g5x8o3 sitelibdir\=./.gem.20260817-3445993-g5x8o3 clean +make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-re2-2.7.0\=. DESTDIR\= sitearchdir\=./.gem.20250716-1915109-phr9pj sitelibdir\=./.gem.20250716-1915109-phr9pj clean rm -f /build/reproducible-path/ruby-re2-2.7.0/debian/ruby-re2/usr/lib/aarch64-linux-gnu/ruby/vendor_ruby/3.3.0/mkmf.log ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1103,393 +1139,393 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 9970 +Randomized with seed 46852 -RE2 - #QuoteMeta - escapes a string so it can be used as a regular expression - supports passing something that can be coerced to a String as input - raises a Type Error for input that can't be converted to String - supports strings containing null bytes - .Replace - supports passing something that can be coerced to a String as input - only replaces the first occurrence of the pattern - raises a Type Error for a non-RE2::Regexp pattern that can't be converted to String - returns UTF-8 strings when given a String pattern - returns UTF-8 strings if the pattern is UTF-8 - supports replacements with null bytes - supports patterns with null bytes - supports inputs with null bytes - performs replacement based on regular expressions - supports passing something that can be coerced to a String as a replacement - supports passing something that can be coerced to a String as a pattern - respects any passed RE2::Regexp's flags - does not perform replacements in-place - raises a Type Error for input that can't be converted to String - supports passing an RE2::Regexp as the pattern - returns ISO-8859-1 strings if the pattern is not UTF-8 - supports flags in patterns - raises a Type Error for a replacement that can't be converted to String - .GlobalReplace - supports passing an RE2::Regexp as the pattern - performs replacement based on regular expressions - replaces every occurrence of a pattern - returns UTF-8 strings when given a String pattern - returns UTF-8 strings if the pattern is UTF-8 - supports flags in patterns - supports passing something that can be coerced to a String as a pattern - raises a Type Error for input that can't be converted to String - supports replacements with null bytes +Kernel + .RE2 supports passing something that can be coerced to a String as input - raises a Type Error for a replacement that can't be converted to String - returns ISO-8859-1 strings if the pattern is not UTF-8 - supports inputs with null bytes - supports patterns with null bytes - supports passing something that can be coerced to a String as a replacement - does not perform replacement in-place - respects any passed RE2::Regexp's flags - raises a Type Error for a non-RE2::Regexp pattern that can't be converted to String - -RE2::Scanner - is enumerable - #regexp - returns the original pattern for the scanner - #eof? - returns false with an empty input that has not been scanned - returns true if the input has been consumed - returns false if the input has not been consumed - returns false if no match is made - returns true with an empty input that has been matched - returns false with an empty input that has not been matched - #scan - returns the next array of matches - supports scanning inputs with null bytes - supports empty groups with multibyte characters - raises a Type Error if given input that can't be coerced to a String - returns array of nils with multiple empty capturing groups - returns UTF-8 matches if the pattern is UTF-8 - returns an array of nil if the pattern is an empty capturing group - accepts input that can be coerced to a String - returns an empty array if there are no capturing groups - returns an empty array if the input is empty - returns nil if the regexp is invalid - returns nil if there is no match - returns an empty array for every match if the pattern is empty - returns multiple capturing groups at a time - returns ISO-8859-1 matches if the pattern is not UTF-8 - returns an array of nil with an empty input and capture - #rewind - resets the eof? check - resets any consumption - supports inputs with null bytes - #each - returns an enumerator when not given a block - yields each match - #string - returns the original text for the scanner + accepts patterns containing null bytes + allows invalid patterns to be created + returns an RE2::Regexp instance given a pattern and options + returns an RE2::Regexp instance given a pattern + raises an error if given an inappropriate type -RE2::MatchData - reports a larger consuming memory size when it has more matches - #to_a - returns UTF-8 strings if the pattern is UTF-8 - is populated with the match and capturing groups - populates optional capturing groups with nil if they are missing - returns ISO-8859-1 strings if the pattern is not UTF-8 - #to_s - returns the matching part of the original string - #[] - returns UTF-8 encoded strings by default - returns a ISO-8859-1 string by numerical index if the pattern is not UTF-8 - returns a UTF-8 string by numerical index if the pattern is UTF-8 - raises an error if given an inappropriate index - has the whole match as the 0th item - allows access by symbol names when there are named groups - returns Latin 1 strings encoding when utf-8 is false - accesses capturing groups by numerical index - returns nil if no such named group exists - supports access by numerical ranges - allows access by names and indices with mixed groups - allows access by string names when there are named groups - returns nil if attempting to access non-existent capturing groups by index - supports slicing - #to_ary - allows the object to be expanded with an asterisk - #regexp - returns the original RE2::Regexp used - #deconstruct - returns all capturing groups - includes optional capturing groups as nil - #inspect - supports matches with null bytes - represents missing matches as nil - returns a text representation of the object and indices - #end - returns nil for non-existent named matches - returns the offset of the character following the end of a match - returns the offset of a match by string name - returns the offset of a match by symbol name - returns the offset despite multibyte characters - raises a type error if given an invalid name or number - returns the offset of a match by something that can be coerced to a String - returns nil for negative numerical matches - returns nil for non-existent numerical matches - returns nil for non-existent symbol named matches - #begin - raises a type error if given an invalid name or number - returns nil for non-existent numerical matches - returns nil for negative numerical matches - returns the offset of the start of a match by something that can be coerced to a String - returns nil for non-existent symbol named matches - returns the offset of the start of a match by symbol name - returns the offset of the start of a match by index - returns the offset despite multibyte characters - returns nil for non-existent named matches - returns the offset of the start of a match by string name - #deconstruct_keys - returns an empty hash if there are no named capturing groups - returns only named captures if given names - raises an error if given a non-array of keys - returns named captures up until an invalid name is given - raises an error if given keys as non-symbols - returns all named captures if given nil - returns an empty hash if given more capture names than exist - #length - returns the number of capturing groups plus the matching string - #size - returns the number of capturing groups plus the matching string - #string - returns a frozen string - returns the original string to match against - does not copy the string if it was already frozen - returns a copy, not the actual original +RE2::String + #re2_gsub + doesn't perform an in-place replacement + delegates to RE2.GlobalReplace to perform replacement + #re2_match + delegates to RE2::Regexp#match to perform matches + supports limiting the number of matches + #re2_sub + delegates to RE2.Replace to perform replacement + doesn't perform an in-place replacement + #re2_escape + escapes the string for use in regular expressions + #re2_quote + escapes the string for use in regular expressions RE2::Regexp - .quote + .escape transforms a string into a regexp + #one_line? + returns false by default + can be overridden on initialization #partial_match? - returns only true or false even if there are capturing groups returns false if the pattern is invalid - raises an exception if text cannot be coerced to a string supports matching against text containing null bytes - #log_errors? - can be overridden on initialization - returns true by default - #longest_match? - returns false by default - can be overridden on initialization - #max_mem - returns the default max memory - can be overridden on initialization - #options - is populated with overridden options when specified - is populated with default options when nothing has been set - returns a hash of options - #inspect - shows the class name and original pattern - respects the pattern's original encoding + returns only true or false even if there are capturing groups + raises an exception if text cannot be coerced to a string #=== - returns false if the pattern is invalid raises an exception if text cannot be coerced to a string + returns false if the pattern is invalid returns only true or false even if there are capturing groups #match - raises an exception when given a negative starting offset - can explicitly match without anchoring when extracting submatches - supports matching against text containing null bytes + can explicitly match with neither anchoring nor extracting submatches + raises an exception when given a negative ending offset + pads submatches with nil when requesting more than the number of capturing groups + does not anchor matches when given a nil anchor extracts all submatches by default - defaults to extracting all submatches when given nil - accepts anything that can be coerced to a hash as options + raises an error if given an ending offset and RE2 does not support it (PENDING: Underlying RE2::Match has endpos argument) can anchor matches at the start when extracting submatches - raises an exception when given a starting offset past the default ending offset - can anchor matches at the start without extracting submatches - returns only true or false given only text if the pattern has no capturing groups + accepts anything that can be coerced to a hash as options + raises an exception when given invalid options + returns nil if the text does not match the pattern returns nil with an invalid pattern raises an exception when given text that cannot be coerced to a string - accepts passing the number of submatches instead of options for backward compatibility - pads submatches with nil when requesting more than the number of capturing groups - returns nil with an invalid pattern and options - raises an exception when given an ending offset before the starting offset - raises an exception when given a negative number of submatches - raises an exception when given a non-symbol anchor - raises an exception when given invalid options - extracts a specific number of submatches + supports extracting submatches containing null bytes + returns nil if using a ending offset at the start of the text + can anchor matches at the start without extracting submatches raises an exception when given an invalid anchor + raises an exception when given an ending offset before the starting offset accepts an offset at which to end matching - returns nil if using a ending offset at the start of the text + accepts passing the number of submatches instead of options for backward compatibility can anchor matches at both ends when extracting submatches - raises an exception when given a negative ending offset - does not anchor matches when given a nil anchor - does not anchor matches by default without extracting submatches + raises an exception when given a negative number of submatches + raises an exception when given a non-numeric number of submatches accepts text that can be coerced to a string + supports matching against text containing null bytes + returns nil with an invalid pattern and options returns match data given only text if the pattern has capturing groups - returns nil if the text does not match the pattern - accepts an offset at which to start matching - can explicitly match with neither anchoring nor extracting submatches - raises an error if given an ending offset and RE2 does not support it (PENDING: Underlying RE2::Match has endpos argument) returns nil if using a starting offset past the end of the text - supports extracting submatches containing null bytes - raises an exception when given a non-numeric number of submatches + defaults to extracting all submatches when given nil + raises an exception when given a negative starting offset + returns only true or false given only text if the pattern has no capturing groups + accepts an offset at which to start matching + raises an exception when given a starting offset past the default ending offset + raises an exception when given a non-symbol anchor + does not anchor matches by default without extracting submatches + extracts a specific number of submatches does not anchor matches by default when extracting submatches + can explicitly match without anchoring when extracting submatches .compile + accepts patterns containing null bytes allows invalid patterns to be created - raises an error if given an inappropriate type supports passing something that can be coerced to a String as input returns an instance given only a pattern - accepts patterns containing null bytes returns an instance given a pattern and options - #error_arg - returns nil if there is no error - returns the offending portion of the pattern if there is an error - #error - returns nil if there is no error - contains the error string if there is an error - #match? - returns false if the pattern is invalid - raises an exception if text cannot be coerced to a string - returns only true or false even if there are capturing groups - .escape - transforms a string into a regexp - #full_match? - raises an exception if text cannot be coerced to a string - returns only true or false even if there are capturing groups - returns false if the pattern is invalid - supports matching against text containing null bytes - #partial_match - does not allow the anchor to be overridden - accepts anything that can be coerced to a string - matches the pattern anywhere within the given text - raises an error if given non-hash options - returns true or false if there are no capturing groups - can set the number of submatches to extract - accepts options that can be coerced to a hash + raises an error if given an inappropriate type #ok? - returns true for valid patterns returns false for invalid patterns - #scan - returns a scanner - raises a type error if given invalid input + returns true for valid patterns + #longest_match? + returns false by default + can be overridden on initialization #pattern returns the original pattern returns the pattern even if invalid - #utf8? - returns true by default - can be overridden on initialization #to_str - returns the pattern even if invalid returns the original pattern - #one_line? - can be overridden on initialization + returns the pattern even if invalid + #match? + raises an exception if text cannot be coerced to a string + returns false if the pattern is invalid + returns only true or false even if there are capturing groups + #full_match + can set the number of submatches to extract + raises an error if given non-hash options + only matches the pattern if all of the given text matches + accepts options that can be coerced to a hash + returns true or false if there are no capturing groups + does not allow the anchor to be overridden + accepts anything that can be coerced to a string + #literal? returns false by default + can be overridden on initialization + #full_match? + returns false if the pattern is invalid + raises an exception if text cannot be coerced to a string + returns only true or false even if there are capturing groups + supports matching against text containing null bytes #initialize - returns an instance given a pattern and options - returns an instance given only a pattern accepts patterns containing null bytes + returns an instance given a pattern and options + allows invalid patterns to be created raises an error if given an inappropriate type + returns an instance given only a pattern supports passing something that can be coerced to a String as input - allows invalid patterns to be created - #number_of_capturing_groups + #inspect + shows the class name and original pattern + respects the pattern's original encoding + #log_errors? + returns true by default + can be overridden on initialization + #error_arg + returns the offending portion of the pattern if there is an error + returns nil if there is no error + #case_sensitive? + can be overridden on initialization + returns true by default + #program_size + returns a numeric value returns -1 for an invalid pattern - returns the number of groups in a pattern #named_capturing_groups - maps names to indices with only one group maps names to indices with several groups returns an empty hash for an invalid regexp + maps names to indices with only one group returns a hash of names to indices - #literal? - can be overridden on initialization - returns false by default - #never_nl? + #case_insensitive? returns false by default can be overridden on initialization - #perl_classes? - can be overridden on initialization - returns false by default - #=~ - returns false if the pattern is invalid - raises an exception if text cannot be coerced to a string - supports matching against text containing null bytes - returns only true or false even if there are capturing groups - #full_match - does not allow the anchor to be overridden - raises an error if given non-hash options - only matches the pattern if all of the given text matches - accepts anything that can be coerced to a string - returns true or false if there are no capturing groups - can set the number of submatches to extract - accepts options that can be coerced to a hash #posix_syntax? + can be overridden on initialization returns false by default + #casefold? + returns true by default can be overridden on initialization - #case_sensitive? + #utf8? returns true by default can be overridden on initialization - #case_insensitive? + #error + returns nil if there is no error + contains the error string if there is an error + .quote + transforms a string into a regexp + #word_boundary? can be overridden on initialization returns false by default - #program_size + #max_mem + returns the default max memory + can be overridden on initialization + #number_of_capturing_groups + returns the number of groups in a pattern returns -1 for an invalid pattern - returns a numeric value - #casefold? - returns true by default + #options + returns a hash of options + is populated with overridden options when specified + is populated with default options when nothing has been set + #partial_match + matches the pattern anywhere within the given text + does not allow the anchor to be overridden + returns true or false if there are no capturing groups + accepts anything that can be coerced to a string + raises an error if given non-hash options + accepts options that can be coerced to a hash + can set the number of submatches to extract + #scan + raises a type error if given invalid input + returns a scanner + #never_nl? can be overridden on initialization - #word_boundary? returns false by default + #perl_classes? can be overridden on initialization + returns false by default + #=~ + raises an exception if text cannot be coerced to a string + returns only true or false even if there are capturing groups + returns false if the pattern is invalid + supports matching against text containing null bytes -RE2::String - #re2_sub - doesn't perform an in-place replacement - delegates to RE2.Replace to perform replacement - #re2_quote - escapes the string for use in regular expressions - #re2_escape - escapes the string for use in regular expressions - #re2_match - supports limiting the number of matches - delegates to RE2::Regexp#match to perform matches - #re2_gsub - doesn't perform an in-place replacement - delegates to RE2.GlobalReplace to perform replacement - -Kernel - .RE2 - allows invalid patterns to be created - returns an RE2::Regexp instance given a pattern - returns an RE2::Regexp instance given a pattern and options - raises an error if given an inappropriate type - accepts patterns containing null bytes - supports passing something that can be coerced to a String as input +RE2::Scanner + is enumerable + #rewind + supports inputs with null bytes + resets any consumption + resets the eof? check + #string + returns the original text for the scanner + #each + returns an enumerator when not given a block + yields each match + #eof? + returns false if the input has not been consumed + returns false if no match is made + returns true with an empty input that has been matched + returns false with an empty input that has not been scanned + returns true if the input has been consumed + returns false with an empty input that has not been matched + #scan + raises a Type Error if given input that can't be coerced to a String + returns an empty array if the input is empty + returns an empty array for every match if the pattern is empty + returns array of nils with multiple empty capturing groups + returns an array of nil if the pattern is an empty capturing group + returns an array of nil with an empty input and capture + accepts input that can be coerced to a String + supports scanning inputs with null bytes + returns an empty array if there are no capturing groups + returns the next array of matches + returns ISO-8859-1 matches if the pattern is not UTF-8 + returns multiple capturing groups at a time + returns nil if there is no match + returns nil if the regexp is invalid + supports empty groups with multibyte characters + returns UTF-8 matches if the pattern is UTF-8 + #regexp + returns the original pattern for the scanner RE2::Set - #match - raises an error if called before #compile by default - raises an error if :exception is true and RE2 does not support it (PENDING: Underlying RE2::Set::Match outputs error information) - supports matching null bytes - raises an error if called before #compile when :exception is true - raises a Type Error if given input that can't be coerced to a String - returns an empty array if there is no match when :exception is true - matches against multiple patterns - returns an empty array if called before #compile when :exception is false - accepts input if it can be coerced to a String - returns an empty array if there is no match - raises an error if given non-hash options #initialize - raises an error if given an invalid anchor returns an instance given only an anchor of :anchor_both - raises an error if given an inappropriate type returns an instance given only an anchor of :anchor_start returns an instance given no args returns an instance given an anchor and options raises an error if given an invalid anchor and options returns an instance given only an anchor of :unanchored - #compile - compiles the set without error + raises an error if given an invalid anchor + raises an error if given an inappropriate type #add - raises an error if called after #compile truncates error messages to 100 characters - allows multiple patterns to be added - raises an error if given a pattern that can't be coerced to a String rejects invalid patterns when added accepts a pattern that can be coerced to a String + raises an error if called after #compile + allows multiple patterns to be added + raises an error if given a pattern that can't be coerced to a String + #match + raises an error if called before #compile when :exception is true + accepts input if it can be coerced to a String + raises a Type Error if given input that can't be coerced to a String + raises an error if :exception is true and RE2 does not support it (PENDING: Underlying RE2::Set::Match outputs error information) + supports matching null bytes + matches against multiple patterns + raises an error if called before #compile by default + returns an empty array if there is no match when :exception is true + returns an empty array if called before #compile when :exception is false + returns an empty array if there is no match + raises an error if given non-hash options + #compile + compiles the set without error + +RE2::MatchData + reports a larger consuming memory size when it has more matches + #begin + returns the offset of the start of a match by something that can be coerced to a String + returns nil for non-existent symbol named matches + returns nil for non-existent numerical matches + returns nil for negative numerical matches + returns the offset of the start of a match by index + raises a type error if given an invalid name or number + returns nil for non-existent named matches + returns the offset of the start of a match by string name + returns the offset of the start of a match by symbol name + returns the offset despite multibyte characters + #end + returns nil for non-existent numerical matches + returns the offset of the character following the end of a match + returns nil for non-existent named matches + returns the offset of a match by string name + returns the offset despite multibyte characters + returns the offset of a match by something that can be coerced to a String + returns nil for non-existent symbol named matches + returns the offset of a match by symbol name + raises a type error if given an invalid name or number + returns nil for negative numerical matches + #regexp + returns the original RE2::Regexp used + #inspect + supports matches with null bytes + returns a text representation of the object and indices + represents missing matches as nil + #deconstruct_keys + raises an error if given a non-array of keys + returns an empty hash if there are no named capturing groups + returns all named captures if given nil + returns named captures up until an invalid name is given + returns an empty hash if given more capture names than exist + raises an error if given keys as non-symbols + returns only named captures if given names + #to_s + returns the matching part of the original string + #deconstruct + includes optional capturing groups as nil + returns all capturing groups + #string + returns a frozen string + returns a copy, not the actual original + does not copy the string if it was already frozen + returns the original string to match against + #[] + allows access by names and indices with mixed groups + allows access by string names when there are named groups + supports slicing + supports access by numerical ranges + returns a UTF-8 string by numerical index if the pattern is UTF-8 + allows access by symbol names when there are named groups + returns Latin 1 strings encoding when utf-8 is false + returns UTF-8 encoded strings by default + has the whole match as the 0th item + returns nil if no such named group exists + accesses capturing groups by numerical index + returns a ISO-8859-1 string by numerical index if the pattern is not UTF-8 + raises an error if given an inappropriate index + returns nil if attempting to access non-existent capturing groups by index + #to_ary + allows the object to be expanded with an asterisk + #length + returns the number of capturing groups plus the matching string + #size + returns the number of capturing groups plus the matching string + #to_a + returns UTF-8 strings if the pattern is UTF-8 + is populated with the match and capturing groups + returns ISO-8859-1 strings if the pattern is not UTF-8 + populates optional capturing groups with nil if they are missing + +RE2 + #QuoteMeta + supports passing something that can be coerced to a String as input + raises a Type Error for input that can't be converted to String + supports strings containing null bytes + escapes a string so it can be used as a regular expression + .GlobalReplace + supports passing an RE2::Regexp as the pattern + respects any passed RE2::Regexp's flags + replaces every occurrence of a pattern + supports flags in patterns + supports passing something that can be coerced to a String as a replacement + does not perform replacement in-place + returns UTF-8 strings when given a String pattern + returns UTF-8 strings if the pattern is UTF-8 + supports patterns with null bytes + returns ISO-8859-1 strings if the pattern is not UTF-8 + supports inputs with null bytes + raises a Type Error for a replacement that can't be converted to String + raises a Type Error for a non-RE2::Regexp pattern that can't be converted to String + raises a Type Error for input that can't be converted to String + supports passing something that can be coerced to a String as a pattern + supports passing something that can be coerced to a String as input + performs replacement based on regular expressions + supports replacements with null bytes + .Replace + supports inputs with null bytes + raises a Type Error for input that can't be converted to String + raises a Type Error for a non-RE2::Regexp pattern that can't be converted to String + raises a Type Error for a replacement that can't be converted to String + respects any passed RE2::Regexp's flags + returns UTF-8 strings when given a String pattern + does not perform replacements in-place + supports passing something that can be coerced to a String as a pattern + supports passing an RE2::Regexp as the pattern + supports patterns with null bytes + only replaces the first occurrence of the pattern + supports passing something that can be coerced to a String as a replacement + supports flags in patterns + supports passing something that can be coerced to a String as input + returns UTF-8 strings if the pattern is UTF-8 + supports replacements with null bytes + performs replacement based on regular expressions + returns ISO-8859-1 strings if the pattern is not UTF-8 Pending: (Failures listed here are expected and do not affect your suite's status) @@ -1501,10 +1537,10 @@ # Underlying RE2::Set::Match outputs error information # ./spec/re2/set_spec.rb:172 -Finished in 0.11203 seconds (files took 0.17183 seconds to load) +Finished in 0.21585 seconds (files took 0.45489 seconds to load) 304 examples, 0 failures, 2 pending -Randomized with seed 9970 +Randomized with seed 46852 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1534,8 +1570,8 @@ dh_gencontrol -O--buildsystem=ruby dh_md5sums -O--buildsystem=ruby dh_builddeb -O--buildsystem=ruby -dpkg-deb: building package 'ruby-re2' in '../ruby-re2_2.7.0-3_arm64.deb'. dpkg-deb: building package 'ruby-re2-dbgsym' in '../ruby-re2-dbgsym_2.7.0-3_arm64.deb'. +dpkg-deb: building package 'ruby-re2' in '../ruby-re2_2.7.0-3_arm64.deb'. dpkg-genbuildinfo --build=binary -O../ruby-re2_2.7.0-3_arm64.buildinfo dpkg-genchanges --build=binary -O../ruby-re2_2.7.0-3_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -1543,12 +1579,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/1890329/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1890329/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/3419893 and its subdirectories -I: Current time: Mon Aug 17 21:38:32 -12 2026 -I: pbuilder-time-stamp: 1787045912 +I: removing directory /srv/workspace/pbuilder/1890329 and its subdirectories +I: Current time: Wed Jul 16 17:26:14 +14 2025 +I: pbuilder-time-stamp: 1752636374