I: pbuilder: network access will be disabled during build I: Current time: Mon Feb 3 09:37:08 -12 2025 I: pbuilder-time-stamp: 1738618628 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [ruby-semantic-puppet_1.1.0-1.dsc] I: copying [./ruby-semantic-puppet_1.1.0.orig.tar.gz] I: copying [./ruby-semantic-puppet_1.1.0-1.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./ruby-semantic-puppet_1.1.0-1.dsc: unsupported subcommand dpkg-source: info: extracting ruby-semantic-puppet in ruby-semantic-puppet-1.1.0 dpkg-source: info: unpacking ruby-semantic-puppet_1.1.0.orig.tar.gz dpkg-source: info: unpacking ruby-semantic-puppet_1.1.0-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/51225/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='i386' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='i386' IFS=' ' INVOCATION_ID='f058014de07c429888c240e14e533148' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' LD_LIBRARY_PATH='/usr/lib/libeatmydata' LD_PRELOAD='libeatmydata.so' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='51225' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.r0gMCxMc/pbuilderrc_V9wn --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.r0gMCxMc/b1 --logfile b1/build.log ruby-semantic-puppet_1.1.0-1.dsc' SUDO_GID='112' SUDO_UID='107' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos12-i386 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin I: user script /srv/workspace/pbuilder/51225/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), gem2deb, rake, ruby-rspec dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19830 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on gem2deb; however: Package gem2deb is not installed. pbuilder-satisfydepends-dummy depends on rake; however: Package rake is not installed. pbuilder-satisfydepends-dummy depends on ruby-rspec; however: Package ruby-rspec is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} devscripts{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dirmngr{a} dwz{a} file{a} gem2deb{a} gem2deb-test-runner{a} gettext{a} gettext-base{a} gnupg{a} gnupg-l10n{a} gpg{a} gpg-agent{a} gpgconf{a} gpgsm{a} gpgv{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libassuan9{a} libb-hooks-op-check-perl{a} libclass-method-modifiers-perl{a} libclass-xsaccessor-perl{a} libclone-perl{a} libdebhelper-perl{a} libdevel-callchecker-perl{a} libdynaloader-functions-perl{a} libedit2{a} libelf1t64{a} libencode-locale-perl{a} libexpat1{a} libffi8{a} libfile-dirlist-perl{a} libfile-homedir-perl{a} libfile-listing-perl{a} libfile-stripnondeterminism-perl{a} libfile-touch-perl{a} libfile-which-perl{a} libgcrypt20{a} libgmp-dev{a} libgmpxx4ldbl{a} libgnutls30t64{a} libgpg-error0{a} libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tree-perl{a} libhttp-cookies-perl{a} libhttp-date-perl{a} libhttp-message-perl{a} libhttp-negotiate-perl{a} libicu72{a} libidn2-0{a} libimport-into-perl{a} libio-html-perl{a} libio-pty-perl{a} libio-socket-ssl-perl{a} libipc-run-perl{a} libksba8{a} libldap2{a} liblwp-mediatypes-perl{a} liblwp-protocol-https-perl{a} libmagic-mgc{a} libmagic1t64{a} libmodule-runtime-perl{a} libmoo-perl{a} libncurses6{a} libnet-http-perl{a} libnet-ssleay-perl{a} libnpth0t64{a} libp11-kit0{a} libparams-classify-perl{a} libpipeline1{a} libpython3-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} librole-tiny-perl{a} libruby{a} libruby3.1t64{a} libruby3.3{a} libsasl2-2{a} libsasl2-modules-db{a} libsub-quote-perl{a} libtasn1-6{a} libtimedate-perl{a} libtool{a} libtry-tiny-perl{a} libuchardet0{a} libunistring5{a} liburi-perl{a} libwww-perl{a} libwww-robotrules-perl{a} libxml2{a} libyaml-0-2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} patchutils{a} perl-openssl-defaults{a} pinentry-curses{a} po-debconf{a} python3{a} python3-minimal{a} python3.13{a} python3.13-minimal{a} rake{a} readline-common{a} ruby{a} ruby-all-dev{a} ruby-diff-lcs{a} ruby-net-telnet{a} ruby-rspec{a} ruby-rspec-core{a} ruby-rspec-expectations{a} ruby-rspec-mocks{a} ruby-rspec-support{a} ruby-rubygems{a} ruby-sdbm{a} ruby-webrick{a} ruby-xmlrpc{a} ruby3.1{a} ruby3.1-dev{a} ruby3.3{a} ruby3.3-dev{a} rubygems-integration{a} sensible-utils{a} sopv-gpgv{a} tzdata{a} wdiff{a} The following packages are RECOMMENDED but will NOT be installed: apt-file curl dctrl-tools debian-keyring dput dput-ng dupload equivs fonts-lato gnupg-utils gpg-wks-client libarchive-cpio-perl libdata-dump-perl libdistro-info-perl libgit-wrapper-perl libgitlab-api-v4-perl libgpg-error-l10n libgpm2 libhtml-form-perl libhtml-format-perl libhttp-daemon-perl libio-compress-brotli-perl libjs-jquery libjson-perl libldap-common liblist-compare-perl libltdl-dev libmail-sendmail-perl libmailtools-perl libnamespace-clean-perl libsasl2-modules libsoap-lite-perl libstring-shellquote-perl libxstring-perl licensecheck lintian lynx pristine-tar python3-apt python3-argcomplete python3-debian python3-magic python3-requests python3-unidiff python3-xdg ruby3.1-doc ruby3.3-doc strace unzip wget zip 0 packages upgraded, 139 newly installed, 0 to remove and 0 not upgraded. Need to get 56.4 MB of archives. After unpacking 208 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main i386 libpython3.13-minimal i386 3.13.1-3+b1 [858 kB] Get: 2 http://deb.debian.org/debian trixie/main i386 libexpat1 i386 2.6.4-1 [107 kB] Get: 3 http://deb.debian.org/debian trixie/main i386 python3.13-minimal i386 3.13.1-3+b1 [2244 kB] Get: 4 http://deb.debian.org/debian trixie/main i386 python3-minimal i386 3.13.1-2 [27.0 kB] Get: 5 http://deb.debian.org/debian trixie/main i386 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian trixie/main i386 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian trixie/main i386 tzdata all 2024b-6 [257 kB] Get: 8 http://deb.debian.org/debian trixie/main i386 libffi8 i386 3.4.6-1 [21.2 kB] Get: 9 http://deb.debian.org/debian trixie/main i386 readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian trixie/main i386 libreadline8t64 i386 8.2-6 [173 kB] Get: 11 http://deb.debian.org/debian trixie/main i386 libpython3.13-stdlib i386 3.13.1-3+b1 [1981 kB] Get: 12 http://deb.debian.org/debian trixie/main i386 python3.13 i386 3.13.1-3+b1 [740 kB] Get: 13 http://deb.debian.org/debian trixie/main i386 libpython3-stdlib i386 3.13.1-2 [9952 B] Get: 14 http://deb.debian.org/debian trixie/main i386 python3 i386 3.13.1-2 [28.0 kB] Get: 15 http://deb.debian.org/debian trixie/main i386 sensible-utils all 0.0.24 [24.8 kB] Get: 16 http://deb.debian.org/debian trixie/main i386 openssl i386 3.4.0-2 [1427 kB] Get: 17 http://deb.debian.org/debian trixie/main i386 ca-certificates all 20241223 [164 kB] Get: 18 http://deb.debian.org/debian trixie/main i386 libmagic-mgc i386 1:5.45-3+b1 [314 kB] Get: 19 http://deb.debian.org/debian trixie/main i386 libmagic1t64 i386 1:5.45-3+b1 [115 kB] Get: 20 http://deb.debian.org/debian trixie/main i386 file i386 1:5.45-3+b1 [43.2 kB] Get: 21 http://deb.debian.org/debian trixie/main i386 gettext-base i386 0.23.1-1 [245 kB] Get: 22 http://deb.debian.org/debian trixie/main i386 libuchardet0 i386 0.0.8-1+b2 [69.2 kB] Get: 23 http://deb.debian.org/debian trixie/main i386 groff-base i386 1.23.0-7 [1199 kB] Get: 24 http://deb.debian.org/debian trixie/main i386 bsdextrautils i386 2.40.4-2 [96.1 kB] Get: 25 http://deb.debian.org/debian trixie/main i386 libpipeline1 i386 1.5.8-1 [41.2 kB] Get: 26 http://deb.debian.org/debian trixie/main i386 man-db i386 2.13.0-1 [1428 kB] Get: 27 http://deb.debian.org/debian trixie/main i386 m4 i386 1.4.19-5 [301 kB] Get: 28 http://deb.debian.org/debian trixie/main i386 autoconf all 2.72-3 [493 kB] Get: 29 http://deb.debian.org/debian trixie/main i386 autotools-dev all 20220109.1 [51.6 kB] Get: 30 http://deb.debian.org/debian trixie/main i386 automake all 1:1.16.5-1.3 [823 kB] Get: 31 http://deb.debian.org/debian trixie/main i386 autopoint all 0.23.1-1 [770 kB] Get: 32 http://deb.debian.org/debian trixie/main i386 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 33 http://deb.debian.org/debian trixie/main i386 libtool all 2.5.4-2 [539 kB] Get: 34 http://deb.debian.org/debian trixie/main i386 dh-autoreconf all 20 [17.1 kB] Get: 35 http://deb.debian.org/debian trixie/main i386 libarchive-zip-perl all 1.68-1 [104 kB] Get: 36 http://deb.debian.org/debian trixie/main i386 libfile-stripnondeterminism-perl all 1.14.1-1 [19.6 kB] Get: 37 http://deb.debian.org/debian trixie/main i386 dh-strip-nondeterminism all 1.14.1-1 [8584 B] Get: 38 http://deb.debian.org/debian trixie/main i386 libelf1t64 i386 0.192-4 [195 kB] Get: 39 http://deb.debian.org/debian trixie/main i386 dwz i386 0.15-1+b1 [116 kB] Get: 40 http://deb.debian.org/debian trixie/main i386 libunistring5 i386 1.3-1 [458 kB] Get: 41 http://deb.debian.org/debian trixie/main i386 libicu72 i386 72.1-6 [9582 kB] Get: 42 http://deb.debian.org/debian trixie/main i386 libxml2 i386 2.12.7+dfsg+really2.9.14-0.2+b1 [734 kB] Get: 43 http://deb.debian.org/debian trixie/main i386 gettext i386 0.23.1-1 [1714 kB] Get: 44 http://deb.debian.org/debian trixie/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 45 http://deb.debian.org/debian trixie/main i386 po-debconf all 1.0.21+nmu1 [248 kB] Get: 46 http://deb.debian.org/debian trixie/main i386 debhelper all 13.24.1 [920 kB] Get: 47 http://deb.debian.org/debian trixie/main i386 libgpg-error0 i386 1.51-3 [87.3 kB] Get: 48 http://deb.debian.org/debian trixie/main i386 libassuan9 i386 3.0.1-2 [62.4 kB] Get: 49 http://deb.debian.org/debian trixie/main i386 libgcrypt20 i386 1.11.0-7 [799 kB] Get: 50 http://deb.debian.org/debian trixie/main i386 gpgconf i386 2.2.46-1+b1 [128 kB] Get: 51 http://deb.debian.org/debian trixie/main i386 libidn2-0 i386 2.3.7-2+b1 [130 kB] Get: 52 http://deb.debian.org/debian trixie/main i386 libp11-kit0 i386 0.25.5-3 [423 kB] Get: 53 http://deb.debian.org/debian trixie/main i386 libtasn1-6 i386 4.19.0-3+b3 [51.1 kB] Get: 54 http://deb.debian.org/debian trixie/main i386 libgnutls30t64 i386 3.8.8-2 [1451 kB] Get: 55 http://deb.debian.org/debian trixie/main i386 libksba8 i386 1.6.7-2+b1 [142 kB] Get: 56 http://deb.debian.org/debian trixie/main i386 libsasl2-modules-db i386 2.1.28+dfsg1-8+b1 [20.9 kB] Get: 57 http://deb.debian.org/debian trixie/main i386 libsasl2-2 i386 2.1.28+dfsg1-8+b1 [61.3 kB] Get: 58 http://deb.debian.org/debian trixie/main i386 libldap2 i386 2.6.9+dfsg-1 [205 kB] Get: 59 http://deb.debian.org/debian trixie/main i386 libnpth0t64 i386 1.8-2 [23.0 kB] Get: 60 http://deb.debian.org/debian trixie/main i386 dirmngr i386 2.2.46-1+b1 [396 kB] Get: 61 http://deb.debian.org/debian trixie/main i386 gnupg-l10n all 2.2.46-1 [702 kB] Get: 62 http://deb.debian.org/debian trixie/main i386 gpg i386 2.2.46-1+b1 [574 kB] Get: 63 http://deb.debian.org/debian trixie/main i386 pinentry-curses i386 1.3.1-2 [88.0 kB] Get: 64 http://deb.debian.org/debian trixie/main i386 gpg-agent i386 2.2.46-1+b1 [270 kB] Get: 65 http://deb.debian.org/debian trixie/main i386 gpgsm i386 2.2.46-1+b1 [276 kB] Get: 66 http://deb.debian.org/debian trixie/main i386 gnupg all 2.2.46-1 [376 kB] Get: 67 http://deb.debian.org/debian trixie/main i386 gpgv i386 2.2.46-1+b1 [240 kB] Get: 68 http://deb.debian.org/debian trixie/main i386 sopv-gpgv all 0.1.1-1 [10.7 kB] Get: 69 http://deb.debian.org/debian trixie/main i386 libfile-dirlist-perl all 0.05-3 [7600 B] Get: 70 http://deb.debian.org/debian trixie/main i386 libfile-which-perl all 1.27-2 [15.1 kB] Get: 71 http://deb.debian.org/debian trixie/main i386 libfile-homedir-perl all 1.006-2 [42.4 kB] Get: 72 http://deb.debian.org/debian trixie/main i386 libfile-touch-perl all 0.12-2 [8816 B] Get: 73 http://deb.debian.org/debian trixie/main i386 libio-pty-perl i386 1:1.20-1+b3 [35.8 kB] Get: 74 http://deb.debian.org/debian trixie/main i386 libipc-run-perl all 20231003.0-2 [101 kB] Get: 75 http://deb.debian.org/debian trixie/main i386 libclass-method-modifiers-perl all 2.15-1 [18.0 kB] Get: 76 http://deb.debian.org/debian trixie/main i386 libclass-xsaccessor-perl i386 1.19-4+b4 [37.5 kB] Get: 77 http://deb.debian.org/debian trixie/main i386 libb-hooks-op-check-perl i386 0.22-3+b2 [10.7 kB] Get: 78 http://deb.debian.org/debian trixie/main i386 libdynaloader-functions-perl all 0.004-1 [12.1 kB] Get: 79 http://deb.debian.org/debian trixie/main i386 libdevel-callchecker-perl i386 0.009-1+b1 [16.2 kB] Get: 80 http://deb.debian.org/debian trixie/main i386 libparams-classify-perl i386 0.015-2+b4 [23.1 kB] Get: 81 http://deb.debian.org/debian trixie/main i386 libmodule-runtime-perl all 0.016-2 [19.6 kB] Get: 82 http://deb.debian.org/debian trixie/main i386 libimport-into-perl all 1.002005-2 [11.3 kB] Get: 83 http://deb.debian.org/debian trixie/main i386 librole-tiny-perl all 2.002004-1 [21.4 kB] Get: 84 http://deb.debian.org/debian trixie/main i386 libsub-quote-perl all 2.006008-1 [21.8 kB] Get: 85 http://deb.debian.org/debian trixie/main i386 libmoo-perl all 2.005005-1 [58.0 kB] Get: 86 http://deb.debian.org/debian trixie/main i386 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 87 http://deb.debian.org/debian trixie/main i386 libtimedate-perl all 2.3300-2 [39.3 kB] Get: 88 http://deb.debian.org/debian trixie/main i386 libhttp-date-perl all 6.06-1 [10.7 kB] Get: 89 http://deb.debian.org/debian trixie/main i386 libfile-listing-perl all 6.16-1 [12.4 kB] Get: 90 http://deb.debian.org/debian trixie/main i386 libhtml-tagset-perl all 3.24-1 [14.7 kB] Get: 91 http://deb.debian.org/debian trixie/main i386 liburi-perl all 5.30-1 [105 kB] Get: 92 http://deb.debian.org/debian trixie/main i386 libhtml-parser-perl i386 3.83-1+b2 [101 kB] Get: 93 http://deb.debian.org/debian trixie/main i386 libhtml-tree-perl all 5.07-3 [211 kB] Get: 94 http://deb.debian.org/debian trixie/main i386 libclone-perl i386 0.47-1+b1 [14.0 kB] Get: 95 http://deb.debian.org/debian trixie/main i386 libio-html-perl all 1.004-3 [16.2 kB] Get: 96 http://deb.debian.org/debian trixie/main i386 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get: 97 http://deb.debian.org/debian trixie/main i386 libhttp-message-perl all 7.00-2 [79.8 kB] Get: 98 http://deb.debian.org/debian trixie/main i386 libhttp-cookies-perl all 6.11-1 [19.1 kB] Get: 99 http://deb.debian.org/debian trixie/main i386 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Get: 100 http://deb.debian.org/debian trixie/main i386 perl-openssl-defaults i386 7+b2 [6720 B] Get: 101 http://deb.debian.org/debian trixie/main i386 libnet-ssleay-perl i386 1.94-2 [340 kB] Get: 102 http://deb.debian.org/debian trixie/main i386 libio-socket-ssl-perl all 2.089-1 [223 kB] Get: 103 http://deb.debian.org/debian trixie/main i386 libnet-http-perl all 6.23-1 [23.9 kB] Get: 104 http://deb.debian.org/debian trixie/main i386 liblwp-protocol-https-perl all 6.14-1 [10.8 kB] Get: 105 http://deb.debian.org/debian trixie/main i386 libtry-tiny-perl all 0.32-1 [22.9 kB] Get: 106 http://deb.debian.org/debian trixie/main i386 libwww-robotrules-perl all 6.02-1 [12.9 kB] Get: 107 http://deb.debian.org/debian trixie/main i386 libwww-perl all 6.77-1 [183 kB] Get: 108 http://deb.debian.org/debian trixie/main i386 patchutils i386 0.4.2-1 [79.6 kB] Get: 109 http://deb.debian.org/debian trixie/main i386 wdiff i386 1.2.2-7 [123 kB] Get: 110 http://deb.debian.org/debian trixie/main i386 devscripts all 2.25.1 [1053 kB] Get: 111 http://deb.debian.org/debian trixie/main i386 rubygems-integration all 1.19 [5488 B] Get: 112 http://deb.debian.org/debian trixie/main i386 ruby-net-telnet all 0.2.0-1 [13.1 kB] Get: 113 http://deb.debian.org/debian trixie/main i386 ruby-webrick all 1.8.1-1 [51.4 kB] Get: 114 http://deb.debian.org/debian trixie/main i386 ruby-xmlrpc all 0.3.3-2 [24.4 kB] Get: 115 http://deb.debian.org/debian trixie/main i386 libyaml-0-2 i386 0.2.5-2 [55.8 kB] Get: 116 http://deb.debian.org/debian trixie/main i386 libruby3.3 i386 3.3.7-1 [6385 kB] Get: 117 http://deb.debian.org/debian trixie/main i386 libruby i386 1:3.1+support3.3 [4888 B] Get: 118 http://deb.debian.org/debian trixie/main i386 ruby-sdbm i386 1.0.0-5+b6 [20.3 kB] Get: 119 http://deb.debian.org/debian trixie/main i386 libedit2 i386 3.1-20250104-1 [98.1 kB] Get: 120 http://deb.debian.org/debian trixie/main i386 libncurses6 i386 6.5-2+b1 [112 kB] Get: 121 http://deb.debian.org/debian trixie/main i386 libruby3.1t64 i386 3.1.2-8.5 [5470 kB] Get: 122 http://deb.debian.org/debian trixie/main i386 ruby3.1 i386 3.1.2-8.5 [664 kB] Get: 123 http://deb.debian.org/debian trixie/main i386 ruby-rubygems all 3.6.3-1 [406 kB] Get: 124 http://deb.debian.org/debian trixie/main i386 ruby i386 1:3.1+support3.3 [5944 B] Get: 125 http://deb.debian.org/debian trixie/main i386 rake all 13.2.1-1 [65.2 kB] Get: 126 http://deb.debian.org/debian trixie/main i386 gem2deb-test-runner i386 2.2.5 [17.9 kB] Get: 127 http://deb.debian.org/debian trixie/main i386 libgmpxx4ldbl i386 2:6.3.0+dfsg-3 [329 kB] Get: 128 http://deb.debian.org/debian trixie/main i386 libgmp-dev i386 2:6.3.0+dfsg-3 [661 kB] Get: 129 http://deb.debian.org/debian trixie/main i386 ruby3.1-dev i386 3.1.2-8.5 [1003 kB] Get: 130 http://deb.debian.org/debian trixie/main i386 ruby3.3 i386 3.3.7-1 [827 kB] Get: 131 http://deb.debian.org/debian trixie/main i386 ruby3.3-dev i386 3.3.7-1 [1038 kB] Get: 132 http://deb.debian.org/debian trixie/main i386 ruby-all-dev i386 1:3.1+support3.3 [5976 B] Get: 133 http://deb.debian.org/debian trixie/main i386 gem2deb i386 2.2.5 [48.0 kB] Get: 134 http://deb.debian.org/debian trixie/main i386 ruby-diff-lcs all 1.5.1-1 [28.1 kB] Get: 135 http://deb.debian.org/debian trixie/main i386 ruby-rspec-support all 3.13.0c0e0m0s1-2 [28.5 kB] Get: 136 http://deb.debian.org/debian trixie/main i386 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] Get: 137 http://deb.debian.org/debian trixie/main i386 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [90.2 kB] Get: 138 http://deb.debian.org/debian trixie/main i386 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 139 http://deb.debian.org/debian trixie/main i386 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Fetched 56.4 MB in 1s (71.9 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:i386. (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 ... 19830 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.1-3+b1_i386.deb ... Unpacking libpython3.13-minimal:i386 (3.13.1-3+b1) ... Selecting previously unselected package libexpat1:i386. Preparing to unpack .../libexpat1_2.6.4-1_i386.deb ... Unpacking libexpat1:i386 (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.1-3+b1_i386.deb ... Unpacking python3.13-minimal (3.13.1-3+b1) ... Setting up libpython3.13-minimal:i386 (3.13.1-3+b1) ... Setting up libexpat1:i386 (2.6.4-1) ... Setting up python3.13-minimal (3.13.1-3+b1) ... Selecting previously unselected package python3-minimal. (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 ... 20166 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_i386.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2024b-6_all.deb ... Unpacking tzdata (2024b-6) ... Selecting previously unselected package libffi8:i386. Preparing to unpack .../4-libffi8_3.4.6-1_i386.deb ... Unpacking libffi8:i386 (3.4.6-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:i386. Preparing to unpack .../6-libreadline8t64_8.2-6_i386.deb ... Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8 to /lib/i386-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8.2 to /lib/i386-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8 to /lib/i386-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8.2 to /lib/i386-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:i386 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:i386. Preparing to unpack .../7-libpython3.13-stdlib_3.13.1-3+b1_i386.deb ... Unpacking libpython3.13-stdlib:i386 (3.13.1-3+b1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.1-3+b1_i386.deb ... Unpacking python3.13 (3.13.1-3+b1) ... Selecting previously unselected package libpython3-stdlib:i386. Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_i386.deb ... Unpacking libpython3-stdlib:i386 (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. (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 ... 21177 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.1-2_i386.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../001-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../002-openssl_3.4.0-2_i386.deb ... Unpacking openssl (3.4.0-2) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../003-ca-certificates_20241223_all.deb ... Unpacking ca-certificates (20241223) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../004-libmagic-mgc_1%3a5.45-3+b1_i386.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:i386. Preparing to unpack .../005-libmagic1t64_1%3a5.45-3+b1_i386.deb ... Unpacking libmagic1t64:i386 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../006-file_1%3a5.45-3+b1_i386.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../007-gettext-base_0.23.1-1_i386.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../008-libuchardet0_0.0.8-1+b2_i386.deb ... Unpacking libuchardet0:i386 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../009-groff-base_1.23.0-7_i386.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../010-bsdextrautils_2.40.4-2_i386.deb ... Unpacking bsdextrautils (2.40.4-2) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../011-libpipeline1_1.5.8-1_i386.deb ... Unpacking libpipeline1:i386 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../012-man-db_2.13.0-1_i386.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../013-m4_1.4.19-5_i386.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../014-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../015-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../016-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../017-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../018-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../019-libtool_2.5.4-2_all.deb ... Unpacking libtool (2.5.4-2) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../020-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../021-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 .../022-libfile-stripnondeterminism-perl_1.14.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../023-dh-strip-nondeterminism_1.14.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-1) ... Selecting previously unselected package libelf1t64:i386. Preparing to unpack .../024-libelf1t64_0.192-4_i386.deb ... Unpacking libelf1t64:i386 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../025-dwz_0.15-1+b1_i386.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:i386. Preparing to unpack .../026-libunistring5_1.3-1_i386.deb ... Unpacking libunistring5:i386 (1.3-1) ... Selecting previously unselected package libicu72:i386. Preparing to unpack .../027-libicu72_72.1-6_i386.deb ... Unpacking libicu72:i386 (72.1-6) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../028-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_i386.deb ... Unpacking libxml2:i386 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../029-gettext_0.23.1-1_i386.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../030-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 .../031-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../032-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package libgpg-error0:i386. Preparing to unpack .../033-libgpg-error0_1.51-3_i386.deb ... Unpacking libgpg-error0:i386 (1.51-3) ... Selecting previously unselected package libassuan9:i386. Preparing to unpack .../034-libassuan9_3.0.1-2_i386.deb ... Unpacking libassuan9:i386 (3.0.1-2) ... Selecting previously unselected package libgcrypt20:i386. Preparing to unpack .../035-libgcrypt20_1.11.0-7_i386.deb ... Unpacking libgcrypt20:i386 (1.11.0-7) ... Selecting previously unselected package gpgconf. Preparing to unpack .../036-gpgconf_2.2.46-1+b1_i386.deb ... Unpacking gpgconf (2.2.46-1+b1) ... Selecting previously unselected package libidn2-0:i386. Preparing to unpack .../037-libidn2-0_2.3.7-2+b1_i386.deb ... Unpacking libidn2-0:i386 (2.3.7-2+b1) ... Selecting previously unselected package libp11-kit0:i386. Preparing to unpack .../038-libp11-kit0_0.25.5-3_i386.deb ... Unpacking libp11-kit0:i386 (0.25.5-3) ... Selecting previously unselected package libtasn1-6:i386. Preparing to unpack .../039-libtasn1-6_4.19.0-3+b3_i386.deb ... Unpacking libtasn1-6:i386 (4.19.0-3+b3) ... Selecting previously unselected package libgnutls30t64:i386. Preparing to unpack .../040-libgnutls30t64_3.8.8-2_i386.deb ... Unpacking libgnutls30t64:i386 (3.8.8-2) ... Selecting previously unselected package libksba8:i386. Preparing to unpack .../041-libksba8_1.6.7-2+b1_i386.deb ... Unpacking libksba8:i386 (1.6.7-2+b1) ... Selecting previously unselected package libsasl2-modules-db:i386. Preparing to unpack .../042-libsasl2-modules-db_2.1.28+dfsg1-8+b1_i386.deb ... Unpacking libsasl2-modules-db:i386 (2.1.28+dfsg1-8+b1) ... Selecting previously unselected package libsasl2-2:i386. Preparing to unpack .../043-libsasl2-2_2.1.28+dfsg1-8+b1_i386.deb ... Unpacking libsasl2-2:i386 (2.1.28+dfsg1-8+b1) ... Selecting previously unselected package libldap2:i386. Preparing to unpack .../044-libldap2_2.6.9+dfsg-1_i386.deb ... Unpacking libldap2:i386 (2.6.9+dfsg-1) ... Selecting previously unselected package libnpth0t64:i386. Preparing to unpack .../045-libnpth0t64_1.8-2_i386.deb ... Unpacking libnpth0t64:i386 (1.8-2) ... Selecting previously unselected package dirmngr. Preparing to unpack .../046-dirmngr_2.2.46-1+b1_i386.deb ... Unpacking dirmngr (2.2.46-1+b1) ... Selecting previously unselected package gnupg-l10n. Preparing to unpack .../047-gnupg-l10n_2.2.46-1_all.deb ... Unpacking gnupg-l10n (2.2.46-1) ... Selecting previously unselected package gpg. Preparing to unpack .../048-gpg_2.2.46-1+b1_i386.deb ... Unpacking gpg (2.2.46-1+b1) ... Selecting previously unselected package pinentry-curses. Preparing to unpack .../049-pinentry-curses_1.3.1-2_i386.deb ... Unpacking pinentry-curses (1.3.1-2) ... Selecting previously unselected package gpg-agent. Preparing to unpack .../050-gpg-agent_2.2.46-1+b1_i386.deb ... Unpacking gpg-agent (2.2.46-1+b1) ... Selecting previously unselected package gpgsm. Preparing to unpack .../051-gpgsm_2.2.46-1+b1_i386.deb ... Unpacking gpgsm (2.2.46-1+b1) ... Selecting previously unselected package gnupg. Preparing to unpack .../052-gnupg_2.2.46-1_all.deb ... Unpacking gnupg (2.2.46-1) ... Selecting previously unselected package gpgv. Preparing to unpack .../053-gpgv_2.2.46-1+b1_i386.deb ... Unpacking gpgv (2.2.46-1+b1) ... Selecting previously unselected package sopv-gpgv. Preparing to unpack .../054-sopv-gpgv_0.1.1-1_all.deb ... Unpacking sopv-gpgv (0.1.1-1) ... Selecting previously unselected package libfile-dirlist-perl. Preparing to unpack .../055-libfile-dirlist-perl_0.05-3_all.deb ... Unpacking libfile-dirlist-perl (0.05-3) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../056-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../057-libfile-homedir-perl_1.006-2_all.deb ... Unpacking libfile-homedir-perl (1.006-2) ... Selecting previously unselected package libfile-touch-perl. Preparing to unpack .../058-libfile-touch-perl_0.12-2_all.deb ... Unpacking libfile-touch-perl (0.12-2) ... Selecting previously unselected package libio-pty-perl. Preparing to unpack .../059-libio-pty-perl_1%3a1.20-1+b3_i386.deb ... Unpacking libio-pty-perl (1:1.20-1+b3) ... Selecting previously unselected package libipc-run-perl. Preparing to unpack .../060-libipc-run-perl_20231003.0-2_all.deb ... Unpacking libipc-run-perl (20231003.0-2) ... Selecting previously unselected package libclass-method-modifiers-perl. Preparing to unpack .../061-libclass-method-modifiers-perl_2.15-1_all.deb ... Unpacking libclass-method-modifiers-perl (2.15-1) ... Selecting previously unselected package libclass-xsaccessor-perl. Preparing to unpack .../062-libclass-xsaccessor-perl_1.19-4+b4_i386.deb ... Unpacking libclass-xsaccessor-perl (1.19-4+b4) ... Selecting previously unselected package libb-hooks-op-check-perl:i386. Preparing to unpack .../063-libb-hooks-op-check-perl_0.22-3+b2_i386.deb ... Unpacking libb-hooks-op-check-perl:i386 (0.22-3+b2) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../064-libdynaloader-functions-perl_0.004-1_all.deb ... Unpacking libdynaloader-functions-perl (0.004-1) ... Selecting previously unselected package libdevel-callchecker-perl:i386. Preparing to unpack .../065-libdevel-callchecker-perl_0.009-1+b1_i386.deb ... Unpacking libdevel-callchecker-perl:i386 (0.009-1+b1) ... Selecting previously unselected package libparams-classify-perl:i386. Preparing to unpack .../066-libparams-classify-perl_0.015-2+b4_i386.deb ... Unpacking libparams-classify-perl:i386 (0.015-2+b4) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../067-libmodule-runtime-perl_0.016-2_all.deb ... Unpacking libmodule-runtime-perl (0.016-2) ... Selecting previously unselected package libimport-into-perl. Preparing to unpack .../068-libimport-into-perl_1.002005-2_all.deb ... Unpacking libimport-into-perl (1.002005-2) ... Selecting previously unselected package librole-tiny-perl. Preparing to unpack .../069-librole-tiny-perl_2.002004-1_all.deb ... Unpacking librole-tiny-perl (2.002004-1) ... Selecting previously unselected package libsub-quote-perl. Preparing to unpack .../070-libsub-quote-perl_2.006008-1_all.deb ... Unpacking libsub-quote-perl (2.006008-1) ... Selecting previously unselected package libmoo-perl. Preparing to unpack .../071-libmoo-perl_2.005005-1_all.deb ... Unpacking libmoo-perl (2.005005-1) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../072-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../073-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../074-libhttp-date-perl_6.06-1_all.deb ... Unpacking libhttp-date-perl (6.06-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../075-libfile-listing-perl_6.16-1_all.deb ... Unpacking libfile-listing-perl (6.16-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../076-libhtml-tagset-perl_3.24-1_all.deb ... Unpacking libhtml-tagset-perl (3.24-1) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../077-liburi-perl_5.30-1_all.deb ... Unpacking liburi-perl (5.30-1) ... Selecting previously unselected package libhtml-parser-perl:i386. Preparing to unpack .../078-libhtml-parser-perl_3.83-1+b2_i386.deb ... Unpacking libhtml-parser-perl:i386 (3.83-1+b2) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../079-libhtml-tree-perl_5.07-3_all.deb ... Unpacking libhtml-tree-perl (5.07-3) ... Selecting previously unselected package libclone-perl:i386. Preparing to unpack .../080-libclone-perl_0.47-1+b1_i386.deb ... Unpacking libclone-perl:i386 (0.47-1+b1) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../081-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../082-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../083-libhttp-message-perl_7.00-2_all.deb ... Unpacking libhttp-message-perl (7.00-2) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../084-libhttp-cookies-perl_6.11-1_all.deb ... Unpacking libhttp-cookies-perl (6.11-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../085-libhttp-negotiate-perl_6.01-2_all.deb ... Unpacking libhttp-negotiate-perl (6.01-2) ... Selecting previously unselected package perl-openssl-defaults:i386. Preparing to unpack .../086-perl-openssl-defaults_7+b2_i386.deb ... Unpacking perl-openssl-defaults:i386 (7+b2) ... Selecting previously unselected package libnet-ssleay-perl:i386. Preparing to unpack .../087-libnet-ssleay-perl_1.94-2_i386.deb ... Unpacking libnet-ssleay-perl:i386 (1.94-2) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../088-libio-socket-ssl-perl_2.089-1_all.deb ... Unpacking libio-socket-ssl-perl (2.089-1) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../089-libnet-http-perl_6.23-1_all.deb ... Unpacking libnet-http-perl (6.23-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../090-liblwp-protocol-https-perl_6.14-1_all.deb ... Unpacking liblwp-protocol-https-perl (6.14-1) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../091-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../092-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../093-libwww-perl_6.77-1_all.deb ... Unpacking libwww-perl (6.77-1) ... Selecting previously unselected package patchutils. Preparing to unpack .../094-patchutils_0.4.2-1_i386.deb ... Unpacking patchutils (0.4.2-1) ... Selecting previously unselected package wdiff. Preparing to unpack .../095-wdiff_1.2.2-7_i386.deb ... Unpacking wdiff (1.2.2-7) ... Selecting previously unselected package devscripts. Preparing to unpack .../096-devscripts_2.25.1_all.deb ... Unpacking devscripts (2.25.1) ... Selecting previously unselected package rubygems-integration. Preparing to unpack .../097-rubygems-integration_1.19_all.deb ... Unpacking rubygems-integration (1.19) ... Selecting previously unselected package ruby-net-telnet. Preparing to unpack .../098-ruby-net-telnet_0.2.0-1_all.deb ... Unpacking ruby-net-telnet (0.2.0-1) ... Selecting previously unselected package ruby-webrick. Preparing to unpack .../099-ruby-webrick_1.8.1-1_all.deb ... Unpacking ruby-webrick (1.8.1-1) ... Selecting previously unselected package ruby-xmlrpc. Preparing to unpack .../100-ruby-xmlrpc_0.3.3-2_all.deb ... Unpacking ruby-xmlrpc (0.3.3-2) ... Selecting previously unselected package libyaml-0-2:i386. Preparing to unpack .../101-libyaml-0-2_0.2.5-2_i386.deb ... Unpacking libyaml-0-2:i386 (0.2.5-2) ... Selecting previously unselected package libruby3.3:i386. Preparing to unpack .../102-libruby3.3_3.3.7-1_i386.deb ... Unpacking libruby3.3:i386 (3.3.7-1) ... Selecting previously unselected package libruby:i386. Preparing to unpack .../103-libruby_1%3a3.1+support3.3_i386.deb ... Unpacking libruby:i386 (1:3.1+support3.3) ... Selecting previously unselected package ruby-sdbm:i386. Preparing to unpack .../104-ruby-sdbm_1.0.0-5+b6_i386.deb ... Unpacking ruby-sdbm:i386 (1.0.0-5+b6) ... Selecting previously unselected package libedit2:i386. Preparing to unpack .../105-libedit2_3.1-20250104-1_i386.deb ... Unpacking libedit2:i386 (3.1-20250104-1) ... Selecting previously unselected package libncurses6:i386. Preparing to unpack .../106-libncurses6_6.5-2+b1_i386.deb ... Unpacking libncurses6:i386 (6.5-2+b1) ... Selecting previously unselected package libruby3.1t64:i386. Preparing to unpack .../107-libruby3.1t64_3.1.2-8.5_i386.deb ... Unpacking libruby3.1t64:i386 (3.1.2-8.5) ... Selecting previously unselected package ruby3.1. Preparing to unpack .../108-ruby3.1_3.1.2-8.5_i386.deb ... Unpacking ruby3.1 (3.1.2-8.5) ... Selecting previously unselected package ruby-rubygems. Preparing to unpack .../109-ruby-rubygems_3.6.3-1_all.deb ... Unpacking ruby-rubygems (3.6.3-1) ... Selecting previously unselected package ruby. Preparing to unpack .../110-ruby_1%3a3.1+support3.3_i386.deb ... Unpacking ruby (1:3.1+support3.3) ... Selecting previously unselected package rake. Preparing to unpack .../111-rake_13.2.1-1_all.deb ... Unpacking rake (13.2.1-1) ... Selecting previously unselected package gem2deb-test-runner. Preparing to unpack .../112-gem2deb-test-runner_2.2.5_i386.deb ... Unpacking gem2deb-test-runner (2.2.5) ... Selecting previously unselected package libgmpxx4ldbl:i386. Preparing to unpack .../113-libgmpxx4ldbl_2%3a6.3.0+dfsg-3_i386.deb ... Unpacking libgmpxx4ldbl:i386 (2:6.3.0+dfsg-3) ... Selecting previously unselected package libgmp-dev:i386. Preparing to unpack .../114-libgmp-dev_2%3a6.3.0+dfsg-3_i386.deb ... Unpacking libgmp-dev:i386 (2:6.3.0+dfsg-3) ... Selecting previously unselected package ruby3.1-dev:i386. Preparing to unpack .../115-ruby3.1-dev_3.1.2-8.5_i386.deb ... Unpacking ruby3.1-dev:i386 (3.1.2-8.5) ... Selecting previously unselected package ruby3.3. Preparing to unpack .../116-ruby3.3_3.3.7-1_i386.deb ... Unpacking ruby3.3 (3.3.7-1) ... Selecting previously unselected package ruby3.3-dev:i386. Preparing to unpack .../117-ruby3.3-dev_3.3.7-1_i386.deb ... Unpacking ruby3.3-dev:i386 (3.3.7-1) ... Selecting previously unselected package ruby-all-dev:i386. Preparing to unpack .../118-ruby-all-dev_1%3a3.1+support3.3_i386.deb ... Unpacking ruby-all-dev:i386 (1:3.1+support3.3) ... Selecting previously unselected package gem2deb. Preparing to unpack .../119-gem2deb_2.2.5_i386.deb ... Unpacking gem2deb (2.2.5) ... Selecting previously unselected package ruby-diff-lcs. Preparing to unpack .../120-ruby-diff-lcs_1.5.1-1_all.deb ... Unpacking ruby-diff-lcs (1.5.1-1) ... Selecting previously unselected package ruby-rspec-support. Preparing to unpack .../121-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 .../122-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 .../123-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 .../124-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 .../125-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:i386 (1.5.8-1) ... Setting up wdiff (1.2.2-7) ... Setting up libfile-which-perl (1.27-2) ... Setting up libnpth0t64:i386 (1.8-2) ... Setting up libicu72:i386 (72.1-6) ... Setting up bsdextrautils (2.40.4-2) ... Setting up libgpg-error0:i386 (1.51-3) ... Setting up libdynaloader-functions-perl (0.004-1) ... Setting up libclass-method-modifiers-perl (2.15-1) ... Setting up libio-pty-perl (1:1.20-1+b3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libclone-perl:i386 (0.47-1+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:i386 (0.2.5-2) ... Setting up libhtml-tagset-perl (3.24-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libedit2:i386 (3.1-20250104-1) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libmagic1t64:i386 (1:5.45-3+b1) ... Setting up libtry-tiny-perl (0.32-1) ... Setting up perl-openssl-defaults:i386 (7+b2) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up libgcrypt20:i386 (1.11.0-7) ... Setting up libencode-locale-perl (1.05-3) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:i386 (0.192-4) ... Setting up libsasl2-modules-db:i386 (2.1.28+dfsg1-8+b1) ... Setting up tzdata (2024b-6) ... Current default time zone: 'Etc/UTC' Local time is now: Mon Feb 3 21:37:44 UTC 2025. Universal Time is now: Mon Feb 3 21:37:44 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up libgmpxx4ldbl:i386 (2:6.3.0+dfsg-3) ... Setting up gnupg-l10n (2.2.46-1) ... Setting up libncurses6:i386 (6.5-2+b1) ... Setting up ruby-net-telnet (0.2.0-1) ... Setting up libunistring5:i386 (1.3-1) ... Setting up libio-html-perl (1.004-3) ... Setting up autopoint (0.23.1-1) ... Setting up libb-hooks-op-check-perl:i386 (0.22-3+b2) ... Setting up libipc-run-perl (20231003.0-2) ... Setting up libsasl2-2:i386 (2.1.28+dfsg1-8+b1) ... Setting up autoconf (2.72-3) ... Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... Setting up libtimedate-perl (2.3300-2) ... Setting up ruby-webrick (1.8.1-1) ... Setting up libffi8:i386 (3.4.6-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up gpgv (2.2.46-1+b1) ... Setting up libuchardet0:i386 (0.0.8-1+b2) ... Setting up libassuan9:i386 (3.0.1-2) ... Setting up librole-tiny-perl (2.002004-1) ... Setting up libtasn1-6:i386 (4.19.0-3+b3) ... Setting up netbase (6.4) ... Setting up libsub-quote-perl (2.006008-1) ... Setting up libclass-xsaccessor-perl (1.19-4+b4) ... Setting up libfile-dirlist-perl (0.05-3) ... Setting up libfile-homedir-perl (1.006-2) ... Setting up openssl (3.4.0-2) ... Setting up readline-common (8.2-6) ... Setting up ruby-xmlrpc (0.3.3-2) ... Setting up libxml2:i386 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libldap2:i386 (2.6.9+dfsg-1) ... Setting up liburi-perl (5.30-1) ... Setting up libfile-touch-perl (0.12-2) ... Setting up libnet-ssleay-perl:i386 (1.94-2) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libksba8:i386 (1.6.7-2+b1) ... Setting up pinentry-curses (1.3.1-2) ... Setting up libfile-stripnondeterminism-perl (1.14.1-1) ... Setting up libhttp-date-perl (6.06-1) ... Setting up gettext (0.23.1-1) ... Setting up libgmp-dev:i386 (2:6.3.0+dfsg-3) ... Setting up libfile-listing-perl (6.16-1) ... Setting up libtool (2.5.4-2) ... Setting up libnet-http-perl (6.23-1) ... Setting up libidn2-0:i386 (2.3.7-2+b1) ... Setting up libdevel-callchecker-perl:i386 (0.009-1+b1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up patchutils (0.4.2-1) ... Setting up ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 152 added, 0 removed; done. Setting up libp11-kit0:i386 (0.25.5-3) ... Setting up libreadline8t64:i386 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-1) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up groff-base (1.23.0-7) ... Setting up libhtml-parser-perl:i386 (3.83-1+b2) ... Setting up gpgconf (2.2.46-1+b1) ... Setting up libpython3.13-stdlib:i386 (3.13.1-3+b1) ... Setting up libio-socket-ssl-perl (2.089-1) ... Setting up gpg (2.2.46-1+b1) ... Setting up libpython3-stdlib:i386 (3.13.1-2) ... Setting up libhttp-message-perl (7.00-2) ... Setting up libgnutls30t64:i386 (3.8.8-2) ... Setting up libhttp-negotiate-perl (6.01-2) ... Setting up gpg-agent (2.2.46-1+b1) ... Setting up libhttp-cookies-perl (6.11-1) ... Setting up python3.13 (3.13.1-3+b1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libhtml-tree-perl (5.07-3) ... Setting up libparams-classify-perl:i386 (0.015-2+b4) ... Setting up gpgsm (2.2.46-1+b1) ... Setting up python3 (3.13.1-2) ... Setting up rubygems-integration (1.19) ... Setting up sopv-gpgv (0.1.1-1) ... update-alternatives: using /usr/bin/sopv-gpgv to provide /usr/bin/sopv (sopv) in auto mode Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up dirmngr (2.2.46-1+b1) ... Setting up libmodule-runtime-perl (0.016-2) ... Setting up gnupg (2.2.46-1) ... Setting up libimport-into-perl (1.002005-2) ... Setting up libmoo-perl (2.005005-1) ... Setting up debhelper (13.24.1) ... Setting up rake (13.2.1-1) ... Setting up liblwp-protocol-https-perl (6.14-1) ... Setting up libruby:i386 (1:3.1+support3.3) ... Setting up libwww-perl (6.77-1) ... Setting up libruby3.3:i386 (3.3.7-1) ... Setting up ruby-rubygems (3.6.3-1) ... Setting up ruby (1:3.1+support3.3) ... Setting up devscripts (2.25.1) ... Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... Setting up ruby3.3-dev:i386 (3.3.7-1) ... Setting up ruby3.3 (3.3.7-1) ... Setting up ruby-sdbm:i386 (1.0.0-5+b6) ... Setting up ruby-diff-lcs (1.5.1-1) ... Setting up libruby3.1t64:i386 (3.1.2-8.5) ... Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... Setting up ruby3.1 (3.1.2-8.5) ... Setting up ruby3.1-dev:i386 (3.1.2-8.5) ... Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... Setting up gem2deb-test-runner (2.2.5) ... Setting up ruby-all-dev:i386 (1:3.1+support3.3) ... Setting up gem2deb (2.2.5) ... Processing triggers for libc-bin (2.40-6) ... Processing triggers for ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/ruby-semantic-puppet-1.1.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ruby-semantic-puppet_1.1.0-1_source.changes dpkg-buildpackage: info: source package ruby-semantic-puppet dpkg-buildpackage: info: source version 1.1.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Jérôme Charaoui dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 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-semantic-puppet/ -O--buildsystem=ruby dh_ruby --install /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet ┌──────────────────────────────────────────────────────────────────────────────┐ │ ruby-semantic-puppet: Installing files and building extensions for ruby3.1 │ └──────────────────────────────────────────────────────────────────────────────┘ /usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20250203-56388-ux6n0k/gemspec WARNING: open-ended dependency on rake (>= 0, development) is not recommended use a bounded requirement, such as "~> x.y" WARNING: open-ended dependency on rspec (>= 0, development) is not recommended use a bounded requirement, such as "~> x.y" WARNING: open-ended dependency on simplecov (>= 0, development) is not recommended use a bounded requirement, such as "~> x.y" WARNING: open-ended dependency on cane (>= 0, development) is not recommended use a bounded requirement, such as "~> x.y" WARNING: open-ended dependency on yard (>= 0, development) is not recommended use a bounded requirement, such as "~> x.y" WARNING: open-ended dependency on redcarpet (>= 0, development) is not recommended use a bounded requirement, such as "~> x.y" WARNING: See https://guides.rubygems.org/specification-reference/ for help Successfully built RubyGem Name: semantic_puppet Version: 1.1.0 File: semantic_puppet-1.1.0.gem /usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-semantic-puppet/usr/share/rubygems-integration/all /tmp/d20250203-56388-ux6n0k/semantic_puppet-1.1.0.gem /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet.rb /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency.rb /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency/graph.rb /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency/graph_node.rb /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency/module_release.rb /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency/source.rb /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency/unsatisfiable_graph.rb /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/gem_version.rb /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/version.rb /build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/version_range.rb Successfully installed semantic_puppet-1.1.0 1 gem installed cd debian/ruby-semantic-puppet/usr/share/rubygems-integration/all rm -rf bin rm -rf build_info rm -rf cache rm -rf doc rm -rf extensions rmdir plugins cd gems/semantic_puppet-1.1.0 rm -f chmod 644 lib/semantic_puppet/dependency/graph.rb lib/semantic_puppet/dependency/graph_node.rb lib/semantic_puppet/dependency/module_release.rb lib/semantic_puppet/dependency/source.rb lib/semantic_puppet/dependency/unsatisfiable_graph.rb lib/semantic_puppet/dependency.rb lib/semantic_puppet/gem_version.rb lib/semantic_puppet/version.rb lib/semantic_puppet/version_range.rb lib/semantic_puppet.rb find lib/ -type d -empty -delete cd - cd - dh_installchangelogs -pruby-semantic-puppet /build/reproducible-path/ruby-semantic-puppet-1.1.0/CHANGELOG.md upstream /usr/bin/ruby3.1 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby3.1 │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/i386-linux-gnu/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/i386-linux-gnu/rubygems-integration/3.1.0 ruby3.1 -e gem\ \"semantic_puppet\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby3.1 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/i386-linux-gnu/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/i386-linux-gnu/rubygems-integration/3.1.0 ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake /usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation Run options: include {:focus=>true} All examples were filtered out; ignoring {:focus=>true} Randomized with seed 10490 SemanticPuppet::Dependency .resolve for a module without dependencies returns the greatest release matching the version range when the query omits all versions fails with an appropriate message when the query includes both stable and prerelease versions returns the greatest stable release matching the range when the query omits all stable versions returns the greatest prerelease version matching the range for a module with circular dependencies that can be resolved terminates that cannot be resolved fails with an appropriate message for a module with competing dependencies that overlap returns the greatest release satisfying all dependencies that do not overlap fails with an appropriate message that violate graph constraints that can be resolved terminates that cannot be resolved fails with an appropriate message for a module with dependencies that violate module constraints on the graph that cannot be resolved fails with an appropriate message that can be resolved terminates for a module with dependencies returns the greatest releases matching the dependency range when the dependency has no stable versions returns the greatest prerelease version matching the range when the dependency has both stable and prerelease versions returns the greatest stable release matching the range when the dependency cannot be satisfied sets unsatisfiable fails with an appropriate message .query with multiple sources resolves all dependencies against all sources queries each source in turn without sources returns an unsatisfied ModuleRelease with one source populates the returned ModuleRelease with related dependencies returns a ModuleRelease with the requested dependencies queries the source for release information queries the source for each dependency only once queries the source for each dependency populates all returned ModuleReleases with related dependencies .sources can be emptied by using #clear_sources is frozen can be modified by using #add_source defaults to an empty list SemanticPuppet::Dependency::Graph #add_constraint can create a new constraint on a module permits multiple constraints against the same module name #add_graph_constraint can create a new constraint on a graph permits multiple graph constraints #satisfies_graph? returns false if the solution violates any graph constraint returns false if the solution violates a graph constraint returns true if the solution violates no graph constraints #satisfies_dependency? is not satisfied by modules that do not fulfill all the constraints is satisfied by modules that do fulfill all the constraints is not satisfied by modules that do not fulfill the constraint is not satisfied by modules it does not depend on #initialize implements the GraphNode protocol adds the named dependencies for every key in the passed hash adds constraints for every key in the passed hash can be called without arguments SemanticPuppet::Dependency::GraphNode #<< sorts once the dependencies for a specific node does not append unsatisfying nodes appends satisfying nodes to the dependencies sorts the dependencies for each addition to the same node does not append nodes with unknown names #<=> can be compared #populate_children accepts a graph solution and populates it across all nodes saves all relevant nodes as its children dependencies are added by #add_dependency are maintained in the #dependencies Hash #satisfied is satisfied when all dependencies are fulfilled is unsatisfied when no nodes have been appended is unsatisfied when any dependencies are missing SemanticPuppet::Dependency::UnsatisfiableGraph #message is expected to match /foo, bar, and baz/ #sentence_from_list with a list of one item is expected to eql "foo" with a list of two items is expected to eql "foo and bar" with a list of more than three items is expected to eql "foo, bar, baz, and quux" with a list of three items is expected to eql "foo, bar, and baz" SemanticPuppet::VersionRange .parse inclusive range expressions "1.2.3-alpha - 1.3.4-alpha" includes 1.3.4-alpha parse("1.2.3-alpha - 1.3.4").to_s includes 1.2.3-alpha parse("1.2.3-alpha - 1.3.4-alpha").to_s excludes 1.2.3-alph "1.2.3 - 1.3.4" excludes 1.2.3-0 "1.2.3 - 1.3.4" excludes 1.2.2 "1.2.3-alpha - 1.3.4" stringifies as >=1.2.3-alpha <=1.3.4 "1.2.3 - 1.3.4" stringifies as >=1.2.3 <=1.3.4 parse("1.2.3 - 1.3.4-alpha").to_s excludes 1.2.2 parse("1.2.3 - 1.3.4-alpha").to_s excludes 1.3.5 parse("1.2.3-alpha - 1.3.4").to_s excludes 1.2.3-alph "1.2.3-alpha - 1.3.4-alpha" includes 1.2.3-alpha "1.2.3 - 1.3.4-alpha" excludes 1.3.4-alpha0 "1.2.3 - 1.3.4-alpha" excludes 1.2.2 "1.2.3 - 1.3.4-alpha" includes 1.2.3 parse("1.2.3 - 1.3.4-alpha").to_s includes 1.2.3 "1.2.3-alpha - 1.3.4" includes 1.2.3-alpha parse("1.2.3 - 1.3.4").to_s excludes 1.3.5-0 parse("1.2.3-alpha - 1.3.4").to_s excludes 1.3.5-0 parse("1.2.3 - 1.3.4").to_s includes 1.3.4 parse("1.2.3 - 1.3.4-alpha").to_s excludes 1.3.4-alpha0 parse("1.2.3-alpha - 1.3.4-alpha").to_s excludes 1.3.4-alpha0 "1.2.3 - 1.3.4-alpha" excludes 1.3.5 "1.2.3 - 1.3.4" includes 1.2.3 "1.2.3-alpha - 1.3.4-alpha" excludes 1.3.5 "1.2.3-alpha - 1.3.4" excludes 1.3.5-0 parse("1.2.3 - 1.3.4").to_s includes 1.2.3 "1.2.3 - 1.3.4" excludes 1.3.5-0 "1.2.3 - 1.3.4" includes 1.3.4 "1.2.3-alpha - 1.3.4-alpha" stringifies as >=1.2.3-alpha <=1.3.4-alpha parse("1.2.3 - 1.3.4").to_s excludes 1.2.3-0 "1.2.3-alpha - 1.3.4-alpha" excludes 1.3.4-alpha0 parse("1.2.3 - 1.3.4-alpha").to_s includes 1.3.4-alpha "1.2.3-alpha - 1.3.4-alpha" excludes 1.2.3-alph parse("1.2.3-alpha - 1.3.4-alpha").to_s includes 1.3.4-alpha parse("1.2.3 - 1.3.4").to_s excludes 1.2.2 parse("1.2.3-alpha - 1.3.4").to_s includes 1.3.4 parse("1.2.3-alpha - 1.3.4-alpha").to_s excludes 1.3.5 "1.2.3 - 1.3.4-alpha" includes 1.3.4-alpha "1.2.3 - 1.3.4-alpha" excludes 1.2.3-0 "1.2.3-alpha - 1.3.4" includes 1.3.4 parse("1.2.3-alpha - 1.3.4-alpha").to_s includes 1.2.3-alpha "1.2.3 - 1.3.4-alpha" stringifies as >=1.2.3 <=1.3.4-alpha parse("1.2.3 - 1.3.4-alpha").to_s excludes 1.2.3-0 "1.2.3-alpha - 1.3.4" excludes 1.2.3-alph ored expressions adjacent ">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0" stringifies as >=1.2.3 <1.3.0 parse("1.2.3 || 1.2.4 || 1.2.5").to_s excludes 1.2.5-0 returns nil on exclude_end? "1.2.3 || 1.2.4 || 1.2.5" includes 1.2.3 "1.2.3 || 1.2.4 || 1.2.5" stringifies as >=1.2.3 <=1.2.5 ">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0" excludes 1.2.6-0 parse(">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0").to_s includes 1.2.3 ">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0" excludes 1.2.3-0 parse(">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0").to_s excludes 1.2.6-0 parse(">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0").to_s includes 1.2.6 returns nil on exclude_begin? parse("1.2.3 || 1.2.4 || 1.2.5").to_s includes 1.2.3 returns nil on end returns expected begin parse("1.2.3 || 1.2.4 || 1.2.5").to_s includes 1.2.5 ">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0" includes 1.2.6 ">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0" includes 1.2.3 parse(">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0").to_s excludes 1.2.3-0 parse("1.2.3 || 1.2.4 || 1.2.5").to_s excludes 1.2.3-0 "1.2.3 || 1.2.4 || 1.2.5" excludes 1.2.3-0 "1.2.3 || 1.2.4 || 1.2.5" excludes 1.2.5-0 "1.2.3 || 1.2.4 || 1.2.5" includes 1.2.5 non-overlapping returns nil on exclude_begin? returns nil on end parse("1.2.3 || 1.2.5").to_s includes 1.2.5 "1.2.3 || 1.2.5" includes 1.2.3 "1.2.3 || 1.2.5" excludes 1.2.4 "1.2.3 || 1.2.5" excludes 1.2.5-0 parse("1.2.3 || 1.2.5").to_s excludes 1.2.4 "1.2.3 || 1.2.5" stringifies as 1.2.3 || 1.2.5 returns nil on exclude_end? "1.2.3 || 1.2.5" excludes 1.2.3-0 parse("1.2.3 || 1.2.5").to_s excludes 1.2.5-0 returns nil on begin "1.2.3 || 1.2.5" includes 1.2.5 parse("1.2.3 || 1.2.5").to_s excludes 1.2.3-0 parse("1.2.3 || 1.2.5").to_s includes 1.2.3 overlapping ">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0" includes 1.2.6 ">=1.2.3 || 1.2.5" stringifies as >=1.2.3 ">=1.2.3 || 1.2.5" excludes 1.2.3-0 parse(">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0").to_s excludes 1.2.6-0 parse(">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0").to_s includes 1.2.6 ">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0" excludes 1.2.6-0 parse(">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0").to_s includes 1.2.3 ">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0" stringifies as >=1.2.3 <1.3.0 ">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0" excludes 1.2.3-0 ">=1.2.3 || 1.2.5" includes 1.2.3 parse(">=1.2.3 || 1.2.5").to_s excludes 1.2.4-0 parse(">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0").to_s excludes 1.2.3-0 ">=1.2.3 || 1.2.5" excludes 1.2.4-0 parse(">=1.2.3 || 1.2.5").to_s includes 1.2.4 ">=1.2.3 || 1.2.5" includes 1.2.4 ">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0" includes 1.2.3 parse(">=1.2.3 || 1.2.5").to_s includes 1.2.3 parse(">=1.2.3 || 1.2.5").to_s excludes 1.2.3-0 invalid expressions raise an appropriate exception "reasonably close" expressions parse("~ 1.2.3").to_s includes 1.2.5 "~1.2.3-alpha" excludes 1.2.4-0 "~ 1.2.3" excludes 1.3.0-0 parse("~ 1.2.3-alpha").to_s excludes 1.2.4-0 "~1" includes 1.0.0 "~1.2.3-alpha" includes 1.2.3 "~ 1.2" excludes 1.3.0-0 parse("~1.2").to_s includes 1.2.999 parse("~1").to_s excludes 2.0.0-0 "~ 1.2.3-alpha" stringifies as >=1.2.3-alpha <1.3.0 "~1.2" excludes 1.2.0-0 "~ 1.2" stringifies as >=1.2.0 <1.3.0 parse("~1.2.3-alpha").to_s excludes 1.2.4-0 "~ 1.2.3-alpha" excludes 1.2.3-alph parse("~1").to_s includes 1.999.999 "~1.2" stringifies as >=1.2.0 <1.3.0 "~1" excludes 1.0.0-0 parse("~ 1.2.3-alpha").to_s includes 1.2.3 parse("~ 1.2").to_s includes 1.2.999 parse("~1.2").to_s excludes 1.1.999 "~1" includes 1.999.999 parse("~1.2.3-alpha").to_s excludes 1.2.3-alph parse("~ 1").to_s includes 1.0.0 parse("~ 1").to_s excludes 0.999.999 parse("~ 1.2").to_s excludes 1.1.999 parse("~ 1.2.3").to_s includes 1.2.3 "~1.2.3-alpha" excludes 1.2.3-alph "~ 1.2.3" excludes 1.2.3-0 "~1.2" excludes 1.3.0-0 parse("~1").to_s includes 1.0.0 parse("~1.2.3").to_s includes 1.2.3 parse("~1.2").to_s excludes 1.2.0-0 parse("~1.2.3").to_s excludes 1.3.0-0 "~ 1" includes 1.999.999 "~ 1.2.3" includes 1.2.5 parse("~ 1.2.3").to_s excludes 1.2.3-0 parse("~1.2.3").to_s excludes 1.2.2 "~1" excludes 0.999.999 parse("~1.2").to_s excludes 1.3.0-0 "~ 1" excludes 0.999.999 "~1.2" includes 1.2.999 "~1" stringifies as >=1.0.0 <2.0.0 "~ 1.2" includes 1.2.999 "~ 1" excludes 1.0.0-0 parse("~ 1").to_s excludes 2.0.0-0 parse("~ 1.2").to_s excludes 1.3.0-0 "~ 1" excludes 2.0.0-0 "~ 1.2" includes 1.2.0 "~ 1.2.3" stringifies as >=1.2.3 <1.3.0 "~ 1.2.3-alpha" includes 1.2.3 "~1.2.3" stringifies as >=1.2.3 <1.3.0 "~1.2" excludes 1.1.999 parse("~1.2.3").to_s excludes 1.2.3-0 "~ 1" stringifies as >=1.0.0 <2.0.0 "~ 1" includes 1.0.0 parse("~1").to_s excludes 0.999.999 "~ 1.2" excludes 1.2.0-0 parse("~ 1.2.3-alpha").to_s includes 1.2.3-alpha parse("~1").to_s excludes 1.0.0-0 "~ 1.2.3" includes 1.2.3 parse("~1.2.3-alpha").to_s includes 1.2.3 parse("~ 1.2").to_s includes 1.2.0 "~1.2.3" includes 1.2.3 "~1.2" includes 1.2.0 parse("~ 1.2.3-alpha").to_s excludes 1.2.3-alph parse("~ 1").to_s includes 1.999.999 "~ 1.2.3-alpha" includes 1.2.3-alpha "~1.2.3" excludes 1.2.3-0 parse("~1.2.3").to_s includes 1.2.5 "~1.2.3-alpha" stringifies as >=1.2.3-alpha <1.3.0 "~1" excludes 2.0.0-0 parse("~ 1.2").to_s excludes 1.2.0-0 "~ 1.2" excludes 1.1.999 "~1.2.3-alpha" includes 1.2.3-alpha parse("~1.2.3-alpha").to_s includes 1.2.3-alpha parse("~1.2").to_s includes 1.2.0 "~1.2.3" excludes 1.2.2 parse("~ 1").to_s excludes 1.0.0-0 "~ 1.2.3" excludes 1.2.2 parse("~ 1.2.3").to_s excludes 1.2.2 "~1.2.3" includes 1.2.5 "~1.2.3" excludes 1.3.0-0 "~ 1.2.3-alpha" excludes 1.2.4-0 parse("~ 1.2.3").to_s excludes 1.3.0-0 unioned expressions "1.2 <1.2.5" excludes 1.2.5-0 parse("1 <=1.2.5").to_s includes 1.0.0 parse("1 <=1.2.5").to_s excludes 0.999.999 "1 <=1.2.5" includes 1.0.0 "<1.0.0 >2.0.0" stringifies as <0.0.0 parse("1 <=1.2.5").to_s excludes 1.0.0-0 parse("1.2 <1.2.5").to_s excludes 1.2.5-0 "1 <=1.2.5" excludes 0.999.999 parse("<1.0.0 >2.0.0").to_s excludes 0.0.0-0 parse("1 <=1.2.5").to_s excludes 1.2.6-0 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" excludes 5.0.0-0 "1.2 <1.2.5" includes 1.2.0 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" stringifies as >=3.0.0 <5.0.0 "<1.0.0 >2.0.0" excludes 0.0.0-0 "1.2 <1.2.5" excludes 1.1.999 "1.2 <1.2.5" excludes 1.9.0 "1 <=1.2.5" includes 1.2.5 "1 <=1.2.5" excludes 1.0.0-0 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" includes 3.0.0 "<1.0.0 >2.0.0" excludes 0.0.0 parse(">1.0.0 >2.0.0 >=3.0.0 <5.0.0").to_s excludes 5.0.0-0 parse(">1.0.0 >2.0.0 >=3.0.0 <5.0.0").to_s includes 4.999.999 parse("<1.0.0 >2.0.0").to_s excludes 0.0.0 parse("1.2 <1.2.5").to_s includes 1.2.0 "1.2 <1.2.5" excludes 1.2.0-0 parse("1 <=1.2.5").to_s excludes 1.9.0 parse("1 <=1.2.5").to_s includes 1.2.5 parse("1.2 <1.2.5").to_s excludes 1.2.0-0 parse(">1.0.0 >2.0.0 >=3.0.0 <5.0.0").to_s excludes 2.999.999 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" includes 4.999.999 "1.2 <1.2.5" includes 1.2.4 parse("1.2 <1.2.5").to_s includes 1.2.4 "1.2 <1.2.5" stringifies as >=1.2.0 <1.2.5 "1 <=1.2.5" excludes 1.9.0 parse(">1.0.0 >2.0.0 >=3.0.0 <5.0.0").to_s includes 3.0.0 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" excludes 3.0.0-0 parse("1.2 <1.2.5").to_s excludes 1.1.999 "1 <=1.2.5" excludes 1.2.6-0 parse(">1.0.0 >2.0.0 >=3.0.0 <5.0.0").to_s excludes 3.0.0-0 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" excludes 2.999.999 parse("1.2 <1.2.5").to_s excludes 1.9.0 "1 <=1.2.5" stringifies as >=1.0.0 <=1.2.5 open-ended expressions ">= 1.2.3-alpha" includes 1.2.3-alpha0 "> 1.2.3-alpha" includes 999.0.0 "<=1.2.3-alpha" excludes 1.2.3-alpha.0 parse("<1.2.3-alpha").to_s excludes 1.2.3-alpha "<=1.2.3-alpha" excludes 1.2.3-alphb parse("<=1.2.3").to_s excludes 0.0.0-0 ">=1.2.3" stringifies as >=1.2.3 "< 1.2.3-alpha" excludes 2.0.0 parse("> 1.2.3").to_s excludes 1.2.3 "> 1.2.3-alpha" includes 1.2.3-alpha.0 "<1.2.3-alpha" excludes 1.2.3-alpha "<=1.2.3-alpha" excludes 1.2.3-alpha0 parse("<1.2.3-alpha").to_s includes 0.0.0 parse("<= 1.2.3").to_s includes 1.2.3 parse(">= 1.2.3-alpha").to_s excludes 1.2.4-alpha parse("<= 1.2.3-alpha").to_s excludes 1.2.3-alpha0 parse("<1.2.3-alpha").to_s excludes 0.0.0-0 parse(">1.2.3-alpha").to_s excludes 1.2.3-alpha parse(">1.2.3-alpha").to_s includes 1.2.3-alpha0 parse("<= 1.2.3").to_s excludes 1.2.3-0 ">1.2.3-alpha" stringifies as >1.2.3-alpha parse("<1.2.3-alpha").to_s includes 1.2.3-alph "<=1.2.3-alpha" includes 1.2.3-alpha "<=1.2.3-alpha" includes 0.0.0 parse("<=1.2.3-alpha").to_s excludes 1.2.3-alpha0 "<1.2.3" excludes 1.2.3-0 "<= 1.2.3-alpha" excludes 0.0.0-0 ">=1.2.3" excludes 1.2.2 "<1.2.3" excludes 2.0.0 "< 1.2.3-alpha" excludes 1.2.3-alpha "<1.2.3-alpha" excludes 0.0.0-0 parse("<=1.2.3-alpha").to_s excludes 1.2.3-alpha.0 ">1.2.3" excludes 1.2.4-0 parse("<1.2.3").to_s excludes 0.0.0-0 parse("<=1.2.3-alpha").to_s includes 0.0.0 "< 1.2.3" excludes 1.2.3-0 parse("<1.2.3-alpha").to_s excludes 2.0.0 "> 1.2.3" includes 999.0.0 "<= 1.2.3" includes 1.2.3 parse("> 1.2.3-alpha").to_s includes 1.2.3-alpha.0 ">1.2.3" excludes 1.2.3 parse("<1.2.3").to_s excludes 1.2.3-0 "<= 1.2.3-alpha" stringifies as <=1.2.3-alpha "<= 1.2.3-alpha" excludes 1.2.3-alphb parse("<=1.2.3").to_s includes 0.0.0 "<=1.2.3" excludes 0.0.0-0 parse("<= 1.2.3").to_s includes 0.0.0 ">=1.2.3-alpha" includes 1.2.3-alpha "<= 1.2.3" includes 0.0.0 parse("<=1.2.3-alpha").to_s includes 1.2.3-alpha parse("<=1.2.3").to_s excludes 1.2.3-0 parse("<=1.2.3-alpha").to_s excludes 0.0.0-0 "< 1.2.3-alpha" includes 0.0.0 parse(">1.2.3").to_s includes 999.0.0 parse(">=1.2.3").to_s excludes 1.2.3-0 "< 1.2.3" includes 1.2.2 parse(">= 1.2.3").to_s excludes 1.2.3-0 parse(">1.2.3").to_s excludes 1.2.4-0 ">1.2.3" stringifies as >1.2.3 "< 1.2.3-alpha" includes 1.2.3-alph ">=1.2.3-alpha" includes 1.2.3-alpha0 parse("> 1.2.3-alpha").to_s includes 999.0.0 parse("> 1.2.3").to_s includes 999.0.0 ">1.2.3" includes 999.0.0 ">1.2.3-alpha" includes 999.0.0 "<=1.2.3" includes 1.2.3 parse(">1.2.3").to_s excludes 1.2.3 parse(">=1.2.3-alpha").to_s includes 1.2.3-alpha0 "< 1.2.3" excludes 0.0.0-0 "> 1.2.3" excludes 1.2.4-0 ">= 1.2.3-alpha" excludes 1.2.3-alph "<1.2.3" includes 0.0.0 parse("<= 1.2.3-alpha").to_s includes 1.2.3-alpha "<=1.2.3-alpha" stringifies as <=1.2.3-alpha "< 1.2.3-alpha" stringifies as <1.2.3-alpha "<= 1.2.3-alpha" excludes 1.2.3-alpha0 "<1.2.3" excludes 0.0.0-0 parse(">= 1.2.3-alpha").to_s includes 1.2.3-alpha0 parse(">=1.2.3-alpha").to_s excludes 1.2.4-alpha "> 1.2.3-alpha" excludes 1.2.3-alpha ">= 1.2.3" stringifies as >=1.2.3 "<= 1.2.3" excludes 0.0.0-0 ">=1.2.3-alpha" excludes 1.2.4-alpha parse(">=1.2.3-alpha").to_s includes 1.2.3-alpha parse("< 1.2.3").to_s excludes 0.0.0-0 "<1.2.3-alpha" excludes 2.0.0 "<1.2.3" stringifies as <1.2.3 parse(">= 1.2.3").to_s includes 999.0.0 "> 1.2.3" excludes 1.2.3 "< 1.2.3" stringifies as <1.2.3 ">=1.2.3-alpha" excludes 1.2.3-alph ">=1.2.3" excludes 1.2.3-0 "<= 1.2.3-alpha" excludes 1.2.3-alpha.0 "<1.2.3-alpha" includes 1.2.3-alph ">= 1.2.3" includes 999.0.0 parse(">=1.2.3-alpha").to_s includes 999.0.0 "< 1.2.3" includes 0.0.0 parse("<= 1.2.3-alpha").to_s includes 0.0.0 parse("> 1.2.3-alpha").to_s includes 1.2.3-alpha0 parse("> 1.2.3-alpha").to_s excludes 1.2.3-alpha parse("<=1.2.3").to_s includes 1.2.3 parse("< 1.2.3").to_s excludes 2.0.0 ">=1.2.3-alpha" stringifies as >=1.2.3-alpha ">1.2.3-alpha" includes 1.2.3-alpha.0 "<=1.2.3-alpha" excludes 0.0.0-0 "<1.2.3-alpha" includes 0.0.0 ">= 1.2.3" excludes 1.2.3-0 parse("<= 1.2.3-alpha").to_s excludes 1.2.3-alphb parse("<= 1.2.3").to_s excludes 0.0.0-0 "<= 1.2.3" stringifies as <=1.2.3 parse(">1.2.3-alpha").to_s includes 1.2.3-alpha.0 ">= 1.2.3-alpha" stringifies as >=1.2.3-alpha "<1.2.3-alpha" stringifies as <1.2.3-alpha parse("<1.2.3").to_s excludes 2.0.0 parse(">=1.2.3").to_s excludes 1.2.2 ">= 1.2.3-alpha" excludes 1.2.4-alpha parse("> 1.2.3").to_s excludes 1.2.4-0 ">=1.2.3-alpha" includes 999.0.0 parse(">1.2.3-alpha").to_s includes 999.0.0 "< 1.2.3-alpha" excludes 0.0.0-0 ">= 1.2.3-alpha" includes 1.2.3-alpha parse("< 1.2.3-alpha").to_s includes 0.0.0 parse("<= 1.2.3-alpha").to_s excludes 0.0.0-0 parse(">= 1.2.3").to_s excludes 1.2.2 "<1.2.3" includes 1.2.2 ">1.2.3-alpha" excludes 1.2.3-alpha "<=1.2.3" stringifies as <=1.2.3 parse(">= 1.2.3-alpha").to_s includes 999.0.0 parse(">=1.2.3-alpha").to_s excludes 1.2.3-alph "> 1.2.3-alpha" stringifies as >1.2.3-alpha parse("<= 1.2.3-alpha").to_s excludes 1.2.3-alpha.0 "< 1.2.3" excludes 2.0.0 parse("<1.2.3").to_s includes 0.0.0 "<= 1.2.3-alpha" includes 1.2.3-alpha parse("<1.2.3").to_s includes 1.2.2 parse(">=1.2.3").to_s includes 999.0.0 ">= 1.2.3-alpha" includes 999.0.0 parse("< 1.2.3-alpha").to_s excludes 1.2.3-alpha parse("< 1.2.3").to_s excludes 1.2.3-0 parse(">= 1.2.3-alpha").to_s excludes 1.2.3-alph ">1.2.3-alpha" includes 1.2.3-alpha0 "> 1.2.3" stringifies as >1.2.3 "<=1.2.3" includes 0.0.0 "<= 1.2.3" excludes 1.2.3-0 ">=1.2.3" includes 999.0.0 "<= 1.2.3-alpha" includes 0.0.0 "> 1.2.3-alpha" includes 1.2.3-alpha0 ">= 1.2.3" excludes 1.2.2 parse(">= 1.2.3-alpha").to_s includes 1.2.3-alpha parse("< 1.2.3").to_s includes 1.2.2 parse("< 1.2.3-alpha").to_s includes 1.2.3-alph parse("< 1.2.3").to_s includes 0.0.0 parse("< 1.2.3-alpha").to_s excludes 0.0.0-0 parse("<=1.2.3-alpha").to_s excludes 1.2.3-alphb "<=1.2.3" excludes 1.2.3-0 parse("< 1.2.3-alpha").to_s excludes 2.0.0 loose version expressions parse("1.2.3").to_s excludes 1.2.3-alpha parse("1.2.3-alpha").to_s excludes 1.2.3-beta "1.2.x" excludes 1.3.0-0 "1.2.3" excludes 1.2.3-alpha parse("1.2").to_s excludes 1.1.999 "1.2.X" includes 1.2.999 parse("1.X").to_s includes 1.0.0 parse("1.2.x").to_s excludes 1.1.999 "1.2.3-alpha" stringifies as 1.2.3-alpha parse("1.x").to_s excludes 1.0.0-alpha "1" excludes 2.0.0-0 "1" stringifies as >=1.0.0 <2.0.0 "1.x" includes 1.999.0 parse("1.2.X").to_s excludes 1.2.0-alpha "1.2" excludes 1.2.0-alpha parse("1.x").to_s excludes 2.0.0-0 parse("1").to_s excludes 2.0.0-0 "1.2.3" includes 1.2.3 parse("1.2.x").to_s includes 1.2.999 parse("1").to_s excludes 0.999.999 "1.2.3" excludes 1.2.4-alpha parse("1.2.X").to_s excludes 1.1.999 parse("1.2.3").to_s includes 1.2.3 "1.2.x" includes 1.2.0 "1.2.3-alpha" excludes 1.2.3-beta parse("1.2").to_s includes 1.2.0 parse("1.2.3-alpha").to_s includes 1.2.3-alpha "1.X" excludes 2.0.0-0 parse("1.X").to_s includes 1.999.0 "1.x" includes 1.0.0 "1.X" excludes 0.999.999 "1.2.X" excludes 1.1.999 parse("1.2").to_s excludes 1.3.0-0 parse("1.X").to_s excludes 0.999.999 "1.2" includes 1.2.0 "1.2.X" includes 1.2.0 "1.X" includes 1.999.0 parse("1").to_s includes 1.0.0 "1.X" excludes 1.0.0-alpha "1.X" stringifies as >=1.0.0 <2.0.0 "1.2" stringifies as >=1.2.0 <1.3.0 "1.x" excludes 0.999.999 parse("1.X").to_s excludes 2.0.0-0 "1.2" includes 1.2.999 parse("1.2.x").to_s excludes 1.2.0-alpha "1.2.3" excludes 1.2.2 parse("1.2.x").to_s includes 1.2.0 parse("1.2").to_s excludes 1.2.0-alpha parse("1.2").to_s includes 1.2.999 "1" excludes 0.999.999 "1.2.x" stringifies as >=1.2.0 <1.3.0 "1.2.X" excludes 1.3.0-0 "1.2.x" includes 1.2.999 "1.2.3-alpha" excludes 1.2.3-999 "1.2.3" stringifies as 1.2.3 parse("1.x").to_s excludes 0.999.999 "1.2.x" excludes 1.1.999 parse("1.2.3").to_s excludes 1.2.4-alpha "1.x" stringifies as >=1.0.0 <2.0.0 parse("1.x").to_s includes 1.0.0 "1.2" excludes 1.3.0-0 parse("1.2.3-alpha").to_s excludes 1.2.3-999 "1.2.X" stringifies as >=1.2.0 <1.3.0 parse("1.2.x").to_s excludes 1.3.0-0 "1" includes 1.0.0 parse("1.X").to_s excludes 1.0.0-alpha "1" excludes 1.0.0-alpha "1.x" excludes 1.0.0-alpha "1.x" excludes 2.0.0-0 "1.X" includes 1.0.0 "1.2" excludes 1.1.999 parse("1.x").to_s includes 1.999.0 "1.2.x" excludes 1.2.0-alpha parse("1").to_s excludes 1.0.0-alpha parse("1.2.X").to_s includes 1.2.999 parse("1").to_s includes 1.999.0 "1" includes 1.999.0 parse("1.2.3").to_s excludes 1.2.2 parse("1.2.X").to_s excludes 1.3.0-0 "1.2.3-alpha" includes 1.2.3-alpha "1.2.X" excludes 1.2.0-alpha parse("1.2.X").to_s includes 1.2.0 The version 1.0.0 should not be above range (*) 0.2.9 should not be below range <=2.0.0 3.1.3 should be above range 1.2.* || 2.* 0.2.3 should be below range ~1 2.0.0 should not be below range <=2.0.0 3.0.0 should be above range <=2.0.0 0.5.5 should not be above range ~v0.5.4-pre(>=0.5.4-pre <0.6.0) 1.2.3 should not be below range ~1 1.2.3 should not be below range ~> 1 3.0.0 should be above range 2.x.x 0.1.2 should be below range ~1.0 1.2.4 should not be below range 0.1.20 || 1.2.4 1.1.3 should be below range 1.2.* || 2.* 0.0.0-0 should not be above range ^1(>=1.0.0 <2.0.0) 2.0.0 should be below range >2.0.0 1.2.3-foo should not be above range *(*) 1.1.1 should not be below range < 1.2 1.0.1 should be above range 1.0.0 1.0.1 should not be above range > 1.0.0(>1.0.0) 1.2.3 should not be below range * 0.2.5 should not be below range >0.2.3 >0.2.4 <=0.2.5 0.1.20 should not be below range 0.1.20 || 1.2.4 1.9999.9999 should not be below range <2.0.0 3.2.0 should not be below range ^0.1.0 || ~3.0.1 || 5.0.0 1.1.0 should be above range ~1.0 1.2.9 should be below range >=2.0.0 2.1.3 should not be above range 1.2.x || 2.x(>=1.2.0 <1.3.0 || >=2.0.0 <3.0.0) 1.9999.9999 should be below range >=2.0.0 0.2.3 should be below range ~>1 1.0.1 should not be above range >=1.0.0(>=1.0.0) 0.2.4 should not be above range >=0.2.3 <=0.2.4(>=0.2.3 <=0.2.4) 2.0.0 should be above range 1.0.0 1.3.3 should be above range 1.2.x 2.0.0 should not be above range 1.0.0 - 2.0.0(>=1.0.0 <=2.0.0) 3.2.9 should be above range <=2.0.0 1.2.3 should not be below range 1.0.0 - 2.0.0 0.7.0 should be above range <0.7.x 1.2.4 should not be above range 0.1.20 || 1.2.4(0.1.20 || 1.2.4) 1.2.9 should be below range >=2.0.0 0.1.97 should not be above range >=0.1.97(>=0.1.97) 2.4.1 should be above range 2.3 1.2.3 should not be below range 0.1.20 || 1.2.4 0.1.97 should not be above range >=0.1.97(>=0.1.97) 1.0.0 should be below range 2 0.0.0-beta should be below range 1 0.2.3 should not be above range >=0.2.3 || <0.0.1(>=0.2.3 || <0.0.1) 1.0.0 should not be below range >=1.0.0 3.1.3 should be above range 2.x.x 2.1.3 should not be above range 2.*.*(>=2.0.0 <3.0.0) 1.3.0 should be above range ~1.2.2 2.1.3 should not be below range 1.2.* || 2.* 1.0.0 should not be above range >= 1.0.0(>=1.0.0) 1.1.0 should not be below range >= 1.0.0 1.0.0-beta should be below range > 1 1.0.0 should be below range >=2.0.0 1.2.3 should not be above range 1.2.x || 2.x(>=1.2.0 <1.3.0 || >=2.0.0 <3.0.0) 1.0.0 should not be below range >=1 1.0.0-beta should not be above range ^0.1.0 || ~3.0.1 || 5.0.0(>=0.1.0 <0.2.0 || >=3.0.1 <3.1.0 || 5.0.0) 1.0.0-beta should not be below range ~1.0.0-alpha 5.0.1 should be above range 2.*.* 2.9999.9999 should be above range <=2.0.0 1.2.0 should be below range >1.2 2.1.2 should not be above range 2(>=2.0.0 <3.0.0) 0.2.4 should be below range ~>1 1.1.0 should not be above range > 1.0.0(>1.0.0) 0.6.2 should not be below range <=0.7.x 0.1.5 should be below range 0.1.20 || 1.2.4 1.9999.9999 should not be above range < 2.0.0(<2.0.0) 0.8.2 should be above range =0.7.x 1.0.0 should not be below range >= 1 0.2.9 should not be below range <= 2.0.0 1.3.0 should be above range ~1.2.2 1.0.1 should not be below range > 1.0.0 0.2.9 should not be below range < 2.0.0 1.2.3 should not be above range 1.2.*(>=1.2.0 <1.3.0) 0.2.3 should be below range ~> 1 2.3.1 should not be above range 2.3(>=2.3.0 <2.4.0) 1.2.3 should not be above range ~>1(>=1.0.0 <2.0.0) 0.6.1-1 should not be below range ~0.6.1-1 1.0.2 should not be above range ~ 1.0(>=1.0.0 <1.1.0) 3.2.2 should not be above range ~>3.2.1(>=3.2.1 <3.3.0) 2.0.0-beta should be above range 1 2.3.5 should be below range ~2.4 1.0.0 should be below range 1.2.x || 2.x 1.0.0 should not be above range >=1(>=1.0.0) 3.2.2 should not be below range ~>3.2.1 2.1.1 should be above range <=2.0.0 1.2.3 should not be below range ~>1 1.9999.9999 should not be above range <2.0.0(<2.0.0) 1.0.0-beta should be above range <1 1.0.0 should not be below range >= 1.0.0 2.4.0 should not be above range ~2.4(>=2.4.0 <2.5.0) 0.7.1-1 should be above range ~0.6.1-1 1.0.0 should be below range 2.x.x 1.2.3 should not be below range 1.2.* 1.1.3 should be below range 1.2.* 0.0.0 should be below range 1.0.0 1.9999.9999 should not be below range < 2.0.0 0.2.9 should not be above range <= 2.0.0(<=2.0.0) 0.2.4 should not be below range >=* 3.1.3 should be above range 1.2.x || 2.x 1.1.1 should not be below range <1.2 2.3.1 should not be below range 2.3 2.9.9 should not be below range 1.0.0 - 2.0.0 1.0.0 should be below range >1 1.0.0 should not be above range >=1.0.0(>=1.0.0) 0.8.0 should be above range =0.7.x 0.2.5 should not be above range >0.2.3 >0.2.4 <=0.2.5(>0.2.4 <=0.2.5) 1.1.1 should not be above range < 1.2(<1.2.0) 0.7.0-asdf should not be above range >=0.7.x(>=0.7.0) 1.1.1 should be below range >=2.0.0 1.0.1 should not be below range >1.0.0 0.6.2 should not be above range <=0.7.x(<0.8.0) 2.4.5 should not be above range ~2.4(>=2.4.0 <2.5.0) 2.0.0-beta should be above range 1 0.5.4 should not be above range ~v0.5.4-pre(>=0.5.4-pre <0.6.0) 1.1.3 should be below range 1.2.* 2.9999.9999 should be above range <2.0.0 2.3.0 should be below range ~2.4 1.1.0 should be above range ~ 1.0 0.6.0-asdf should be below range =0.7.x 2.0.0 should not be above range <= 2.0.0(<=2.0.0) 1.1.3 should be below range 2.*.* 1.2.3 should not be below range 1.2.* || 2.* 3.0.0 should be above range 2 0.5.5 should not be below range ~v0.5.4-pre 1.3.0 should be above range 1.2.x 1.3.4 should not be below range || 3.3.0 should be above range ~>3.2.1 1.2.3 should not be above range 1.2.* || 2.*(>=1.2.0 <1.3.0 || >=2.0.0 <3.0.0) 2.2.3 should be above range 1.0.0 - 2.0.0 2.1.3 should not be below range 2.*.* 0.2.9 should not be above range < 2.0.0(<2.0.0) 3.1.2 should be above range 2 1.0.0-beta should not be below range ^0.1.0 || ~3.0.1 || 5.0.0 1.2.1 should be below range > 1.2 2.0.1 should be above range 1.0.0 - 2.0.0 1.0.1-beta1 should be above range 1.0.0 1.2.1 should be below range ~1.2.2 1.0.0 should not be above range 1.0.0(1.0.0) 4.0.0 should not be below range ^3.0.0 0.7.0-asdf should be below range >=0.7.x 1.1.0 should not be below range >=1.0.0 1.1.1 should not be above range <1.2(<1.2.0) 1.1.2 should be above range ~1.0 0.2.3 should be below range ~1 0.2.4 should not be below range >=0.2.3 <=0.2.4 2.5.5 should be above range ~2.4 0.7.2 should be above range <0.7.x 1.9999.9999 should not be below range <=2.0.0 1.0.1 should not be below range >= 1.0.0 2.4.5 should not be below range ~2.4 1.2.3 should not be above range 1.2.* || 2.*(>=1.2.0 <1.3.0 || >=2.0.0 <3.0.0) 0.5.4-alpha should be below range ~v0.5.4-pre 0.1.20 should not be above range 0.1.20 || 1.2.4(0.1.20 || 1.2.4) 1.2.3 should not be above range *(*) 0.2.9 should not be above range <2.0.0(<2.0.0) 2.2.9 should be above range <2.0.0 0.6.1-pre should be above range ~v0.5.4-pre 1.1.0 should be below range 1.2.x 1.2.3 should not be above range 1.2.x(>=1.2.0 <1.3.0) 0.1.97 should not be below range >=0.1.97 1.2.3 should not be above range ~> 1(>=1.0.0 <2.0.0) 2.4.2 should be above range 2.3 1.0.0 should not be above range >= 1(>=1.0.0) 1.3.3 should be above range 1.2.* 3.5.0 should not be above range ^0.1.0 || ~3.0.1 || >4 <=5.0.0(>=0.1.0 <0.2.0 || >=3.0.1 <3.1.0 || 5.0.0) 1.3.3 should be above range 1.2.* 0.6.1-1 should not be above range ~0.6.1-1(>=0.6.1-1 <0.7.0) 1.0.1 should not be below range >=1.0.0 2.0.0 should not be above range ^1.0.0 || ~2.0.1(>=1.0.0 <2.0.0 || >=2.0.1 <2.1.0) 1.0.0 should not be below range =0.1.0 0.6.0 should be above range ~v0.5.4-pre 1.2.3 should not be below range 1.2.x 1.2.3 should not be below range 1.2.x || 2.x 1.0.0 should be above range <1 1.0.0 should not be below range 1.0.0-beta should be below range >1 2.0.0 should be above range <2.0.0 0.6.2 should be below range =0.7.x 3.5.0 should not be below range ^0.1.0 || ~3.0.1 || >4 <=5.0.0 0.8.0-asdf should be above range =0.7.x 1.2.3 should not be above range ~1(>=1.0.0 <2.0.0) 1.0.2 should not be below range ~1.0 0.2.9 should not be below range <2.0.0 1.2.1 should be below range ~1.2.2 0.5.4-alpha should be below range ~v0.5.4-pre 2.5.0 should be above range ~2.4 1.9999.9999 should be below range 2 0.5.4 should not be below range ~v0.5.4-pre 0.7.0-asdf should not be above range =0.7.x(>=0.7.0 <0.8.0) 1.1.0 should not be below range >1.0.0 1.0.1 should not be above range >1.0.0(>1.0.0) 2.4.0 should not be below range ~2.4 1.0.0-beta.1 should be below range 1.0.0-beta.2 1.0.0-beta should not be above range 1(>=1.0.0 <2.0.0) 0.2.3 should be below range 1.0.0 - 2.0.0 2.2.4 should be above range ~>1 0.7.2 should not be above range =0.7.x(>=0.7.0 <0.8.0) 2.2.1 should be below range 2.3 0.0.0 should be below range ~1.0 1.0.0 should not be below range 1.0.0 1.0.0-beta should not be below range ^1.0.0-alpha 1.2.3 should not be below range x 1.1.0 should not be below range > 1.0.0 3.2.3 should be above range ~> 1 1.9999.9999 should not be below range <= 2.0.0 0.9.9 should not be above range 1.0.0 - 2.0.0(>=1.0.0 <=2.0.0) 0.0.0 should not be above range >=0.2.3 || <0.0.1(>=0.2.3 || <0.0.1) 2.0.0 should not be above range <=2.0.0(<=2.0.0) 1.1.9999 should be below range 1.2.* || 2.* 2.1.2 should not be below range 2 2.1.3 should not be below range 2.x.x 3.0.0 should be above range 1.2.x || 2.x 2.3.2 should be below range ~>3.2.1 0.6.0 should be below range =0.7.x 1.0.0-beta should be above range < 1 0.6.2 should be below range >=0.7.x 3.3.2 should be above range ~>3.2.1 0.2.4 should not be above range >=*(>=0.0.0) 0.0.1 should be below range 1.0.0 - 2.0.0 1.1.0 should not be above range >=1.0.0(>=1.0.0) 2.1.3 should not be above range 1.2.* || 2.*(>=1.2.0 <1.3.0 || >=2.0.0 <3.0.0) 1.1.3 should be below range 1.2.x 2.1.3 should not be above range 2.x.x(>=2.0.0 <3.0.0) 0.7.2 should not be below range >=0.7.x 1.0.0-beta should be below range 1 0.2.4 should not be above range >=0.2.3 || <0.0.1(>=0.2.3 || <0.0.1) 2.1.3 should not be below range 1.2.x || 2.x 2.0.0 should not be below range ^1.0.0 || ~2.0.1 1.2.3 should not be above range *(*) 3.2.0 should not be above range ^0.1.0 || ~3.0.1 || 5.0.0(>=0.1.0 <0.2.0 || >=3.0.1 <3.1.0 || 5.0.0) 1.2.3 should not be above range x(*) 2.0.0 should not be above range ^3.0.0(>=3.0.0 <4.0.0) 2.0.0 should not be below range 1.0.0 - 2.0.0 1.2.4 should not be below range 0.1.20 || >1.2.4 1.1.3 should be below range 2.x.x 0.1.0 should be below range ~ 1.0 0.6.0 should be below range >=0.7.x 2.3.0 should be below range ~2.4 1.2.3 should not be below range 1.2.* || 2.* 1.2.5 should be above range 0.1.20 || 1.2.4 1.2.1 should be above range < 1.2 2.2.3 should be above range ~1 1.1.0 should not be below range ~ 1.0 2.0.0 should not be below range <= 2.0.0 0.0.0 should not be below range >=0.2.3 || <0.0.1 1.2.0 should be above range <1.2 1.1.0 should not be above range >1.0.0(>1.0.0) 1.2.3 should not be above range 1.0.0 - 2.0.0(>=1.0.0 <=2.0.0) 2.2.3 should be above range ~>1 1.1.0 should not be above range >= 1.0.0(>=1.0.0) 5.0.0-0 should not be below range ^0.1.0 || ~3.0.1 || 5.0.0 0.7.2 should not be above range >=0.7.x(>=0.7.0) 1.9999.9999 should not be above range <=2.0.0(<=2.0.0) 1.2.3 should not be above range 0.1.20 || 1.2.4(0.1.20 || 1.2.4) 1.0.1 should not be above range >= 1.0.0(>=1.0.0) 1.2.9 should be below range >2.0.0 0.2.9 should not be above range <=2.0.0(<=2.0.0) 0.0.1 should be below range 1.0.0 1.0.2 should not be below range ~ 1.0 1.2.4 should not be above range 0.1.20 || >1.2.4(0.1.20 || >1.2.4) 5.0.0-0 should not be above range ^0.1.0 || ~3.0.1 || 5.0.0(>=0.1.0 <0.2.0 || >=3.0.1 <3.1.0 || 5.0.0) 2.0.0 should be below range >2.0.0 1.2.3 should not be below range * 2.2.3 should be above range ~1 1.0.0-0 should be below range ^1 1.0.2 should not be above range ~1.0(>=1.0.0 <1.1.0) 0.6.1-0 should be below range ~0.6.1-1 1.3.4 should not be above range ||(*) 0.7.0-asdf should be below range =0.7.x 2.5.0 should be above range ~2.4 2.2.2 should be below range 2.3 1.0.1 should be below range 2.*.* 2.2.9 should be above range <=2.0.0 1.9999.9999 should not be above range <= 2.0.0(<=2.0.0) 3.1.3 should be above range 2.*.* 0.7.2 should not be below range =0.7.x 1.1.3 should be below range 1.2.x || 2.x 3.2.0 should be below range ~>3.2.1 0.2.4 should not be below range >=0.2.3 || <0.0.1 1.0.0-beta should be below range 2 0.2.3 should not be below range >=0.2.3 || <0.0.1 4.0.0 should be above range 1.2.* || 2.* #intersection cannot intersect with non-VersionRanges is commutative between 10.0.0 - 5.0.0 & 5.0.0 - 1.0.0 between >=10.0.0 <5.0.0 & 15.0.0 - 10.0.0 between 10.0.0 - 5.0.0 & >=7.0.0 <1.0.0 between >=10.0.0 <5.0.0 & 15.0.0 - 9.0.0 between 10.0.0 - 5.0.0 & >=5.0.0 <1.0.0 between 10.0.0 - 5.0.0 & 15.0.0 - 11.0.0 between >=10.0.0 <5.0.0 & 5.0.0 - 1.0.0 between 10.0.0 - 5.0.0 & 9.0.0 - 6.0.0 between >=10.0.0 <5.0.0 & 6.0.0 - 1.0.0 between >=10.0.0 <5.0.0 & >=7.0.0 <1.0.0 between 10.0.0 - 5.0.0 & 11.0.0 - 4.0.0 between >=10.0.0 <5.0.0 & >=10.0.0 <5.0.0 between 10.0.0 - 5.0.0 & 4.0.0 - 1.0.0 between >=10.0.0 <5.0.0 & 11.0.0 - 4.0.0 between 10.0.0 - 5.0.0 & 15.0.0 - 9.0.0 between >=10.0.0 <5.0.0 & 15.0.0 - 11.0.0 between 10.0.0 - 5.0.0 & >=10.0.0 <5.0.0 between >=10.0.0 <5.0.0 & 4.0.0 - 1.0.0 between 10.0.0 - 5.0.0 & 10.0.0 - 5.0.0 between >=10.0.0 <5.0.0 & >=5.0.0 <1.0.0 between 10.0.0 - 5.0.0 & 15.0.0 - 10.0.0 between >=10.0.0 <5.0.0 & 9.0.0 - 6.0.0 between >=10.0.0 <5.0.0 & 10.0.0 - 5.0.0 between 10.0.0 - 5.0.0 & 6.0.0 - 1.0.0 between 10.0.0 - 5.0.0 & 15.0.0 - 10.0.0 >=10.0.0 <5.0.0 5.0.0 - 1.0.0 6.0.0 - 1.0.0 9.0.0 - 6.0.0 >=7.0.0 <1.0.0 10.0.0 - 5.0.0 15.0.0 - 11.0.0 4.0.0 - 1.0.0 >=5.0.0 <1.0.0 11.0.0 - 4.0.0 15.0.0 - 9.0.0 between >=10.0.0 <5.0.0 & 10.0.0 - 5.0.0 >=7.0.0 <1.0.0 15.0.0 - 9.0.0 >=5.0.0 <1.0.0 5.0.0 - 1.0.0 11.0.0 - 4.0.0 4.0.0 - 1.0.0 6.0.0 - 1.0.0 15.0.0 - 10.0.0 >=10.0.0 <5.0.0 9.0.0 - 6.0.0 15.0.0 - 11.0.0 SemanticPuppet::Dependency::ModuleRelease #satisfies_dependency? returns false when the release does not match the dependency name returns false when there are no dependencies to satisfy returns true when the release matches the dependency returns false when the release does not match the dependency version #== considers two equal releases to be equal considers a release different from something that is not a release considers two releases with different names to be different considers two releases with different versions to be different can compare a release with something that is not a release #<=> orders releases with different names lexographically considers releases with greater version numbers greater considers releases with lesser version numbers lesser orders releases by name first #<< does not mark mis-matching dependency versions as satisfied marks matching dependencies as satisfied does not mark mis-matching dependency names as satisfied #satisfied? returns false when no dependencies have been satisified returns false when not all dependencies have been satisified returns true when all dependencies have been satisified returns true when there are no dependencies to satisfy returns false when not all dependency versions have been satisified #to_s is expected to =~ /foobarbaz/ is expected to =~ /1.2.3/ #dependency_names lists the names of all the release's dependencies SemanticPuppet::Version #<=> Spec v1.0.0 Section 4 sorted order Spec v2.0.0 Section 11 comparisons against prereleases prereleases have lower precedence comparisons without prereleases sorted order comparisions between prereleases identifiers are parsed left-to-right larger identifier sets have precendence identical prereleases are equal numeric identifiers sort numerically non-numeric identifiers sort ASCIIbetically sorted order build metadata does not figure into precendence non-numeric identifiers have a higher precendence build metadata does figure into equality #== should yield false when compared to something that is not a Version should yield false when the prerelease differs should yield false when the patch differs should yield true when comparing two equal instances should yield false when the major differs should yield false when the minor differs .valid? Spec v2.0.0 Section 10 permits numeric build identifiers of zero rejects empty build identifiers rejects empty build metadata permits non-numeric build identifiers with leading zeroes permits numeric build identifiers with leading zeroes rejects build identifiers with non-alphanumerics Section 2 rejects versions that contain too few parts rejects versions that contain too many parts permits zeroes in version number parts rejects version numbers containing leading zeroes rejects versions that contain negative integers rejects versions that contain non-integers Section 9 permits non-numeric prerelease identifiers with leading zeroes permits non-numeric prerelease identifiers rejects empty prerelease versions rejects empty prerelease version identifiers rejects prerelease identifiers with non-alphanumerics permits numeric prerelease identifiers of zero rejects numeric prerelease identifiers with leading zeroes Spec v1.0.0 Section 4 permits numeric prerelease identifiers of zero rejects numeric prerelease identifiers with leading zeroes permits non-numeric prerelease identifiers with leading zeroes rejects prerelease identifiers with non-alphanumerics rejects empty prerelease versions Section 2 rejects versions that contain too few parts permits zeroes in version number parts rejects versions that contain too many parts rejects versions that contain non-integers .parse Spec v1.0.0 Section 4 rejects empty prerelease versions permits numeric prerelease identifiers of zero rejects prerelease identifiers with non-alphanumerics permits non-numeric prerelease identifiers with leading zeroes rejects numeric prerelease identifiers with leading zeroes examples 1.0.0-beta1 1.0.0-beta2 1.0.0-alpha1 1.0.0-rc1 Section 2 rejects versions that contain non-integers rejects versions that contain too many parts permits zeroes in version number parts rejects versions that contain too few parts examples 1.11.0 1.9.0 1.10.0 Spec v2.0.0 Section 9 rejects empty prerelease versions permits numeric prerelease identifiers of zero permits non-numeric prerelease identifiers with leading zeroes rejects empty prerelease version identifiers rejects numeric prerelease identifiers with leading zeroes rejects prerelease identifiers with non-alphanumerics examples 1.0.0-0.3.7 1.0.0-alpha.1 1.0.0-alpha 1.0.0-x.7.z.92 Section 2 rejects versions that contain too few parts rejects versions that contain too many parts rejects versions that contain non-integers rejects versions that contain negative integers permits zeroes in version number parts rejects version numbers containing leading zeroes examples 1.10.0 1.9.0 1.11.0 Section 10 permits numeric build identifiers of zero permits numeric build identifiers with leading zeroes rejects empty build identifiers permits non-numeric build identifiers with leading zeroes rejects build identifiers with non-alphanumerics rejects empty build metadata examples 1.0.0-alpha+001 1.0.0+20130313144700 1.0.0-beta+exp.sha.5114f85 #next with :patch does not modify the original version removes any prerelease information removes any build information returns the next patch version with :major removes any prerelease information resets the minor and patch versions to 0 does not modify the original version removes any build information returns the next major version with :minor does not modify the original version returns the next minor version resets the patch version to 0 removes any build information removes any prerelease information Finished in 0.55351 seconds (files took 0.43369 seconds to load) 988 examples, 0 failures Randomized with seed 10490 /usr/bin/ruby3.3 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby3.3 │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-semantic-puppet-1.1.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/i386-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/i386-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -e gem\ \"semantic_puppet\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby3.3 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-semantic-puppet-1.1.0/debian/ruby-semantic-puppet/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-semantic-puppet-1.1.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/i386-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/i386-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 Run options: include {:focus=>true} All examples were filtered out; ignoring {:focus=>true} Randomized with seed 41121 SemanticPuppet::Dependency::GraphNode #satisfied is unsatisfied when any dependencies are missing is unsatisfied when no nodes have been appended is satisfied when all dependencies are fulfilled #<=> can be compared dependencies are maintained in the #dependencies Hash are added by #add_dependency #populate_children saves all relevant nodes as its children accepts a graph solution and populates it across all nodes #<< sorts the dependencies for each addition to the same node does not append unsatisfying nodes does not append nodes with unknown names sorts once the dependencies for a specific node appends satisfying nodes to the dependencies SemanticPuppet::Dependency::Graph #add_constraint permits multiple constraints against the same module name can create a new constraint on a module #initialize can be called without arguments implements the GraphNode protocol adds constraints for every key in the passed hash adds the named dependencies for every key in the passed hash #satisfies_graph? returns false if the solution violates any graph constraint returns false if the solution violates a graph constraint returns true if the solution violates no graph constraints #add_graph_constraint can create a new constraint on a graph permits multiple graph constraints #satisfies_dependency? is not satisfied by modules that do not fulfill all the constraints is not satisfied by modules that do not fulfill the constraint is not satisfied by modules it does not depend on is satisfied by modules that do fulfill all the constraints SemanticPuppet::Dependency .sources can be emptied by using #clear_sources defaults to an empty list can be modified by using #add_source is frozen .resolve for a module without dependencies returns the greatest release matching the version range when the query omits all stable versions returns the greatest prerelease version matching the range when the query omits all versions fails with an appropriate message when the query includes both stable and prerelease versions returns the greatest stable release matching the range for a module with dependencies returns the greatest releases matching the dependency range when the dependency cannot be satisfied sets unsatisfiable fails with an appropriate message when the dependency has both stable and prerelease versions returns the greatest stable release matching the range when the dependency has no stable versions returns the greatest prerelease version matching the range that violate graph constraints that can be resolved terminates that cannot be resolved fails with an appropriate message for a module with dependencies that violate module constraints on the graph that cannot be resolved fails with an appropriate message that can be resolved terminates for a module with competing dependencies that overlap returns the greatest release satisfying all dependencies that do not overlap fails with an appropriate message for a module with circular dependencies that cannot be resolved fails with an appropriate message that can be resolved terminates .query with multiple sources resolves all dependencies against all sources queries each source in turn with one source queries the source for each dependency only once queries the source for release information populates the returned ModuleRelease with related dependencies queries the source for each dependency populates all returned ModuleReleases with related dependencies returns a ModuleRelease with the requested dependencies without sources returns an unsatisfied ModuleRelease SemanticPuppet::Dependency::UnsatisfiableGraph #message is expected to match /foo, bar, and baz/ #sentence_from_list with a list of three items is expected to eql "foo, bar, and baz" with a list of one item is expected to eql "foo" with a list of more than three items is expected to eql "foo, bar, baz, and quux" with a list of two items is expected to eql "foo and bar" SemanticPuppet::VersionRange The version 0.0.0-beta should be below range 1 3.0.0 should be above range 2.x.x 0.2.4 should not be below range >=* 1.1.0 should not be below range >=1.0.0 1.0.0-beta should not be above range 1(>=1.0.0 <2.0.0) 1.2.4 should not be above range 0.1.20 || 1.2.4(0.1.20 || 1.2.4) 1.0.0 should be below range 2.x.x 1.0.0 should be below range 2 0.7.0-asdf should not be above range =0.7.x(>=0.7.0 <0.8.0) 1.9999.9999 should not be above range <= 2.0.0(<=2.0.0) 0.2.3 should not be above range >=0.2.3 || <0.0.1(>=0.2.3 || <0.0.1) 1.0.0 should not be below range 0.2.5 should not be above range >0.2.3 >0.2.4 <=0.2.5(>0.2.4 <=0.2.5) 1.1.0 should be below range 1.2.x 2.0.0 should not be below range 1.0.0 - 2.0.0 0.2.9 should not be below range < 2.0.0 3.2.0 should not be above range ^0.1.0 || ~3.0.1 || 5.0.0(>=0.1.0 <0.2.0 || >=3.0.1 <3.1.0 || 5.0.0) 1.1.0 should not be above range >= 1.0.0(>=1.0.0) 1.0.0-beta.1 should be below range 1.0.0-beta.2 1.9999.9999 should be below range 2 1.0.0 should not be below range =0.1.0 1.3.0 should be above range ~1.2.2 0.8.2 should be above range =0.7.x 1.0.0-0 should be below range ^1 3.1.3 should be above range 1.2.x || 2.x 2.3.0 should be below range ~2.4 2.0.0 should not be above range ^3.0.0(>=3.0.0 <4.0.0) 2.3.1 should not be below range 2.3 0.7.1-1 should be above range ~0.6.1-1 1.2.1 should be below range ~1.2.2 0.6.2 should not be below range <=0.7.x 1.2.3 should not be below range 1.2.* || 2.* 1.1.0 should be above range ~1.0 1.0.2 should not be above range ~1.0(>=1.0.0 <1.1.0) 0.2.9 should not be below range <=2.0.0 1.1.1 should be below range >=2.0.0 1.2.3 should not be above range 1.2.* || 2.*(>=1.2.0 <1.3.0 || >=2.0.0 <3.0.0) 0.2.3 should be below range ~> 1 2.1.2 should not be above range 2(>=2.0.0 <3.0.0) 1.3.3 should be above range 1.2.x 0.8.0 should be above range =0.7.x 0.7.2 should not be above range >=0.7.x(>=0.7.0) 0.6.0 should be above range ~v0.5.4-pre 0.6.1-1 should not be below range ~0.6.1-1 0.0.0 should be below range 1.0.0 1.0.0 should not be below range >= 1 0.2.4 should be below range ~>1 0.1.5 should be below range 0.1.20 || 1.2.4 0.2.3 should be below range 1.0.0 - 2.0.0 2.1.3 should not be above range 2.x.x(>=2.0.0 <3.0.0) 1.2.3 should not be above range ~> 1(>=1.0.0 <2.0.0) 0.2.3 should be below range ~1 1.0.1 should be above range 1.0.0 2.0.1 should be above range 1.0.0 - 2.0.0 1.1.2 should be above range ~1.0 0.0.1 should be below range 1.0.0 - 2.0.0 0.2.3 should be below range ~1 1.2.3 should not be above range *(*) 3.2.0 should not be below range ^0.1.0 || ~3.0.1 || 5.0.0 1.0.1 should not be below range >1.0.0 1.2.3 should not be above range *(*) 2.3.0 should be below range ~2.4 1.2.5 should be above range 0.1.20 || 1.2.4 1.2.1 should be above range < 1.2 1.1.9999 should be below range 1.2.* || 2.* 1.1.0 should not be below range ~ 1.0 1.1.3 should be below range 1.2.* 2.1.3 should not be above range 1.2.x || 2.x(>=1.2.0 <1.3.0 || >=2.0.0 <3.0.0) 1.0.2 should not be above range ~ 1.0(>=1.0.0 <1.1.0) 2.1.1 should be above range <=2.0.0 0.6.0-asdf should be below range =0.7.x 0.7.0-asdf should be below range >=0.7.x 0.1.20 should not be above range 0.1.20 || 1.2.4(0.1.20 || 1.2.4) 1.0.0-beta should not be below range ^0.1.0 || ~3.0.1 || 5.0.0 1.0.0 should not be above range >= 1(>=1.0.0) 1.0.2 should not be below range ~1.0 0.2.9 should not be above range < 2.0.0(<2.0.0) 1.0.0 should not be below range >= 1.0.0 0.2.3 should not be below range >=0.2.3 || <0.0.1 2.2.3 should be above range ~>1 1.0.2 should not be below range ~ 1.0 0.2.4 should not be above range >=*(>=0.0.0) 1.0.0-beta should be above range < 1 0.6.1-0 should be below range ~0.6.1-1 2.1.3 should not be below range 2.*.* 1.2.3 should not be above range ~1(>=1.0.0 <2.0.0) 2.3.2 should be below range ~>3.2.1 1.0.0 should not be below range >=1.0.0 1.2.3 should not be above range ~>1(>=1.0.0 <2.0.0) 1.1.0 should not be below range > 1.0.0 0.2.4 should not be above range >=0.2.3 <=0.2.4(>=0.2.3 <=0.2.4) 1.9999.9999 should not be above range < 2.0.0(<2.0.0) 2.3.1 should not be above range 2.3(>=2.3.0 <2.4.0) 3.2.3 should be above range ~> 1 2.5.0 should be above range ~2.4 1.0.0-beta should be below range >1 1.2.4 should not be below range 0.1.20 || 1.2.4 1.9999.9999 should not be below range <= 2.0.0 1.2.3 should not be below range * 0.1.20 should not be below range 0.1.20 || 1.2.4 1.0.0 should not be above range >=1.0.0(>=1.0.0) 3.1.3 should be above range 1.2.* || 2.* 0.1.97 should not be above range >=0.1.97(>=0.1.97) 1.1.0 should not be above range >1.0.0(>1.0.0) 1.2.3 should not be below range 1.2.* || 2.* 2.1.2 should not be below range 2 1.0.0-beta should be below range 2 2.0.0 should not be above range <= 2.0.0(<=2.0.0) 2.5.5 should be above range ~2.4 0.1.97 should not be below range >=0.1.97 1.2.4 should not be below range 0.1.20 || >1.2.4 2.2.4 should be above range ~>1 1.0.0 should not be below range >=1 0.0.0 should not be above range >=0.2.3 || <0.0.1(>=0.2.3 || <0.0.1) 1.9999.9999 should be below range >=2.0.0 1.3.0 should be above range 1.2.x 1.2.0 should be below range >1.2 0.0.0-0 should not be above range ^1(>=1.0.0 <2.0.0) 1.0.0 should not be above range >=1(>=1.0.0) 1.3.4 should not be above range ||(*) 1.0.1 should be below range 2.*.* 2.2.3 should be above range ~1 1.2.3-foo should not be above range *(*) 5.0.0-0 should not be above range ^0.1.0 || ~3.0.1 || 5.0.0(>=0.1.0 <0.2.0 || >=3.0.1 <3.1.0 || 5.0.0) 1.2.3 should not be below range ~1 1.2.3 should not be above range 1.2.x || 2.x(>=1.2.0 <1.3.0 || >=2.0.0 <3.0.0) 1.0.0 should not be above range 1.0.0(1.0.0) 0.2.9 should not be above range <= 2.0.0(<=2.0.0) 2.1.3 should not be above range 1.2.* || 2.*(>=1.2.0 <1.3.0 || >=2.0.0 <3.0.0) 1.3.3 should be above range 1.2.* 1.1.3 should be below range 1.2.x 0.0.1 should be below range 1.0.0 1.2.3 should not be above range 1.2.* || 2.*(>=1.2.0 <1.3.0 || >=2.0.0 <3.0.0) 0.2.4 should not be below range >=0.2.3 <=0.2.4 2.0.0-beta should be above range 1 0.5.4 should not be below range ~v0.5.4-pre 0.6.2 should be below range >=0.7.x 3.3.2 should be above range ~>3.2.1 2.0.0 should be above range <2.0.0 5.0.1 should be above range 2.*.* 1.2.3 should not be below range 1.0.0 - 2.0.0 0.6.0 should be below range >=0.7.x 0.6.0 should be below range =0.7.x 0.7.2 should be above range <0.7.x 0.7.0-asdf should be below range =0.7.x 1.0.0 should not be below range 1.0.0 0.2.9 should not be below range <2.0.0 0.2.5 should not be below range >0.2.3 >0.2.4 <=0.2.5 0.8.0-asdf should be above range =0.7.x 2.0.0 should not be above range <=2.0.0(<=2.0.0) 0.2.9 should not be above range <2.0.0(<2.0.0) 1.2.9 should be below range >=2.0.0 2.4.0 should not be above range ~2.4(>=2.4.0 <2.5.0) 1.0.1 should not be above range > 1.0.0(>1.0.0) 0.2.9 should not be above range <=2.0.0(<=2.0.0) 2.0.0 should not be below range <= 2.0.0 1.0.1 should not be above range >1.0.0(>1.0.0) 1.9999.9999 should not be above range <=2.0.0(<=2.0.0) 3.5.0 should not be above range ^0.1.0 || ~3.0.1 || >4 <=5.0.0(>=0.1.0 <0.2.0 || >=3.0.1 <3.1.0 || 5.0.0) 1.0.1 should not be above range >=1.0.0(>=1.0.0) 2.4.1 should be above range 2.3 1.0.0-beta should not be below range ~1.0.0-alpha 1.0.1-beta1 should be above range 1.0.0 1.2.3 should not be below range 1.2.* 2.0.0 should be below range >2.0.0 1.9999.9999 should not be below range <2.0.0 2.2.3 should be above range 1.0.0 - 2.0.0 2.0.0 should be above range 1.0.0 2.1.3 should not be above range 2.*.*(>=2.0.0 <3.0.0) 1.1.1 should not be above range <1.2(<1.2.0) 2.0.0 should not be below range ^1.0.0 || ~2.0.1 0.0.0 should not be below range >=0.2.3 || <0.0.1 1.0.0-beta should be below range 1 1.2.4 should not be above range 0.1.20 || >1.2.4(0.1.20 || >1.2.4) 2.2.1 should be below range 2.3 2.2.9 should be above range <2.0.0 1.2.0 should be above range <1.2 2.3.5 should be below range ~2.4 2.1.3 should not be below range 2.x.x 0.7.2 should not be below range >=0.7.x 2.5.0 should be above range ~2.4 1.2.3 should not be below range ~> 1 1.2.3 should not be above range 1.2.*(>=1.2.0 <1.3.0) 0.7.2 should not be below range =0.7.x 1.1.0 should be above range ~ 1.0 3.1.2 should be above range 2 1.2.3 should not be below range 1.2.x || 2.x 2.9999.9999 should be above range <2.0.0 2.2.3 should be above range ~1 0.7.0 should be above range <0.7.x 1.9999.9999 should not be below range < 2.0.0 1.2.9 should be below range >=2.0.0 1.1.3 should be below range 1.2.* 2.2.9 should be above range <=2.0.0 2.4.5 should not be below range ~2.4 4.0.0 should not be below range ^3.0.0 1.0.0-beta should not be above range ^0.1.0 || ~3.0.1 || 5.0.0(>=0.1.0 <0.2.0 || >=3.0.1 <3.1.0 || 5.0.0) 1.1.3 should be below range 2.x.x 0.7.2 should not be above range =0.7.x(>=0.7.0 <0.8.0) 2.0.0 should not be above range 1.0.0 - 2.0.0(>=1.0.0 <=2.0.0) 0.9.9 should not be above range 1.0.0 - 2.0.0(>=1.0.0 <=2.0.0) 1.0.0 should be below range >1 1.1.0 should not be above range > 1.0.0(>1.0.0) 1.1.1 should not be below range <1.2 2.0.0 should not be below range <=2.0.0 0.0.0 should be below range ~1.0 0.1.97 should not be above range >=0.1.97(>=0.1.97) 2.2.2 should be below range 2.3 3.2.2 should not be below range ~>3.2.1 0.5.4-alpha should be below range ~v0.5.4-pre 1.1.1 should not be below range < 1.2 2.4.0 should not be below range ~2.4 1.2.1 should be below range ~1.2.2 0.5.4-alpha should be below range ~v0.5.4-pre 1.2.3 should not be above range 1.0.0 - 2.0.0(>=1.0.0 <=2.0.0) 3.5.0 should not be below range ^0.1.0 || ~3.0.1 || >4 <=5.0.0 3.0.0 should be above range 2 1.2.3 should not be above range x(*) 1.0.0-beta should be above range <1 0.6.2 should not be above range <=0.7.x(<0.8.0) 2.1.3 should not be below range 1.2.x || 2.x 1.0.0 should not be above range >= 1.0.0(>=1.0.0) 1.1.0 should not be below range >1.0.0 1.0.0 should be below range 1.2.x || 2.x 2.9.9 should not be below range 1.0.0 - 2.0.0 0.5.5 should not be below range ~v0.5.4-pre 3.1.3 should be above range 2.x.x 2.0.0 should not be above range ^1.0.0 || ~2.0.1(>=1.0.0 <2.0.0 || >=2.0.1 <2.1.0) 1.0.0 should not be above range (*) 4.0.0 should be above range 1.2.* || 2.* 0.1.2 should be below range ~1.0 3.2.9 should be above range <=2.0.0 1.2.3 should not be below range 0.1.20 || 1.2.4 1.2.3 should not be above range 1.2.x(>=1.2.0 <1.3.0) 3.1.3 should be above range 2.*.* 1.9999.9999 should not be below range <=2.0.0 0.6.1-pre should be above range ~v0.5.4-pre 0.6.1-1 should not be above range ~0.6.1-1(>=0.6.1-1 <0.7.0) 1.2.3 should not be below range ~>1 1.2.3 should not be above range 0.1.20 || 1.2.4(0.1.20 || 1.2.4) 1.2.1 should be below range > 1.2 1.2.3 should not be below range * 1.3.3 should be above range 1.2.* 0.6.2 should be below range =0.7.x 0.2.9 should not be below range <= 2.0.0 1.0.1 should not be below range >= 1.0.0 1.0.0 should be below range >=2.0.0 3.0.0 should be above range <=2.0.0 1.0.0-beta should be below range > 1 1.3.4 should not be below range || 1.9999.9999 should not be above range <2.0.0(<2.0.0) 1.1.0 should not be above range >=1.0.0(>=1.0.0) 2.0.0 should be below range >2.0.0 0.5.5 should not be above range ~v0.5.4-pre(>=0.5.4-pre <0.6.0) 3.2.2 should not be above range ~>3.2.1(>=3.2.1 <3.3.0) 0.7.0-asdf should not be above range >=0.7.x(>=0.7.0) 1.1.3 should be below range 1.2.* || 2.* 1.0.0-beta should not be below range ^1.0.0-alpha 5.0.0-0 should not be below range ^0.1.0 || ~3.0.1 || 5.0.0 3.2.0 should be below range ~>3.2.1 0.5.4 should not be above range ~v0.5.4-pre(>=0.5.4-pre <0.6.0) 0.2.4 should not be below range >=0.2.3 || <0.0.1 1.0.0 should be above range <1 1.2.3 should not be below range x 2.4.2 should be above range 2.3 0.2.4 should not be above range >=0.2.3 || <0.0.1(>=0.2.3 || <0.0.1) 2.0.0-beta should be above range 1 1.2.9 should be below range >2.0.0 0.2.3 should be below range ~>1 3.0.0 should be above range 1.2.x || 2.x 0.1.0 should be below range ~ 1.0 2.9999.9999 should be above range <=2.0.0 2.1.3 should not be below range 1.2.* || 2.* 1.1.0 should not be below range >= 1.0.0 1.0.1 should not be below range >=1.0.0 3.3.0 should be above range ~>3.2.1 1.1.3 should be below range 1.2.x || 2.x 1.0.1 should not be above range >= 1.0.0(>=1.0.0) 1.3.0 should be above range ~1.2.2 1.0.1 should not be below range > 1.0.0 1.2.3 should not be below range 1.2.x 1.1.3 should be below range 2.*.* 1.1.1 should not be above range < 1.2(<1.2.0) 2.4.5 should not be above range ~2.4(>=2.4.0 <2.5.0) .parse ored expressions non-overlapping parse("1.2.3 || 1.2.5").to_s includes 1.2.5 "1.2.3 || 1.2.5" includes 1.2.3 "1.2.3 || 1.2.5" stringifies as 1.2.3 || 1.2.5 "1.2.3 || 1.2.5" includes 1.2.5 returns nil on exclude_end? "1.2.3 || 1.2.5" excludes 1.2.5-0 parse("1.2.3 || 1.2.5").to_s excludes 1.2.3-0 returns nil on begin parse("1.2.3 || 1.2.5").to_s excludes 1.2.5-0 parse("1.2.3 || 1.2.5").to_s includes 1.2.3 "1.2.3 || 1.2.5" excludes 1.2.3-0 returns nil on exclude_begin? returns nil on end parse("1.2.3 || 1.2.5").to_s excludes 1.2.4 "1.2.3 || 1.2.5" excludes 1.2.4 overlapping ">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0" includes 1.2.3 ">=1.2.3 || 1.2.5" stringifies as >=1.2.3 ">=1.2.3 || 1.2.5" includes 1.2.4 parse(">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0").to_s includes 1.2.6 ">=1.2.3 || 1.2.5" excludes 1.2.3-0 ">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0" stringifies as >=1.2.3 <1.3.0 ">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0" excludes 1.2.3-0 ">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0" excludes 1.2.6-0 parse(">=1.2.3 || 1.2.5").to_s includes 1.2.4 parse(">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0").to_s excludes 1.2.6-0 parse(">=1.2.3 || 1.2.5").to_s excludes 1.2.4-0 parse(">=1.2.3 || 1.2.5").to_s includes 1.2.3 parse(">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0").to_s excludes 1.2.3-0 parse(">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0").to_s includes 1.2.3 ">=1.2.3 || 1.2.5" includes 1.2.3 parse(">=1.2.3 || 1.2.5").to_s excludes 1.2.3-0 ">=1.2.3 || 1.2.5" excludes 1.2.4-0 ">=1.2.3 <=1.2.5 || >=1.2.5 <1.3.0" includes 1.2.6 adjacent "1.2.3 || 1.2.4 || 1.2.5" excludes 1.2.5-0 parse(">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0").to_s includes 1.2.6 ">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0" excludes 1.2.3-0 ">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0" excludes 1.2.6-0 parse("1.2.3 || 1.2.4 || 1.2.5").to_s excludes 1.2.5-0 "1.2.3 || 1.2.4 || 1.2.5" stringifies as >=1.2.3 <=1.2.5 ">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0" includes 1.2.3 "1.2.3 || 1.2.4 || 1.2.5" includes 1.2.3 parse("1.2.3 || 1.2.4 || 1.2.5").to_s includes 1.2.3 returns nil on exclude_begin? parse(">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0").to_s includes 1.2.3 returns nil on exclude_end? returns nil on end parse("1.2.3 || 1.2.4 || 1.2.5").to_s excludes 1.2.3-0 returns expected begin ">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0" includes 1.2.6 parse(">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0").to_s excludes 1.2.6-0 ">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0" stringifies as >=1.2.3 <1.3.0 "1.2.3 || 1.2.4 || 1.2.5" excludes 1.2.3-0 parse("1.2.3 || 1.2.4 || 1.2.5").to_s includes 1.2.5 "1.2.3 || 1.2.4 || 1.2.5" includes 1.2.5 parse(">=1.2.3 <1.2.5 || >=1.2.5 <1.3.0").to_s excludes 1.2.3-0 "reasonably close" expressions "~ 1" stringifies as >=1.0.0 <2.0.0 parse("~1.2.3").to_s includes 1.2.3 parse("~1.2.3-alpha").to_s excludes 1.2.4-0 "~1.2.3-alpha" excludes 1.2.3-alph "~1.2.3-alpha" includes 1.2.3-alpha parse("~1.2").to_s includes 1.2.0 "~1.2.3" excludes 1.3.0-0 "~1.2.3-alpha" stringifies as >=1.2.3-alpha <1.3.0 parse("~ 1.2.3-alpha").to_s excludes 1.2.4-0 "~ 1.2.3" stringifies as >=1.2.3 <1.3.0 "~1" excludes 0.999.999 parse("~1.2.3-alpha").to_s includes 1.2.3-alpha parse("~1.2").to_s includes 1.2.999 parse("~1").to_s includes 1.0.0 "~ 1.2.3-alpha" excludes 1.2.3-alph "~1" includes 1.0.0 parse("~1.2.3").to_s includes 1.2.5 "~1" excludes 2.0.0-0 "~ 1.2" excludes 1.1.999 "~ 1" includes 1.999.999 parse("~ 1.2").to_s includes 1.2.999 "~1.2.3" includes 1.2.3 "~1.2" excludes 1.1.999 parse("~ 1.2.3").to_s includes 1.2.3 parse("~ 1").to_s excludes 1.0.0-0 "~1" includes 1.999.999 parse("~ 1.2.3").to_s excludes 1.2.3-0 parse("~1").to_s excludes 0.999.999 "~ 1.2" stringifies as >=1.2.0 <1.3.0 parse("~ 1").to_s excludes 0.999.999 parse("~ 1.2.3").to_s excludes 1.3.0-0 parse("~1.2.3-alpha").to_s includes 1.2.3 parse("~ 1").to_s includes 1.0.0 "~1.2" excludes 1.3.0-0 parse("~1").to_s excludes 1.0.0-0 "~1.2.3-alpha" excludes 1.2.4-0 "~ 1.2.3-alpha" includes 1.2.3-alpha parse("~ 1").to_s excludes 2.0.0-0 "~1.2" includes 1.2.999 "~ 1" excludes 1.0.0-0 parse("~ 1").to_s includes 1.999.999 "~ 1.2.3" includes 1.2.3 "~1.2.3" includes 1.2.5 parse("~1.2.3").to_s excludes 1.2.2 parse("~ 1.2.3-alpha").to_s includes 1.2.3-alpha parse("~1.2.3-alpha").to_s excludes 1.2.3-alph parse("~1.2").to_s excludes 1.1.999 parse("~1").to_s excludes 2.0.0-0 "~ 1.2.3-alpha" stringifies as >=1.2.3-alpha <1.3.0 "~ 1" excludes 0.999.999 "~1" stringifies as >=1.0.0 <2.0.0 parse("~ 1.2").to_s includes 1.2.0 parse("~ 1.2.3").to_s includes 1.2.5 parse("~ 1.2").to_s excludes 1.3.0-0 "~ 1.2.3" excludes 1.2.2 "~ 1" excludes 2.0.0-0 parse("~1.2.3").to_s excludes 1.3.0-0 parse("~ 1.2").to_s excludes 1.1.999 "~ 1.2" excludes 1.3.0-0 parse("~ 1.2").to_s excludes 1.2.0-0 "~ 1.2.3" includes 1.2.5 parse("~ 1.2.3").to_s excludes 1.2.2 "~ 1.2" excludes 1.2.0-0 "~ 1.2.3-alpha" excludes 1.2.4-0 "~1.2" excludes 1.2.0-0 "~1.2.3" stringifies as >=1.2.3 <1.3.0 "~ 1.2.3" excludes 1.2.3-0 "~ 1.2.3-alpha" includes 1.2.3 "~1.2" includes 1.2.0 "~1.2.3-alpha" includes 1.2.3 "~ 1.2" includes 1.2.999 "~1.2.3" excludes 1.2.3-0 "~ 1.2.3" excludes 1.3.0-0 "~1.2.3" excludes 1.2.2 "~ 1.2" includes 1.2.0 "~1" excludes 1.0.0-0 parse("~1.2").to_s excludes 1.2.0-0 "~1.2" stringifies as >=1.2.0 <1.3.0 "~ 1" includes 1.0.0 parse("~1.2").to_s excludes 1.3.0-0 parse("~ 1.2.3-alpha").to_s includes 1.2.3 parse("~ 1.2.3-alpha").to_s excludes 1.2.3-alph parse("~1").to_s includes 1.999.999 parse("~1.2.3").to_s excludes 1.2.3-0 unioned expressions parse(">1.0.0 >2.0.0 >=3.0.0 <5.0.0").to_s includes 4.999.999 "1 <=1.2.5" excludes 1.0.0-0 "1 <=1.2.5" includes 1.2.5 parse("1.2 <1.2.5").to_s excludes 1.9.0 "1.2 <1.2.5" excludes 1.2.0-0 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" excludes 3.0.0-0 "1.2 <1.2.5" stringifies as >=1.2.0 <1.2.5 parse("1 <=1.2.5").to_s excludes 1.2.6-0 parse("1 <=1.2.5").to_s excludes 0.999.999 "1.2 <1.2.5" excludes 1.2.5-0 parse("1 <=1.2.5").to_s excludes 1.9.0 "1.2 <1.2.5" includes 1.2.0 "1 <=1.2.5" stringifies as >=1.0.0 <=1.2.5 parse(">1.0.0 >2.0.0 >=3.0.0 <5.0.0").to_s excludes 2.999.999 "1.2 <1.2.5" excludes 1.9.0 parse(">1.0.0 >2.0.0 >=3.0.0 <5.0.0").to_s excludes 3.0.0-0 parse("1.2 <1.2.5").to_s includes 1.2.0 parse("1.2 <1.2.5").to_s excludes 1.2.5-0 "1 <=1.2.5" excludes 1.9.0 "1 <=1.2.5" excludes 0.999.999 parse("1 <=1.2.5").to_s excludes 1.0.0-0 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" includes 3.0.0 parse("1.2 <1.2.5").to_s excludes 1.2.0-0 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" excludes 2.999.999 parse(">1.0.0 >2.0.0 >=3.0.0 <5.0.0").to_s includes 3.0.0 parse("1 <=1.2.5").to_s includes 1.2.5 parse("1.2 <1.2.5").to_s includes 1.2.4 "1.2 <1.2.5" excludes 1.1.999 parse(">1.0.0 >2.0.0 >=3.0.0 <5.0.0").to_s excludes 5.0.0-0 "1.2 <1.2.5" includes 1.2.4 "<1.0.0 >2.0.0" stringifies as <0.0.0 parse("<1.0.0 >2.0.0").to_s excludes 0.0.0 "1 <=1.2.5" includes 1.0.0 parse("1.2 <1.2.5").to_s excludes 1.1.999 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" stringifies as >=3.0.0 <5.0.0 "<1.0.0 >2.0.0" excludes 0.0.0 "<1.0.0 >2.0.0" excludes 0.0.0-0 "1 <=1.2.5" excludes 1.2.6-0 parse("1 <=1.2.5").to_s includes 1.0.0 parse("<1.0.0 >2.0.0").to_s excludes 0.0.0-0 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" excludes 5.0.0-0 ">1.0.0 >2.0.0 >=3.0.0 <5.0.0" includes 4.999.999 loose version expressions "1.2.X" includes 1.2.0 parse("1.2.3").to_s excludes 1.2.2 "1" excludes 1.0.0-alpha "1.x" includes 1.999.0 "1.2.x" excludes 1.3.0-0 parse("1.2.3-alpha").to_s includes 1.2.3-alpha parse("1.2.3-alpha").to_s excludes 1.2.3-beta parse("1.2.X").to_s includes 1.2.0 "1.2" includes 1.2.0 "1.2.x" excludes 1.1.999 "1.x" includes 1.0.0 "1.x" stringifies as >=1.0.0 <2.0.0 parse("1.x").to_s excludes 2.0.0-0 parse("1").to_s excludes 2.0.0-0 "1.2.3" excludes 1.2.3-alpha "1.X" stringifies as >=1.0.0 <2.0.0 parse("1.2.x").to_s excludes 1.2.0-alpha parse("1.2.x").to_s includes 1.2.999 parse("1.2.3-alpha").to_s excludes 1.2.3-999 "1.2.3-alpha" stringifies as 1.2.3-alpha "1.2" excludes 1.1.999 parse("1.2.X").to_s includes 1.2.999 parse("1.2.3").to_s excludes 1.2.3-alpha parse("1.2").to_s excludes 1.3.0-0 "1.X" includes 1.0.0 parse("1.X").to_s includes 1.0.0 parse("1.2.3").to_s excludes 1.2.4-alpha "1.2.x" stringifies as >=1.2.0 <1.3.0 parse("1.2").to_s excludes 1.1.999 "1.2.3-alpha" excludes 1.2.3-999 parse("1.2").to_s includes 1.2.999 parse("1.X").to_s excludes 2.0.0-0 "1.X" excludes 1.0.0-alpha "1.2.x" excludes 1.2.0-alpha "1" excludes 0.999.999 parse("1").to_s includes 1.999.0 parse("1.2").to_s includes 1.2.0 "1.x" excludes 2.0.0-0 parse("1.x").to_s includes 1.0.0 parse("1.2.X").to_s excludes 1.2.0-alpha "1" excludes 2.0.0-0 parse("1.2").to_s excludes 1.2.0-alpha "1.2.X" excludes 1.2.0-alpha "1" includes 1.999.0 "1.2.X" excludes 1.3.0-0 parse("1.2.x").to_s excludes 1.3.0-0 "1.X" excludes 0.999.999 "1.2.3" excludes 1.2.4-alpha "1.2" excludes 1.3.0-0 "1.2.x" includes 1.2.999 parse("1.X").to_s excludes 1.0.0-alpha parse("1.X").to_s excludes 0.999.999 "1.2.3-alpha" includes 1.2.3-alpha "1.2.3-alpha" excludes 1.2.3-beta "1" stringifies as >=1.0.0 <2.0.0 "1.2.3" includes 1.2.3 "1" includes 1.0.0 "1.2.X" includes 1.2.999 "1.X" excludes 2.0.0-0 parse("1.2.X").to_s excludes 1.1.999 parse("1.2.3").to_s includes 1.2.3 parse("1.x").to_s excludes 1.0.0-alpha parse("1.x").to_s excludes 0.999.999 parse("1.x").to_s includes 1.999.0 parse("1.X").to_s includes 1.999.0 parse("1").to_s excludes 0.999.999 parse("1.2.x").to_s includes 1.2.0 parse("1.2.x").to_s excludes 1.1.999 parse("1").to_s excludes 1.0.0-alpha "1.2.X" stringifies as >=1.2.0 <1.3.0 "1.X" includes 1.999.0 parse("1.2.X").to_s excludes 1.3.0-0 "1.2.x" includes 1.2.0 "1.2" stringifies as >=1.2.0 <1.3.0 "1.x" excludes 1.0.0-alpha "1.x" excludes 0.999.999 "1.2.3" stringifies as 1.2.3 "1.2" excludes 1.2.0-alpha "1.2.3" excludes 1.2.2 "1.2.X" excludes 1.1.999 parse("1").to_s includes 1.0.0 "1.2" includes 1.2.999 invalid expressions raise an appropriate exception open-ended expressions parse("<= 1.2.3-alpha").to_s excludes 1.2.3-alpha0 parse("< 1.2.3").to_s includes 0.0.0 parse("<=1.2.3-alpha").to_s excludes 1.2.3-alphb ">=1.2.3-alpha" includes 1.2.3-alpha ">= 1.2.3" excludes 1.2.3-0 parse("<1.2.3-alpha").to_s excludes 0.0.0-0 parse(">1.2.3").to_s excludes 1.2.3 parse("> 1.2.3-alpha").to_s includes 999.0.0 parse("<= 1.2.3").to_s includes 0.0.0 parse(">=1.2.3-alpha").to_s excludes 1.2.4-alpha "<1.2.3-alpha" stringifies as <1.2.3-alpha "< 1.2.3-alpha" excludes 0.0.0-0 ">=1.2.3-alpha" excludes 1.2.3-alph parse(">= 1.2.3").to_s excludes 1.2.3-0 ">1.2.3-alpha" includes 1.2.3-alpha0 parse(">1.2.3").to_s includes 999.0.0 parse("<1.2.3-alpha").to_s excludes 1.2.3-alpha parse("<1.2.3").to_s excludes 0.0.0-0 "< 1.2.3" excludes 2.0.0 ">=1.2.3" excludes 1.2.3-0 ">= 1.2.3" includes 999.0.0 "< 1.2.3-alpha" stringifies as <1.2.3-alpha "<= 1.2.3" includes 0.0.0 "<=1.2.3" excludes 1.2.3-0 parse("<=1.2.3-alpha").to_s excludes 1.2.3-alpha0 "<=1.2.3-alpha" excludes 1.2.3-alphb "<= 1.2.3" stringifies as <=1.2.3 ">= 1.2.3-alpha" includes 999.0.0 parse(">= 1.2.3").to_s includes 999.0.0 parse("<1.2.3").to_s includes 1.2.2 "<1.2.3-alpha" excludes 0.0.0-0 ">= 1.2.3" stringifies as >=1.2.3 parse("<=1.2.3-alpha").to_s excludes 1.2.3-alpha.0 ">=1.2.3" stringifies as >=1.2.3 parse("< 1.2.3-alpha").to_s excludes 1.2.3-alpha "<=1.2.3-alpha" excludes 0.0.0-0 "<1.2.3" excludes 2.0.0 ">=1.2.3-alpha" includes 999.0.0 "<1.2.3" stringifies as <1.2.3 parse("< 1.2.3-alpha").to_s includes 1.2.3-alph "> 1.2.3-alpha" excludes 1.2.3-alpha ">1.2.3" includes 999.0.0 ">=1.2.3-alpha" stringifies as >=1.2.3-alpha "<=1.2.3-alpha" excludes 1.2.3-alpha.0 ">1.2.3" excludes 1.2.3 parse("<1.2.3").to_s excludes 1.2.3-0 parse("<=1.2.3-alpha").to_s excludes 0.0.0-0 "<=1.2.3" includes 1.2.3 "< 1.2.3-alpha" includes 1.2.3-alph "< 1.2.3" excludes 1.2.3-0 parse("> 1.2.3").to_s excludes 1.2.3 "< 1.2.3-alpha" includes 0.0.0 parse(">= 1.2.3-alpha").to_s excludes 1.2.4-alpha parse("< 1.2.3").to_s excludes 0.0.0-0 "> 1.2.3-alpha" includes 999.0.0 ">= 1.2.3-alpha" includes 1.2.3-alpha0 "< 1.2.3" includes 1.2.2 parse("<=1.2.3").to_s excludes 0.0.0-0 "<= 1.2.3-alpha" excludes 1.2.3-alphb "<1.2.3-alpha" includes 0.0.0 parse("<= 1.2.3-alpha").to_s excludes 1.2.3-alpha.0 parse(">= 1.2.3-alpha").to_s includes 999.0.0 parse(">1.2.3-alpha").to_s includes 1.2.3-alpha.0 "> 1.2.3-alpha" includes 1.2.3-alpha0 "<= 1.2.3-alpha" includes 0.0.0 ">=1.2.3" includes 999.0.0 "<= 1.2.3-alpha" excludes 0.0.0-0 ">1.2.3-alpha" includes 1.2.3-alpha.0 "<1.2.3-alpha" includes 1.2.3-alph parse("> 1.2.3").to_s includes 999.0.0 parse(">1.2.3-alpha").to_s includes 999.0.0 parse("<= 1.2.3").to_s excludes 0.0.0-0 ">= 1.2.3-alpha" stringifies as >=1.2.3-alpha parse("<=1.2.3").to_s excludes 1.2.3-0 parse("<1.2.3").to_s excludes 2.0.0 parse(">=1.2.3-alpha").to_s includes 1.2.3-alpha ">= 1.2.3-alpha" excludes 1.2.4-alpha "<= 1.2.3-alpha" excludes 1.2.3-alpha0 parse(">=1.2.3-alpha").to_s excludes 1.2.3-alph "> 1.2.3" excludes 1.2.4-0 "<= 1.2.3-alpha" includes 1.2.3-alpha parse("< 1.2.3").to_s excludes 2.0.0 "<1.2.3" excludes 0.0.0-0 parse("<= 1.2.3-alpha").to_s includes 1.2.3-alpha "< 1.2.3" stringifies as <1.2.3 "<= 1.2.3" excludes 0.0.0-0 parse("<=1.2.3").to_s includes 1.2.3 "< 1.2.3-alpha" excludes 2.0.0 "<=1.2.3" excludes 0.0.0-0 parse("<1.2.3").to_s includes 0.0.0 parse(">1.2.3").to_s excludes 1.2.4-0 "<= 1.2.3" excludes 1.2.3-0 "<= 1.2.3" includes 1.2.3 parse(">=1.2.3").to_s includes 999.0.0 ">= 1.2.3" excludes 1.2.2 ">=1.2.3" excludes 1.2.2 parse("<= 1.2.3-alpha").to_s excludes 0.0.0-0 ">= 1.2.3-alpha" includes 1.2.3-alpha "<=1.2.3-alpha" includes 0.0.0 "<=1.2.3" stringifies as <=1.2.3 parse("<= 1.2.3").to_s excludes 1.2.3-0 "< 1.2.3" includes 0.0.0 parse(">=1.2.3-alpha").to_s includes 999.0.0 parse("<= 1.2.3-alpha").to_s includes 0.0.0 "> 1.2.3" includes 999.0.0 parse("< 1.2.3-alpha").to_s excludes 0.0.0-0 "<1.2.3" includes 1.2.2 parse("<=1.2.3-alpha").to_s includes 0.0.0 ">=1.2.3-alpha" excludes 1.2.4-alpha "<1.2.3-alpha" excludes 1.2.3-alpha parse("< 1.2.3-alpha").to_s includes 0.0.0 "<1.2.3" excludes 1.2.3-0 "> 1.2.3" stringifies as >1.2.3 parse(">= 1.2.3").to_s excludes 1.2.2 ">1.2.3-alpha" excludes 1.2.3-alpha parse("> 1.2.3-alpha").to_s includes 1.2.3-alpha0 ">1.2.3" stringifies as >1.2.3 parse("<1.2.3-alpha").to_s includes 1.2.3-alph parse("> 1.2.3").to_s excludes 1.2.4-0 parse("<=1.2.3-alpha").to_s includes 1.2.3-alpha parse("> 1.2.3-alpha").to_s excludes 1.2.3-alpha ">= 1.2.3-alpha" excludes 1.2.3-alph "> 1.2.3-alpha" stringifies as >1.2.3-alpha parse("<1.2.3-alpha").to_s excludes 2.0.0 "<=1.2.3-alpha" stringifies as <=1.2.3-alpha ">=1.2.3-alpha" includes 1.2.3-alpha0 parse(">1.2.3-alpha").to_s includes 1.2.3-alpha0 parse(">1.2.3-alpha").to_s excludes 1.2.3-alpha "<=1.2.3-alpha" includes 1.2.3-alpha parse("<= 1.2.3-alpha").to_s excludes 1.2.3-alphb "<= 1.2.3-alpha" stringifies as <=1.2.3-alpha "<1.2.3" includes 0.0.0 parse(">= 1.2.3-alpha").to_s excludes 1.2.3-alph parse("<1.2.3-alpha").to_s includes 0.0.0 ">1.2.3-alpha" includes 999.0.0 parse("> 1.2.3-alpha").to_s includes 1.2.3-alpha.0 ">1.2.3" excludes 1.2.4-0 parse(">=1.2.3-alpha").to_s includes 1.2.3-alpha0 "< 1.2.3-alpha" excludes 1.2.3-alpha "<1.2.3-alpha" excludes 2.0.0 "> 1.2.3-alpha" includes 1.2.3-alpha.0 parse(">=1.2.3").to_s excludes 1.2.3-0 parse("< 1.2.3").to_s excludes 1.2.3-0 parse("<=1.2.3").to_s includes 0.0.0 "< 1.2.3" excludes 0.0.0-0 "<=1.2.3" includes 0.0.0 ">1.2.3-alpha" stringifies as >1.2.3-alpha "> 1.2.3" excludes 1.2.3 parse(">=1.2.3").to_s excludes 1.2.2 parse(">= 1.2.3-alpha").to_s includes 1.2.3-alpha0 "<= 1.2.3-alpha" excludes 1.2.3-alpha.0 parse("<= 1.2.3").to_s includes 1.2.3 parse("< 1.2.3-alpha").to_s excludes 2.0.0 parse("< 1.2.3").to_s includes 1.2.2 parse(">= 1.2.3-alpha").to_s includes 1.2.3-alpha "<=1.2.3-alpha" excludes 1.2.3-alpha0 inclusive range expressions parse("1.2.3 - 1.3.4-alpha").to_s includes 1.3.4-alpha parse("1.2.3 - 1.3.4").to_s includes 1.2.3 "1.2.3-alpha - 1.3.4-alpha" excludes 1.2.3-alph "1.2.3 - 1.3.4" stringifies as >=1.2.3 <=1.3.4 "1.2.3 - 1.3.4-alpha" stringifies as >=1.2.3 <=1.3.4-alpha "1.2.3 - 1.3.4" excludes 1.3.5-0 parse("1.2.3 - 1.3.4").to_s excludes 1.3.5-0 parse("1.2.3-alpha - 1.3.4-alpha").to_s includes 1.3.4-alpha parse("1.2.3-alpha - 1.3.4-alpha").to_s excludes 1.2.3-alph "1.2.3-alpha - 1.3.4-alpha" includes 1.3.4-alpha "1.2.3 - 1.3.4-alpha" excludes 1.2.2 "1.2.3 - 1.3.4-alpha" excludes 1.2.3-0 "1.2.3 - 1.3.4" includes 1.2.3 parse("1.2.3 - 1.3.4-alpha").to_s excludes 1.3.5 "1.2.3-alpha - 1.3.4" includes 1.3.4 parse("1.2.3 - 1.3.4-alpha").to_s excludes 1.2.3-0 parse("1.2.3 - 1.3.4").to_s excludes 1.2.3-0 parse("1.2.3-alpha - 1.3.4-alpha").to_s excludes 1.3.4-alpha0 parse("1.2.3-alpha - 1.3.4-alpha").to_s includes 1.2.3-alpha parse("1.2.3-alpha - 1.3.4").to_s excludes 1.2.3-alph "1.2.3 - 1.3.4" excludes 1.2.3-0 "1.2.3-alpha - 1.3.4-alpha" excludes 1.3.5 "1.2.3-alpha - 1.3.4" includes 1.2.3-alpha "1.2.3 - 1.3.4" includes 1.3.4 parse("1.2.3-alpha - 1.3.4").to_s includes 1.3.4 "1.2.3-alpha - 1.3.4-alpha" excludes 1.3.4-alpha0 "1.2.3-alpha - 1.3.4" excludes 1.3.5-0 "1.2.3 - 1.3.4-alpha" excludes 1.3.4-alpha0 parse("1.2.3 - 1.3.4-alpha").to_s includes 1.2.3 "1.2.3 - 1.3.4-alpha" includes 1.2.3 parse("1.2.3-alpha - 1.3.4-alpha").to_s excludes 1.3.5 "1.2.3-alpha - 1.3.4-alpha" includes 1.2.3-alpha parse("1.2.3 - 1.3.4").to_s includes 1.3.4 parse("1.2.3-alpha - 1.3.4").to_s excludes 1.3.5-0 "1.2.3 - 1.3.4-alpha" includes 1.3.4-alpha "1.2.3-alpha - 1.3.4-alpha" stringifies as >=1.2.3-alpha <=1.3.4-alpha parse("1.2.3 - 1.3.4").to_s excludes 1.2.2 parse("1.2.3-alpha - 1.3.4").to_s includes 1.2.3-alpha "1.2.3-alpha - 1.3.4" stringifies as >=1.2.3-alpha <=1.3.4 parse("1.2.3 - 1.3.4-alpha").to_s excludes 1.2.2 "1.2.3-alpha - 1.3.4" excludes 1.2.3-alph "1.2.3 - 1.3.4-alpha" excludes 1.3.5 "1.2.3 - 1.3.4" excludes 1.2.2 parse("1.2.3 - 1.3.4-alpha").to_s excludes 1.3.4-alpha0 #intersection cannot intersect with non-VersionRanges is commutative between 10.0.0 - 5.0.0 & 4.0.0 - 1.0.0 between >=10.0.0 <5.0.0 & 15.0.0 - 11.0.0 between >=10.0.0 <5.0.0 & 9.0.0 - 6.0.0 between 10.0.0 - 5.0.0 & 15.0.0 - 10.0.0 between >=10.0.0 <5.0.0 & 15.0.0 - 10.0.0 between 10.0.0 - 5.0.0 & 15.0.0 - 11.0.0 between >=10.0.0 <5.0.0 & 4.0.0 - 1.0.0 between 10.0.0 - 5.0.0 & 9.0.0 - 6.0.0 between >=10.0.0 <5.0.0 & 5.0.0 - 1.0.0 between >=10.0.0 <5.0.0 & 11.0.0 - 4.0.0 between 10.0.0 - 5.0.0 & 5.0.0 - 1.0.0 between 10.0.0 - 5.0.0 & 10.0.0 - 5.0.0 between 10.0.0 - 5.0.0 & 15.0.0 - 9.0.0 between >=10.0.0 <5.0.0 & >=7.0.0 <1.0.0 between 10.0.0 - 5.0.0 & >=10.0.0 <5.0.0 between 10.0.0 - 5.0.0 & 11.0.0 - 4.0.0 between >=10.0.0 <5.0.0 & 10.0.0 - 5.0.0 between 10.0.0 - 5.0.0 & >=7.0.0 <1.0.0 between >=10.0.0 <5.0.0 & 6.0.0 - 1.0.0 between 10.0.0 - 5.0.0 & 6.0.0 - 1.0.0 between >=10.0.0 <5.0.0 & 15.0.0 - 9.0.0 between 10.0.0 - 5.0.0 & >=5.0.0 <1.0.0 between >=10.0.0 <5.0.0 & >=5.0.0 <1.0.0 between >=10.0.0 <5.0.0 & >=10.0.0 <5.0.0 between >=10.0.0 <5.0.0 & 10.0.0 - 5.0.0 >=10.0.0 <5.0.0 15.0.0 - 9.0.0 11.0.0 - 4.0.0 >=5.0.0 <1.0.0 15.0.0 - 10.0.0 5.0.0 - 1.0.0 9.0.0 - 6.0.0 >=7.0.0 <1.0.0 4.0.0 - 1.0.0 15.0.0 - 11.0.0 6.0.0 - 1.0.0 between 10.0.0 - 5.0.0 & 10.0.0 - 5.0.0 >=10.0.0 <5.0.0 5.0.0 - 1.0.0 15.0.0 - 10.0.0 6.0.0 - 1.0.0 >=5.0.0 <1.0.0 15.0.0 - 11.0.0 9.0.0 - 6.0.0 15.0.0 - 9.0.0 11.0.0 - 4.0.0 4.0.0 - 1.0.0 >=7.0.0 <1.0.0 SemanticPuppet::Dependency::ModuleRelease #satisfied? returns false when no dependencies have been satisified returns false when not all dependencies have been satisified returns false when not all dependency versions have been satisified returns true when all dependencies have been satisified returns true when there are no dependencies to satisfy #<< marks matching dependencies as satisfied does not mark mis-matching dependency names as satisfied does not mark mis-matching dependency versions as satisfied #satisfies_dependency? returns false when the release does not match the dependency version returns true when the release matches the dependency returns false when there are no dependencies to satisfy returns false when the release does not match the dependency name #dependency_names lists the names of all the release's dependencies #<=> considers releases with greater version numbers greater orders releases by name first considers releases with lesser version numbers lesser orders releases with different names lexographically #== considers two equal releases to be equal considers a release different from something that is not a release can compare a release with something that is not a release considers two releases with different names to be different considers two releases with different versions to be different #to_s is expected to =~ /1.2.3/ is expected to =~ /foobarbaz/ SemanticPuppet::Version #== should yield true when comparing two equal instances should yield false when compared to something that is not a Version should yield false when the prerelease differs should yield false when the minor differs should yield false when the major differs should yield false when the patch differs #<=> Spec v2.0.0 Section 11 comparisions between prereleases numeric identifiers sort numerically build metadata does figure into equality larger identifier sets have precendence identifiers are parsed left-to-right non-numeric identifiers sort ASCIIbetically sorted order non-numeric identifiers have a higher precendence identical prereleases are equal build metadata does not figure into precendence comparisons against prereleases prereleases have lower precedence comparisons without prereleases sorted order Spec v1.0.0 Section 4 sorted order .valid? Spec v1.0.0 Section 2 permits zeroes in version number parts rejects versions that contain non-integers rejects versions that contain too few parts rejects versions that contain too many parts Section 4 permits numeric prerelease identifiers of zero rejects empty prerelease versions rejects prerelease identifiers with non-alphanumerics rejects numeric prerelease identifiers with leading zeroes permits non-numeric prerelease identifiers with leading zeroes Spec v2.0.0 Section 2 rejects versions that contain non-integers rejects versions that contain negative integers permits zeroes in version number parts rejects version numbers containing leading zeroes rejects versions that contain too few parts rejects versions that contain too many parts Section 9 rejects empty prerelease version identifiers permits numeric prerelease identifiers of zero rejects empty prerelease versions permits non-numeric prerelease identifiers with leading zeroes rejects numeric prerelease identifiers with leading zeroes permits non-numeric prerelease identifiers rejects prerelease identifiers with non-alphanumerics Section 10 rejects empty build metadata permits numeric build identifiers with leading zeroes permits numeric build identifiers of zero permits non-numeric build identifiers with leading zeroes rejects empty build identifiers rejects build identifiers with non-alphanumerics #next with :patch removes any build information removes any prerelease information does not modify the original version returns the next patch version with :minor removes any prerelease information resets the patch version to 0 removes any build information does not modify the original version returns the next minor version with :major does not modify the original version removes any build information returns the next major version resets the minor and patch versions to 0 removes any prerelease information .parse Spec v1.0.0 Section 2 rejects versions that contain non-integers rejects versions that contain too many parts rejects versions that contain too few parts permits zeroes in version number parts examples 1.9.0 1.10.0 1.11.0 Section 4 rejects empty prerelease versions rejects numeric prerelease identifiers with leading zeroes permits numeric prerelease identifiers of zero permits non-numeric prerelease identifiers with leading zeroes rejects prerelease identifiers with non-alphanumerics examples 1.0.0-beta1 1.0.0-alpha1 1.0.0-beta2 1.0.0-rc1 Spec v2.0.0 Section 10 permits numeric build identifiers of zero rejects empty build metadata permits numeric build identifiers with leading zeroes rejects build identifiers with non-alphanumerics permits non-numeric build identifiers with leading zeroes rejects empty build identifiers examples 1.0.0+20130313144700 1.0.0-beta+exp.sha.5114f85 1.0.0-alpha+001 Section 2 rejects versions that contain too few parts rejects versions that contain too many parts rejects versions that contain non-integers permits zeroes in version number parts rejects versions that contain negative integers rejects version numbers containing leading zeroes examples 1.11.0 1.10.0 1.9.0 Section 9 rejects empty prerelease versions rejects empty prerelease version identifiers permits numeric prerelease identifiers of zero permits non-numeric prerelease identifiers with leading zeroes rejects numeric prerelease identifiers with leading zeroes rejects prerelease identifiers with non-alphanumerics examples 1.0.0-alpha 1.0.0-x.7.z.92 1.0.0-alpha.1 1.0.0-0.3.7 Finished in 1.11 seconds (files took 0.57583 seconds to load) 988 examples, 0 failures Randomized with seed 41121 ┌──────────────────────────────────────────────────────────────────────────────┐ │ dh_ruby --install finished │ └──────────────────────────────────────────────────────────────────────────────┘ dh_installdocs -O--buildsystem=ruby dh_ruby_fixdocs -O--buildsystem=ruby debian/rules override_dh_installchangelogs make[1]: Entering directory '/build/reproducible-path/ruby-semantic-puppet-1.1.0' dh_installchangelogs CHANGELOG.md -O--buildsystem=ruby make[1]: Leaving directory '/build/reproducible-path/ruby-semantic-puppet-1.1.0' 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-semantic-puppet: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -O--buildsystem=ruby dh_builddeb -O--buildsystem=ruby dpkg-deb: building package 'ruby-semantic-puppet' in '../ruby-semantic-puppet_1.1.0-1_all.deb'. dpkg-genbuildinfo --build=binary -O../ruby-semantic-puppet_1.1.0-1_i386.buildinfo dpkg-genchanges --build=binary -O../ruby-semantic-puppet_1.1.0-1_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/51225 and its subdirectories I: Current time: Mon Feb 3 09:38:11 -12 2025 I: pbuilder-time-stamp: 1738618691