Diff of the two buildlogs: -- --- b1/build.log 2025-11-04 22:36:37.640739460 +0000 +++ b2/build.log 2025-11-04 22:37:28.572797861 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Dec 7 16:58:55 -12 2026 -I: pbuilder-time-stamp: 1796705935 +I: Current time: Wed Nov 5 12:36:39 +14 2025 +I: pbuilder-time-stamp: 1762295799 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -28,53 +28,85 @@ dpkg-source: info: applying fix-for-rollup-3.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1931803/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1606953/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Nov 4 22:36 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/1606953/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1606953/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='arm64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="3" [2]="3" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 nocheck' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='ba7de4e3b6884dc5a242ae5ce55533c6' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='1931803' - PS1='# ' - PS2='> ' + INVOCATION_ID=15554ccc7e404aeaab63928455e151ea + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1606953 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.5tYyVOSt/pbuilderrc_JFWO --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.5tYyVOSt/b1 --logfile b1/build.log node-d3-selection_1.4.1+~1.4.3-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.5tYyVOSt/pbuilderrc_PQur --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.5tYyVOSt/b2 --logfile b2/build.log node-d3-selection_1.4.1+~1.4.3-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1931803/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1606953/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -457,7 +489,7 @@ Get: 335 http://deb.debian.org/debian forky/main arm64 node-terser all 5.38.0-1 [220 kB] Get: 336 http://deb.debian.org/debian forky/main arm64 node-rollup-plugin-terser all 7.0.2+~5.0.1-8 [10.1 kB] Get: 337 http://deb.debian.org/debian forky/main arm64 rollup all 3.29.5-1 [504 kB] -Fetched 46.7 MB in 1s (77.7 MB/s) +Fetched 46.7 MB in 1s (79.9 MB/s) Preconfiguring packages ... Selecting previously unselected package netbase. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19964 files and directories currently installed.) @@ -1832,7 +1864,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/node-d3-selection-1.4.1+~1.4.3/ && 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 > ../node-d3-selection_1.4.1+~1.4.3-1_source.changes +I: user script /srv/workspace/pbuilder/1606953/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/1606953/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/node-d3-selection-1.4.1+~1.4.3/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../node-d3-selection_1.4.1+~1.4.3-1_source.changes dpkg-buildpackage: info: source package node-d3-selection dpkg-buildpackage: info: source version 1.4.1+~1.4.3-1 dpkg-buildpackage: info: source distribution unstable @@ -1865,7 +1901,7 @@ src/selection/index.js -> src/selection/selectAll.js -> src/selection/index.js src/selection/index.js -> src/selection/filter.js -> src/selection/index.js ...and 5 more -created dist/d3-selection.js in 314ms +created dist/d3-selection.js in 361ms  src/index.js → dist/d3-selection.min.js... (!) Circular dependencies @@ -1873,587 +1909,9 @@ src/selection/index.js -> src/selection/selectAll.js -> src/selection/index.js src/selection/index.js -> src/selection/filter.js -> src/selection/index.js ...and 5 more -created dist/d3-selection.min.js in 825ms +created dist/d3-selection.min.js in 1s make[1]: Leaving directory '/build/reproducible-path/node-d3-selection-1.4.1+~1.4.3' - dh_auto_test --buildsystem=nodejs - ln -s ../. node_modules/d3-selection - /bin/sh -ex debian/tests/pkg-js/test -+ tape test/**/*-test.js -TAP version 13 -# d3.create(name) returns a new HTML element with the given name -ok 1 should be strictly equal -ok 2 should be strictly equal -ok 3 should be deeply equivalent -# d3.create(name) returns a new SVG element with the given name -ok 4 should be strictly equal -ok 5 should be strictly equal -ok 6 should be deeply equivalent -# d3.creator(name).call(element) returns a new element with the given name -ok 7 should be deeply equivalent -ok 8 should be deeply equivalent -ok 9 should be deeply equivalent -ok 10 should be deeply equivalent -# d3.creator(name).call(element) can inherit the namespace from the given element -ok 11 should be deeply equivalent -ok 12 should be deeply equivalent -# d3.event is set exactly during the callback of an event listener -ok 13 should be strictly equal -ok 14 should be strictly equal -ok 15 should be strictly equal -# d3.event is restored to its previous value during reentrant events -ok 16 should be strictly equal -ok 17 should be strictly equal -ok 18 should be strictly equal -ok 19 should be strictly equal -ok 20 should be strictly equal -# d3.matcher(selector).call(element) returns true if the element matches the selector -ok 21 should be strictly equal -ok 22 should be strictly equal -ok 23 should be strictly equal -ok 24 should be strictly equal -ok 25 should be strictly equal -# d3.namespace(name) returns name if there is no namespace prefix -ok 26 should be strictly equal -ok 27 should be strictly equal -# d3.namespace(name) coerces name to a string -ok 28 should be strictly equal -ok 29 should be deeply equivalent -# d3.namespace(name) returns the expected values for built-in namespaces -ok 30 should be deeply equivalent -ok 31 should be deeply equivalent -ok 32 should be deeply equivalent -ok 33 should be deeply equivalent -ok 34 should be deeply equivalent -ok 35 should be deeply equivalent -ok 36 should be deeply equivalent -ok 37 should be deeply equivalent -# d3.namespace("xmlns:…") treats the whole name as the local name -ok 38 should be deeply equivalent -# d3.namespace(name) observes modifications to d3.namespaces -ok 39 should be deeply equivalent -ok 40 should be strictly equal -# d3.namespaces is the expected map -ok 41 should be deeply equivalent -# d3.select(…) returns an instanceof d3.selection -ok 42 should be truthy -# d3.selectAll(…) returns an instanceof d3.selection -ok 43 should be truthy -# selection.append(…) returns a selection -ok 44 should be truthy -# selection.append(name) observes the specified namespace, if any -ok 45 should be strictly equal -ok 46 should be strictly equal -# selection.append(name) uses createElement, not createElementNS, if the implied namespace is the same as the document -ok 47 should be strictly equal -# selection.append(name) observes the implicit namespace, if any -ok 48 should be strictly equal -ok 49 should be strictly equal -# selection.append(name) observes the inherited namespace, if any -ok 50 should be strictly equal -ok 51 should be strictly equal -# selection.append(name) observes a custom namespace, if any -ok 52 should be strictly equal -ok 53 should be strictly equal -# selection.append(function) passes the creator function data, index and group -ok 54 should be deeply equivalent -# selection.append(…) propagates data if defined on the originating element -ok 55 should be strictly equal -# selection.append(…) will not propagate data if not defined on the originating element -ok 56 should be strictly equal -# selection.append(…) propagates parents from the originating selection -ok 57 should be truthy -# selection.attr(name) returns the value of the attribute with the specified name on the first selected element -ok 58 should be strictly equal -ok 59 should be strictly equal -# selection.attr(name) coerces the specified name to a string -ok 60 should be strictly equal -# selection.attr(name) observes the namespace prefix, if any -ok 61 should be strictly equal -ok 62 should be strictly equal -# selection.attr(name) observes a custom namespace prefix, if any -ok 63 should be strictly equal -# selection.attr(name, value) observes the namespace prefix, if any -ok 64 should be strictly equal -ok 65 should be strictly equal -ok 66 should be strictly equal -ok 67 should be strictly equal -# selection.attr(name, null) observes the namespace prefix, if any -ok 68 should be strictly equal -ok 69 should be strictly equal -ok 70 should be strictly equal -ok 71 should be strictly equal -# selection.attr(name, value) sets the value of the attribute with the specified name on the selected elements -ok 72 should be strictly equal -ok 73 should be strictly equal -ok 74 should be strictly equal -# selection.attr(name, null) removes the attribute with the specified name on the selected elements -ok 75 should be strictly equal -ok 76 should be strictly equal -ok 77 should be strictly equal -# selection.attr(name, function) sets the value of the attribute with the specified name on the selected elements -ok 78 should be strictly equal -ok 79 should be strictly equal -ok 80 should be strictly equal -# selection.attr(name, function) passes the value function data, index and group -ok 81 should be deeply equivalent -# selection.call(function) calls the specified function, passing the selection -ok 82 should be strictly equal -ok 83 should be strictly equal -# selection.call(function, arguments…) calls the specified function, passing the additional arguments -ok 84 should be strictly equal -ok 85 should be deeply equivalent -# selection.classed(classes) returns true if and only if the first element has the specified classes -ok 86 should be strictly equal -ok 87 should be strictly equal -ok 88 should be strictly equal -ok 89 should be strictly equal -ok 90 should be strictly equal -ok 91 should be strictly equal -ok 92 should be strictly equal -ok 93 should be strictly equal -ok 94 should be strictly equal -ok 95 should be strictly equal -# selection.classed(classes) coerces the specified classes to a string -ok 96 should be strictly equal -# selection.classed(classes) gets the class attribute if classList is not supported -ok 97 should be strictly equal -ok 98 should be strictly equal -ok 99 should be strictly equal -ok 100 should be strictly equal -ok 101 should be strictly equal -ok 102 should be strictly equal -ok 103 should be strictly equal -# selection.classed(classes, value) sets whether the selected elements have the specified classes -ok 104 should be strictly equal -ok 105 should be strictly equal -ok 106 should be strictly equal -ok 107 should be strictly equal -ok 108 should be strictly equal -ok 109 should be strictly equal -ok 110 should be strictly equal -ok 111 should be strictly equal -ok 112 should be strictly equal -ok 113 should be strictly equal -ok 114 should be strictly equal -ok 115 should be strictly equal -ok 116 should be strictly equal -ok 117 should be strictly equal -ok 118 should be strictly equal -ok 119 should be strictly equal -ok 120 should be strictly equal -ok 121 should be strictly equal -ok 122 should be strictly equal -# selection.classed(classes, function) sets whether the selected elements have the specified classes -ok 123 should be strictly equal -ok 124 should be strictly equal -ok 125 should be strictly equal -ok 126 should be strictly equal -# selection.classed(classes, function) passes the value function data, index and group -ok 127 should be deeply equivalent -# selection.classed(classes, value) sets the class attribute if classList is not supported -ok 128 should be strictly equal -ok 129 should be strictly equal -ok 130 should be strictly equal -ok 131 should be strictly equal -ok 132 should be strictly equal -ok 133 should be strictly equal -ok 134 should be strictly equal -ok 135 should be strictly equal -ok 136 should be strictly equal -ok 137 should be strictly equal -ok 138 should be strictly equal -ok 139 should be strictly equal -ok 140 should be strictly equal -ok 141 should be strictly equal -ok 142 should be strictly equal -ok 143 should be strictly equal -ok 144 should be strictly equal -ok 145 should be strictly equal -ok 146 should be strictly equal -# selection.classed(classes, value) coerces the specified classes to a string -ok 147 should be strictly equal -ok 148 should be strictly equal -ok 149 should be strictly equal -# selection.data(values) binds the specified values to the selected elements by index -ok 150 should be strictly equal -ok 151 should be strictly equal -ok 152 should be strictly equal -# selection.data(values) puts unbound data in the enter selection -ok 153 should be strictly equal -ok 154 should be strictly equal -# selection.data(values) puts unbound elements in the exit selection -ok 155 should be strictly equal -ok 156 should be strictly equal -# selection.data(values) binds the specified values to each group independently -ok 157 should be strictly equal -ok 158 should be strictly equal -ok 159 should be strictly equal -ok 160 should be strictly equal -# selection.data(function) binds the specified return values to the selected elements by index -ok 161 should be strictly equal -ok 162 should be strictly equal -ok 163 should be strictly equal -# selection.data(function) passes the values function datum, index and parents -ok 164 should be deeply equivalent -# selection.datum() returns the datum on the first selected element -ok 165 should be strictly equal -ok 166 should be strictly equal -# selection.datum(value) sets datum on the selected elements -ok 167 should be strictly equal -ok 168 should be strictly equal -ok 169 should be strictly equal -# selection.datum(null) clears the datum on the selected elements -ok 170 should be strictly equal -ok 171 should be strictly equal -ok 172 should be strictly equal -# selection.datum(function) sets the value of the datum on the selected elements -ok 173 should be strictly equal -ok 174 should be strictly equal -ok 175 should be strictly equal -# selection.datum(function) passes the value function data, index and group -ok 176 should be deeply equivalent -# selection.dispatch(type) dispatches a custom event of the specified type to each selected element in order -ok 177 should be strictly equal -ok 178 should be deeply equivalent -ok 179 should be strictly equal -ok 180 should be strictly equal -ok 181 should be strictly equal -ok 182 should be strictly equal -# selection.dispatch(type, params) dispatches a custom event with the specified constant parameters -ok 183 should be strictly equal -ok 184 should be deeply equivalent -ok 185 should be strictly equal -ok 186 should be strictly equal -ok 187 should be strictly equal -ok 188 should be strictly equal -# selection.dispatch(type, function) dispatches a custom event with the specified parameter function -ok 189 should be strictly equal -ok 190 should be deeply equivalent -ok 191 should be strictly equal -ok 192 should be strictly equal -ok 193 should be strictly equal -ok 194 should be strictly equal -ok 195 should be strictly equal -ok 196 should be strictly equal -ok 197 should be strictly equal -ok 198 should be strictly equal -# selection.dispatch(type) skips missing elements -ok 199 should be strictly equal -ok 200 should be deeply equivalent -ok 201 should be strictly equal -ok 202 should be strictly equal -# selection.each(function) calls the specified function for each selected element in order -ok 203 should be strictly equal -ok 204 should be deeply equivalent -# selection.each(function) skips missing elements -ok 205 should be strictly equal -ok 206 should be deeply equivalent -# selection.empty() return false if the selection is not empty -ok 207 should be strictly equal -# selection.empty() return true if the selection is empty -ok 208 should be strictly equal -ok 209 should be strictly equal -ok 210 should be strictly equal -# selection.enter() contains EnterNodes -ok 211 should be strictly equal -# selection.enter() shares the update selection’s parents -ok 212 should be strictly equal -# selection.enter() returns the same selection each time -ok 213 should be deeply equivalent -# enter.append(…) inherits the namespaceURI from the parent -ok 214 should be strictly equal -ok 215 should be strictly equal -ok 216 should be strictly equal -# enter.append(…) does not override an explicit namespace -ok 217 should be strictly equal -ok 218 should be strictly equal -ok 219 should be strictly equal -# enter.append(…) inserts entering nodes before the next node in the update selection -ok 220 should be strictly equal -# enter.insert(…, before) inserts entering nodes before the sibling matching the specified selector -ok 221 should be strictly equal -# enter.insert(…, null) inserts entering nodes after the last child -ok 222 should be strictly equal -# selection.exit() shares the update selection’s parents -ok 223 should be strictly equal -# selection.exit() returns the same selection each time -ok 224 should be deeply equivalent -# selection.filter(…) returns a selection -ok 225 should be truthy -# selection.filter(function) passes the selector function data, index and group -ok 226 should be deeply equivalent -# selection.html() returns the inner HTML on the first selected element -ok 227 should be strictly equal -ok 228 should be strictly equal -# selection.html(value) sets inner HTML on the selected elements -ok 229 should be strictly equal -ok 230 should be strictly equal -ok 231 should be strictly equal -# selection.html(null) clears the inner HTML on the selected elements -ok 232 should be strictly equal -ok 233 should be strictly equal -ok 234 should be strictly equal -# selection.html(function) sets the value of the inner HTML on the selected elements -ok 235 should be strictly equal -ok 236 should be strictly equal -ok 237 should be strictly equal -# selection.html(function) passes the value function data, index and group -ok 238 should be deeply equivalent -# d3.selection() returns a selection of the document element -ok 239 should be strictly equal -# d3.selection.prototype can be extended -ok 240 should be strictly equal -ok 241 should be strictly equal -ok 242 should be strictly equal -# d3.selection() returns an instanceof d3.selection -ok 243 should be truthy -# selection.insert(name, function) passes the selector function data, index and group -ok 244 should be deeply equivalent -# selection.join(name) enter-appends elements -ok 245 should be strictly equal -# selection.join(name) exit-removes elements -ok 246 should be strictly equal -# selection.join(enter, update, exit) calls the specified functions -ok 247 should be strictly equal -# selection.join(…) reorders nodes to match the data -ok 248 should be strictly equal -ok 249 should be strictly equal -# selection.merge(selection) reuses this selection’s parents -ok 250 should be strictly equal -ok 251 should be strictly equal -# selection.node() returns the first element in a selection -ok 252 should be strictly equal -# selection.node() skips missing elements -ok 253 should be strictly equal -# selection.node() skips empty groups -ok 254 should be strictly equal -# selection.node() returns null for an empty selection -ok 255 should be strictly equal -ok 256 should be strictly equal -ok 257 should be strictly equal -# selection.nodes() returns an array containing all selected nodes -ok 258 should be deeply equivalent -# selection.nodes() merges nodes from all groups into a single array -ok 259 should be deeply equivalent -# selection.nodes() skips missing elements -ok 260 should be deeply equivalent -# selection.on(type, listener) registers a listeners for the specified event type on each selected element -ok 261 should be strictly equal -ok 262 should be strictly equal -ok 263 should be strictly equal -# selection.on(type, listener) observes the specified name, if any -ok 264 should be strictly equal -# selection.on(type, listener, capture) observes the specified capture flag, if any -ok 265 should be strictly equal -ok 266 should be deeply equivalent -# selection.on(type) returns the listener for the specified event type, if any -ok 267 should be strictly equal -# selection.on(type) observes the specified name, if any -ok 268 should be strictly equal -ok 269 should be strictly equal -ok 270 should be strictly equal -ok 271 should be strictly equal -ok 272 should be strictly equal -# selection.on(type, null) removes the listener with the specified name, if any -ok 273 should be strictly equal -ok 274 should be strictly equal -ok 275 should be strictly equal -# selection.on(type, null) observes the specified name, if any -ok 276 should be strictly equal -ok 277 should be strictly equal -ok 278 should be strictly equal -ok 279 should be strictly equal -# selection.on(type, null, capture) ignores the specified capture flag, if any -ok 280 should be strictly equal -ok 281 should be strictly equal -ok 282 should be strictly equal -# selection.on(name, null) removes all listeners with the specified name -ok 283 should be strictly equal -ok 284 should be strictly equal -ok 285 should be strictly equal -ok 286 should be strictly equal -ok 287 should be strictly equal -ok 288 should be strictly equal -ok 289 should be strictly equal -ok 290 should be strictly equal -ok 291 should be strictly equal -# selection.on(name, null) can remove a listener with capture -ok 292 should be strictly equal -ok 293 should be strictly equal -ok 294 should be strictly equal -# selection.on(name, listener) has no effect -ok 295 should be strictly equal -ok 296 should be strictly equal -ok 297 should be strictly equal -# selection.on(type) skips missing elements -ok 298 should be strictly equal -# selection.on(type, listener) skips missing elements -ok 299 should be strictly equal -# selection.on(type, listener) passes the listener data, index and group -ok 300 should be deeply equivalent -ok 301 should be deeply equivalent -# selection.on(type, listener) passes the listener the index as of registration time -ok 302 should be strictly equal -ok 303 should be strictly equal -# selection.order() moves selected elements so that they are before their next sibling -ok 304 should be strictly equal -ok 305 should be strictly equal -ok 306 should be strictly equal -# selection.order() only orders within each group -ok 307 should be strictly equal -ok 308 should be strictly equal -ok 309 should be strictly equal -# selection.property(name) returns the property with the specified name on the first selected element -ok 310 should be strictly equal -ok 311 should be strictly equal -# selection.property(name, value) sets property with the specified name on the selected elements -ok 312 should be strictly equal -ok 313 should be strictly equal -ok 314 should be strictly equal -# selection.property(name, null) removes the property with the specified name on the selected elements -ok 315 should be strictly equal -ok 316 should be strictly equal -ok 317 should be strictly equal -# selection.property(name, function) sets the value of the property with the specified name on the selected elements -ok 318 should be strictly equal -ok 319 should be strictly equal -ok 320 should be strictly equal -# selection.property(name, function) passes the value function data, index and group -ok 321 should be deeply equivalent -# selection.remove() removes selected elements from their parent -ok 322 should be strictly equal -ok 323 should be strictly equal -ok 324 should be strictly equal -# selection.remove() skips elements that have already been detached -ok 325 should be strictly equal -ok 326 should be strictly equal -ok 327 should be strictly equal -# selection.remove() skips missing elements -ok 328 should be strictly equal -ok 329 should be strictly equal -ok 330 should be strictly equal -# selection.select(…) returns a selection -ok 331 should be truthy -# selection.select(function) passes the selector function data, index and group -ok 332 should be deeply equivalent -# selection.select(…) propagates data if defined on the originating element -ok 333 should be strictly equal -# selection.select(…) will not propagate data if not defined on the originating element -ok 334 should be strictly equal -# selection.select(…) propagates parents from the originating selection -ok 335 should be truthy -# selection.selectAll(…) returns a selection -ok 336 should be truthy -# selection.selectAll(function) passes the selector function data, index and group -ok 337 should be deeply equivalent -# selection.selectAll(…) will not propagate data -ok 338 should be truthy -# selection.size() returns the number of selected elements -ok 339 should be deeply equivalent -ok 340 should be deeply equivalent -ok 341 should be deeply equivalent -# selection.size() skips missing elements -ok 342 should be deeply equivalent -# selection.sort(…) returns a new selection, sorting each group’s data, and then ordering the elements to match -ok 343 should be strictly equal -ok 344 should be strictly equal -ok 345 should be strictly equal -# selection.sort(function) puts missing elements at the end of each group -ok 346 should be strictly equal -ok 347 should be strictly equal -# selection.sort(function) uses the specified data comparator function -ok 348 should be strictly equal -ok 349 should be strictly equal -# d3.style(node, name) returns the inline value of the style property with the specified name on the first selected element, if present -ok 350 should be strictly equal -# d3.style(node, name) returns the computed value of the style property with the specified name on the first selected element, if there is no inline style -ok 351 should be strictly equal -# selection.style(name) returns the inline value of the style property with the specified name on the first selected element, if present -ok 352 should be strictly equal -ok 353 should be strictly equal -# selection.style(name) returns the computed value of the style property with the specified name on the first selected element, if there is no inline style -ok 354 should be strictly equal -ok 355 should be strictly equal -# selection.style(name, value) sets the value of the style property with the specified name on the selected elements -ok 356 should be strictly equal -ok 357 should be strictly equal -ok 358 should be strictly equal -ok 359 should be strictly equal -ok 360 should be strictly equal -# selection.style(name, value, priority) sets the value and priority of the style property with the specified name on the selected elements -ok 361 should be strictly equal -ok 362 should be strictly equal -ok 363 should be strictly equal -ok 364 should be strictly equal -ok 365 should be strictly equal -# selection.style(name, null) removes the attribute with the specified name on the selected elements -ok 366 should be strictly equal -ok 367 should be strictly equal -ok 368 should be strictly equal -ok 369 should be strictly equal -ok 370 should be strictly equal -# selection.style(name, function) sets the value of the style property with the specified name on the selected elements -ok 371 should be strictly equal -ok 372 should be strictly equal -ok 373 should be strictly equal -ok 374 should be strictly equal -ok 375 should be strictly equal -# selection.style(name, function, priority) sets the value and priority of the style property with the specified name on the selected elements -ok 376 should be strictly equal -ok 377 should be strictly equal -ok 378 should be strictly equal -ok 379 should be strictly equal -ok 380 should be strictly equal -# selection.style(name, function) passes the value function data, index and group -ok 381 should be deeply equivalent -# selection.text() returns the text content on the first selected element -ok 382 should be strictly equal -ok 383 should be strictly equal -# selection.text(value) sets text content on the selected elements -ok 384 should be strictly equal -ok 385 should be strictly equal -ok 386 should be strictly equal -# selection.text(null) clears the text content on the selected elements -ok 387 should be strictly equal -ok 388 should be strictly equal -ok 389 should be strictly equal -# selection.text(function) sets the value of the text content on the selected elements -ok 390 should be strictly equal -ok 391 should be strictly equal -ok 392 should be strictly equal -# selection.text(function) passes the value function data, index and group -ok 393 should be deeply equivalent -# d3.selector(selector).call(element) returns the first element that matches the selector -ok 394 should be strictly equal -ok 395 should be strictly equal -ok 396 should be strictly equal -ok 397 should be strictly equal -ok 398 should be strictly equal -# d3.selector(null).call(element) always returns undefined -ok 399 should be strictly equal -ok 400 should be strictly equal -ok 401 should be strictly equal -# d3.selectorAll(null).call(element) always returns the empty array -ok 402 should be deeply equivalent -ok 403 should be deeply equivalent -ok 404 should be deeply equivalent -# d3.selectorAll(null).call(element) returns a new empty array each time -ok 405 should be strictly equal -ok 406 should be deeply equivalent -# d3.window(node) returns node.ownerDocument.defaultView -ok 407 should be strictly equal -# d3.window(document) returns document.defaultView -ok 408 should be strictly equal -# d3.window(window) returns window -ok 409 should be strictly equal - -1..409 -# tests 409 -# pass 409 - -# ok - -Removing node_modules/d3-selection +dh: command-omitted: The call to "dh_auto_test" was omitted due to "DEB_BUILD_OPTIONS=nocheck" create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --buildsystem=nodejs --destdir=debian/node-d3-selection/ @@ -2556,12 +2014,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/1606953/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1606953/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/1931803 and its subdirectories -I: Current time: Mon Dec 7 16:59:36 -12 2026 -I: pbuilder-time-stamp: 1796705976 +I: removing directory /srv/workspace/pbuilder/1606953 and its subdirectories +I: Current time: Wed Nov 5 12:37:27 +14 2025 +I: pbuilder-time-stamp: 1762295847