sbuild (Debian sbuild) 0.89.3+deb13u1 (16 August 2025) on +===============================================================================+ | ruby-virtus 2.0.0-2+rebuild1766616649 (amd64) Wed, 24 Dec 2025 22:50:50 +0000 | +===============================================================================+ Package: ruby-virtus Version: 2.0.0-2+rebuild1766616649 Source Version: 2.0.0-2+rebuild1766616649 Distribution: unstable Machine Architecture: amd64 Host Architecture: amd64 Build Architecture: amd64 Build Type: binary I: No tarballs found in /home/admin/.cache/sbuild I: Creating chroot on-demand by running: mmdebstrap --variant=buildd --arch=amd64 --skip=output/mknod --format=tar unstable - I: Unpacking tarball from STDIN to /tmp/tmp.sbuild.LvbiI3HS8n... I: automatically chosen mode: unshare I: chroot architecture amd64 is equal to the host's architecture I: finding correct signed-by value... I: using /tmp/mmdebstrap.RkdLJ9mrqs as tempdir I: skipping output/mknod as requested for ./dev/console I: skipping output/mknod as requested for ./dev/full I: skipping output/mknod as requested for ./dev/null I: skipping output/mknod as requested for ./dev/ptmx I: skipping output/mknod as requested for ./dev/random I: skipping output/mknod as requested for ./dev/tty I: skipping output/mknod as requested for ./dev/urandom I: skipping output/mknod as requested for ./dev/zero I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: installing remaining packages inside the chroot... I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.RkdLJ9mrqs... I: success in 12.1569 seconds I: The chroot directory at /tmp/tmp.sbuild.LvbiI3HS8n will be removed at the end of the build I: To avoid creating a new chroot from scratch every time, either: I: - place a chroot tarball at /home/admin/.cache/sbuild/unstable-amd64.tar and update it manually, for example by running: mmdebstrap --variant=buildd --arch=amd64 --skip=output/mknod --format=tar unstable /home/admin/.cache/sbuild/unstable-amd64.tar I: - or let sbuild take care of this via the setting UNSHARE_MMDEBSTRAP_KEEP_TARBALL by adding '$unshare_mmdebstrap_keep_tarball = 1;' to your ~/.config/sbuild/config.pl. I: - or completely disable this behaviour via the setting UNSHARE_MMDEBSTRAP_AUTO_CREATE by adding '$unshare_mmdebstrap_auto_create = 0;' to your ~/.config/sbuild/config.pl. I: Refer to UNSHARE_MMDEBSTRAP_KEEP_TARBALL in sbuild.conf(5) for more information I: Setting up the chroot... I: Creating chroot session... I: Setting up log color... I: Setting up apt archive... +------------------------------------------------------------------------------+ | Update chroot Wed, 24 Dec 2025 22:51:05 +0000 | +------------------------------------------------------------------------------+ Ign:1 file:/mass-rebuild ./ InRelease Get:2 file:/mass-rebuild ./ Release [1617 B] Get:2 file:/mass-rebuild ./ Release [1617 B] Ign:3 file:/mass-rebuild ./ Release.gpg Get:4 file:/mass-rebuild ./ Packages [70.4 kB] Get:5 http://deb.debian.org/debian unstable InRelease [187 kB] Get:6 http://deb.debian.org/debian experimental InRelease [90.7 kB] Get:7 http://deb.debian.org/debian unstable/main amd64 Packages [10.2 MB] Get:8 http://deb.debian.org/debian experimental/main amd64 Packages [432 kB] Get:9 http://incoming.debian.org/debian-buildd buildd-unstable InRelease [48.9 kB] Get:10 http://incoming.debian.org/debian-buildd buildd-unstable/main amd64 Packages [86.1 kB] Fetched 11.1 MB in 1s (8538 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following packages will be upgraded: libselinux1 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/85.8 kB of archives. After this operation, 1024 B disk space will be freed. Get:1 file:/mass-rebuild ./ libselinux1 3.9-4+rebuild1766544377 [85.8 kB] (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 ... 11800 files and directories currently installed.) Preparing to unpack .../libselinux1_3.9-4+rebuild1766544377_amd64.deb ... Unpacking libselinux1:amd64 (3.9-4+rebuild1766544377) over (3.9-4+b1) ... Setting up libselinux1:amd64 (3.9-4+rebuild1766544377) ... Processing triggers for libc-bin (2.42-6) ... +------------------------------------------------------------------------------+ | Fetch source files Wed, 24 Dec 2025 22:51:08 +0000 | +------------------------------------------------------------------------------+ Local sources ------------- /home/admin/mass-rebuild/builds/3/ruby-virtus/ruby-virtus_2.0.0-2+rebuild1766616649.dsc exists in /home/admin/mass-rebuild/builds/3/ruby-virtus; copying to chroot +------------------------------------------------------------------------------+ | Install package build dependencies Wed, 24 Dec 2025 22:51:09 +0000 | +------------------------------------------------------------------------------+ Setup apt archive ----------------- Merged Build-Depends: gem2deb, ruby-axiom-types, ruby-bogus, ruby-coercible, ruby-descendants-tracker, ruby-dry-inflector, ruby-equalizer, ruby-inflecto, ruby-rspec, debhelper-compat (= 13), build-essential Filtered Build-Depends: gem2deb, ruby-axiom-types, ruby-bogus, ruby-coercible, ruby-descendants-tracker, ruby-dry-inflector, ruby-equalizer, ruby-inflecto, ruby-rspec, debhelper-compat (= 13), build-essential dpkg-deb: building package 'sbuild-build-depends-main-dummy' in '/build/reproducible-path/resolver-P6QmEp/apt_archive/sbuild-build-depends-main-dummy.deb'. Ign:1 copy:/build/reproducible-path/resolver-P6QmEp/apt_archive ./ InRelease Get:2 copy:/build/reproducible-path/resolver-P6QmEp/apt_archive ./ Release [609 B] Ign:3 copy:/build/reproducible-path/resolver-P6QmEp/apt_archive ./ Release.gpg Get:4 copy:/build/reproducible-path/resolver-P6QmEp/apt_archive ./ Sources [744 B] Get:5 copy:/build/reproducible-path/resolver-P6QmEp/apt_archive ./ Packages [783 B] Fetched 2136 B in 0s (0 B/s) Reading package lists... Ign:1 file:/mass-rebuild ./ InRelease Get:2 file:/mass-rebuild ./ Release [1617 B] Get:2 file:/mass-rebuild ./ Release [1617 B] Ign:3 file:/mass-rebuild ./ Release.gpg Hit:4 http://incoming.debian.org/debian-buildd buildd-unstable InRelease Hit:5 http://deb.debian.org/debian experimental InRelease Reading package lists... Reading package lists... Install main build dependencies (apt-based resolver) ---------------------------------------------------- Installing build dependencies Reading package lists... Building dependency tree... Reading state information... Solving dependencies... The following additional packages will be installed: autoconf automake autopoint autotools-dev bsdextrautils ca-certificates debhelper dh-autoreconf dh-strip-nondeterminism dwz file gem2deb gem2deb-test-runner gettext gettext-base groff-base intltool-debian libarchive-zip-perl libdebhelper-perl libelf1t64 libffi8 libfile-stripnondeterminism-perl libgmp-dev libgmpxx4ldbl libmagic-mgc libmagic1t64 libpipeline1 libruby libruby3.3 libtool libuchardet0 libunistring5 libxml2-16 libyaml-0-2 m4 man-db openssl po-debconf rake ruby ruby-all-dev ruby-atomic ruby-axiom-types ruby-bogus ruby-coercible ruby-csv ruby-dependor ruby-descendants-tracker ruby-did-you-mean ruby-diff-lcs ruby-dry-inflector ruby-equalizer ruby-ice-nine ruby-inflecto ruby-minitest ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-thread-safe ruby-webrick ruby-xmlrpc ruby3.3 ruby3.3-dev rubygems-integration sensible-utils Suggested packages: autoconf-archive gnu-standards autoconf-doc dh-make git-buildpackage pristine-tar gettext-doc libasprintf-dev libgettextpo-dev gnulib-l10n groff gmp-doc libgmp10-doc libmpfr-dev libtool-doc gfortran | fortran95-compiler m4-doc apparmor less www-browser libmail-box-perl ri ruby-dev bundler Recommended packages: apt-file debian-policy devscripts python3-debian curl | wget | lynx libarchive-cpio-perl ruby-sdbm libltdl-dev libmail-sendmail-perl zip fonts-lato libjs-jquery ruby3.3-doc The following NEW packages will be installed: autoconf automake autopoint autotools-dev bsdextrautils ca-certificates debhelper dh-autoreconf dh-strip-nondeterminism dwz file gem2deb gem2deb-test-runner gettext gettext-base groff-base intltool-debian libarchive-zip-perl libdebhelper-perl libelf1t64 libffi8 libfile-stripnondeterminism-perl libgmp-dev libgmpxx4ldbl libmagic-mgc libmagic1t64 libpipeline1 libruby libruby3.3 libtool libuchardet0 libunistring5 libxml2-16 libyaml-0-2 m4 man-db openssl po-debconf rake ruby ruby-all-dev ruby-atomic ruby-axiom-types ruby-bogus ruby-coercible ruby-csv ruby-dependor ruby-descendants-tracker ruby-did-you-mean ruby-diff-lcs ruby-dry-inflector ruby-equalizer ruby-ice-nine ruby-inflecto ruby-minitest ruby-net-telnet ruby-power-assert ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-thread-safe ruby-webrick ruby-xmlrpc ruby3.3 ruby3.3-dev rubygems-integration sbuild-build-depends-main-dummy sensible-utils 0 upgraded, 73 newly installed, 0 to remove and 0 not upgraded. Need to get 23.5 MB/23.6 MB of archives. After this operation, 88.9 MB of additional disk space will be used. Get:1 file:/mass-rebuild ./ ruby-atomic 1.1.101-1+rebuild1766546176 [11.0 kB] Get:2 copy:/build/reproducible-path/resolver-P6QmEp/apt_archive ./ sbuild-build-depends-main-dummy 0.invalid.0 [928 B] Get:3 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.26 [27.0 kB] Get:4 http://deb.debian.org/debian unstable/main amd64 openssl amd64 3.5.4-1 [1496 kB] Get:5 http://deb.debian.org/debian unstable/main amd64 ca-certificates all 20250419 [162 kB] Get:6 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.46-5 [338 kB] Get:7 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.46-5 [109 kB] Get:8 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.46-5 [43.6 kB] Get:9 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.23.2-1 [245 kB] Get:10 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-2 [68.5 kB] Get:11 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-10 [1194 kB] Get:12 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.41.3-2 [98.9 kB] Get:13 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-2 [42.1 kB] Get:14 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get:15 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.20-2 [325 kB] Get:16 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3.1 [494 kB] Get:17 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20240727.1 [60.2 kB] Get:18 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.18.1-3 [878 kB] Get:19 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.23.2-1 [772 kB] Get:20 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.29 [92.6 kB] Get:21 http://deb.debian.org/debian unstable/main amd64 libtool all 2.5.4-9 [540 kB] Get:22 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 21 [12.2 kB] Get:23 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get:24 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.15.0-1 [19.9 kB] Get:25 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.15.0-1 [8812 B] Get:26 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.194-1 [185 kB] Get:27 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.16-2 [108 kB] Get:28 http://deb.debian.org/debian unstable/main amd64 libunistring5 amd64 1.3-2 [477 kB] Get:29 http://deb.debian.org/debian unstable/main amd64 libxml2-16 amd64 2.15.1+dfsg-2+b1 [641 kB] Get:30 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.23.2-1 [1687 kB] Get:31 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get:32 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.22 [216 kB] Get:33 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.29 [943 kB] Get:34 http://deb.debian.org/debian unstable/main amd64 rubygems-integration all 1.19 [5488 B] Get:35 http://deb.debian.org/debian unstable/main amd64 ruby-csv all 3.3.4-1 [42.2 kB] Get:36 http://deb.debian.org/debian unstable/main amd64 ruby-did-you-mean all 1.6.3-2 [20.9 kB] Get:37 http://deb.debian.org/debian unstable/main amd64 ruby-net-telnet all 0.2.0-1 [13.1 kB] Get:38 http://deb.debian.org/debian unstable/main amd64 ruby-ruby2-keywords all 0.0.5-1 [4300 B] Get:39 http://deb.debian.org/debian unstable/main amd64 ruby-webrick all 1.9.1-1 [59.6 kB] Get:40 http://deb.debian.org/debian unstable/main amd64 ruby-xmlrpc all 0.3.3-2 [24.4 kB] Get:41 http://deb.debian.org/debian unstable/main amd64 libffi8 amd64 3.5.2-3 [26.1 kB] Get:42 http://deb.debian.org/debian unstable/main amd64 libyaml-0-2 amd64 0.2.5-2+b1 [53.8 kB] Get:43 http://deb.debian.org/debian unstable/main amd64 libruby3.3 amd64 3.3.8-2 [6301 kB] Get:44 http://deb.debian.org/debian unstable/main amd64 ruby3.3 amd64 3.3.8-2 [834 kB] Get:45 http://deb.debian.org/debian unstable/main amd64 libruby amd64 1:3.3+b1 [5440 B] Get:46 http://deb.debian.org/debian unstable/main amd64 ruby-rubygems all 3.6.7-2 [407 kB] Get:47 http://deb.debian.org/debian unstable/main amd64 ruby amd64 1:3.3+b1 [6560 B] Get:48 http://deb.debian.org/debian unstable/main amd64 rake all 13.2.1-1 [65.2 kB] Get:49 http://deb.debian.org/debian unstable/main amd64 ruby-minitest all 5.26.1-1 [67.3 kB] Get:50 http://deb.debian.org/debian unstable/main amd64 ruby-power-assert all 2.0.5-1 [11.7 kB] Get:51 http://deb.debian.org/debian unstable/main amd64 ruby-test-unit all 3.6.2-1 [79.1 kB] Get:52 http://deb.debian.org/debian unstable/main amd64 gem2deb-test-runner amd64 2.2.6 [18.4 kB] Get:53 http://deb.debian.org/debian unstable/main amd64 libgmpxx4ldbl amd64 2:6.3.0+dfsg-5 [330 kB] Get:54 http://deb.debian.org/debian unstable/main amd64 libgmp-dev amd64 2:6.3.0+dfsg-5 [658 kB] Get:55 http://deb.debian.org/debian unstable/main amd64 ruby3.3-dev amd64 3.3.8-2 [1045 kB] Get:56 http://deb.debian.org/debian unstable/main amd64 ruby-all-dev amd64 1:3.3+b1 [6496 B] Get:57 http://deb.debian.org/debian unstable/main amd64 gem2deb amd64 2.2.6 [48.3 kB] Get:58 http://deb.debian.org/debian unstable/main amd64 ruby-thread-safe all 0.3.6-1 [26.4 kB] Get:59 http://deb.debian.org/debian unstable/main amd64 ruby-descendants-tracker all 0.0.4-3 [4696 B] Get:60 http://deb.debian.org/debian unstable/main amd64 ruby-ice-nine all 0.11.2-2 [7712 B] Get:61 http://deb.debian.org/debian unstable/main amd64 ruby-axiom-types all 0.1.1-3 [12.4 kB] Get:62 http://deb.debian.org/debian unstable/main amd64 ruby-dependor all 1.0.1-3 [8352 B] Get:63 http://deb.debian.org/debian unstable/main amd64 ruby-bogus all 0.1.7-1 [35.8 kB] Get:64 http://deb.debian.org/debian unstable/main amd64 ruby-coercible all 1.0.0-3 [12.4 kB] Get:65 http://deb.debian.org/debian unstable/main amd64 ruby-diff-lcs all 1.6.2-1 [29.8 kB] Get:66 http://deb.debian.org/debian unstable/main amd64 ruby-dry-inflector all 0.2.1-1 [9392 B] Get:67 http://deb.debian.org/debian unstable/main amd64 ruby-equalizer all 0.0.11-3 [7424 B] Get:68 http://deb.debian.org/debian unstable/main amd64 ruby-inflecto all 0.0.2-2 [7656 B] Get:69 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [28.5 kB] Get:70 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] Get:71 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [90.2 kB] Get:72 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get:73 http://deb.debian.org/debian unstable/main amd64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Preconfiguring packages ... Fetched 23.5 MB in 0s (57.8 MB/s) Selecting previously unselected package sensible-utils. (Reading database ... 11799 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package openssl. Preparing to unpack .../01-openssl_3.5.4-1_amd64.deb ... Unpacking openssl (3.5.4-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../02-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../03-libmagic-mgc_1%3a5.46-5_amd64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../04-libmagic1t64_1%3a5.46-5_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../05-file_1%3a5.46-5_amd64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../06-gettext-base_0.23.2-1_amd64.deb ... Unpacking gettext-base (0.23.2-1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../07-libuchardet0_0.0.8-2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-2) ... Selecting previously unselected package groff-base. Preparing to unpack .../08-groff-base_1.23.0-10_amd64.deb ... Unpacking groff-base (1.23.0-10) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../09-bsdextrautils_2.41.3-2_amd64.deb ... Unpacking bsdextrautils (2.41.3-2) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../10-libpipeline1_1.5.8-2_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-2) ... Selecting previously unselected package man-db. Preparing to unpack .../11-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../12-m4_1.4.20-2_amd64.deb ... Unpacking m4 (1.4.20-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../13-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../14-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../15-automake_1%3a1.18.1-3_all.deb ... Unpacking automake (1:1.18.1-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../16-autopoint_0.23.2-1_all.deb ... Unpacking autopoint (0.23.2-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../17-libdebhelper-perl_13.29_all.deb ... Unpacking libdebhelper-perl (13.29) ... Selecting previously unselected package libtool. Preparing to unpack .../18-libtool_2.5.4-9_all.deb ... Unpacking libtool (2.5.4-9) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../19-dh-autoreconf_21_all.deb ... Unpacking dh-autoreconf (21) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../20-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../21-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../22-dh-strip-nondeterminism_1.15.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.15.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../23-libelf1t64_0.194-1_amd64.deb ... Unpacking libelf1t64:amd64 (0.194-1) ... Selecting previously unselected package dwz. Preparing to unpack .../24-dwz_0.16-2_amd64.deb ... Unpacking dwz (0.16-2) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../25-libunistring5_1.3-2_amd64.deb ... Unpacking libunistring5:amd64 (1.3-2) ... Selecting previously unselected package libxml2-16:amd64. Preparing to unpack .../26-libxml2-16_2.15.1+dfsg-2+b1_amd64.deb ... Unpacking libxml2-16:amd64 (2.15.1+dfsg-2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../27-gettext_0.23.2-1_amd64.deb ... Unpacking gettext (0.23.2-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../28-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../29-po-debconf_1.0.22_all.deb ... Unpacking po-debconf (1.0.22) ... Selecting previously unselected package debhelper. Preparing to unpack .../30-debhelper_13.29_all.deb ... Unpacking debhelper (13.29) ... Selecting previously unselected package rubygems-integration. Preparing to unpack .../31-rubygems-integration_1.19_all.deb ... Unpacking rubygems-integration (1.19) ... Selecting previously unselected package ruby-csv. Preparing to unpack .../32-ruby-csv_3.3.4-1_all.deb ... Unpacking ruby-csv (3.3.4-1) ... Selecting previously unselected package ruby-did-you-mean. Preparing to unpack .../33-ruby-did-you-mean_1.6.3-2_all.deb ... Unpacking ruby-did-you-mean (1.6.3-2) ... Selecting previously unselected package ruby-net-telnet. Preparing to unpack .../34-ruby-net-telnet_0.2.0-1_all.deb ... Unpacking ruby-net-telnet (0.2.0-1) ... Selecting previously unselected package ruby-ruby2-keywords. Preparing to unpack .../35-ruby-ruby2-keywords_0.0.5-1_all.deb ... Unpacking ruby-ruby2-keywords (0.0.5-1) ... Selecting previously unselected package ruby-webrick. Preparing to unpack .../36-ruby-webrick_1.9.1-1_all.deb ... Unpacking ruby-webrick (1.9.1-1) ... Selecting previously unselected package ruby-xmlrpc. Preparing to unpack .../37-ruby-xmlrpc_0.3.3-2_all.deb ... Unpacking ruby-xmlrpc (0.3.3-2) ... Selecting previously unselected package libffi8:amd64. Preparing to unpack .../38-libffi8_3.5.2-3_amd64.deb ... Unpacking libffi8:amd64 (3.5.2-3) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../39-libyaml-0-2_0.2.5-2+b1_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-2+b1) ... Selecting previously unselected package libruby3.3:amd64. Preparing to unpack .../40-libruby3.3_3.3.8-2_amd64.deb ... Unpacking libruby3.3:amd64 (3.3.8-2) ... Selecting previously unselected package ruby3.3. Preparing to unpack .../41-ruby3.3_3.3.8-2_amd64.deb ... Unpacking ruby3.3 (3.3.8-2) ... Selecting previously unselected package libruby:amd64. Preparing to unpack .../42-libruby_1%3a3.3+b1_amd64.deb ... Unpacking libruby:amd64 (1:3.3+b1) ... Selecting previously unselected package ruby-rubygems. Preparing to unpack .../43-ruby-rubygems_3.6.7-2_all.deb ... Unpacking ruby-rubygems (3.6.7-2) ... Selecting previously unselected package ruby. Preparing to unpack .../44-ruby_1%3a3.3+b1_amd64.deb ... Unpacking ruby (1:3.3+b1) ... Selecting previously unselected package rake. Preparing to unpack .../45-rake_13.2.1-1_all.deb ... Unpacking rake (13.2.1-1) ... Selecting previously unselected package ruby-minitest. Preparing to unpack .../46-ruby-minitest_5.26.1-1_all.deb ... Unpacking ruby-minitest (5.26.1-1) ... Selecting previously unselected package ruby-power-assert. Preparing to unpack .../47-ruby-power-assert_2.0.5-1_all.deb ... Unpacking ruby-power-assert (2.0.5-1) ... Selecting previously unselected package ruby-test-unit. Preparing to unpack .../48-ruby-test-unit_3.6.2-1_all.deb ... Unpacking ruby-test-unit (3.6.2-1) ... Selecting previously unselected package gem2deb-test-runner. Preparing to unpack .../49-gem2deb-test-runner_2.2.6_amd64.deb ... Unpacking gem2deb-test-runner (2.2.6) ... Selecting previously unselected package libgmpxx4ldbl:amd64. Preparing to unpack .../50-libgmpxx4ldbl_2%3a6.3.0+dfsg-5_amd64.deb ... Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-5) ... Selecting previously unselected package libgmp-dev:amd64. Preparing to unpack .../51-libgmp-dev_2%3a6.3.0+dfsg-5_amd64.deb ... Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-5) ... Selecting previously unselected package ruby3.3-dev:amd64. Preparing to unpack .../52-ruby3.3-dev_3.3.8-2_amd64.deb ... Unpacking ruby3.3-dev:amd64 (3.3.8-2) ... Selecting previously unselected package ruby-all-dev:amd64. Preparing to unpack .../53-ruby-all-dev_1%3a3.3+b1_amd64.deb ... Unpacking ruby-all-dev:amd64 (1:3.3+b1) ... Selecting previously unselected package gem2deb. Preparing to unpack .../54-gem2deb_2.2.6_amd64.deb ... Unpacking gem2deb (2.2.6) ... Selecting previously unselected package ruby-atomic:amd64. Preparing to unpack .../55-ruby-atomic_1.1.101-1+rebuild1766546176_amd64.deb ... Unpacking ruby-atomic:amd64 (1.1.101-1+rebuild1766546176) ... Selecting previously unselected package ruby-thread-safe. Preparing to unpack .../56-ruby-thread-safe_0.3.6-1_all.deb ... Unpacking ruby-thread-safe (0.3.6-1) ... Selecting previously unselected package ruby-descendants-tracker. Preparing to unpack .../57-ruby-descendants-tracker_0.0.4-3_all.deb ... Unpacking ruby-descendants-tracker (0.0.4-3) ... Selecting previously unselected package ruby-ice-nine. Preparing to unpack .../58-ruby-ice-nine_0.11.2-2_all.deb ... Unpacking ruby-ice-nine (0.11.2-2) ... Selecting previously unselected package ruby-axiom-types. Preparing to unpack .../59-ruby-axiom-types_0.1.1-3_all.deb ... Unpacking ruby-axiom-types (0.1.1-3) ... Selecting previously unselected package ruby-dependor. Preparing to unpack .../60-ruby-dependor_1.0.1-3_all.deb ... Unpacking ruby-dependor (1.0.1-3) ... Selecting previously unselected package ruby-bogus. Preparing to unpack .../61-ruby-bogus_0.1.7-1_all.deb ... Unpacking ruby-bogus (0.1.7-1) ... Selecting previously unselected package ruby-coercible. Preparing to unpack .../62-ruby-coercible_1.0.0-3_all.deb ... Unpacking ruby-coercible (1.0.0-3) ... Selecting previously unselected package ruby-diff-lcs. Preparing to unpack .../63-ruby-diff-lcs_1.6.2-1_all.deb ... Unpacking ruby-diff-lcs (1.6.2-1) ... Selecting previously unselected package ruby-dry-inflector. Preparing to unpack .../64-ruby-dry-inflector_0.2.1-1_all.deb ... Unpacking ruby-dry-inflector (0.2.1-1) ... Selecting previously unselected package ruby-equalizer. Preparing to unpack .../65-ruby-equalizer_0.0.11-3_all.deb ... Unpacking ruby-equalizer (0.0.11-3) ... Selecting previously unselected package ruby-inflecto. Preparing to unpack .../66-ruby-inflecto_0.0.2-2_all.deb ... Unpacking ruby-inflecto (0.0.2-2) ... Selecting previously unselected package ruby-rspec-support. Preparing to unpack .../67-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... Selecting previously unselected package ruby-rspec-core. Preparing to unpack .../68-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... Selecting previously unselected package ruby-rspec-expectations. Preparing to unpack .../69-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... Selecting previously unselected package ruby-rspec-mocks. Preparing to unpack .../70-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... Selecting previously unselected package ruby-rspec. Preparing to unpack .../71-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... Selecting previously unselected package sbuild-build-depends-main-dummy. Preparing to unpack .../72-sbuild-build-depends-main-dummy_0.invalid.0_amd64.deb ... Unpacking sbuild-build-depends-main-dummy (0.invalid.0) ... Setting up libpipeline1:amd64 (1.5.8-2) ... Setting up ruby-equalizer (0.0.11-3) ... Setting up ruby-ruby2-keywords (0.0.5-1) ... Setting up bsdextrautils (2.41.3-2) ... Setting up ruby-power-assert (2.0.5-1) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-2+b1) ... Setting up libxml2-16:amd64 (2.15.1+dfsg-2+b1) ... Setting up ruby-dry-inflector (0.2.1-1) ... Setting up libdebhelper-perl (13.29) ... Setting up libmagic1t64:amd64 (1:5.46-5) ... Setting up gettext-base (0.23.2-1) ... Setting up m4 (1.4.20-2) ... Setting up file (1:5.46-5) ... Setting up libelf1t64:amd64 (0.194-1) ... Setting up ruby-minitest (5.26.1-1) ... Setting up autotools-dev (20240727.1) ... Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-5) ... Setting up ruby-test-unit (3.6.2-1) ... Setting up ruby-net-telnet (0.2.0-1) ... Setting up ruby-csv (3.3.4-1) ... Setting up libunistring5:amd64 (1.3-2) ... Setting up autopoint (0.23.2-1) ... Setting up autoconf (2.72-3.1) ... Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... Setting up ruby-webrick (1.9.1-1) ... Setting up libffi8:amd64 (3.5.2-3) ... Setting up dwz (0.16-2) ... Setting up sensible-utils (0.0.26) ... Setting up ruby-ice-nine (0.11.2-2) ... Setting up libuchardet0:amd64 (0.0.8-2) ... Setting up ruby-did-you-mean (1.6.3-2) ... Setting up openssl (3.5.4-1) ... Setting up ruby-xmlrpc (0.3.3-2) ... Setting up automake (1:1.18.1-3) ... update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... Setting up gettext (0.23.2-1) ... Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-5) ... Setting up libtool (2.5.4-9) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (21) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up dh-strip-nondeterminism (1.15.0-1) ... Setting up groff-base (1.23.0-10) ... Setting up po-debconf (1.0.22) ... Setting up rubygems-integration (1.19) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.29) ... Setting up libruby3.3:amd64 (3.3.8-2) ... Setting up ruby-rubygems (3.6.7-2) ... Setting up ruby3.3-dev:amd64 (3.3.8-2) ... Setting up ruby3.3 (3.3.8-2) ... Setting up libruby:amd64 (1:3.3+b1) ... Setting up ruby-all-dev:amd64 (1:3.3+b1) ... Setting up ruby (1:3.3+b1) ... Setting up ruby-dependor (1.0.1-3) ... Setting up rake (13.2.1-1) ... Setting up ruby-bogus (0.1.7-1) ... Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... Setting up ruby-diff-lcs (1.6.2-1) ... Setting up ruby-atomic:amd64 (1.1.101-1+rebuild1766546176) ... Setting up ruby-inflecto (0.0.2-2) ... Setting up gem2deb-test-runner (2.2.6) ... Setting up ruby-thread-safe (0.3.6-1) ... Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... Setting up gem2deb (2.2.6) ... Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... Setting up ruby-descendants-tracker (0.0.4-3) ... Setting up ruby-coercible (1.0.0-3) ... Setting up ruby-axiom-types (0.1.1-3) ... Setting up sbuild-build-depends-main-dummy (0.invalid.0) ... Processing triggers for libc-bin (2.42-6) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. +------------------------------------------------------------------------------+ | Check architectures Wed, 24 Dec 2025 22:51:17 +0000 | +------------------------------------------------------------------------------+ Arch check ok (amd64 included in all) +------------------------------------------------------------------------------+ | Build environment Wed, 24 Dec 2025 22:51:17 +0000 | +------------------------------------------------------------------------------+ Kernel: Linux 6.12.57+deb13-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) amd64 (x86_64) Toolchain package versions: binutils_2.45.50.20251209-1 dpkg-dev_1.23.3 g++-15_15.2.0-12 gcc-15_15.2.0-12 libc6-dev_2.42-6 libstdc++-15-dev_15.2.0-12 libstdc++6_15.2.0-12 linux-libc-dev_6.17.13-1 Package versions: apt_3.1.12 autoconf_2.72-3.1 automake_1:1.18.1-3 autopoint_0.23.2-1 autotools-dev_20240727.1 base-files_14 base-passwd_3.6.8 bash_5.3-1 binutils_2.45.50.20251209-1 binutils-common_2.45.50.20251209-1 binutils-x86-64-linux-gnu_2.45.50.20251209-1 bsdextrautils_2.41.3-2 build-essential_12.12 bzip2_1.0.8-6 ca-certificates_20250419 coreutils_9.7-3 cpp_4:15.2.0-4 cpp-15_15.2.0-12 cpp-15-x86-64-linux-gnu_15.2.0-12 cpp-x86-64-linux-gnu_4:15.2.0-4 dash_0.5.12-12 debconf_1.5.91 debhelper_13.29 debian-archive-keyring_2025.1 debianutils_5.23.2 dh-autoreconf_21 dh-strip-nondeterminism_1.15.0-1 diffutils_1:3.12-1 dpkg_1.23.3 dpkg-dev_1.23.3 dwz_0.16-2 file_1:5.46-5 findutils_4.10.0-3 g++_4:15.2.0-4 g++-15_15.2.0-12 g++-15-x86-64-linux-gnu_15.2.0-12 g++-x86-64-linux-gnu_4:15.2.0-4 gcc_4:15.2.0-4 gcc-15_15.2.0-12 gcc-15-base_15.2.0-12 gcc-15-x86-64-linux-gnu_15.2.0-12 gcc-x86-64-linux-gnu_4:15.2.0-4 gem2deb_2.2.6 gem2deb-test-runner_2.2.6 gettext_0.23.2-1 gettext-base_0.23.2-1 grep_3.12-1 groff-base_1.23.0-10 gzip_1.13-1 hostname_3.25 init-system-helpers_1.69 intltool-debian_0.35.0+20060710.6 libacl1_2.3.2-2+b1 libapt-pkg7.0_3.1.12 libarchive-zip-perl_1.68-1 libasan8_15.2.0-12 libatomic1_15.2.0-12 libattr1_1:2.5.2-3 libaudit-common_1:4.1.2-1 libaudit1_1:4.1.2-1+b1 libbinutils_2.45.50.20251209-1 libblkid1_2.41.3-2 libbz2-1.0_1.0.8-6 libc-bin_2.42-6 libc-dev-bin_2.42-6 libc-gconv-modules-extra_2.42-6 libc6_2.42-6 libc6-dev_2.42-6 libcap-ng0_0.8.5-4+b2 libcap2_1:2.75-10+b5 libcc1-0_15.2.0-12 libcrypt-dev_1:4.5.1-1 libcrypt1_1:4.5.1-1 libctf-nobfd0_2.45.50.20251209-1 libctf0_2.45.50.20251209-1 libdb5.3t64_5.3.28+dfsg2-11 libdebconfclient0_0.282+b2 libdebhelper-perl_13.29 libdpkg-perl_1.23.3 libelf1t64_0.194-1 libffi8_3.5.2-3 libfile-stripnondeterminism-perl_1.15.0-1 libgcc-15-dev_15.2.0-12 libgcc-s1_15.2.0-12 libgdbm-compat4t64_1.26-1 libgdbm6t64_1.26-1 libgmp-dev_2:6.3.0+dfsg-5 libgmp10_2:6.3.0+dfsg-5 libgmpxx4ldbl_2:6.3.0+dfsg-5 libgomp1_15.2.0-12 libgprofng0_2.45.50.20251209-1 libhogweed6t64_3.10.2-1 libhwasan0_15.2.0-12 libisl23_0.27-1 libitm1_15.2.0-12 libjansson4_2.14-2+b4 liblsan0_15.2.0-12 liblz4-1_1.10.0-6 liblzma5_5.8.1-2 libmagic-mgc_1:5.46-5 libmagic1t64_1:5.46-5 libmd0_1.1.0-2+b1 libmount1_2.41.3-2 libmpc3_1.3.1-2 libmpfr6_4.2.2-2 libnettle8t64_3.10.2-1 libpam-modules_1.7.0-5 libpam-modules-bin_1.7.0-5 libpam-runtime_1.7.0-5 libpam0g_1.7.0-5 libpcre2-8-0_10.46-1 libperl5.40_5.40.1-7 libpipeline1_1.5.8-2 libquadmath0_15.2.0-12 libruby_1:3.3+b1 libruby3.3_3.3.8-2 libseccomp2_2.6.0-2+b1 libselinux1_3.9-4+rebuild1766544377 libsframe2_2.45.50.20251209-1 libsmartcols1_2.41.3-2 libssl3t64_3.5.4-1 libstdc++-15-dev_15.2.0-12 libstdc++6_15.2.0-12 libsystemd0_259-1 libtinfo6_6.5+20251123-1 libtool_2.5.4-9 libtsan2_15.2.0-12 libubsan1_15.2.0-12 libuchardet0_0.0.8-2 libudev1_259-1 libunistring5_1.3-2 libuuid1_2.41.3-2 libxml2-16_2.15.1+dfsg-2+b1 libxxhash0_0.8.3-2 libyaml-0-2_0.2.5-2+b1 libzstd1_1.5.7+dfsg-2 linux-libc-dev_6.17.13-1 m4_1.4.20-2 make_4.4.1-3 man-db_2.13.1-1 mawk_1.3.4.20250131-2 ncurses-base_6.5+20251123-1 ncurses-bin_6.5+20251123-1 openssl_3.5.4-1 openssl-provider-legacy_3.5.4-1 patch_2.8-2 perl_5.40.1-7 perl-base_5.40.1-7 perl-modules-5.40_5.40.1-7 po-debconf_1.0.22 rake_13.2.1-1 rpcsvc-proto_1.4.3-1 ruby_1:3.3+b1 ruby-all-dev_1:3.3+b1 ruby-atomic_1.1.101-1+rebuild1766546176 ruby-axiom-types_0.1.1-3 ruby-bogus_0.1.7-1 ruby-coercible_1.0.0-3 ruby-csv_3.3.4-1 ruby-dependor_1.0.1-3 ruby-descendants-tracker_0.0.4-3 ruby-did-you-mean_1.6.3-2 ruby-diff-lcs_1.6.2-1 ruby-dry-inflector_0.2.1-1 ruby-equalizer_0.0.11-3 ruby-ice-nine_0.11.2-2 ruby-inflecto_0.0.2-2 ruby-minitest_5.26.1-1 ruby-net-telnet_0.2.0-1 ruby-power-assert_2.0.5-1 ruby-rspec_3.13.0c0e0m0s1-2 ruby-rspec-core_3.13.0c0e0m0s1-2 ruby-rspec-expectations_3.13.0c0e0m0s1-2 ruby-rspec-mocks_3.13.0c0e0m0s1-2 ruby-rspec-support_3.13.0c0e0m0s1-2 ruby-ruby2-keywords_0.0.5-1 ruby-rubygems_3.6.7-2 ruby-test-unit_3.6.2-1 ruby-thread-safe_0.3.6-1 ruby-webrick_1.9.1-1 ruby-xmlrpc_0.3.3-2 ruby3.3_3.3.8-2 ruby3.3-dev_3.3.8-2 rubygems-integration_1.19 sbuild-build-depends-main-dummy_0.invalid.0 sed_4.9-2 sensible-utils_0.0.26 sqv_1.3.0-5 sysvinit-utils_3.15-6 tar_1.35+dfsg-3.1 util-linux_2.41.3-2 xz-utils_5.8.1-2 zlib1g_1:1.3.dfsg+really1.3.1-1+b2 +------------------------------------------------------------------------------+ | Build Wed, 24 Dec 2025 22:51:17 +0000 | +------------------------------------------------------------------------------+ Unpack source ------------- Format: 3.0 (quilt) Source: ruby-virtus Binary: ruby-virtus Architecture: all Version: 2.0.0-2+rebuild1766616649 Maintainer: Debian Ruby Team Uploaders: Jonas Genannt Homepage: https://github.com/solnic/virtus Standards-Version: 4.6.2 Vcs-Browser: https://salsa.debian.org/ruby-team/ruby-virtus Vcs-Git: https://salsa.debian.org/ruby-team/ruby-virtus.git Testsuite: autopkgtest-pkg-ruby Build-Depends: gem2deb, ruby-axiom-types, ruby-bogus, ruby-coercible, ruby-descendants-tracker, ruby-dry-inflector, ruby-equalizer, ruby-inflecto, ruby-rspec, debhelper-compat (= 13) Package-List: ruby-virtus deb ruby optional arch=all Checksums-Sha1: 6f2bd39375727f2b37de75dceffe2d8a6c2c01e9 46928 ruby-virtus_2.0.0.orig.tar.gz f3e7a02421e6faaa67c71d0d5d2f8a9893a8ad6c 4092 ruby-virtus_2.0.0-2+rebuild1766616649.debian.tar.xz Checksums-Sha256: 35bcd56d0ea856d9f083f9d51e648f5e83cbff691d04d7e3733b61eb61cfbf4d 46928 ruby-virtus_2.0.0.orig.tar.gz d1f7dd792c3347237e1ce4df8cbd1bd8b4eddc095bc0d8f1cee9f667b7ea4ab0 4092 ruby-virtus_2.0.0-2+rebuild1766616649.debian.tar.xz Files: da24b071461b13662815bb28f0261262 46928 ruby-virtus_2.0.0.orig.tar.gz 372296df2b4ed0d08955e99838d970e6 4092 ruby-virtus_2.0.0-2+rebuild1766616649.debian.tar.xz dpkg-source: warning: extracting unsigned source package (ruby-virtus_2.0.0-2+rebuild1766616649.dsc) dpkg-source: info: extracting ruby-virtus in /build/reproducible-path/ruby-virtus-2.0.0 dpkg-source: info: unpacking ruby-virtus_2.0.0.orig.tar.gz dpkg-source: info: unpacking ruby-virtus_2.0.0-2+rebuild1766616649.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0001-Do-not-depend-on-simplecov-to-run-tests.patch dpkg-source: info: applying 0002-Skip-tests-failing-with-ruby3.1.patch dpkg-source: info: applying 0003-Replace-deprecated-Fixnum-by-Integer-in-tests.patch Check disk space ---------------- Sufficient free space for build +------------------------------------------------------------------------------+ | Starting Timed Build Commands Wed, 24 Dec 2025 22:51:18 +0000 | +------------------------------------------------------------------------------+ apt-get update -q && apt-get install -t experimental -qy ruby-all-dev --------------------------------------------------------------------- Ign:1 copy:/build/reproducible-path/resolver-P6QmEp/apt_archive ./ InRelease Ign:2 file:/mass-rebuild ./ InRelease Get:3 file:/mass-rebuild ./ Release [1617 B] Get:4 copy:/build/reproducible-path/resolver-P6QmEp/apt_archive ./ Release [609 B] Get:3 file:/mass-rebuild ./ Release [1617 B] Ign:5 copy:/build/reproducible-path/resolver-P6QmEp/apt_archive ./ Release.gpg Ign:6 file:/mass-rebuild ./ Release.gpg Hit:7 http://deb.debian.org/debian unstable InRelease Hit:8 http://deb.debian.org/debian experimental InRelease Hit:9 http://incoming.debian.org/debian-buildd buildd-unstable InRelease Fetched 609 B in 0s (1892 B/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Solving dependencies... The following additional packages will be installed: libruby3.4 ruby3.4 ruby3.4-dev Recommended packages: ruby-sdbm fonts-lato libjs-jquery ruby3.4-doc The following NEW packages will be installed: libruby3.4 ruby3.4 ruby3.4-dev The following packages will be upgraded: ruby-all-dev 1 upgraded, 3 newly installed, 0 to remove and 26 not upgraded. Need to get 8784 kB of archives. After this operation, 36.3 MB of additional disk space will be used. Get:1 http://deb.debian.org/debian experimental/main amd64 libruby3.4 amd64 3.4.5-1~exp1 [6731 kB] Get:2 http://deb.debian.org/debian experimental/main amd64 ruby3.4 amd64 3.4.5-1~exp1 [920 kB] Get:3 http://deb.debian.org/debian experimental/main amd64 ruby3.4-dev amd64 3.4.5-1~exp1 [1127 kB] Get:4 http://deb.debian.org/debian experimental/main amd64 ruby-all-dev amd64 1:3.3+support3.4~0 [6292 B] debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Fetched 8784 kB in 0s (89.2 MB/s) Selecting previously unselected package libruby3.4:amd64. (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 ... 19096 files and directories currently installed.) Preparing to unpack .../libruby3.4_3.4.5-1~exp1_amd64.deb ... Unpacking libruby3.4:amd64 (3.4.5-1~exp1) ... Selecting previously unselected package ruby3.4. Preparing to unpack .../ruby3.4_3.4.5-1~exp1_amd64.deb ... Unpacking ruby3.4 (3.4.5-1~exp1) ... Selecting previously unselected package ruby3.4-dev:amd64. Preparing to unpack .../ruby3.4-dev_3.4.5-1~exp1_amd64.deb ... Unpacking ruby3.4-dev:amd64 (3.4.5-1~exp1) ... Preparing to unpack .../ruby-all-dev_1%3a3.3+support3.4~0_amd64.deb ... Unpacking ruby-all-dev:amd64 (1:3.3+support3.4~0) over (1:3.3+b1) ... Setting up libruby3.4:amd64 (3.4.5-1~exp1) ... Setting up ruby3.4 (3.4.5-1~exp1) ... Setting up ruby3.4-dev:amd64 (3.4.5-1~exp1) ... Setting up ruby-all-dev:amd64 (1:3.3+support3.4~0) ... Processing triggers for man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Processing triggers for libc-bin (2.42-6) ... I: Finished running 'apt-get update -q && apt-get install -t experimental -qy ruby-all-dev'. Finished processing commands. -------------------------------------------------------------------------------- User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf HOME=/sbuild-nonexistent LANG=C.UTF-8 LC_ADDRESS=pt_BR.UTF-8 LC_ALL=C.UTF-8 LC_IDENTIFICATION=pt_BR.UTF-8 LC_MEASUREMENT=pt_BR.UTF-8 LC_MONETARY=pt_BR.UTF-8 LC_NAME=pt_BR.UTF-8 LC_NUMERIC=pt_BR.UTF-8 LC_PAPER=pt_BR.UTF-8 LC_TELEPHONE=pt_BR.UTF-8 LC_TIME=pt_BR.UTF-8 LOGNAME=sbuild PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SHELL=/bin/sh USER=sbuild dpkg-buildpackage ----------------- Command: dpkg-buildpackage --sanitize-env -us -uc -mAutomated rebuild -b dpkg-buildpackage: info: source package ruby-virtus dpkg-buildpackage: info: source version 2.0.0-2+rebuild1766616649 dpkg-buildpackage: info: source distribution UNRELEASED dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --buildsystem=ruby --with ruby dh_auto_clean -O--buildsystem=ruby dh_ruby --clean dh_autoreconf_clean -O--buildsystem=ruby dh_clean -O--buildsystem=ruby debian/rules binary dh binary --buildsystem=ruby --with ruby dh_update_autotools_config -O--buildsystem=ruby dh_autoreconf -O--buildsystem=ruby dh_auto_configure -O--buildsystem=ruby dh_ruby --configure dh_auto_build -O--buildsystem=ruby dh_ruby --build dh_auto_test -O--buildsystem=ruby dh_ruby --test create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=ruby dh_prep -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-virtus/ -O--buildsystem=ruby dh_ruby --install /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus ┌──────────────────────────────────────────────────────────────────────────────┐ │ ruby-virtus: Install files │ └──────────────────────────────────────────────────────────────────────────────┘ install -d /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/accessor.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/accessor.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/boolean.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/boolean.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/builder.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/builder.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/coercer.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/coercer.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/coercible.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/coercible.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/collection.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/collection.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/default_value/from_callable.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/default_value/from_callable.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/default_value/from_clonable.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/default_value/from_clonable.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/default_value/from_symbol.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/default_value/from_symbol.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/default_value.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/default_value.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/embedded_value.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/embedded_value.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/hash.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/hash.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/lazy_default.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/lazy_default.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/nullify_blank.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/nullify_blank.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute/strict.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute/strict.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/attribute_set.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/attribute_set.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/builder/hook_context.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/builder/hook_context.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/builder.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/builder.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/class_inclusions.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/class_inclusions.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/class_methods.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/class_methods.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/coercer.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/coercer.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/configuration.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/configuration.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/const_missing_extensions.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/const_missing_extensions.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/extensions.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/extensions.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/instance_methods.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/instance_methods.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/model.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/model.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/module_extensions.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/module_extensions.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/support/equalizer.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/support/equalizer.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/support/options.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/support/options.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/support/type_lookup.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/support/type_lookup.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/value_object.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/value_object.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus/version.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus/version.rb install -D -m644 /build/reproducible-path/ruby-virtus-2.0.0/lib/virtus.rb /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby/virtus.rb ┌──────────────────────────────────────────────────────────────────────────────┐ │ ruby-virtus: Install Rubygems integration metadata │ └──────────────────────────────────────────────────────────────────────────────┘ generating gemspec at /build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/share/rubygems-integration/all/specifications/virtus-2.0.0.gemspec /usr/bin/ruby3.3 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby3.3 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=/build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby:. GEM_PATH=/build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-virtus-2.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 59321 Virtus::AttributeSet#define_reader_method with protected visibility defines protected writer with public visibility defines public writer with private visibility defines public writer Virtus::Attribute#coerce when strict mode is turned off uses coercer to coerce the input value when the input is an empty String when both nullify_blank and strict are turned on does not raises an coercion error when nullify_blank is turned on returns the ouput if it was coerced returns nil when strict mode is turned on raises error when input was not coerced uses coercer to coerce the input value when attribute is not required and input is nil returns nil when attribute is required and input is nil returns raises error Virtus#[] is expected to eq "foo" Virtus.new without attribute hash sets default values for non-lazy attributes skips setting default values for lazy attributes with attribute hash sets attributes with public writers skips setting attributes with private writers Virtus::Attribute#set_default_value with a non-clonable object #instance_variables is expected to include :@test #test is expected to equal true with a nil #instance_variables is expected to include :@test #test is expected to equal nil with a symbol when it is a method name when method is private #test is expected to eq "hello world" when method is public #test is expected to eq "hello world" when it is not a method name #test is expected to eq "hello_world" with a callable #test is expected to eq "model-test" with a clonable #test is expected to eq [] #test is expected not to equal Virtus::Attribute::EmbeddedValue#coerce when primitive is OpenStruct when input is a model instance is expected to equal # when input is nil is expected to equal nil when input is an attribute hash is expected to be an instance of OpenStruct #name is expected to eql "Piotr" #age is expected to eql 30 when :strict mode is enabled when input is coercible is expected to eql # when input is not coercible raises error when primitive is Struct when input is an attribute hash is expected to be an instance of # #age is expected to eql 30 #name is expected to eql "Piotr" when input is nil is expected to equal nil when input is a model instance is expected to equal # I can create a Virtus module including a custom module with coercion enabled including a custom module with strict enabled including a custom module with coercion disabled including a custom module with nullify blank enabled User is expected to respond to #addresses is expected to respond to #addresses= is expected to respond to #phone_numbers is expected to respond to #phone_numbers= #phone_numbers first entry is expected to be an instance of PhoneNumber #number is expected to eql "212-555-1212" last entry is expected to be an instance of PhoneNumber #number is expected to eql "919-444-3265" #addresses is expected to be an instance of Address #region is expected to eql "DC" #locality is expected to eql "Anytown" #address is expected to eql "1234 Any St." #postal_code is expected to eql "21234" Virtus.model when constructor is disabled does not accept attribute hash in the constructor when :required is set with a class has attributes with :required option inherited from module with an instance has attributes with strict set to true when mass-assignment is disabled with a class is expected not to respond to #attributes is expected not to respond to #attributes= with an instance is expected not to respond to #attributes= is expected not to respond to #attributes with default configuration with a class defaults to Object for attribute type behaves like a model with constructor accepts attribute hash behaves like a model with strict mode turned off has attributes with strict set to false with a sub-class has its own attributes behaves like a model with mass-assignment accepts attribute hash behaves like a model with strict mode turned off has attributes with strict set to false behaves like a model with constructor accepts attribute hash behaves like a model with mass-assignment accepts attribute hash with an instance behaves like a model with mass-assignment accepts attribute hash behaves like a model with strict mode turned off has attributes with strict set to false when strict mode is enabled with a class has attributes with strict set to true with an instance has attributes with strict set to true custom attributes allows you to define custom attributes allows you to define coercion methods Virtus::AttributeSet#define_writer_method with private visibility defines private writer with protected visibility defines protected writer with public visibility defines public writer Virtus::Attribute::Boolean#coerce when strict is turned on with a coercible input is expected to equal true with a non-coercible input raises coercion error when strict is turned off with a falsy value is expected to equal false with a truthy value is expected to equal true Package #meta_info is expected to have key "to" has 2 keys should be coerced to [String => String] format is expected to have key "from" #dimensions is expected to have key :length is expected to have key :height has 3 keys is expected to have key :width should be coerced to [Symbol => Float] format Virtus::Attribute.coerce with a value sets the value and return self when it is set to true is expected to equal true when it is set to false is expected to equal false Injectible coercer accepts an email hash coerces an embedded string Virtus::Attribute.build when type is a symbol of an existing class constant behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute #type is expected to equal Axiom::Types::String (String) when type is a range #type is expected to equal Axiom::Types::Object (Enumerable) behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when type is a string #type is expected to equal Axiom::Types::Integer (Integer) behaves like a valid attribute instance is expected to be an instance of Virtus::Attribute is expected to be frozen when options specify strict mode is expected to be strict behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when coercion is turned off in options is expected not to be coercible behaves like a valid attribute instance is expected to be an instance of Virtus::Attribute is expected to be frozen when options specify nullify blank mode is expected to be nullify blank behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when options specify writer visibility is expected not to be public writer is expected to be public reader behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when name is passed as a string #name is expected to equal :something when custom attribute class exists for a given array with member coercion defined is expected to be an instance of # #type is expected to be < Axiom::Types::Collection when options specify reader visibility is expected to be public writer is expected not to be public reader behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when options specify lazy accessor is expected to be lazy behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute without options sets up a coercer is expected to be coercible is expected to be public reader is expected to be public writer is expected not to be lazy behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when custom collection-like attribute class exists for a given enumerable primitive is expected to be an instance of # #type is expected to be < Axiom::Types::Collection when type is an axiom type behaves like a valid attribute instance is expected to be an instance of Virtus::Attribute is expected to be frozen #type is expected to equal Axiom::Types::Integer (Integer) when custom attribute class exists for a given primitive is expected to be an instance of # #type is expected to equal Axiom::Types::Object (BasicObject) Virtus::ValueObject initialization sets the attribute values provided to Class.new #inspect includes the class name and attribute values equality #hash returns the same value for different objects with the same state returns different values for different objects with different state #== returns false for different objects with different state returns true for different objects with the same state #eql? returns true for different objects with the same state returns false for different objects with different state #equal? returns false for different objects with different state returns false for different objects with the same state writer visibility attempts to call attribute writer methods raises NameError attributes are configured for private writers writer methods are set to private default values without a default the value is nil you can set defaults for private attributes you can reset attribute to its default can be supplied with the :default option you can pass a 'callable-object' to the :default option a Hash without a default the value is an empty Hash a Set without a default the value is an empty Set an Array without a default the value is an empty Array a ValueObject does not duplicate the ValueObject Virtus::Attribute::Collection custom subclass when primitive is not set on the attribute subclass #primitive is expected to equal # when primitive is set on the attribute subclass #primitive is expected to equal # Virtus::Attribute#set is expected to equal "Jane Doe" without coercion is expected to change `instance.test` to "Jane Doe" with coercion is expected to change `instance.test` to "Jane Doe" Virtus::Attribute#coercible? when :coerce is set to true is expected to equal true when :coerce is set to false is expected to equal false Virtus::AttributeSet#reset when the parent has attributes that are not duplicates is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> and #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> #to_set is expected to eq #:public, :strict=>...lue value=nil>, :coercer=>#}>}> when the parent is nil is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> includes changes from the parent when the parent has attributes that are duplicates is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> #to_set is expected to eq #:public, :strict=>...lue value=nil>, :coercer=>#}>}> when the parent has no attributes is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> #to_set is expected to eq #:public, :strict=>...lue value=nil>, :coercer=>#}>}> when the parent has changed is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> and #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> includes changes from the parent Virtus::Attribute::EmbeddedValue.build when type includes Virtus is expected to be an instance of Virtus::Attribute::EmbeddedValue is expected to be frozen #coercer is expected to be an instance of Virtus::Attribute::EmbeddedValue::FromOpenStruct when type is OpenStruct is expected to be an instance of Virtus::Attribute::EmbeddedValue is expected to be frozen #coercer is expected to be an instance of Virtus::Attribute::EmbeddedValue::FromOpenStruct when type is an OpenStruct subclass is expected to be frozen is expected to be an instance of Virtus::Attribute::EmbeddedValue #coercer is expected to be an instance of Virtus::Attribute::EmbeddedValue::FromOpenStruct when type is a Virtus.model is expected to be an instance of Virtus::Attribute::EmbeddedValue is expected to be frozen #coercer is expected to be an instance of Virtus::Attribute::EmbeddedValue::FromOpenStruct when type is Struct is expected to be frozen is expected to be an instance of Virtus::Attribute::EmbeddedValue #coercer is expected to be an instance of Virtus::Attribute::EmbeddedValue::FromStruct Virtus#attribute allows specifying attribute without type allows :attributes as an attribute name when mass-assignment is not included raises error when :name is a reserved name on an instance returns self raises error when :name is a reserved name on a class using custom module is expected to respond to #test is expected to respond to #test= writes and reads attributes with a class when type is "Boolean" behaves like a class with boolean attribute defines reader and writer defines predicate method when type is Decimal maps type to the corresponding axiom type when type is Boolean behaves like a class with boolean attribute defines predicate method defines reader and writer when type is Axiom::Types::Boolean behaves like a class with boolean attribute defines predicate method (PENDING: this will be fixed once Attribute::Boolean subclass is gone) defines reader and writer (PENDING: this will be fixed once Attribute::Boolean subclass is gone) when type is :Boolean with a subclass behaves like a class with boolean attribute defines reader and writer defines predicate method gets attributes from the parent class behaves like a class with boolean attribute defines predicate method defines reader and writer with a module included in the class adds attributes from the module to a class that includes it behaves like an object with string attribute is expected to respond to #test= is expected to respond to #test can write and read the attribute included in the class behaves like an object with string attribute can write and read the attribute is expected to respond to #test= is expected to respond to #test with an instance behaves like an object with string attribute is expected to respond to #test can write and read the attribute is expected to respond to #test= Virtus::Attribute::Collection#coerce when input is nil returns nil when input is an array when member type is a hash with key/value coercion coerces members when member type is an EV coerces members when member type is a primitive uses coercer to coerce members Virtus.module with a model instance provides attributes for the instance behaves like an object extended with virtus module with mass assignment is turned off skips including mass assignment behaves like a valid virtus object reads and writes attribute with default configuration sets defaults behaves like a valid virtus object reads and writes attribute with coercion turned off builds non-coercible attributes behaves like a valid virtus object reads and writes attribute with constructor turned off skips including constructor behaves like a valid virtus object reads and writes attribute with a class provides attributes for the model defaults to Object for attribute type behaves like an object extended with virtus module with constructor turned off skips including constructor behaves like a valid virtus object reads and writes attribute with mass assignment is turned off skips including mass assignment behaves like a valid virtus object reads and writes attribute with default configuration sets defaults behaves like a valid virtus object reads and writes attribute with coercion turned off builds non-coercible attributes behaves like a valid virtus object reads and writes attribute with another module provides attributes for the model behaves like an object extended with virtus module with constructor turned off skips including constructor behaves like a valid virtus object reads and writes attribute with mass assignment is turned off skips including mass assignment behaves like a valid virtus object reads and writes attribute with coercion turned off builds non-coercible attributes behaves like a valid virtus object reads and writes attribute with default configuration sets defaults behaves like a valid virtus object reads and writes attribute with multiple other modules mixed into it provides attributes for the model from all modules includes the attributes from all modules as a peer to another module within a class includes the attributes from both modules provides attributes for the model from both modules Virtus#freeze is expected to be frozen does not change default attributes that have been explicitly set does not change dynamic default values #age is expected to equal 30 #name is expected to eql "foo" Virtus::AttributeSet#merge with a duplicate attribute replaces the original attribute object is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> with a new attribute is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> adds an attribute Virtus::Attribute::Boolean#value_coerced? when input is not coerced is expected to equal false when input is false is expected to equal true when input is true is expected to equal true custom collection attributes with an array subclass behaves like a collection coerces an array of attribute hashes defaults to an empty collection can be used as Virtus attributes coerces its members coerces nil coerces an empty array with an enumerable behaves like a collection coerces nil can be used as Virtus attributes coerces its members coerces an array of attribute hashes defaults to an empty collection coerces an empty array Virtus::AttributeSet#[] is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> allows indexed access to attributes by the string representation of their name Virtus::Attribute::Collection#value_coerced? when input has correctly typed members is expected to equal true when input has incorrectly typed members is expected to equal false when the collection type is incorrect is expected to equal false when the input is empty is expected to equal true Virtus::Attribute#value_coerced? when input is not coerced is expected to equal false when input is coerced is expected to equal true Virtus::Attribute#get with :lazy is set to false is expected to equal "Jane Doe" with :lazy is set to true sets default only on first access is expected to eql "Jane Doe" Inheritance inherits model from the base class sets correct attributes on the descendant classes overriding virtus behavior overriding an attribute getter super can be used to access the getter defined by virtus calls the defined getter overriding an attribute setter calls the defined setter super can be used to access the setter defined by virtus Virtus::Attribute#rename is expected not to equal #:public, :strict=>true, :r...Value value=nil>, :coercer=>#}> is expected to be strict #name is expected to equal :bar Virtus::Attribute#required? when required option is true is expected to equal true when required option is false is expected to equal false Using Struct as an embedded value attribute initialize a struct object with correct attributes I can extend objects defining attributes on an object Virtus::AttributeSet#<< with a duplicate attribute is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> replaces the original attribute object with a new attribute indexes the new attribute under the string version of its #name property is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> adds an attribute indexes the new attribute under its #name property Virtus::AttributeSet#each with a block when the parent has no attributes is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> yields the expected attributes when the parent has attributes that are not duplicates is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> and #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> yields the expected attributes when the parent has attributes that are duplicates is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> yields the expected attributes with no block returns an enumerator when block is not provided yields the expected attributes Adding attribute called 'attributes' when mass assignment is disabled allows model to use `attributes` attribute doesn't accept `attributes` key in initializer Virtus#set_default_attributes! is expected to equal #<#:0x00007f4fea4bbcc0 @age=30, @name="foo"> #name is expected to eql "foo" #age is expected to equal 30 Virtus instance level attributes adding an attribute allows setting the attribute value on the instance Virtus::Attribute::Hash.build when type is Hash sets default key type sets default value type is expected to be an instance of Virtus::Attribute::Hash when type is Hash[Virtus::Attribute::Hash => Virtus::Attribute::Boolean] is expected to be an instance of Virtus::Attribute::Hash sets key type sets value type when type is Hash[Struct.new(:id) => Integer] is expected to be an instance of Virtus::Attribute::Hash sets value type sets key type when strict mode is used sets the strict mode for key/value types when type is Hash[String => Integer, Integer => String] is expected to raise ArgumentError with "more than one [key => value] pair in `{String=>Integer, :Integer=>:String}`" when type is Hash[String => Struct.new(:id)] sets value type sets key type is expected to be an instance of Virtus::Attribute::Hash when type is Hash[String => Integer] sets value type sets key type is expected to be an instance of Virtus::Attribute::Hash I can define attributes within a module including a module with attributes into an instance including a module with attributes into a class virtus attribute definitions the constructor accepts a hash for mass-assignment Boolean attributes have a predicate method virtus creates accessor methods with attributes #to_h returns the object's attributes as a hash #to_hash returns the object's attributes as a hash #attributes returns the object's attributes as a hash inheritance lets you add attributes to the subclass at runtime inherits all the attributes from the base class lets you add attributes to the base class at runtime Virtus.config provides global configuration mass assignment with accessors works uppon instantiation can be set with #attributes= respects accessor visibility Virtus#[]= is expected to change `object.test` from nil to "foo" Virtus::AttributeSet#[]= with a duplicate attribute replaces the original attribute object allows #[] to access the attribute with a symbol is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> allows #[] to access the attribute with a string allows #reset to track overridden attributes with a new attribute allows #reset to track overridden attributes is expected to equal #:public, :strict=>false, :...Value value=nil>, :coercer=>#}> adds an attribute allows #[] to access the attribute with a string allows #[] to access the attribute with a symbol Defining a ValueObject with a custom constructor initialize a value object attribute with correct attributes Virtus::Attribute#== (defined by including Virtus::Equalizer) returns true when attributes have same type and options returns false when attributes have different type returns false when attributes have different options Virtus.finalize it finalizes key type for a hash attribute it finalizes member type for a collection attribute sets attributes that don't require finalization it finalizes value type for a hash attribute automatically resolves constant when it is already available it finalizes type for an EV attribute Virtus::Attribute.build when strict mode is used sets strict mode for member type when type is Array sets default member type behaves like a valid collection attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute::Collection when type is Array[Virtus::Attribute::Boolean] sets member type behaves like a valid collection attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute::Collection when type is Array[Float] sets member type behaves like a valid collection attribute instance is expected to be an instance of Virtus::Attribute::Collection is expected to be frozen when type is Set[Float] sets member type behaves like a valid collection attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute::Collection when type is an Enumerable behaves like a valid collection attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute::Collection when type is a custom collection instance sets member type behaves like a valid collection attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute::Collection when type is Set sets default member type behaves like a valid collection attribute instance is expected to be an instance of Virtus::Attribute::Collection is expected to be frozen when type is Array[String, Integer] is expected to raise NotImplementedError with "build SumType from list of types ([String, Integer])" when type is Array subclass behaves like a valid collection attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute::Collection Virtus::ValueObject using new values {} block with mass-assignment behaves like a valid value object with mass-assignment turned on disallows mass-assignment with a model subclass behaves like a valid value object sets private writers for additional values defines #inspect defines #hash sets private writers defines #== allows to construct new values using #with defines valid #== for a subclass disallows cloning defines #eql? #id is expected to equal 1 #email is expected to eql "jane@doe.com" #name is expected to eql "Jane Doe" behaves like a valid value object defines #inspect defines #eql? defines #== defines #hash sets private writers allows to construct new values using #with disallows cloning #name is expected to eql "Jane Doe" #id is expected to equal 1 without mass-assignment behaves like a valid value object allows to construct new values using #with defines #eql? sets private writers defines #hash defines #== disallows cloning defines #inspect #id is expected to equal 1 #name is expected to eql "Jane Doe" using deprecated inclusion behaves like a valid value object defines #inspect disallows cloning defines #hash allows to construct new values using #with defines #== defines #eql? sets private writers #id is expected to equal 1 #name is expected to eql "Jane Doe" Using required attributes raises coercion error when required attribute is nil does not raise coercion error when not required attribute is nil Virtus::Attribute#lazy? when :lazy is set to false is expected to equal false when :lazy is set to true is expected to equal true Virtus#attributes with an instance behaves like attribute hash includes all attributes with a class behaves like attribute hash includes all attributes embedded values #attributes returns instances of the embedded values allows you to pass a hash for the embedded value Virtus::Attribute::Hash#coerce when input is coercible to hash is expected to eq {:hello=>"World"} when input is not coercible to hash is expected to equal "not really a hash" when input is a hash when key type is an array and value type is another hash coerces keys and values when key/value types are EVs coerces keys and values when key/value types are primitives uses coercer to coerce key and value Virtus::Attribute#defined? when the attribute value has been defined is expected to equal true when the attribute value has not been defined is expected to equal false Virtus#attributes= with a class raises when attributes is not hash-like object (PENDING: Temporarily skipped with xit) behaves like mass-assignment skips writing unknown attributes allows writing known attributes with an instance behaves like mass-assignment allows writing known attributes skips writing unknown attributes Pending: (Failures listed here are expected and do not affect your suite's status) 1) Virtus#attribute with a class when type is Axiom::Types::Boolean behaves like a class with boolean attribute defines predicate method # this will be fixed once Attribute::Boolean subclass is gone Failure/Error: expect(object).to_not be_test expected # to respond to `test?` Shared Example Group: "a class with boolean attribute" called from ./spec/unit/virtus/attribute_spec.rb:112 # ./spec/unit/virtus/attribute_spec.rb:21:in `block (3 levels) in ' 2) Virtus#attribute with a class when type is Axiom::Types::Boolean behaves like a class with boolean attribute defines reader and writer # this will be fixed once Attribute::Boolean subclass is gone Failure/Error: expect(object).to be_test expected # to respond to `test?` Shared Example Group: "a class with boolean attribute" called from ./spec/unit/virtus/attribute_spec.rb:112 # ./spec/unit/virtus/attribute_spec.rb:15:in `block (3 levels) in ' 3) Virtus#attributes= with a class raises when attributes is not hash-like object # Temporarily skipped with xit # ./spec/unit/virtus/attributes_writer_spec.rb:32 Finished in 0.3401 seconds (files took 0.21224 seconds to load) 468 examples, 0 failures, 3 pending Randomized with seed 59321 /usr/bin/ruby3.4 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby3.4 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=/build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/lib/ruby/vendor_ruby:. GEM_PATH=/build/reproducible-path/ruby-virtus-2.0.0/debian/ruby-virtus/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-virtus-2.0.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.4.0:/var/lib/gems/3.4.0:/usr/local/lib/ruby/gems/3.4.0:/usr/lib/ruby/gems/3.4.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.4.0:/usr/share/rubygems-integration/3.4.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.4.0 ruby3.4 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake /usr/bin/ruby3.4 -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 38010 Virtus::Attribute#== (defined by including Virtus::Equalizer) returns false when attributes have different type returns true when attributes have same type and options returns false when attributes have different options User is expected to respond to #phone_numbers is expected to respond to #addresses is expected to respond to #phone_numbers= is expected to respond to #addresses= #addresses is expected to be an instance of Address #locality is expected to eql "Anytown" #region is expected to eql "DC" #address is expected to eql "1234 Any St." #postal_code is expected to eql "21234" #phone_numbers last entry is expected to be an instance of PhoneNumber #number is expected to eql "919-444-3265" first entry is expected to be an instance of PhoneNumber #number is expected to eql "212-555-1212" Virtus::ValueObject equality #equal? returns false for different objects with the same state returns false for different objects with different state #== returns true for different objects with the same state returns false for different objects with different state #eql? returns false for different objects with different state returns true for different objects with the same state #hash returns different values for different objects with different state returns the same value for different objects with the same state initialization sets the attribute values provided to Class.new writer visibility writer methods are set to private attempts to call attribute writer methods raises NameError attributes are configured for private writers #inspect includes the class name and attribute values Virtus::Attribute::Hash.build when strict mode is used sets the strict mode for key/value types when type is Hash[Virtus::Attribute::Hash => Virtus::Attribute::Boolean] is expected to be an instance of Virtus::Attribute::Hash sets key type sets value type when type is Hash[String => Integer, Integer => String] is expected to raise ArgumentError with "more than one [key => value] pair in `{String => Integer, Integer: :String}`" when type is Hash[String => Struct.new(:id)] sets value type sets key type is expected to be an instance of Virtus::Attribute::Hash when type is Hash[Struct.new(:id) => Integer] sets key type sets value type is expected to be an instance of Virtus::Attribute::Hash when type is Hash sets default key type is expected to be an instance of Virtus::Attribute::Hash sets default value type when type is Hash[String => Integer] sets key type sets value type is expected to be an instance of Virtus::Attribute::Hash Virtus::ValueObject using deprecated inclusion behaves like a valid value object allows to construct new values using #with sets private writers defines #eql? disallows cloning defines #inspect defines #hash defines #== #id is expected to equal 1 #name is expected to eql "Jane Doe" using new values {} block without mass-assignment behaves like a valid value object defines #== defines #inspect disallows cloning sets private writers defines #eql? defines #hash allows to construct new values using #with #id is expected to equal 1 #name is expected to eql "Jane Doe" with mass-assignment with a model subclass behaves like a valid value object disallows cloning defines valid #== for a subclass sets private writers for additional values defines #eql? defines #inspect sets private writers defines #== defines #hash allows to construct new values using #with #id is expected to equal 1 #email is expected to eql "jane@doe.com" #name is expected to eql "Jane Doe" behaves like a valid value object disallows cloning sets private writers defines #== allows to construct new values using #with defines #eql? defines #inspect defines #hash #name is expected to eql "Jane Doe" #id is expected to equal 1 behaves like a valid value object with mass-assignment turned on disallows mass-assignment Virtus#attributes with an instance behaves like attribute hash includes all attributes with a class behaves like attribute hash includes all attributes Virtus.config provides global configuration overriding virtus behavior overriding an attribute getter calls the defined getter super can be used to access the getter defined by virtus overriding an attribute setter super can be used to access the setter defined by virtus calls the defined setter Injectible coercer coerces an embedded string accepts an email hash Virtus::Attribute.build when options specify writer visibility is expected to be public reader is expected not to be public writer behaves like a valid attribute instance is expected to be an instance of Virtus::Attribute is expected to be frozen when options specify strict mode is expected to be strict behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when type is an axiom type #type is expected to equal Axiom::Types::Integer (Integer) behaves like a valid attribute instance is expected to be an instance of Virtus::Attribute is expected to be frozen when type is a range #type is expected to equal Axiom::Types::Object (Enumerable) behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when type is a string behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute #type is expected to equal Axiom::Types::Integer (Integer) when custom attribute class exists for a given primitive is expected to be an instance of # #type is expected to equal Axiom::Types::Object (BasicObject) when coercion is turned off in options is expected not to be coercible behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when options specify reader visibility is expected to be public writer is expected not to be public reader behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when type is a symbol of an existing class constant #type is expected to equal Axiom::Types::String (String) behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute without options sets up a coercer is expected to be public reader is expected not to be lazy is expected to be public writer is expected to be coercible behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when options specify nullify blank mode is expected to be nullify blank behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when custom collection-like attribute class exists for a given enumerable primitive is expected to be an instance of # #type is expected to be < Axiom::Types::Collection when options specify lazy accessor is expected to be lazy behaves like a valid attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute when custom attribute class exists for a given array with member coercion defined is expected to be an instance of # #type is expected to be < Axiom::Types::Collection when name is passed as a string #name is expected to equal :something Virtus::Attribute#lazy? when :lazy is set to false is expected to equal false when :lazy is set to true is expected to equal true Virtus.new with attribute hash skips setting attributes with private writers sets attributes with public writers without attribute hash sets default values for non-lazy attributes skips setting default values for lazy attributes Virtus::AttributeSet#define_reader_method with public visibility defines public writer with private visibility defines public writer with protected visibility defines protected writer Virtus::Attribute::Boolean#value_coerced? when input is not coerced is expected to equal false when input is false is expected to equal true when input is true is expected to equal true Virtus::Attribute#set_default_value with a clonable #test is expected to eq [] #test is expected not to equal with a non-clonable object #instance_variables is expected to include :@test #test is expected to equal true with a symbol when it is a method name when method is private #test is expected to eq "hello world" when method is public #test is expected to eq "hello world" when it is not a method name #test is expected to eq "hello_world" with a callable #test is expected to eq "model-test" with a nil #instance_variables is expected to include :@test #test is expected to equal nil Virtus::Attribute#get with :lazy is set to false is expected to equal "Jane Doe" with :lazy is set to true is expected to eql "Jane Doe" sets default only on first access Inheritance inherits model from the base class sets correct attributes on the descendant classes Virtus::Attribute::Boolean#coerce when strict is turned off with a truthy value is expected to equal true with a falsy value is expected to equal false when strict is turned on with a non-coercible input raises coercion error with a coercible input is expected to equal true Virtus::Attribute.coerce when it is set to true is expected to equal true with a value sets the value and return self when it is set to false is expected to equal false Virtus.module with another module provides attributes for the model behaves like an object extended with virtus module with coercion turned off builds non-coercible attributes behaves like a valid virtus object reads and writes attribute with mass assignment is turned off skips including mass assignment behaves like a valid virtus object reads and writes attribute with default configuration sets defaults behaves like a valid virtus object reads and writes attribute with constructor turned off skips including constructor behaves like a valid virtus object reads and writes attribute with a class provides attributes for the model defaults to Object for attribute type behaves like an object extended with virtus module with default configuration sets defaults behaves like a valid virtus object reads and writes attribute with mass assignment is turned off skips including mass assignment behaves like a valid virtus object reads and writes attribute with constructor turned off skips including constructor behaves like a valid virtus object reads and writes attribute with coercion turned off builds non-coercible attributes behaves like a valid virtus object reads and writes attribute with multiple other modules mixed into it provides attributes for the model from all modules includes the attributes from all modules with a model instance provides attributes for the instance behaves like an object extended with virtus module with constructor turned off skips including constructor behaves like a valid virtus object reads and writes attribute with mass assignment is turned off skips including mass assignment behaves like a valid virtus object reads and writes attribute with default configuration sets defaults behaves like a valid virtus object reads and writes attribute with coercion turned off builds non-coercible attributes behaves like a valid virtus object reads and writes attribute as a peer to another module within a class provides attributes for the model from both modules includes the attributes from both modules Virtus#[] is expected to eq "foo" Virtus::AttributeSet#define_writer_method with protected visibility defines protected writer with public visibility defines public writer with private visibility defines private writer Virtus::Attribute#required? when required option is false is expected to equal false when required option is true is expected to equal true Virtus::Attribute#set is expected to equal "Jane Doe" without coercion is expected to change `instance.test` to "Jane Doe" with coercion is expected to change `instance.test` to "Jane Doe" Virtus::Attribute::Collection custom subclass when primitive is set on the attribute subclass #primitive is expected to equal # when primitive is not set on the attribute subclass #primitive is expected to equal # Virtus#[]= is expected to change `object.test` from nil to "foo" Virtus::AttributeSet#<< with a new attribute indexes the new attribute under its #name property adds an attribute indexes the new attribute under the string version of its #name property is expected to equal #, coercer: #}> with a duplicate attribute is expected to equal #, coercer: #}> replaces the original attribute object Virtus instance level attributes adding an attribute allows setting the attribute value on the instance Virtus::Attribute::Hash#coerce when input is not coercible to hash is expected to equal "not really a hash" when input is coercible to hash is expected to eq {:hello => "World"} when input is a hash when key/value types are primitives uses coercer to coerce key and value when key/value types are EVs coerces keys and values when key type is an array and value type is another hash coerces keys and values Virtus#freeze is expected to be frozen does not change default attributes that have been explicitly set does not change dynamic default values #name is expected to eql "foo" #age is expected to equal 30 Virtus::Attribute#rename is expected not to equal #, coercer: #}> is expected to be strict #name is expected to equal :bar Virtus::AttributeSet#[]= with a duplicate attribute is expected to equal #, coercer: #}> allows #[] to access the attribute with a string replaces the original attribute object allows #[] to access the attribute with a symbol allows #reset to track overridden attributes with a new attribute allows #[] to access the attribute with a string allows #[] to access the attribute with a symbol adds an attribute is expected to equal #, coercer: #}> allows #reset to track overridden attributes default values without a default the value is nil you can set defaults for private attributes you can pass a 'callable-object' to the :default option you can reset attribute to its default can be supplied with the :default option an Array without a default the value is an empty Array a ValueObject does not duplicate the ValueObject a Hash without a default the value is an empty Hash a Set without a default the value is an empty Set Virtus::AttributeSet#each with a block when the parent has no attributes is expected to equal #, coercer: #}> yields the expected attributes when the parent has attributes that are not duplicates is expected to equal #, coercer: #}> and #, coercer: #}> yields the expected attributes when the parent has attributes that are duplicates is expected to equal #, coercer: #}> yields the expected attributes with no block returns an enumerator when block is not provided yields the expected attributes Virtus::AttributeSet#[] is expected to equal #, coercer: #}> allows indexed access to attributes by the string representation of their name virtus attribute definitions the constructor accepts a hash for mass-assignment virtus creates accessor methods Boolean attributes have a predicate method with attributes #to_h returns the object's attributes as a hash #attributes returns the object's attributes as a hash #to_hash returns the object's attributes as a hash inheritance lets you add attributes to the base class at runtime inherits all the attributes from the base class lets you add attributes to the subclass at runtime Virtus::Attribute::EmbeddedValue.build when type is an OpenStruct subclass is expected to be frozen is expected to be an instance of Virtus::Attribute::EmbeddedValue #coercer is expected to be an instance of Virtus::Attribute::EmbeddedValue::FromOpenStruct when type is OpenStruct is expected to be frozen is expected to be an instance of Virtus::Attribute::EmbeddedValue #coercer is expected to be an instance of Virtus::Attribute::EmbeddedValue::FromOpenStruct when type is Struct is expected to be an instance of Virtus::Attribute::EmbeddedValue is expected to be frozen #coercer is expected to be an instance of Virtus::Attribute::EmbeddedValue::FromStruct when type is a Virtus.model is expected to be frozen is expected to be an instance of Virtus::Attribute::EmbeddedValue #coercer is expected to be an instance of Virtus::Attribute::EmbeddedValue::FromOpenStruct when type includes Virtus is expected to be an instance of Virtus::Attribute::EmbeddedValue is expected to be frozen #coercer is expected to be an instance of Virtus::Attribute::EmbeddedValue::FromOpenStruct I can create a Virtus module including a custom module with nullify blank enabled including a custom module with coercion enabled including a custom module with strict enabled including a custom module with coercion disabled Virtus.finalize automatically resolves constant when it is already available it finalizes type for an EV attribute it finalizes key type for a hash attribute it finalizes member type for a collection attribute it finalizes value type for a hash attribute sets attributes that don't require finalization Virtus::Attribute.build when type is Array sets default member type behaves like a valid collection attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute::Collection when type is Set[Float] sets member type behaves like a valid collection attribute instance is expected to be an instance of Virtus::Attribute::Collection is expected to be frozen when type is Array[Virtus::Attribute::Boolean] sets member type behaves like a valid collection attribute instance is expected to be an instance of Virtus::Attribute::Collection is expected to be frozen when strict mode is used sets strict mode for member type when type is a custom collection instance sets member type behaves like a valid collection attribute instance is expected to be an instance of Virtus::Attribute::Collection is expected to be frozen when type is an Enumerable behaves like a valid collection attribute instance is expected to be an instance of Virtus::Attribute::Collection is expected to be frozen when type is Array[String, Integer] is expected to raise NotImplementedError with "build SumType from list of types ([String, Integer])" when type is Set sets default member type behaves like a valid collection attribute instance is expected to be an instance of Virtus::Attribute::Collection is expected to be frozen when type is Array[Float] sets member type behaves like a valid collection attribute instance is expected to be frozen is expected to be an instance of Virtus::Attribute::Collection when type is Array subclass behaves like a valid collection attribute instance is expected to be an instance of Virtus::Attribute::Collection is expected to be frozen I can define attributes within a module including a module with attributes into a class including a module with attributes into an instance Adding attribute called 'attributes' when mass assignment is disabled allows model to use `attributes` attribute doesn't accept `attributes` key in initializer Virtus#attributes= with a class raises when attributes is not hash-like object (PENDING: Temporarily skipped with xit) behaves like mass-assignment allows writing known attributes skips writing unknown attributes with an instance behaves like mass-assignment allows writing known attributes skips writing unknown attributes Virtus.model when :required is set with an instance has attributes with strict set to true with a class has attributes with :required option inherited from module when constructor is disabled does not accept attribute hash in the constructor when mass-assignment is disabled with a class is expected not to respond to #attributes= is expected not to respond to #attributes with an instance is expected not to respond to #attributes is expected not to respond to #attributes= when strict mode is enabled with an instance has attributes with strict set to true with a class has attributes with strict set to true with default configuration with an instance behaves like a model with strict mode turned off has attributes with strict set to false behaves like a model with mass-assignment accepts attribute hash with a class defaults to Object for attribute type behaves like a model with constructor accepts attribute hash behaves like a model with mass-assignment accepts attribute hash behaves like a model with strict mode turned off has attributes with strict set to false with a sub-class has its own attributes behaves like a model with strict mode turned off has attributes with strict set to false behaves like a model with constructor accepts attribute hash behaves like a model with mass-assignment accepts attribute hash Package #dimensions is expected to have key :length is expected to have key :height has 3 keys is expected to have key :width should be coerced to [Symbol => Float] format #meta_info should be coerced to [String => String] format is expected to have key "from" is expected to have key "to" has 2 keys Virtus::Attribute#coerce when the input is an empty String when nullify_blank is turned on returns the ouput if it was coerced returns nil when both nullify_blank and strict are turned on does not raises an coercion error when strict mode is turned on raises error when input was not coerced uses coercer to coerce the input value when attribute is not required and input is nil returns nil when attribute is required and input is nil returns raises error when strict mode is turned off uses coercer to coerce the input value Virtus::AttributeSet#reset when the parent has changed is expected to equal #, coercer: #}> and #, coercer: #}> includes changes from the parent when the parent has attributes that are not duplicates is expected to equal #, coercer: #}> and #, coercer: #}> #to_set is expected to eq #, coercer: #}>}> when the parent has no attributes is expected to equal #, coercer: #}> #to_set is expected to eq #, coercer: #}>}> when the parent has attributes that are duplicates is expected to equal #, coercer: #}> #to_set is expected to eq #, coercer: #}>}> when the parent is nil is expected to equal #, coercer: #}> includes changes from the parent Virtus::Attribute::Collection#value_coerced? when input has correctly typed members is expected to equal true when the input is empty is expected to equal true when input has incorrectly typed members is expected to equal false when the collection type is incorrect is expected to equal false I can extend objects defining attributes on an object Virtus::Attribute::Collection#coerce when input is nil returns nil when input is an array when member type is a hash with key/value coercion coerces members when member type is a primitive uses coercer to coerce members when member type is an EV coerces members Virtus::Attribute#value_coerced? when input is not coerced is expected to equal false when input is coerced is expected to equal true custom collection attributes with an array subclass behaves like a collection can be used as Virtus attributes coerces its members coerces nil coerces an empty array coerces an array of attribute hashes defaults to an empty collection with an enumerable behaves like a collection defaults to an empty collection coerces its members can be used as Virtus attributes coerces an array of attribute hashes coerces nil coerces an empty array Virtus::Attribute::EmbeddedValue#coerce when primitive is OpenStruct when input is nil is expected to equal nil when input is a model instance is expected to equal # when input is an attribute hash is expected to be an instance of OpenStruct #age is expected to eql 30 #name is expected to eql "Piotr" when :strict mode is enabled when input is coercible is expected to eql # when input is not coercible raises error when primitive is Struct when input is an attribute hash is expected to be an instance of # #age is expected to eql 30 #name is expected to eql "Piotr" when input is nil is expected to equal nil when input is a model instance is expected to equal # Using required attributes raises coercion error when required attribute is nil does not raise coercion error when not required attribute is nil Virtus::Attribute#defined? when the attribute value has not been defined is expected to equal false when the attribute value has been defined is expected to equal true Using Struct as an embedded value attribute initialize a struct object with correct attributes custom attributes allows you to define coercion methods allows you to define custom attributes mass assignment with accessors respects accessor visibility can be set with #attributes= works uppon instantiation Virtus::Attribute#coercible? when :coerce is set to true is expected to equal true when :coerce is set to false is expected to equal false Virtus#attribute allows :attributes as an attribute name when mass-assignment is not included allows specifying attribute without type raises error when :name is a reserved name on an instance raises error when :name is a reserved name on a class returns self with a module included in the class behaves like an object with string attribute is expected to respond to #test= is expected to respond to #test can write and read the attribute included in the class adds attributes from the module to a class that includes it behaves like an object with string attribute can write and read the attribute is expected to respond to #test= is expected to respond to #test using custom module is expected to respond to #test= writes and reads attributes is expected to respond to #test with a class when type is Axiom::Types::Boolean behaves like a class with boolean attribute defines reader and writer (PENDING: this will be fixed once Attribute::Boolean subclass is gone) defines predicate method (PENDING: this will be fixed once Attribute::Boolean subclass is gone) when type is "Boolean" behaves like a class with boolean attribute defines reader and writer defines predicate method when type is Boolean behaves like a class with boolean attribute defines reader and writer defines predicate method when type is :Boolean with a subclass behaves like a class with boolean attribute defines predicate method defines reader and writer gets attributes from the parent class behaves like a class with boolean attribute defines reader and writer defines predicate method when type is Decimal maps type to the corresponding axiom type with an instance behaves like an object with string attribute can write and read the attribute is expected to respond to #test is expected to respond to #test= embedded values allows you to pass a hash for the embedded value #attributes returns instances of the embedded values Virtus#set_default_attributes! is expected to equal #<#:0x00007f614c4d88c0 @age=30, @name="foo"> #name is expected to eql "foo" #age is expected to equal 30 Defining a ValueObject with a custom constructor initialize a value object attribute with correct attributes Virtus::AttributeSet#merge with a new attribute adds an attribute is expected to equal #, coercer: #}> with a duplicate attribute replaces the original attribute object is expected to equal #, coercer: #}> Pending: (Failures listed here are expected and do not affect your suite's status) 1) Virtus#attributes= with a class raises when attributes is not hash-like object # Temporarily skipped with xit # ./spec/unit/virtus/attributes_writer_spec.rb:32 2) Virtus#attribute with a class when type is Axiom::Types::Boolean behaves like a class with boolean attribute defines reader and writer # this will be fixed once Attribute::Boolean subclass is gone Failure/Error: expect(object).to be_test expected # to respond to `test?` Shared Example Group: "a class with boolean attribute" called from ./spec/unit/virtus/attribute_spec.rb:112 # ./spec/unit/virtus/attribute_spec.rb:15:in 'block (3 levels) in ' 3) Virtus#attribute with a class when type is Axiom::Types::Boolean behaves like a class with boolean attribute defines predicate method # this will be fixed once Attribute::Boolean subclass is gone Failure/Error: expect(object).to_not be_test expected # to respond to `test?` Shared Example Group: "a class with boolean attribute" called from ./spec/unit/virtus/attribute_spec.rb:112 # ./spec/unit/virtus/attribute_spec.rb:21:in 'block (3 levels) in ' Finished in 0.35277 seconds (files took 0.20839 seconds to load) 468 examples, 0 failures, 3 pending Randomized with seed 38010 ┌──────────────────────────────────────────────────────────────────────────────┐ │ dh_ruby --install finished │ └──────────────────────────────────────────────────────────────────────────────┘ dh_installdocs -O--buildsystem=ruby dh_ruby_fixdocs -O--buildsystem=ruby dh_installchangelogs -O--buildsystem=ruby dh_installsystemduser -O--buildsystem=ruby dh_perl -O--buildsystem=ruby dh_link -O--buildsystem=ruby dh_strip_nondeterminism -O--buildsystem=ruby dh_compress -X.rb -O--buildsystem=ruby dh_fixperms -O--buildsystem=ruby dh_missing -O--buildsystem=ruby dh_ruby_fixdepends -O--buildsystem=ruby dh_installdeb -O--buildsystem=ruby dh_gencontrol -O--buildsystem=ruby dpkg-gencontrol: warning: Depends field of package ruby-virtus: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -O--buildsystem=ruby dh_builddeb -O--buildsystem=ruby dpkg-deb: building package 'ruby-virtus' in '../ruby-virtus_2.0.0-2+rebuild1766616649_all.deb'. dpkg-genbuildinfo --build=binary -O../ruby-virtus_2.0.0-2+rebuild1766616649_amd64.buildinfo dpkg-genchanges --build=binary -mAutomated rebuild -O../ruby-virtus_2.0.0-2+rebuild1766616649_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) -------------------------------------------------------------------------------- Build finished at 2025-12-24T22:51:25Z Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Changes Wed, 24 Dec 2025 22:51:25 +0000 | +------------------------------------------------------------------------------+ ruby-virtus_2.0.0-2+rebuild1766616649_amd64.changes: ---------------------------------------------------- Format: 1.8 Date: Wed, 24 Dec 2025 22:50:49 +0000 Source: ruby-virtus Binary: ruby-virtus Architecture: all Version: 2.0.0-2+rebuild1766616649 Distribution: unstable Urgency: medium Maintainer: Automated rebuild Changed-By: mass-rebuild Description: ruby-virtus - attributes on steroids for plain old Ruby objects Changes: ruby-virtus (2.0.0-2+rebuild1766616649) UNRELEASED; urgency=medium . * Rebuild with mass-rebuild Checksums-Sha1: e6c13b8dc3b7376150545772b9554eb615436e49 28480 ruby-virtus_2.0.0-2+rebuild1766616649_all.deb 59369ec988e8c5dc98fb23061774272ff8a8cccb 6019 ruby-virtus_2.0.0-2+rebuild1766616649_amd64.buildinfo Checksums-Sha256: be8ec40dbc60a2693e92bc0ae1a9ccdb4cf77461f089902367a4c272858d2812 28480 ruby-virtus_2.0.0-2+rebuild1766616649_all.deb 25a3b881d3f99c6ac9af8da8ee12e0a61dc158ed5ede6cac43c0cb42a7f37f3d 6019 ruby-virtus_2.0.0-2+rebuild1766616649_amd64.buildinfo Files: 107087941bee72b5995d53ed3c3c1f41 28480 ruby optional ruby-virtus_2.0.0-2+rebuild1766616649_all.deb e60af572c814e223ece9a3b10ed26076 6019 ruby optional ruby-virtus_2.0.0-2+rebuild1766616649_amd64.buildinfo +------------------------------------------------------------------------------+ | Buildinfo Wed, 24 Dec 2025 22:51:26 +0000 | +------------------------------------------------------------------------------+ Format: 1.0 Source: ruby-virtus Binary: ruby-virtus Architecture: all Version: 2.0.0-2+rebuild1766616649 Checksums-Md5: 107087941bee72b5995d53ed3c3c1f41 28480 ruby-virtus_2.0.0-2+rebuild1766616649_all.deb Checksums-Sha1: e6c13b8dc3b7376150545772b9554eb615436e49 28480 ruby-virtus_2.0.0-2+rebuild1766616649_all.deb Checksums-Sha256: be8ec40dbc60a2693e92bc0ae1a9ccdb4cf77461f089902367a4c272858d2812 28480 ruby-virtus_2.0.0-2+rebuild1766616649_all.deb Build-Origin: Debian Build-Architecture: amd64 Build-Date: Wed, 24 Dec 2025 22:51:25 +0000 Build-Path: /build/reproducible-path/ruby-virtus-2.0.0 Installed-Build-Depends: autoconf (= 2.72-3.1), automake (= 1:1.18.1-3), autopoint (= 0.23.2-1), autotools-dev (= 20240727.1), base-files (= 14), base-passwd (= 3.6.8), bash (= 5.3-1), binutils (= 2.45.50.20251209-1), binutils-common (= 2.45.50.20251209-1), binutils-x86-64-linux-gnu (= 2.45.50.20251209-1), bsdextrautils (= 2.41.3-2), build-essential (= 12.12), bzip2 (= 1.0.8-6), ca-certificates (= 20250419), coreutils (= 9.7-3), cpp (= 4:15.2.0-4), cpp-15 (= 15.2.0-12), cpp-15-x86-64-linux-gnu (= 15.2.0-12), cpp-x86-64-linux-gnu (= 4:15.2.0-4), dash (= 0.5.12-12), debconf (= 1.5.91), debhelper (= 13.29), debianutils (= 5.23.2), dh-autoreconf (= 21), dh-strip-nondeterminism (= 1.15.0-1), diffutils (= 1:3.12-1), dpkg (= 1.23.3), dpkg-dev (= 1.23.3), dwz (= 0.16-2), file (= 1:5.46-5), findutils (= 4.10.0-3), g++ (= 4:15.2.0-4), g++-15 (= 15.2.0-12), g++-15-x86-64-linux-gnu (= 15.2.0-12), g++-x86-64-linux-gnu (= 4:15.2.0-4), gcc (= 4:15.2.0-4), gcc-15 (= 15.2.0-12), gcc-15-base (= 15.2.0-12), gcc-15-x86-64-linux-gnu (= 15.2.0-12), gcc-x86-64-linux-gnu (= 4:15.2.0-4), gem2deb (= 2.2.6), gem2deb-test-runner (= 2.2.6), gettext (= 0.23.2-1), gettext-base (= 0.23.2-1), grep (= 3.12-1), groff-base (= 1.23.0-10), gzip (= 1.13-1), hostname (= 3.25), init-system-helpers (= 1.69), intltool-debian (= 0.35.0+20060710.6), libacl1 (= 2.3.2-2+b1), libarchive-zip-perl (= 1.68-1), libasan8 (= 15.2.0-12), libatomic1 (= 15.2.0-12), libattr1 (= 1:2.5.2-3), libaudit-common (= 1:4.1.2-1), libaudit1 (= 1:4.1.2-1+b1), libbinutils (= 2.45.50.20251209-1), libblkid1 (= 2.41.3-2), libbz2-1.0 (= 1.0.8-6), libc-bin (= 2.42-6), libc-dev-bin (= 2.42-6), libc-gconv-modules-extra (= 2.42-6), libc6 (= 2.42-6), libc6-dev (= 2.42-6), libcap-ng0 (= 0.8.5-4+b2), libcap2 (= 1:2.75-10+b5), libcc1-0 (= 15.2.0-12), libcrypt-dev (= 1:4.5.1-1), libcrypt1 (= 1:4.5.1-1), libctf-nobfd0 (= 2.45.50.20251209-1), libctf0 (= 2.45.50.20251209-1), libdb5.3t64 (= 5.3.28+dfsg2-11), libdebconfclient0 (= 0.282+b2), libdebhelper-perl (= 13.29), libdpkg-perl (= 1.23.3), libelf1t64 (= 0.194-1), libffi8 (= 3.5.2-3), libfile-stripnondeterminism-perl (= 1.15.0-1), libgcc-15-dev (= 15.2.0-12), libgcc-s1 (= 15.2.0-12), libgdbm-compat4t64 (= 1.26-1), libgdbm6t64 (= 1.26-1), libgmp-dev (= 2:6.3.0+dfsg-5), libgmp10 (= 2:6.3.0+dfsg-5), libgmpxx4ldbl (= 2:6.3.0+dfsg-5), libgomp1 (= 15.2.0-12), libgprofng0 (= 2.45.50.20251209-1), libhwasan0 (= 15.2.0-12), libisl23 (= 0.27-1), libitm1 (= 15.2.0-12), libjansson4 (= 2.14-2+b4), liblsan0 (= 15.2.0-12), liblzma5 (= 5.8.1-2), libmagic-mgc (= 1:5.46-5), libmagic1t64 (= 1:5.46-5), libmd0 (= 1.1.0-2+b1), libmount1 (= 2.41.3-2), libmpc3 (= 1.3.1-2), libmpfr6 (= 4.2.2-2), libpam-modules (= 1.7.0-5), libpam-modules-bin (= 1.7.0-5), libpam-runtime (= 1.7.0-5), libpam0g (= 1.7.0-5), libpcre2-8-0 (= 10.46-1), libperl5.40 (= 5.40.1-7), libpipeline1 (= 1.5.8-2), libquadmath0 (= 15.2.0-12), libruby (= 1:3.3+b1), libruby3.3 (= 3.3.8-2), libruby3.4 (= 3.4.5-1~exp1), libseccomp2 (= 2.6.0-2+b1), libselinux1 (= 3.9-4+rebuild1766544377), libsframe2 (= 2.45.50.20251209-1), libsmartcols1 (= 2.41.3-2), libssl3t64 (= 3.5.4-1), libstdc++-15-dev (= 15.2.0-12), libstdc++6 (= 15.2.0-12), libsystemd0 (= 259-1), libtinfo6 (= 6.5+20251123-1), libtool (= 2.5.4-9), libtsan2 (= 15.2.0-12), libubsan1 (= 15.2.0-12), libuchardet0 (= 0.0.8-2), libudev1 (= 259-1), libunistring5 (= 1.3-2), libuuid1 (= 2.41.3-2), libxml2-16 (= 2.15.1+dfsg-2+b1), libyaml-0-2 (= 0.2.5-2+b1), libzstd1 (= 1.5.7+dfsg-2), linux-libc-dev (= 6.17.13-1), m4 (= 1.4.20-2), make (= 4.4.1-3), man-db (= 2.13.1-1), mawk (= 1.3.4.20250131-2), ncurses-base (= 6.5+20251123-1), ncurses-bin (= 6.5+20251123-1), openssl (= 3.5.4-1), openssl-provider-legacy (= 3.5.4-1), patch (= 2.8-2), perl (= 5.40.1-7), perl-base (= 5.40.1-7), perl-modules-5.40 (= 5.40.1-7), po-debconf (= 1.0.22), rake (= 13.2.1-1), rpcsvc-proto (= 1.4.3-1), ruby (= 1:3.3+b1), ruby-all-dev (= 1:3.3+support3.4~0), ruby-atomic (= 1.1.101-1+rebuild1766546176), ruby-axiom-types (= 0.1.1-3), ruby-bogus (= 0.1.7-1), ruby-coercible (= 1.0.0-3), ruby-csv (= 3.3.4-1), ruby-dependor (= 1.0.1-3), ruby-descendants-tracker (= 0.0.4-3), ruby-did-you-mean (= 1.6.3-2), ruby-diff-lcs (= 1.6.2-1), ruby-dry-inflector (= 0.2.1-1), ruby-equalizer (= 0.0.11-3), ruby-ice-nine (= 0.11.2-2), ruby-inflecto (= 0.0.2-2), ruby-minitest (= 5.26.1-1), ruby-net-telnet (= 0.2.0-1), ruby-power-assert (= 2.0.5-1), ruby-rspec (= 3.13.0c0e0m0s1-2), ruby-rspec-core (= 3.13.0c0e0m0s1-2), ruby-rspec-expectations (= 3.13.0c0e0m0s1-2), ruby-rspec-mocks (= 3.13.0c0e0m0s1-2), ruby-rspec-support (= 3.13.0c0e0m0s1-2), ruby-ruby2-keywords (= 0.0.5-1), ruby-rubygems (= 3.6.7-2), ruby-test-unit (= 3.6.2-1), ruby-thread-safe (= 0.3.6-1), ruby-webrick (= 1.9.1-1), ruby-xmlrpc (= 0.3.3-2), ruby3.3 (= 3.3.8-2), ruby3.3-dev (= 3.3.8-2), ruby3.4 (= 3.4.5-1~exp1), ruby3.4-dev (= 3.4.5-1~exp1), rubygems-integration (= 1.19), sed (= 4.9-2), sensible-utils (= 0.0.26), sysvinit-utils (= 3.15-6), tar (= 1.35+dfsg-3.1), util-linux (= 2.41.3-2), xz-utils (= 5.8.1-2), zlib1g (= 1:1.3.dfsg+really1.3.1-1+b2) Environment: DEB_BUILD_OPTIONS="parallel=8" LANG="C.UTF-8" LC_COLLATE="C.UTF-8" LC_CTYPE="C.UTF-8" SOURCE_DATE_EPOCH="1766616649" +------------------------------------------------------------------------------+ | Package contents Wed, 24 Dec 2025 22:51:26 +0000 | +------------------------------------------------------------------------------+ ruby-virtus_2.0.0-2+rebuild1766616649_all.deb --------------------------------------------- new Debian package, version 2.0. size 28480 bytes: control archive=1932 bytes. 856 bytes, 18 lines control 3359 bytes, 39 lines md5sums Package: ruby-virtus Version: 2.0.0-2+rebuild1766616649 Architecture: all Maintainer: Debian Ruby Team Installed-Size: 126 Depends: ruby-axiom-types (>= 0.1), ruby-coercible (>= 1.0), ruby-descendants-tracker (>= 0.0.3), ruby-dry-inflector, ruby-equalizer Section: ruby Priority: optional Homepage: https://github.com/solnic/virtus Description: attributes on steroids for plain old Ruby objects The goal of this Ruby library is to provide a common API for defining attributes on a model so all object relational and object document mappers could use it instead of reinventing the wheel all over again. . It is also suitable for any other use case where Ruby objects need to be extended with attributes that require data coercions. . This is a partial extraction of the DataMapper property API. drwxr-xr-x root/root 0 2025-12-24 22:50 ./ drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/ drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/lib/ drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/lib/ruby/ drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/ -rw-r--r-- root/root 6683 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus.rb drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/ -rw-r--r-- root/root 5819 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute.rb drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/ -rw-r--r-- root/root 2462 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/accessor.rb -rw-r--r-- root/root 1406 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/boolean.rb -rw-r--r-- root/root 4524 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/builder.rb -rw-r--r-- root/root 938 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/coercer.rb -rw-r--r-- root/root 369 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/coercible.rb -rw-r--r-- root/root 2709 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/collection.rb -rw-r--r-- root/root 1045 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/default_value.rb drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/default_value/ -rw-r--r-- root/root 777 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/default_value/from_callable.rb -rw-r--r-- root/root 869 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/default_value/from_clonable.rb -rw-r--r-- root/root 876 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/default_value/from_symbol.rb -rw-r--r-- root/root 1676 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/embedded_value.rb -rw-r--r-- root/root 3400 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/hash.rb -rw-r--r-- root/root 316 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/lazy_default.rb -rw-r--r-- root/root 430 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/nullify_blank.rb -rw-r--r-- root/root 509 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute/strict.rb -rw-r--r-- root/root 5556 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/attribute_set.rb -rw-r--r-- root/root 2890 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/builder.rb drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/builder/ -rw-r--r-- root/root 1119 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/builder/hook_context.rb -rw-r--r-- root/root 1078 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/class_inclusions.rb -rw-r--r-- root/root 2243 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/class_methods.rb -rw-r--r-- root/root 805 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/coercer.rb -rw-r--r-- root/root 2044 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/configuration.rb -rw-r--r-- root/root 392 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/const_missing_extensions.rb -rw-r--r-- root/root 2750 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/extensions.rb -rw-r--r-- root/root 4841 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/instance_methods.rb -rw-r--r-- root/root 1450 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/model.rb -rw-r--r-- root/root 2128 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/module_extensions.rb drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/support/ -rw-r--r-- root/root 2903 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/support/equalizer.rb -rw-r--r-- root/root 2995 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/support/options.rb -rw-r--r-- root/root 2644 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/support/type_lookup.rb -rw-r--r-- root/root 4114 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/value_object.rb -rw-r--r-- root/root 45 2025-12-24 22:50 ./usr/lib/ruby/vendor_ruby/virtus/version.rb drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/share/ drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/share/doc/ drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/share/doc/ruby-virtus/ -rw-r--r-- root/root 4963 2021-07-10 07:04 ./usr/share/doc/ruby-virtus/README.md.gz -rw-r--r-- root/root 1012 2025-12-24 22:50 ./usr/share/doc/ruby-virtus/changelog.Debian.gz -rw-r--r-- root/root 3755 2021-07-10 07:04 ./usr/share/doc/ruby-virtus/changelog.gz -rw-r--r-- root/root 1374 2023-11-16 23:46 ./usr/share/doc/ruby-virtus/copyright drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/share/rubygems-integration/ drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/share/rubygems-integration/all/ drwxr-xr-x root/root 0 2025-12-24 22:50 ./usr/share/rubygems-integration/all/specifications/ -rw-r--r-- root/root 6720 2025-12-24 22:50 ./usr/share/rubygems-integration/all/specifications/virtus-2.0.0.gemspec +------------------------------------------------------------------------------+ | Post Build Wed, 24 Dec 2025 22:51:26 +0000 | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup Wed, 24 Dec 2025 22:51:26 +0000 | +------------------------------------------------------------------------------+ Purging /build/reproducible-path Not cleaning session: cloned chroot in use +------------------------------------------------------------------------------+ | Summary Wed, 24 Dec 2025 22:51:27 +0000 | +------------------------------------------------------------------------------+ Build Architecture: amd64 Build Type: binary Build-Space: 872 Build-Time: 5 Distribution: unstable Host Architecture: amd64 Install-Time: 8 Job: /home/admin/mass-rebuild/builds/3/ruby-virtus/ruby-virtus_2.0.0-2+rebuild1766616649.dsc Machine Architecture: amd64 Package: ruby-virtus Package-Time: 35 Source-Version: 2.0.0-2+rebuild1766616649 Space: 872 Status: successful Version: 2.0.0-2+rebuild1766616649 -------------------------------------------------------------------------------- Finished at 2025-12-24T22:51:25Z Build needed 00:00:35, 872k disk space