Tue Sep 2 23:40:27 UTC 2025 I: starting to build ufo2ft/forky/amd64 on jenkins on '2025-09-02 23:40' Tue Sep 2 23:40:27 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_31/56280/console.log Tue Sep 2 23:40:27 UTC 2025 I: Downloading source for forky/ufo2ft=3.3.1-2 --2025-09-02 23:40:27-- http://deb.debian.org/debian/pool/main/u/ufo2ft/ufo2ft_3.3.1-2.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2508 (2.4K) [text/prs.lines.tag] Saving to: ‘ufo2ft_3.3.1-2.dsc’ 0K .. 100% 285M=0s 2025-09-02 23:40:27 (285 MB/s) - ‘ufo2ft_3.3.1-2.dsc’ saved [2508/2508] Tue Sep 2 23:40:27 UTC 2025 I: ufo2ft_3.3.1-2.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: ufo2ft Binary: python3-ufo2ft Architecture: all Version: 3.3.1-2 Maintainer: Debian Fonts Task Force Uploaders: Jeremy Bicha , Yao Wei (魏銘廷) Homepage: https://github.com/googlei18n/ufo2ft/ Description: Bridge from UFOs to fonttools objects python3-ufo2ft converts fonts from UFO, a common font source format, to fonttools Python objects, which can subsequently saved as OTF or TTF binaries. Standards-Version: 4.7.0 Vcs-Browser: https://salsa.debian.org/fonts-team/ufo2ft Vcs-Git: https://salsa.debian.org/fonts-team/ufo2ft.git Testsuite: autopkgtest-pkg-python Build-Depends: debhelper-compat (= 13), dh-sequence-python3, python3-all, python3-setuptools, python3-setuptools-scm, python3-pytest , python3-fontmath, python3-fonttools (>= 4.50.0), python3-ufolib2 (>= 0.16.0), python3-defcon (>= 0.10.0), python3-syrupy , python3-compreffor (>= 0.5.5), python3-booleanoperations (>= 0.9.0), python3-cffsubr (>= 0.2.9) Package-List: python3-ufo2ft deb python optional arch=all Checksums-Sha1: 5eb0542c68427be9d7874f8e2bb78323d1aecd70 398897 ufo2ft_3.3.1.orig.tar.gz 5a433794ba6decf2637e593982dee978d0da8ca6 6224 ufo2ft_3.3.1-2.debian.tar.xz Checksums-Sha256: 7caf0b8ef9937597180f25e4d3d32f96668c817d81f89d5b7a51329e7cff008d 398897 ufo2ft_3.3.1.orig.tar.gz 1720190ad7bf6acc2f072fd7330a3f317925d95c8b1cfb1d0aa863c1e24c3c3d 6224 ufo2ft_3.3.1-2.debian.tar.xz Files: 9e0031bef6903405c9ca21c7e20517c7 398897 ufo2ft_3.3.1.orig.tar.gz c1da519ea6a588ee4e9033d539fe8d8c 6224 ufo2ft_3.3.1-2.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfncpR22H1vEdkazLwpPntGGCWs4FAmcY+qwACgkQwpPntGGC Ws7o/Q//RWYbxFpNj+RgwJn2J1P2WIMSyrr0hNTgDNLAmLiZCR6ZMQbU5w99vOyY ZG/qdyLNE1CVhV9G1cDQJhHXMay/fEbMysDO9icyqmhuJxw4EOJyxISQ5jzCcNFM PYW75NLT/trnvvWVn58qRANI2cioybGuAVCGVbBaB7BXq6iIaQ7gQ6Vxpw7xHFRI la5JF01rbWL2HrK3AVPNOYhjInlSkMLhTBSrXhJVOgjEb+NWHyk+KbFrnLhDftPx I+x1Ru+lE6EqsxsxhQro2KGT3oQye/spjb2im8eQiBKcZQHE/ogc1bWF26R0Ikxv 36eXmaBpcOjFlCtvj7IdIMaOsRu0uXyMc/MCGCcSKfGkX9vQfvYnfz+PvLcUdB2Y jr7D4WgaZ1zMxT65BaHx5lyhrQK/NJC4uOz+zdPENy4hKf9XlO8qqlw8wsk/Ifsj 67Px5JElYDCzgY29kigSJdK3TQzf0457uei2GD2yMSMatOiea3tFBjYS6cQYeQez 4GJW/mbp9fBXWmzINwAk3ef/r+nzBeEDb22MCYjVh3qQ6qqHI1hHvgTupKpbsfhO zVXe2WFjamxeAg16XPRboCGNFzwCDNZB3Bq1kXEKJV155rliveaEdXmd9oPgXRRo 29zjoqtN3So2752Xu8epM2cOXYO0h3WmYfDRW7PI5mmJ1TcOR98= =WGYW -----END PGP SIGNATURE----- Tue Sep 2 23:40:27 UTC 2025 I: Checking whether the package is not for us Tue Sep 2 23:40:27 UTC 2025 I: Starting 1st build on remote node ionos11-amd64.debian.net. Tue Sep 2 23:40:27 UTC 2025 I: Preparing to do remote build '1' on ionos11-amd64.debian.net. Tue Sep 2 23:46:21 UTC 2025 I: Deleting $TMPDIR on ionos11-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Tue Sep 2 11:40:30 -12 2025 I: pbuilder-time-stamp: 1756856430 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-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: Copying source file I: copying [ufo2ft_3.3.1-2.dsc] I: copying [./ufo2ft_3.3.1.orig.tar.gz] I: copying [./ufo2ft_3.3.1-2.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./ufo2ft_3.3.1-2.dsc: no acceptable signature found dpkg-source: info: extracting ufo2ft in ufo2ft-3.3.1 dpkg-source: info: unpacking ufo2ft_3.3.1.orig.tar.gz dpkg-source: info: unpacking ufo2ft_3.3.1-2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying disable-pathops-test.patch dpkg-source: info: applying Add-files-to-avoid-clean-target-failure.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/535170/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='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' DISTRIBUTION='forky' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='4b9e3e54bb12453abe04df0566c5f25a' 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='535170' 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.vZUEa8ms/pbuilderrc_6NMe --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.vZUEa8ms/b1 --logfile b1/build.log ufo2ft_3.3.1-2.dsc' SUDO_GID='111' SUDO_HOME='/var/lib/jenkins' SUDO_UID='106' 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 ionos11-amd64 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/535170/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: amd64 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), dh-sequence-python3, python3-all, python3-setuptools, python3-setuptools-scm, python3-pytest, python3-fontmath, python3-fonttools (>= 4.50.0), python3-ufolib2 (>= 0.16.0), python3-defcon (>= 0.10.0), python3-syrupy, python3-compreffor (>= 0.5.5), python3-booleanoperations (>= 0.9.0), python3-cffsubr (>= 0.2.9) dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19897 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 dh-sequence-python3; however: Package dh-sequence-python3 is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools-scm; however: Package python3-setuptools-scm is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-fontmath; however: Package python3-fontmath is not installed. pbuilder-satisfydepends-dummy depends on python3-fonttools (>= 4.50.0); however: Package python3-fonttools is not installed. pbuilder-satisfydepends-dummy depends on python3-ufolib2 (>= 0.16.0); however: Package python3-ufolib2 is not installed. pbuilder-satisfydepends-dummy depends on python3-defcon (>= 0.10.0); however: Package python3-defcon is not installed. pbuilder-satisfydepends-dummy depends on python3-syrupy; however: Package python3-syrupy is not installed. pbuilder-satisfydepends-dummy depends on python3-compreffor (>= 0.5.5); however: Package python3-compreffor is not installed. pbuilder-satisfydepends-dummy depends on python3-booleanoperations (>= 0.9.0); however: Package python3-booleanoperations is not installed. pbuilder-satisfydepends-dummy depends on python3-cffsubr (>= 0.2.9); however: Package python3-cffsubr 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: afdko-bin{a} autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libantlr4-runtime4.9{a} libarchive-zip-perl{a} libblas3{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libgcrypt20{a} libgfortran5{a} libgpg-error0{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} liblapack3{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libpython3-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2-16{a} libxslt1.1{a} libzopfli1{a} m4{a} man-db{a} media-types{a} netbase{a} po-debconf{a} python3{a} python3-all{a} python3-attr{a} python3-autocommand{a} python3-booleanoperations{a} python3-brotli{a} python3-cffsubr{a} python3-compreffor{a} python3-decorator{a} python3-defcon{a} python3-fontmath{a} python3-fonttools{a} python3-fs{a} python3-inflect{a} python3-iniconfig{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-lxml{a} python3-lz4{a} python3-minimal{a} python3-more-itertools{a} python3-mpmath{a} python3-numpy{a} python3-numpy-dev{a} python3-packaging{a} python3-pkg-resources{a} python3-platformdirs{a} python3-pluggy{a} python3-pyclipper{a} python3-pytest{a} python3-scipy{a} python3-setuptools{a} python3-setuptools-scm{a} python3-sympy{a} python3-syrupy{a} python3-typeguard{a} python3-typing-extensions{a} python3-ufolib2{a} python3-zipp{a} python3-zopfli{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} unicode-data{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl isympy-common javascript-common libarchive-cpio-perl libgpg-error-l10n libltdl-dev libmail-sendmail-perl lynx python3-bs4 python3-cssselect python3-fontpens python3-html5lib python3-pil python3-pooch python3-pygments python3-yaml wget 0 packages upgraded, 96 newly installed, 0 to remove and 0 not upgraded. Need to get 64.7 MB of archives. After unpacking 296 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian forky/main amd64 libexpat1 amd64 2.7.1-2 [108 kB] Get: 2 http://deb.debian.org/debian forky/main amd64 libpython3.13-minimal amd64 3.13.7-1 [864 kB] Get: 3 http://deb.debian.org/debian forky/main amd64 python3.13-minimal amd64 3.13.7-1 [2216 kB] Get: 4 http://deb.debian.org/debian forky/main amd64 python3-minimal amd64 3.13.5-1 [27.2 kB] Get: 5 http://deb.debian.org/debian forky/main amd64 media-types all 13.0.0 [29.3 kB] Get: 6 http://deb.debian.org/debian forky/main amd64 netbase all 6.5 [12.4 kB] Get: 7 http://deb.debian.org/debian forky/main amd64 tzdata all 2025b-5 [260 kB] Get: 8 http://deb.debian.org/debian forky/main amd64 libffi8 amd64 3.4.8-2 [24.1 kB] Get: 9 http://deb.debian.org/debian forky/main amd64 readline-common all 8.3-2 [74.8 kB] Get: 10 http://deb.debian.org/debian forky/main amd64 libreadline8t64 amd64 8.3-2 [180 kB] Get: 11 http://deb.debian.org/debian forky/main amd64 libpython3.13-stdlib amd64 3.13.7-1 [1960 kB] Get: 12 http://deb.debian.org/debian forky/main amd64 python3.13 amd64 3.13.7-1 [761 kB] Get: 13 http://deb.debian.org/debian forky/main amd64 libpython3-stdlib amd64 3.13.5-1 [10.2 kB] Get: 14 http://deb.debian.org/debian forky/main amd64 python3 amd64 3.13.5-1 [28.2 kB] Get: 15 http://deb.debian.org/debian forky/main amd64 python3-numpy-dev amd64 1:2.2.4+ds-1 [139 kB] Get: 16 http://deb.debian.org/debian forky/main amd64 libblas3 amd64 3.12.1-6 [160 kB] Get: 17 http://deb.debian.org/debian forky/main amd64 libgfortran5 amd64 15.2.0-1 [862 kB] Get: 18 http://deb.debian.org/debian forky/main amd64 liblapack3 amd64 3.12.1-6 [2447 kB] Get: 19 http://deb.debian.org/debian forky/main amd64 python3-numpy amd64 1:2.2.4+ds-1 [5096 kB] Get: 20 http://deb.debian.org/debian forky/main amd64 sensible-utils all 0.0.26 [27.0 kB] Get: 21 http://deb.debian.org/debian forky/main amd64 libmagic-mgc amd64 1:5.46-5 [338 kB] Get: 22 http://deb.debian.org/debian forky/main amd64 libmagic1t64 amd64 1:5.46-5 [109 kB] Get: 23 http://deb.debian.org/debian forky/main amd64 file amd64 1:5.46-5 [43.6 kB] Get: 24 http://deb.debian.org/debian forky/main amd64 gettext-base amd64 0.23.1-2+b1 [244 kB] Get: 25 http://deb.debian.org/debian forky/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 26 http://deb.debian.org/debian forky/main amd64 groff-base amd64 1.23.0-9 [1187 kB] Get: 27 http://deb.debian.org/debian forky/main amd64 bsdextrautils amd64 2.41.1-1 [94.7 kB] Get: 28 http://deb.debian.org/debian forky/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 29 http://deb.debian.org/debian forky/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get: 30 http://deb.debian.org/debian forky/main amd64 libantlr4-runtime4.9 amd64 4.9+dfsg-3+b3 [355 kB] Get: 31 http://deb.debian.org/debian forky/main amd64 libxml2-16 amd64 2.14.5+dfsg-0.2 [638 kB] Get: 32 http://deb.debian.org/debian forky/main amd64 afdko-bin amd64 4.0.1+dfsg1-2+b1 [1136 kB] Get: 33 http://deb.debian.org/debian forky/main amd64 m4 amd64 1.4.19-8 [294 kB] Get: 34 http://deb.debian.org/debian forky/main amd64 autoconf all 2.72-3.1 [494 kB] Get: 35 http://deb.debian.org/debian forky/main amd64 autotools-dev all 20240727.1 [60.2 kB] Get: 36 http://deb.debian.org/debian forky/main amd64 automake all 1:1.17-4 [862 kB] Get: 37 http://deb.debian.org/debian forky/main amd64 autopoint all 0.23.1-2 [770 kB] Get: 38 http://deb.debian.org/debian forky/main amd64 libdebhelper-perl all 13.26 [91.8 kB] Get: 39 http://deb.debian.org/debian forky/main amd64 libtool all 2.5.4-4 [539 kB] Get: 40 http://deb.debian.org/debian forky/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 41 http://deb.debian.org/debian forky/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 42 http://deb.debian.org/debian forky/main amd64 libfile-stripnondeterminism-perl all 1.14.2-1 [19.8 kB] Get: 43 http://deb.debian.org/debian forky/main amd64 dh-strip-nondeterminism all 1.14.2-1 [8768 B] Get: 44 http://deb.debian.org/debian forky/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 45 http://deb.debian.org/debian forky/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 46 http://deb.debian.org/debian forky/main amd64 libunistring5 amd64 1.3-2 [477 kB] Get: 47 http://deb.debian.org/debian forky/main amd64 gettext amd64 0.23.1-2+b1 [1680 kB] Get: 48 http://deb.debian.org/debian forky/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 49 http://deb.debian.org/debian forky/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 50 http://deb.debian.org/debian forky/main amd64 debhelper all 13.26 [939 kB] Get: 51 http://deb.debian.org/debian forky/main amd64 dh-python all 6.20250414 [116 kB] Get: 52 http://deb.debian.org/debian forky/main amd64 libgpg-error0 amd64 1.55-2 [88.1 kB] Get: 53 http://deb.debian.org/debian forky/main amd64 libgcrypt20 amd64 1.11.2-2 [865 kB] Get: 54 http://deb.debian.org/debian forky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 55 http://deb.debian.org/debian forky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 56 http://deb.debian.org/debian forky/main amd64 libjs-sphinxdoc all 8.2.3-2 [27.3 kB] Get: 57 http://deb.debian.org/debian forky/main amd64 libxslt1.1 amd64 1.1.43-0.2 [155 kB] Get: 58 http://deb.debian.org/debian forky/main amd64 libzopfli1 amd64 1.0.3-3 [106 kB] Get: 59 http://deb.debian.org/debian forky/main amd64 python3-all amd64 3.13.5-1 [1048 B] Get: 60 http://deb.debian.org/debian forky/main amd64 python3-attr all 25.3.0-1 [69.5 kB] Get: 61 http://deb.debian.org/debian forky/main amd64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 62 http://deb.debian.org/debian forky/main amd64 python3-brotli amd64 1.1.0-2+b7 [320 kB] Get: 63 http://deb.debian.org/debian forky/main amd64 python3-platformdirs all 4.3.7-1 [16.6 kB] Get: 64 http://deb.debian.org/debian forky/main amd64 python3-fs all 2.4.16-7 [95.2 kB] Get: 65 http://deb.debian.org/debian forky/main amd64 python3-lxml amd64 5.4.0-1+b1 [1297 kB] Get: 66 http://deb.debian.org/debian forky/main amd64 python3-lz4 amd64 4.4.4+dfsg-1 [25.4 kB] Get: 67 http://deb.debian.org/debian forky/main amd64 python3-decorator all 5.2.1-2 [33.0 kB] Get: 68 http://deb.debian.org/debian forky/main amd64 python3-scipy amd64 1.15.3-1 [16.3 MB] Get: 69 http://deb.debian.org/debian forky/main amd64 python3-mpmath all 1.3.0-1 [419 kB] Get: 70 http://deb.debian.org/debian forky/main amd64 python3-sympy all 1.14.0-2 [4228 kB] Get: 71 http://deb.debian.org/debian forky/main amd64 python3-ufolib2 all 0.17.1+dfsg1-1 [33.0 kB] Get: 72 http://deb.debian.org/debian forky/main amd64 python3-defcon all 0.10.3-3 [189 kB] Get: 73 http://deb.debian.org/debian forky/main amd64 python3-zopfli amd64 0.2.3.post1-1+b1 [10.5 kB] Get: 74 http://deb.debian.org/debian forky/main amd64 unicode-data all 15.1.0-1 [8547 kB] Get: 75 http://deb.debian.org/debian forky/main amd64 python3-fonttools amd64 4.57.0-1 [1438 kB] Get: 76 http://deb.debian.org/debian forky/main amd64 python3-pyclipper amd64 1.3.0.post6-1+b2 [116 kB] Get: 77 http://deb.debian.org/debian forky/main amd64 python3-booleanoperations all 0.9.0-4 [18.5 kB] Get: 78 http://deb.debian.org/debian forky/main amd64 python3-cffsubr all 0.3.0-1 [9400 B] Get: 79 http://deb.debian.org/debian forky/main amd64 python3-compreffor amd64 0.5.6-1+b2 [63.1 kB] Get: 80 http://deb.debian.org/debian forky/main amd64 python3-fontmath all 0.9.4-1 [25.9 kB] Get: 81 http://deb.debian.org/debian forky/main amd64 python3-more-itertools all 10.7.0-1 [67.4 kB] Get: 82 http://deb.debian.org/debian forky/main amd64 python3-typing-extensions all 4.15.0-1 [92.4 kB] Get: 83 http://deb.debian.org/debian forky/main amd64 python3-typeguard all 4.4.4-1 [37.1 kB] Get: 84 http://deb.debian.org/debian forky/main amd64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 85 http://deb.debian.org/debian forky/main amd64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 86 http://deb.debian.org/debian forky/main amd64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 87 http://deb.debian.org/debian forky/main amd64 python3-pkg-resources all 78.1.1-0.1 [224 kB] Get: 88 http://deb.debian.org/debian forky/main amd64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 89 http://deb.debian.org/debian forky/main amd64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 90 http://deb.debian.org/debian forky/main amd64 python3-setuptools all 78.1.1-0.1 [738 kB] Get: 91 http://deb.debian.org/debian forky/main amd64 python3-jaraco.context all 6.0.1-1 [8276 B] Get: 92 http://deb.debian.org/debian forky/main amd64 python3-packaging all 25.0-1 [56.6 kB] Get: 93 http://deb.debian.org/debian forky/main amd64 python3-pluggy all 1.6.0-1 [27.1 kB] Get: 94 http://deb.debian.org/debian forky/main amd64 python3-pytest all 8.3.5-2 [250 kB] Get: 95 http://deb.debian.org/debian forky/main amd64 python3-setuptools-scm all 8.2.1-2 [41.3 kB] Get: 96 http://deb.debian.org/debian forky/main amd64 python3-syrupy all 4.9.1-1 [56.9 kB] Fetched 64.7 MB in 15s (4218 kB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19897 files and directories currently installed.) Preparing to unpack .../libexpat1_2.7.1-2_amd64.deb ... Unpacking libexpat1:amd64 (2.7.1-2) ... Selecting previously unselected package libpython3.13-minimal:amd64. Preparing to unpack .../libpython3.13-minimal_3.13.7-1_amd64.deb ... Unpacking libpython3.13-minimal:amd64 (3.13.7-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.7-1_amd64.deb ... Unpacking python3.13-minimal (3.13.7-1) ... Setting up libpython3.13-minimal:amd64 (3.13.7-1) ... Setting up libexpat1:amd64 (2.7.1-2) ... Setting up python3.13-minimal (3.13.7-1) ... 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 ... 20231 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.5-1_amd64.deb ... Unpacking python3-minimal (3.13.5-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_13.0.0_all.deb ... Unpacking media-types (13.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.5_all.deb ... Unpacking netbase (6.5) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025b-5_all.deb ... Unpacking tzdata (2025b-5) ... Selecting previously unselected package libffi8:amd64. Preparing to unpack .../4-libffi8_3.4.8-2_amd64.deb ... Unpacking libffi8:amd64 (3.4.8-2) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.3-2_all.deb ... Unpacking readline-common (8.3-2) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../6-libreadline8t64_8.3-2_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.3-2) ... Selecting previously unselected package libpython3.13-stdlib:amd64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.7-1_amd64.deb ... Unpacking libpython3.13-stdlib:amd64 (3.13.7-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.7-1_amd64.deb ... Unpacking python3.13 (3.13.7-1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../9-libpython3-stdlib_3.13.5-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.13.5-1) ... Setting up python3-minimal (3.13.5-1) ... 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 ... 21246 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.5-1_amd64.deb ... Unpacking python3 (3.13.5-1) ... Selecting previously unselected package python3-numpy-dev:amd64. Preparing to unpack .../01-python3-numpy-dev_1%3a2.2.4+ds-1_amd64.deb ... Unpacking python3-numpy-dev:amd64 (1:2.2.4+ds-1) ... Selecting previously unselected package libblas3:amd64. Preparing to unpack .../02-libblas3_3.12.1-6_amd64.deb ... Unpacking libblas3:amd64 (3.12.1-6) ... Selecting previously unselected package libgfortran5:amd64. Preparing to unpack .../03-libgfortran5_15.2.0-1_amd64.deb ... Unpacking libgfortran5:amd64 (15.2.0-1) ... Selecting previously unselected package liblapack3:amd64. Preparing to unpack .../04-liblapack3_3.12.1-6_amd64.deb ... Unpacking liblapack3:amd64 (3.12.1-6) ... Selecting previously unselected package python3-numpy. Preparing to unpack .../05-python3-numpy_1%3a2.2.4+ds-1_amd64.deb ... Unpacking python3-numpy (1:2.2.4+ds-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../06-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../07-libmagic-mgc_1%3a5.46-5_amd64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../08-libmagic1t64_1%3a5.46-5_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../09-file_1%3a5.46-5_amd64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../10-gettext-base_0.23.1-2+b1_amd64.deb ... Unpacking gettext-base (0.23.1-2+b1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../11-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../12-groff-base_1.23.0-9_amd64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../13-bsdextrautils_2.41.1-1_amd64.deb ... Unpacking bsdextrautils (2.41.1-1) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../14-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../15-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package libantlr4-runtime4.9:amd64. Preparing to unpack .../16-libantlr4-runtime4.9_4.9+dfsg-3+b3_amd64.deb ... Unpacking libantlr4-runtime4.9:amd64 (4.9+dfsg-3+b3) ... Selecting previously unselected package libxml2-16:amd64. Preparing to unpack .../17-libxml2-16_2.14.5+dfsg-0.2_amd64.deb ... Unpacking libxml2-16:amd64 (2.14.5+dfsg-0.2) ... Selecting previously unselected package afdko-bin. Preparing to unpack .../18-afdko-bin_4.0.1+dfsg1-2+b1_amd64.deb ... Unpacking afdko-bin (4.0.1+dfsg1-2+b1) ... Selecting previously unselected package m4. Preparing to unpack .../19-m4_1.4.19-8_amd64.deb ... Unpacking m4 (1.4.19-8) ... Selecting previously unselected package autoconf. Preparing to unpack .../20-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../21-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../22-automake_1%3a1.17-4_all.deb ... Unpacking automake (1:1.17-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../23-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../24-libdebhelper-perl_13.26_all.deb ... Unpacking libdebhelper-perl (13.26) ... Selecting previously unselected package libtool. Preparing to unpack .../25-libtool_2.5.4-4_all.deb ... Unpacking libtool (2.5.4-4) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../26-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../27-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 .../28-libfile-stripnondeterminism-perl_1.14.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../29-dh-strip-nondeterminism_1.14.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.2-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../30-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../31-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../32-libunistring5_1.3-2_amd64.deb ... Unpacking libunistring5:amd64 (1.3-2) ... Selecting previously unselected package gettext. Preparing to unpack .../33-gettext_0.23.1-2+b1_amd64.deb ... Unpacking gettext (0.23.1-2+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../34-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 .../35-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../36-debhelper_13.26_all.deb ... Unpacking debhelper (13.26) ... Selecting previously unselected package dh-python. Preparing to unpack .../37-dh-python_6.20250414_all.deb ... Unpacking dh-python (6.20250414) ... Selecting previously unselected package libgpg-error0:amd64. Preparing to unpack .../38-libgpg-error0_1.55-2_amd64.deb ... Unpacking libgpg-error0:amd64 (1.55-2) ... Selecting previously unselected package libgcrypt20:amd64. Preparing to unpack .../39-libgcrypt20_1.11.2-2_amd64.deb ... Unpacking libgcrypt20:amd64 (1.11.2-2) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../40-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../41-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../42-libjs-sphinxdoc_8.2.3-2_all.deb ... Unpacking libjs-sphinxdoc (8.2.3-2) ... Selecting previously unselected package libxslt1.1:amd64. Preparing to unpack .../43-libxslt1.1_1.1.43-0.2_amd64.deb ... Unpacking libxslt1.1:amd64 (1.1.43-0.2) ... Selecting previously unselected package libzopfli1. Preparing to unpack .../44-libzopfli1_1.0.3-3_amd64.deb ... Unpacking libzopfli1 (1.0.3-3) ... Selecting previously unselected package python3-all. Preparing to unpack .../45-python3-all_3.13.5-1_amd64.deb ... Unpacking python3-all (3.13.5-1) ... Selecting previously unselected package python3-attr. Preparing to unpack .../46-python3-attr_25.3.0-1_all.deb ... Unpacking python3-attr (25.3.0-1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../47-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-brotli. Preparing to unpack .../48-python3-brotli_1.1.0-2+b7_amd64.deb ... Unpacking python3-brotli (1.1.0-2+b7) ... Selecting previously unselected package python3-platformdirs. Preparing to unpack .../49-python3-platformdirs_4.3.7-1_all.deb ... Unpacking python3-platformdirs (4.3.7-1) ... Selecting previously unselected package python3-fs. Preparing to unpack .../50-python3-fs_2.4.16-7_all.deb ... Unpacking python3-fs (2.4.16-7) ... Selecting previously unselected package python3-lxml:amd64. Preparing to unpack .../51-python3-lxml_5.4.0-1+b1_amd64.deb ... Unpacking python3-lxml:amd64 (5.4.0-1+b1) ... Selecting previously unselected package python3-lz4. Preparing to unpack .../52-python3-lz4_4.4.4+dfsg-1_amd64.deb ... Unpacking python3-lz4 (4.4.4+dfsg-1) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../53-python3-decorator_5.2.1-2_all.deb ... Unpacking python3-decorator (5.2.1-2) ... Selecting previously unselected package python3-scipy. Preparing to unpack .../54-python3-scipy_1.15.3-1_amd64.deb ... Unpacking python3-scipy (1.15.3-1) ... Selecting previously unselected package python3-mpmath. Preparing to unpack .../55-python3-mpmath_1.3.0-1_all.deb ... Unpacking python3-mpmath (1.3.0-1) ... Selecting previously unselected package python3-sympy. Preparing to unpack .../56-python3-sympy_1.14.0-2_all.deb ... Unpacking python3-sympy (1.14.0-2) ... Selecting previously unselected package python3-ufolib2. Preparing to unpack .../57-python3-ufolib2_0.17.1+dfsg1-1_all.deb ... Unpacking python3-ufolib2 (0.17.1+dfsg1-1) ... Selecting previously unselected package python3-defcon. Preparing to unpack .../58-python3-defcon_0.10.3-3_all.deb ... Unpacking python3-defcon (0.10.3-3) ... Selecting previously unselected package python3-zopfli. Preparing to unpack .../59-python3-zopfli_0.2.3.post1-1+b1_amd64.deb ... Unpacking python3-zopfli (0.2.3.post1-1+b1) ... Selecting previously unselected package unicode-data. Preparing to unpack .../60-unicode-data_15.1.0-1_all.deb ... Unpacking unicode-data (15.1.0-1) ... Selecting previously unselected package python3-fonttools. Preparing to unpack .../61-python3-fonttools_4.57.0-1_amd64.deb ... Unpacking python3-fonttools (4.57.0-1) ... Selecting previously unselected package python3-pyclipper. Preparing to unpack .../62-python3-pyclipper_1.3.0.post6-1+b2_amd64.deb ... Unpacking python3-pyclipper (1.3.0.post6-1+b2) ... Selecting previously unselected package python3-booleanoperations. Preparing to unpack .../63-python3-booleanoperations_0.9.0-4_all.deb ... Unpacking python3-booleanoperations (0.9.0-4) ... Selecting previously unselected package python3-cffsubr. Preparing to unpack .../64-python3-cffsubr_0.3.0-1_all.deb ... Unpacking python3-cffsubr (0.3.0-1) ... Selecting previously unselected package python3-compreffor. Preparing to unpack .../65-python3-compreffor_0.5.6-1+b2_amd64.deb ... Unpacking python3-compreffor (0.5.6-1+b2) ... Selecting previously unselected package python3-fontmath. Preparing to unpack .../66-python3-fontmath_0.9.4-1_all.deb ... Unpacking python3-fontmath (0.9.4-1) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../67-python3-more-itertools_10.7.0-1_all.deb ... Unpacking python3-more-itertools (10.7.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../68-python3-typing-extensions_4.15.0-1_all.deb ... Unpacking python3-typing-extensions (4.15.0-1) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../69-python3-typeguard_4.4.4-1_all.deb ... Unpacking python3-typeguard (4.4.4-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../70-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../71-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../72-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../73-python3-pkg-resources_78.1.1-0.1_all.deb ... Unpacking python3-pkg-resources (78.1.1-0.1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../74-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../75-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../76-python3-setuptools_78.1.1-0.1_all.deb ... Unpacking python3-setuptools (78.1.1-0.1) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../77-python3-jaraco.context_6.0.1-1_all.deb ... Unpacking python3-jaraco.context (6.0.1-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../78-python3-packaging_25.0-1_all.deb ... Unpacking python3-packaging (25.0-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../79-python3-pluggy_1.6.0-1_all.deb ... Unpacking python3-pluggy (1.6.0-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../80-python3-pytest_8.3.5-2_all.deb ... Unpacking python3-pytest (8.3.5-2) ... Selecting previously unselected package python3-setuptools-scm. Preparing to unpack .../81-python3-setuptools-scm_8.2.1-2_all.deb ... Unpacking python3-setuptools-scm (8.2.1-2) ... Selecting previously unselected package python3-syrupy. Preparing to unpack .../82-python3-syrupy_4.9.1-1_all.deb ... Unpacking python3-syrupy (4.9.1-1) ... Setting up media-types (13.0.0) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up bsdextrautils (2.41.1-1) ... Setting up libgpg-error0:amd64 (1.55-2) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libantlr4-runtime4.9:amd64 (4.9+dfsg-3+b3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libxml2-16:amd64 (2.14.5+dfsg-0.2) ... Setting up libdebhelper-perl (13.26) ... Setting up libmagic1t64:amd64 (1:5.46-5) ... Setting up gettext-base (0.23.1-2+b1) ... Setting up m4 (1.4.19-8) ... Setting up libgcrypt20:amd64 (1.11.2-2) ... Setting up file (1:5.46-5) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' Local time is now: Tue Sep 2 23:42:05 UTC 2025. Universal Time is now: Tue Sep 2 23:42:05 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up unicode-data (15.1.0-1) ... Setting up autotools-dev (20240727.1) ... Setting up libblas3:amd64 (3.12.1-6) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) in auto mode Setting up libzopfli1 (1.0.3-3) ... Setting up libunistring5:amd64 (1.3-2) ... Setting up python3-numpy-dev:amd64 (1:2.2.4+ds-1) ... Setting up autopoint (0.23.1-2) ... Setting up libgfortran5:amd64 (15.2.0-1) ... Setting up autoconf (2.72-3.1) ... Setting up libffi8:amd64 (3.4.8-2) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.26) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up libxslt1.1:amd64 (1.1.43-0.2) ... Setting up netbase (6.5) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up afdko-bin (4.0.1+dfsg1-2+b1) ... Setting up readline-common (8.3-2) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.17-4) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.2-1) ... Setting up liblapack3:amd64 (3.12.1-6) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/x86_64-linux-gnu/liblapack.so.3 (liblapack.so.3-x86_64-linux-gnu) in auto mode Setting up gettext (0.23.1-2+b1) ... Setting up libtool (2.5.4-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libjs-sphinxdoc (8.2.3-2) ... Setting up libreadline8t64:amd64 (8.3-2) ... Setting up dh-strip-nondeterminism (1.14.2-1) ... Setting up groff-base (1.23.0-9) ... Setting up libpython3.13-stdlib:amd64 (3.13.7-1) ... Setting up libpython3-stdlib:amd64 (3.13.5-1) ... Setting up python3.13 (3.13.7-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up python3 (3.13.5-1) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-platformdirs (4.3.7-1) ... Setting up python3-zopfli (0.2.3.post1-1+b1) ... Setting up python3-fs (2.4.16-7) ... Setting up python3-decorator (5.2.1-2) ... Setting up python3-packaging (25.0-1) ... Setting up python3-brotli (1.1.0-2+b7) ... Setting up python3-typing-extensions (4.15.0-1) ... Setting up python3-numpy (1:2.2.4+ds-1) ... Setting up python3-pluggy (1.6.0-1) ... Setting up python3-lxml:amd64 (5.4.0-1+b1) ... Setting up python3-mpmath (1.3.0-1) ... Setting up python3-pyclipper (1.3.0.post6-1+b2) ... Setting up dh-python (6.20250414) ... Setting up python3-more-itertools (10.7.0-1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-sympy (1.14.0-2) ... Setting up python3-attr (25.3.0-1) ... Setting up python3-scipy (1.15.3-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-jaraco.context (6.0.1-1) ... Setting up python3-lz4 (4.4.4+dfsg-1) ... Setting up python3-pytest (8.3.5-2) ... Setting up python3-syrupy (4.9.1-1) ... Setting up python3-typeguard (4.4.4-1) ... Setting up python3-all (3.13.5-1) ... Setting up debhelper (13.26) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-pkg-resources (78.1.1-0.1) ... Setting up python3-setuptools (78.1.1-0.1) ... Setting up python3-setuptools-scm (8.2.1-2) ... Setting up python3-fonttools (4.57.0-1) ... Setting up python3-ufolib2 (0.17.1+dfsg1-1) ... Setting up python3-fontmath (0.9.4-1) ... Setting up python3-cffsubr (0.3.0-1) ... Setting up python3-booleanoperations (0.9.0-4) ... Setting up python3-compreffor (0.5.6-1+b2) ... Setting up python3-defcon (0.10.3-3) ... Processing triggers for libc-bin (2.41-12) ... 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 Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37.1.2-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/ufo2ft-3.3.1/ && 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 > ../ufo2ft_3.3.1-2_source.changes dpkg-buildpackage: info: source package ufo2ft dpkg-buildpackage: info: source version 3.3.1-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Boyuan Yang dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --buildsystem=pybuild debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/ufo2ft-3.3.1' dh_auto_clean I: pybuild base:311: python3.13 setup.py clean /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' Traceback (most recent call last): File "/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject section = defn.get("tool", {})[tool_name] ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ KeyError: 'setuptools_scm' /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running clean removing '/build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build' (and everything under it) 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it rm Lib/ufo2ft/_version.py make[1]: Leaving directory '/build/reproducible-path/ufo2ft-3.3.1' dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' Traceback (most recent call last): File "/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject section = defn.get("tool", {})[tool_name] ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ KeyError: 'setuptools_scm' /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py build /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' Traceback (most recent call last): File "/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject section = defn.get("tool", {})[tool_name] ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ KeyError: 'setuptools_scm' /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running build running build_py creating /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/maxContextCalc.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/preProcessor.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/__init__.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/constants.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/outlineCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/_version.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/infoCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/fontInfoData.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/instantiator.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/postProcessor.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/instructionCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/util.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/errors.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft copying Lib/ufo2ft/featureCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft creating /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers copying Lib/ufo2ft/_compilers/__init__.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers copying Lib/ufo2ft/_compilers/interpolatableTTFCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers copying Lib/ufo2ft/_compilers/baseCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers copying Lib/ufo2ft/_compilers/ttfCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers copying Lib/ufo2ft/_compilers/interpolatableOTFCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers copying Lib/ufo2ft/_compilers/variableCFF2sCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers copying Lib/ufo2ft/_compilers/otfCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers copying Lib/ufo2ft/_compilers/variableTTFsCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers creating /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/__init__.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/removeOverlaps.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/skipExportGlyphs.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/reverseContourDirection.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/explodeColorLayerGlyphs.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/decomposeTransformedComponents.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/flattenComponents.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/dottedCircleFilter.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/base.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/__main__.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/decomposeComponents.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/transformations.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/dottedCircle.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/cubicToQuadratic.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/sortContours.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/propagateAnchors.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters creating /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/__init__.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/kernFeatureWriter2.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/baseFeatureWriter.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/ast.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/cursFeatureWriter.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/gdefFeatureWriter.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/__main__.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/markFeatureWriter.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/kernFeatureWriter.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters running egg_info creating Lib/ufo2ft.egg-info writing Lib/ufo2ft.egg-info/PKG-INFO writing dependency_links to Lib/ufo2ft.egg-info/dependency_links.txt writing requirements to Lib/ufo2ft.egg-info/requires.txt writing top-level names to Lib/ufo2ft.egg-info/top_level.txt writing manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt' reading manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/ufo2ft-3.3.1' # For experimental build, allow failures dh_auto_test I: pybuild base:311: cd /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build; python3.13 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.13.7, pytest-8.3.5, pluggy-1.6.0 rootdir: /build/reproducible-path/ufo2ft-3.3.1 configfile: setup.cfg plugins: syrupy-4.9.1, typeguard-4.4.4 collected 1140 items tests/featureCompiler_test.py ................ [ 1%] tests/featureWriters/cursFeatureWriter_test.py ......... [ 2%] tests/featureWriters/featureWriters_test.py ........ [ 2%] tests/featureWriters/gdefFeatureWriter_test.py .......... [ 3%] tests/featureWriters/kernFeatureWriter2_test.py ........................ [ 5%] ....F..... [ 6%] tests/featureWriters/kernFeatureWriter_test.py ......................... [ 8%] ......F..... [ 10%] tests/featureWriters/markFeatureWriter_test.py ......................... [ 12%] ............ [ 13%] tests/featureWriters/variableFeatureWriter_test.py .. [ 13%] tests/filters/decomposeComponents_test.py ...... [ 13%] tests/filters/decomposeTransformedComponents_test.py ... [ 14%] tests/filters/dottedCircle_test.py ... [ 14%] tests/filters/explodeColorLayerGlyphs_test.py . [ 14%] tests/filters/flattenComponents_test.py ........ [ 15%] tests/filters/propagateAnchors_test.py ............... [ 16%] tests/filters/sortContours_test.py .... [ 16%] tests/filters/transformations_test.py ............................... [ 19%] tests/fontInfoData_test.py ................ [ 21%] tests/infoCompiler_test.py ....... [ 21%] tests/instantiator_test.py ........................... [ 24%] tests/instructionCompiler_test.py ...................................... [ 27%] ......... [ 28%] tests/integration_test.py ......s.s.............FFFFFFF...FF.....FF..... [ 32%] ..............FF. [ 33%] tests/outlineCompiler_test.py .......................................... [ 37%] ........................................................................ [ 43%] ........................ [ 45%] tests/preProcessor_test.py ....s......s.............. [ 48%] tests/util_test.py . [ 48%] tests/featureCompiler_test.py ................ [ 49%] tests/featureWriters/cursFeatureWriter_test.py ......... [ 50%] tests/featureWriters/featureWriters_test.py ........ [ 51%] tests/featureWriters/gdefFeatureWriter_test.py .......... [ 51%] tests/featureWriters/kernFeatureWriter2_test.py ........................ [ 54%] ....F..... [ 54%] tests/featureWriters/kernFeatureWriter_test.py ......................... [ 57%] ......F..... [ 58%] tests/featureWriters/markFeatureWriter_test.py ......................... [ 60%] ............ [ 61%] tests/featureWriters/variableFeatureWriter_test.py .. [ 61%] tests/filters/decomposeComponents_test.py ...... [ 62%] tests/filters/decomposeTransformedComponents_test.py ... [ 62%] tests/filters/dottedCircle_test.py ... [ 62%] tests/filters/explodeColorLayerGlyphs_test.py . [ 62%] tests/filters/flattenComponents_test.py ........ [ 63%] tests/filters/propagateAnchors_test.py ............... [ 64%] tests/filters/sortContours_test.py .... [ 65%] tests/filters/transformations_test.py ............................... [ 67%] tests/fontInfoData_test.py ................ [ 69%] tests/infoCompiler_test.py ....... [ 69%] tests/instantiator_test.py ........................... [ 72%] tests/instructionCompiler_test.py ...................................... [ 75%] ......... [ 76%] tests/integration_test.py ......s.s.............FFFFFFF...FF.....FF..... [ 80%] ..............FF. [ 81%] tests/outlineCompiler_test.py .......................................... [ 85%] ........................................................................ [ 91%] ........................ [ 93%] tests/preProcessor_test.py ....s......s.............. [ 96%] tests/util_test.py . [ 96%] tests/featureWriters/ast_test.py . [ 96%] tests/featureWriters/markFeatureWriter_test.py ......... [ 97%] tests/filters/filters_test.py ................... [ 98%] tests/filters/transformations_test.py . [ 98%] tests/fontInfoData_test.py .. [ 99%] tests/instantiator_test.py .... [ 99%] tests/instructionCompiler_test.py .... [ 99%] tests/util_test.py .. [100%] =================================== FAILURES =================================== _________________________ test_kern_zyyy_zinh[defcon] __________________________ snapshot = ''' lookup kern_dflt { lookupflag IgnoreMarks; pos uni0300 uni0300 0; pos uni0310 uni0310 1; pos uni03...a; language dflt; lookup kern_dflt; script dupl; language dflt; lookup kern_dflt; } dist; ''' FontClass = def test_kern_zyyy_zinh(snapshot, FontClass): """Test that a sampling of glyphs with a common or inherited script, but a disjoint set of explicit script extensions end up in the correct lookups.""" glyphs = {} for i in range(0, 0x110000, 0x10): script = unicodeScript(i) script_extension = unicodeScriptExtensions(i) if script not in script_extension: assert script in DFLT_SCRIPTS name = f"uni{i:04X}" glyphs[name] = i kerning = {(glyph, glyph): i for i, glyph in enumerate(glyphs)} ufo = makeUFO(FontClass, glyphs, None, kerning) newFeatures = KernFeatureWriterTest.writeFeatures(ufo) > assert newFeatures.asFea() == snapshot E AssertionError: assert [+ received] == [- snapshot] E ''' E ... E lookupflag IgnoreMarks; E - pos uni0300 uni0300 0; E - pos uni0310 uni0310 1; E - pos uni0320 uni0320 2; E - pos uni0330 uni0330 3;... E E ...Full output truncated (85 lines hidden), use '-vv' to show tests/featureWriters/kernFeatureWriter2_test.py:985: AssertionError _________________________ test_kern_zyyy_zinh[defcon] __________________________ FontClass = def test_kern_zyyy_zinh(FontClass): """Test that a sampling of glyphs with a common or inherited script, but a disjoint set of explicit script extensions end up in the correct lookups.""" glyphs = {} for i in range(0, 0x110000, 0x10): script = unicodeScript(i) script_extension = unicodeScriptExtensions(i) if script not in script_extension: assert script in DFLT_SCRIPTS name = f"uni{i:04X}" glyphs[name] = i kerning = {(glyph, glyph): i for i, glyph in enumerate(glyphs)} ufo = makeUFO(FontClass, glyphs, None, kerning) newFeatures = KernFeatureWriterTest.writeFeatures(ufo) > assert dedent(str(newFeatures)) == dedent( """\ lookup kern_Deva { lookupflag IgnoreMarks; pos uni1CD0 uni1CD0 7; pos uni1CE0 uni1CE0 8; pos uni1CF0 uni1CF0 9; pos uni20F0 uni20F0 11; pos uniA830 uniA830 34; } kern_Deva; lookup kern_Dupl { lookupflag IgnoreMarks; pos uni1BCA0 uni1BCA0 42; } kern_Dupl; lookup kern_Grek { lookupflag IgnoreMarks; pos uni0300 uni0300 0; pos uni1DC0 uni1DC0 10; } kern_Grek; lookup kern_Hani_Hrkt { lookupflag IgnoreMarks; pos uni1D360 uni1D360 43; pos uni1D370 uni1D370 44; pos uni1F250 uni1F250 45; pos uni2FF0 uni2FF0 13; pos uni3010 uni3010 14; pos uni3030 uni3030 15; pos uni30A0 uni30A0 16; pos uni3190 uni3190 17; pos uni31C0 uni31C0 18; pos uni31D0 uni31D0 19; pos uni31E0 uni31E0 20; pos uni3220 uni3220 21; pos uni3230 uni3230 22; pos uni3240 uni3240 23; pos uni3280 uni3280 24; pos uni3290 uni3290 25; pos uni32A0 uni32A0 26; pos uni32B0 uni32B0 27; pos uni32C0 uni32C0 28; pos uni3360 uni3360 29; pos uni3370 uni3370 30; pos uni33E0 uni33E0 31; pos uni33F0 uni33F0 32; pos uniA700 uniA700 33; pos uniFF70 uniFF70 35; } kern_Hani_Hrkt; lookup kern_Default { lookupflag IgnoreMarks; pos uni0310 uni0310 1; pos uni0320 uni0320 2; pos uni0330 uni0330 3; pos uni0640 uni0640 4; pos uni0650 uni0650 5; pos uni0670 uni0670 6; pos uni10100 uni10100 36; pos uni10110 uni10110 37; pos uni10120 uni10120 38; pos uni10130 uni10130 39; pos uni102E0 uni102E0 40; pos uni102F0 uni102F0 41; pos uni2E30 uni2E30 12; } kern_Default; feature kern { script DFLT; language dflt; lookup kern_Default; lookup kern_Grek; lookup kern_Hani_Hrkt; script grek; language dflt; lookup kern_Default; lookup kern_Grek; script hani; language dflt; lookup kern_Default; lookup kern_Hani_Hrkt; script kana; language dflt; lookup kern_Default; lookup kern_Hani_Hrkt; } kern; feature dist { script dev2; language dflt; lookup kern_Default; lookup kern_Deva; script deva; language dflt; lookup kern_Default; lookup kern_Deva; script dupl; language dflt; lookup kern_Default; lookup kern_Dupl; } dist; """ ) E AssertionError: assert 'lookup kern_...l;\n} dist;\n' == 'lookup kern_...l;\n} dist;\n' E E Skipping 61 identical leading characters in diff, use -v to show E - 0 uni1CD0 7; E ? ^ E + 0 uni1CD0 3; E ? ^ E - pos uni1CE0 uni1CE0 8;... E E ...Full output truncated (218 lines hidden), use '-vv' to show tests/featureWriters/kernFeatureWriter_test.py:1805: AssertionError _____________ IntegrationTest.test_compileVariableTTF[defcon-None] _____________ self = designspace = useProductionNames = None def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -257,9 +257,6 @@ - - Weight - Layer Font _____________ IntegrationTest.test_compileVariableTTF[defcon-True] _____________ self = designspace = useProductionNames = True def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-useProductionNames.ttx +++ @@ -257,9 +257,6 @@ - - Weight - Layer Font ____________ IntegrationTest.test_compileVariableTTF[defcon-False] _____________ self = designspace = useProductionNames = False def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -257,9 +257,6 @@ - - Weight - Layer Font ____________ IntegrationTest.test_compileVariableCFF2[defcon-None] _____________ self = designspace = useProductionNames = None def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -138,9 +138,6 @@ - - Weight - Layer Font ____________ IntegrationTest.test_compileVariableCFF2[defcon-True] _____________ self = designspace = useProductionNames = True def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-useProductionNames.ttx +++ @@ -138,9 +138,6 @@ - - Weight - Layer Font ____________ IntegrationTest.test_compileVariableCFF2[defcon-False] ____________ self = designspace = useProductionNames = False def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -138,9 +138,6 @@ - - Weight - Layer Font ________ IntegrationTest.test_compileVariableCFF2_subroutinized[defcon] ________ self = designspace = def test_compileVariableCFF2_subroutinized(self, designspace): varfont = compileVariableCFF2(designspace, optimizeCFF=2) > expectTTX(varfont, "TestVariableFont-CFF2-cffsubr.ttx") tests/integration_test.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-cffsubr.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-cffsubr.ttx +++ @@ -138,9 +138,6 @@ - - Weight - Layer Font _ IntegrationTest.test_drop_glyph_names_variable[defcon-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] _ self = designspace = output_format = 'VariableTTF', options = {} expected_ttx = 'TestVariableFont-TTF-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:303: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-post3.ttx +++ @@ -257,9 +257,6 @@ - - Weight - Layer Font _ IntegrationTest.test_drop_glyph_names_variable[defcon-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] _ self = designspace = output_format = 'VariableCFF2', options = {} expected_ttx = 'TestVariableFont-CFF2-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:303: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-post3.ttx +++ @@ -138,9 +138,6 @@ - - Weight - Layer Font _______________ IntegrationTest.test_compileVariableTTFs[defcon] _______________ self = designspace_v5 = def test_compileVariableTTFs(self, designspace_v5): fonts = compileVariableTTFs(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-TTF.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-TTF.ttx", ) tests/integration_test.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-TTF.ttx +++ @@ -251,99 +251,6 @@ - - Weight - - - Width - - - Sans Light Condensed - - - MutatorMathTest-SansLightCondensed - - - Sans Bold Condensed - - - MutatorMathTest-SansBoldCondensed - - - Sans Light Extended - - - MutatorMathTest-SansLightExtended - - - Sans Bold Extended - - - MutatorMathTest-SansBoldExtended - - - Sans Medium - - - MutatorMathTest-SansMedium - - - MutatorMathTest-SansMedium - - - Sans Bold - - - MutatorMathTest-SansBold - - - Sans Medium Extended - - - MutatorMathTest-SansMediumExtended - - - MutatorMathTest-SansLightCondensed - - - Regular - - - serif - - - Sans - - - weight - - - Light - - - Medium - - - Bold - - - width - - - Condensed - - - Normal - - - Extended - - - S1 - - - S2 - New Font @@ -417,42 +324,39 @@ MutatorMathTest-SansLightCondensed - Regular + serif - serif + Sans - Sans + weight - weight + Light - Light + Medium - Medium + Bold - Bold + width - width + Condensed - Condensed + Normal - Normal + Extended - Extended + S1 - S1 - - S2 @@ -635,17 +539,17 @@ - + - + - + @@ -654,7 +558,7 @@ - + @@ -671,7 +575,7 @@ - + @@ -688,13 +592,13 @@ - + - + @@ -702,7 +606,7 @@ - + @@ -710,7 +614,7 @@ - + @@ -718,7 +622,7 @@ - + @@ -726,7 +630,7 @@ - + @@ -734,13 +638,13 @@ - + - + ______________ IntegrationTest.test_compileVariableCFF2s[defcon] _______________ self = designspace_v5 = def test_compileVariableCFF2s(self, designspace_v5): fonts = compileVariableCFF2s(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-CFF2.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx", ) tests/integration_test.py:434: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx +++ @@ -128,99 +128,6 @@ - - Weight - - - Width - - - Sans Light Condensed - - - MutatorMathTest-SansLightCondensed - - - Sans Bold Condensed - - - MutatorMathTest-SansBoldCondensed - - - Sans Light Extended - - - MutatorMathTest-SansLightExtended - - - Sans Bold Extended - - - MutatorMathTest-SansBoldExtended - - - Sans Medium - - - MutatorMathTest-SansMedium - - - MutatorMathTest-SansMedium - - - Sans Bold - - - MutatorMathTest-SansBold - - - Sans Medium Extended - - - MutatorMathTest-SansMediumExtended - - - MutatorMathTest-SansLightCondensed - - - Regular - - - serif - - - Sans - - - weight - - - Light - - - Medium - - - Bold - - - width - - - Condensed - - - Normal - - - Extended - - - S1 - - - S2 - New Font @@ -294,42 +201,39 @@ MutatorMathTest-SansLightCondensed - Regular + serif - serif + Sans - Sans + weight - weight + Light - Light + Medium - Medium + Bold - Bold + width - width + Condensed - Condensed + Normal - Normal + Extended - Extended + S1 - S1 - - S2 @@ -692,17 +596,17 @@ - + - + - + @@ -711,7 +615,7 @@ - + @@ -728,7 +632,7 @@ - + @@ -745,13 +649,13 @@ - + - + @@ -759,7 +663,7 @@ - + @@ -767,7 +671,7 @@ - + @@ -775,7 +679,7 @@ - + @@ -783,7 +687,7 @@ - + @@ -791,13 +695,13 @@ - + - + _____ IntegrationTest.test_apply_varfont_info[defcon-compileVariableTTFs] ______ self = FontClass = compileMethod = @pytest.mark.parametrize( "compileMethod", [compileVariableTTFs, compileVariableCFF2s] ) def test_apply_varfont_info(self, FontClass, compileMethod): designspace = DesignSpaceDocument.fromfile(getpath("TestVarFont.designspace")) designspace.loadSourceFonts(FontClass) fonts = compileMethod(designspace) assert len(fonts) == 2 > expectTTX(fonts["MyFontVF1"], "TestVarFont-MyFontVF1.ttx", ["head", "name"]) tests/integration_test.py:602: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVarFont-MyFontVF1.ttx', tables = ['head', 'name'] def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVarFont-MyFontVF1.ttx +++ @@ -23,9 +23,6 @@ - - Weight - TestVarFont _____ IntegrationTest.test_apply_varfont_info[defcon-compileVariableCFF2s] _____ self = FontClass = compileMethod = @pytest.mark.parametrize( "compileMethod", [compileVariableTTFs, compileVariableCFF2s] ) def test_apply_varfont_info(self, FontClass, compileMethod): designspace = DesignSpaceDocument.fromfile(getpath("TestVarFont.designspace")) designspace.loadSourceFonts(FontClass) fonts = compileMethod(designspace) assert len(fonts) == 2 > expectTTX(fonts["MyFontVF1"], "TestVarFont-MyFontVF1.ttx", ["head", "name"]) tests/integration_test.py:602: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVarFont-MyFontVF1.ttx', tables = ['head', 'name'] def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVarFont-MyFontVF1.ttx +++ @@ -23,9 +23,6 @@ - - Weight - TestVarFont _________________________ test_kern_zyyy_zinh[ufoLib2] _________________________ snapshot = ''' lookup kern_dflt { lookupflag IgnoreMarks; pos uni0300 uni0300 0; pos uni0310 uni0310 1; pos uni03...a; language dflt; lookup kern_dflt; script dupl; language dflt; lookup kern_dflt; } dist; ''' FontClass = .ctor at 0x7f5aec2b0c20> def test_kern_zyyy_zinh(snapshot, FontClass): """Test that a sampling of glyphs with a common or inherited script, but a disjoint set of explicit script extensions end up in the correct lookups.""" glyphs = {} for i in range(0, 0x110000, 0x10): script = unicodeScript(i) script_extension = unicodeScriptExtensions(i) if script not in script_extension: assert script in DFLT_SCRIPTS name = f"uni{i:04X}" glyphs[name] = i kerning = {(glyph, glyph): i for i, glyph in enumerate(glyphs)} ufo = makeUFO(FontClass, glyphs, None, kerning) newFeatures = KernFeatureWriterTest.writeFeatures(ufo) > assert newFeatures.asFea() == snapshot E AssertionError: assert [+ received] == [- snapshot] E ''' E ... E lookupflag IgnoreMarks; E - pos uni0300 uni0300 0; E - pos uni0310 uni0310 1; E - pos uni0320 uni0320 2; E - pos uni0330 uni0330 3;... E E ...Full output truncated (85 lines hidden), use '-vv' to show tests/featureWriters/kernFeatureWriter2_test.py:985: AssertionError _________________________ test_kern_zyyy_zinh[ufoLib2] _________________________ FontClass = .ctor at 0x7f5aec2b0c20> def test_kern_zyyy_zinh(FontClass): """Test that a sampling of glyphs with a common or inherited script, but a disjoint set of explicit script extensions end up in the correct lookups.""" glyphs = {} for i in range(0, 0x110000, 0x10): script = unicodeScript(i) script_extension = unicodeScriptExtensions(i) if script not in script_extension: assert script in DFLT_SCRIPTS name = f"uni{i:04X}" glyphs[name] = i kerning = {(glyph, glyph): i for i, glyph in enumerate(glyphs)} ufo = makeUFO(FontClass, glyphs, None, kerning) newFeatures = KernFeatureWriterTest.writeFeatures(ufo) > assert dedent(str(newFeatures)) == dedent( """\ lookup kern_Deva { lookupflag IgnoreMarks; pos uni1CD0 uni1CD0 7; pos uni1CE0 uni1CE0 8; pos uni1CF0 uni1CF0 9; pos uni20F0 uni20F0 11; pos uniA830 uniA830 34; } kern_Deva; lookup kern_Dupl { lookupflag IgnoreMarks; pos uni1BCA0 uni1BCA0 42; } kern_Dupl; lookup kern_Grek { lookupflag IgnoreMarks; pos uni0300 uni0300 0; pos uni1DC0 uni1DC0 10; } kern_Grek; lookup kern_Hani_Hrkt { lookupflag IgnoreMarks; pos uni1D360 uni1D360 43; pos uni1D370 uni1D370 44; pos uni1F250 uni1F250 45; pos uni2FF0 uni2FF0 13; pos uni3010 uni3010 14; pos uni3030 uni3030 15; pos uni30A0 uni30A0 16; pos uni3190 uni3190 17; pos uni31C0 uni31C0 18; pos uni31D0 uni31D0 19; pos uni31E0 uni31E0 20; pos uni3220 uni3220 21; pos uni3230 uni3230 22; pos uni3240 uni3240 23; pos uni3280 uni3280 24; pos uni3290 uni3290 25; pos uni32A0 uni32A0 26; pos uni32B0 uni32B0 27; pos uni32C0 uni32C0 28; pos uni3360 uni3360 29; pos uni3370 uni3370 30; pos uni33E0 uni33E0 31; pos uni33F0 uni33F0 32; pos uniA700 uniA700 33; pos uniFF70 uniFF70 35; } kern_Hani_Hrkt; lookup kern_Default { lookupflag IgnoreMarks; pos uni0310 uni0310 1; pos uni0320 uni0320 2; pos uni0330 uni0330 3; pos uni0640 uni0640 4; pos uni0650 uni0650 5; pos uni0670 uni0670 6; pos uni10100 uni10100 36; pos uni10110 uni10110 37; pos uni10120 uni10120 38; pos uni10130 uni10130 39; pos uni102E0 uni102E0 40; pos uni102F0 uni102F0 41; pos uni2E30 uni2E30 12; } kern_Default; feature kern { script DFLT; language dflt; lookup kern_Default; lookup kern_Grek; lookup kern_Hani_Hrkt; script grek; language dflt; lookup kern_Default; lookup kern_Grek; script hani; language dflt; lookup kern_Default; lookup kern_Hani_Hrkt; script kana; language dflt; lookup kern_Default; lookup kern_Hani_Hrkt; } kern; feature dist { script dev2; language dflt; lookup kern_Default; lookup kern_Deva; script deva; language dflt; lookup kern_Default; lookup kern_Deva; script dupl; language dflt; lookup kern_Default; lookup kern_Dupl; } dist; """ ) E AssertionError: assert 'lookup kern_...l;\n} dist;\n' == 'lookup kern_...l;\n} dist;\n' E E Skipping 61 identical leading characters in diff, use -v to show E - 0 uni1CD0 7; E ? ^ E + 0 uni1CD0 3; E ? ^ E - pos uni1CE0 uni1CE0 8;... E E ...Full output truncated (218 lines hidden), use '-vv' to show tests/featureWriters/kernFeatureWriter_test.py:1805: AssertionError ____________ IntegrationTest.test_compileVariableTTF[ufoLib2-None] _____________ self = designspace = useProductionNames = None def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -257,9 +257,6 @@ - - Weight - Layer Font ____________ IntegrationTest.test_compileVariableTTF[ufoLib2-True] _____________ self = designspace = useProductionNames = True def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-useProductionNames.ttx +++ @@ -257,9 +257,6 @@ - - Weight - Layer Font ____________ IntegrationTest.test_compileVariableTTF[ufoLib2-False] ____________ self = designspace = useProductionNames = False def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -257,9 +257,6 @@ - - Weight - Layer Font ____________ IntegrationTest.test_compileVariableCFF2[ufoLib2-None] ____________ self = designspace = useProductionNames = None def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -138,9 +138,6 @@ - - Weight - Layer Font ____________ IntegrationTest.test_compileVariableCFF2[ufoLib2-True] ____________ self = designspace = useProductionNames = True def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-useProductionNames.ttx +++ @@ -138,9 +138,6 @@ - - Weight - Layer Font ___________ IntegrationTest.test_compileVariableCFF2[ufoLib2-False] ____________ self = designspace = useProductionNames = False def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -138,9 +138,6 @@ - - Weight - Layer Font _______ IntegrationTest.test_compileVariableCFF2_subroutinized[ufoLib2] ________ self = designspace = def test_compileVariableCFF2_subroutinized(self, designspace): varfont = compileVariableCFF2(designspace, optimizeCFF=2) > expectTTX(varfont, "TestVariableFont-CFF2-cffsubr.ttx") tests/integration_test.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-cffsubr.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-cffsubr.ttx +++ @@ -138,9 +138,6 @@ - - Weight - Layer Font _ IntegrationTest.test_drop_glyph_names_variable[ufoLib2-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] _ self = designspace = output_format = 'VariableTTF', options = {} expected_ttx = 'TestVariableFont-TTF-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:303: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-post3.ttx +++ @@ -257,9 +257,6 @@ - - Weight - Layer Font _ IntegrationTest.test_drop_glyph_names_variable[ufoLib2-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] _ self = designspace = output_format = 'VariableCFF2', options = {} expected_ttx = 'TestVariableFont-CFF2-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:303: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-post3.ttx +++ @@ -138,9 +138,6 @@ - - Weight - Layer Font ______________ IntegrationTest.test_compileVariableTTFs[ufoLib2] _______________ self = designspace_v5 = def test_compileVariableTTFs(self, designspace_v5): fonts = compileVariableTTFs(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-TTF.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-TTF.ttx", ) tests/integration_test.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-TTF.ttx +++ @@ -251,99 +251,6 @@ - - Weight - - - Width - - - Sans Light Condensed - - - MutatorMathTest-SansLightCondensed - - - Sans Bold Condensed - - - MutatorMathTest-SansBoldCondensed - - - Sans Light Extended - - - MutatorMathTest-SansLightExtended - - - Sans Bold Extended - - - MutatorMathTest-SansBoldExtended - - - Sans Medium - - - MutatorMathTest-SansMedium - - - MutatorMathTest-SansMedium - - - Sans Bold - - - MutatorMathTest-SansBold - - - Sans Medium Extended - - - MutatorMathTest-SansMediumExtended - - - MutatorMathTest-SansLightCondensed - - - Regular - - - serif - - - Sans - - - weight - - - Light - - - Medium - - - Bold - - - width - - - Condensed - - - Normal - - - Extended - - - S1 - - - S2 - New Font @@ -417,42 +324,39 @@ MutatorMathTest-SansLightCondensed - Regular + serif - serif + Sans - Sans + weight - weight + Light - Light + Medium - Medium + Bold - Bold + width - width + Condensed - Condensed + Normal - Normal + Extended - Extended + S1 - S1 - - S2 @@ -635,17 +539,17 @@ - + - + - + @@ -654,7 +558,7 @@ - + @@ -671,7 +575,7 @@ - + @@ -688,13 +592,13 @@ - + - + @@ -702,7 +606,7 @@ - + @@ -710,7 +614,7 @@ - + @@ -718,7 +622,7 @@ - + @@ -726,7 +630,7 @@ - + @@ -734,13 +638,13 @@ - + - + ______________ IntegrationTest.test_compileVariableCFF2s[ufoLib2] ______________ self = designspace_v5 = def test_compileVariableCFF2s(self, designspace_v5): fonts = compileVariableCFF2s(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-CFF2.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx", ) tests/integration_test.py:434: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx +++ @@ -128,99 +128,6 @@ - - Weight - - - Width - - - Sans Light Condensed - - - MutatorMathTest-SansLightCondensed - - - Sans Bold Condensed - - - MutatorMathTest-SansBoldCondensed - - - Sans Light Extended - - - MutatorMathTest-SansLightExtended - - - Sans Bold Extended - - - MutatorMathTest-SansBoldExtended - - - Sans Medium - - - MutatorMathTest-SansMedium - - - MutatorMathTest-SansMedium - - - Sans Bold - - - MutatorMathTest-SansBold - - - Sans Medium Extended - - - MutatorMathTest-SansMediumExtended - - - MutatorMathTest-SansLightCondensed - - - Regular - - - serif - - - Sans - - - weight - - - Light - - - Medium - - - Bold - - - width - - - Condensed - - - Normal - - - Extended - - - S1 - - - S2 - New Font @@ -294,42 +201,39 @@ MutatorMathTest-SansLightCondensed - Regular + serif - serif + Sans - Sans + weight - weight + Light - Light + Medium - Medium + Bold - Bold + width - width + Condensed - Condensed + Normal - Normal + Extended - Extended + S1 - S1 - - S2 @@ -692,17 +596,17 @@ - + - + - + @@ -711,7 +615,7 @@ - + @@ -728,7 +632,7 @@ - + @@ -745,13 +649,13 @@ - + - + @@ -759,7 +663,7 @@ - + @@ -767,7 +671,7 @@ - + @@ -775,7 +679,7 @@ - + @@ -783,7 +687,7 @@ - + @@ -791,13 +695,13 @@ - + - + _____ IntegrationTest.test_apply_varfont_info[ufoLib2-compileVariableTTFs] _____ self = FontClass = .ctor at 0x7f5aec2b0c20> compileMethod = @pytest.mark.parametrize( "compileMethod", [compileVariableTTFs, compileVariableCFF2s] ) def test_apply_varfont_info(self, FontClass, compileMethod): designspace = DesignSpaceDocument.fromfile(getpath("TestVarFont.designspace")) designspace.loadSourceFonts(FontClass) fonts = compileMethod(designspace) assert len(fonts) == 2 > expectTTX(fonts["MyFontVF1"], "TestVarFont-MyFontVF1.ttx", ["head", "name"]) tests/integration_test.py:602: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVarFont-MyFontVF1.ttx', tables = ['head', 'name'] def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVarFont-MyFontVF1.ttx +++ @@ -23,9 +23,6 @@ - - Weight - TestVarFont ____ IntegrationTest.test_apply_varfont_info[ufoLib2-compileVariableCFF2s] _____ self = FontClass = .ctor at 0x7f5aec2b0c20> compileMethod = @pytest.mark.parametrize( "compileMethod", [compileVariableTTFs, compileVariableCFF2s] ) def test_apply_varfont_info(self, FontClass, compileMethod): designspace = DesignSpaceDocument.fromfile(getpath("TestVarFont.designspace")) designspace.loadSourceFonts(FontClass) fonts = compileMethod(designspace) assert len(fonts) == 2 > expectTTX(fonts["MyFontVF1"], "TestVarFont-MyFontVF1.ttx", ["head", "name"]) tests/integration_test.py:602: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVarFont-MyFontVF1.ttx', tables = ['head', 'name'] def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:73: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVarFont-MyFontVF1.ttx +++ @@ -23,9 +23,6 @@ - - Weight - TestVarFont =============================== warnings summary =============================== .pybuild/cpython3_3.13_ufo2ft/build/tests/filters/dottedCircle_test.py::test_empty_font_deprecated[defcon] /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/dottedCircleFilter.py:8: UserWarning: The dottedCircleFilter module is deprecated, please import dottedCircle instead. warnings.warn( .pybuild/cpython3_3.13_ufo2ft/build/tests/integration_test.py::IntegrationTest::test_optimizeCFF_none[defcon-cff2] .pybuild/cpython3_3.13_ufo2ft/build/tests/integration_test.py::IntegrationTest::test_optimizeCFF_specialize[defcon-cff2] .pybuild/cpython3_3.13_ufo2ft/build/tests/integration_test.py::IntegrationTest::test_optimizeCFF_none[ufoLib2-cff2] .pybuild/cpython3_3.13_ufo2ft/build/tests/integration_test.py::IntegrationTest::test_optimizeCFF_specialize[ufoLib2-cff2] /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/postProcessor.py:333: UserWarning: 'convertCFFtoCFF2' is deprecated; Use fontTools.cffLib.CFFToCFF2.convertCFFToCFF2 instead. convertCFFtoCFF2(otf) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html --------------------------- snapshot report summary ---------------------------- 1 snapshot failed. 40 snapshots passed. =========================== short test summary info ============================ SKIPPED [2] tests/integration_test.py:137: skia-pathops is unavailable in debian yet SKIPPED [2] tests/integration_test.py:146: skia-pathops is unavailable in debian yet SKIPPED [2] tests/preProcessor_test.py:94: skia-pathops is unavailable in debian yet SKIPPED [2] tests/preProcessor_test.py:214: skia-pathops is unavailable in debian yet FAILED tests/featureWriters/kernFeatureWriter2_test.py::test_kern_zyyy_zinh[defcon] FAILED tests/featureWriters/kernFeatureWriter_test.py::test_kern_zyyy_zinh[defcon] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[defcon-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[defcon-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[defcon-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[defcon-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[defcon-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[defcon-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2_subroutinized[defcon] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[defcon-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[defcon-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTFs[defcon] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2s[defcon] FAILED tests/integration_test.py::IntegrationTest::test_apply_varfont_info[defcon-compileVariableTTFs] FAILED tests/integration_test.py::IntegrationTest::test_apply_varfont_info[defcon-compileVariableCFF2s] FAILED tests/featureWriters/kernFeatureWriter2_test.py::test_kern_zyyy_zinh[ufoLib2] FAILED tests/featureWriters/kernFeatureWriter_test.py::test_kern_zyyy_zinh[ufoLib2] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[ufoLib2-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[ufoLib2-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[ufoLib2-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[ufoLib2-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[ufoLib2-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[ufoLib2-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2_subroutinized[ufoLib2] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[ufoLib2-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[ufoLib2-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTFs[ufoLib2] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2s[ufoLib2] FAILED tests/integration_test.py::IntegrationTest::test_apply_varfont_info[ufoLib2-compileVariableTTFs] FAILED tests/integration_test.py::IntegrationTest::test_apply_varfont_info[ufoLib2-compileVariableCFF2s] ====== 30 failed, 1102 passed, 8 skipped, 5 warnings in 113.60s (0:01:53) ====== E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build; python3.13 -m pytest tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make[1]: [debian/rules:15: override_dh_auto_test] Error 25 (ignored) make[1]: Leaving directory '/build/reproducible-path/ufo2ft-3.3.1' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_auto_install --destdir=debian/python3-ufo2ft/ -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py install --root /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' Traceback (most recent call last): File "/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject section = defn.get("tool", {})[tool_name] ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ KeyError: 'setuptools_scm' /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py copying Lib/ufo2ft/_version.py -> /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft running egg_info writing Lib/ufo2ft.egg-info/PKG-INFO writing dependency_links to Lib/ufo2ft.egg-info/dependency_links.txt writing requirements to Lib/ufo2ft.egg-info/requires.txt writing top-level names to Lib/ufo2ft.egg-info/top_level.txt reading manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt' running install_lib creating /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages creating /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/maxContextCalc.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/preProcessor.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__init__.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft creating /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/__init__.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/interpolatableTTFCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/baseCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/ttfCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/interpolatableOTFCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/variableCFF2sCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers creating /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/__pycache__/baseCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/__pycache__/interpolatableTTFCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/__pycache__/ttfCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/__pycache__/variableTTFsCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/__pycache__/interpolatableOTFCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/__pycache__/variableCFF2sCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/__pycache__/otfCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/__pycache__/__init__.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/otfCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_compilers/variableTTFsCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/constants.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/outlineCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/_version.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft creating /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__init__.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/removeOverlaps.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/skipExportGlyphs.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/reverseContourDirection.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/explodeColorLayerGlyphs.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/decomposeTransformedComponents.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/flattenComponents.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/dottedCircleFilter.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/base.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__main__.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters creating /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/cubicToQuadratic.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/propagateAnchors.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/explodeColorLayerGlyphs.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/decomposeTransformedComponents.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/reverseContourDirection.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/skipExportGlyphs.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/sortContours.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/dottedCircleFilter.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/dottedCircle.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/base.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/transformations.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/__init__.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/removeOverlaps.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/decomposeComponents.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/__pycache__/flattenComponents.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/decomposeComponents.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/transformations.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/dottedCircle.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/cubicToQuadratic.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/sortContours.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/filters/propagateAnchors.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/infoCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/fontInfoData.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/instantiator.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/postProcessor.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft creating /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/postProcessor.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/constants.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/outlineCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/instantiator.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/infoCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/fontInfoData.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/util.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/featureCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/instructionCompiler.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/errors.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/preProcessor.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/__init__.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/__pycache__/_version.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/instructionCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft creating /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/__init__.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/kernFeatureWriter2.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/baseFeatureWriter.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/ast.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/cursFeatureWriter.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/gdefFeatureWriter.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/__main__.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters creating /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/__pycache__/baseFeatureWriter.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/__pycache__/gdefFeatureWriter.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/__pycache__/cursFeatureWriter.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/__pycache__/kernFeatureWriter.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/__pycache__/ast.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/__pycache__/kernFeatureWriter2.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/__pycache__/markFeatureWriter.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/__pycache__/__init__.cpython-313.pyc -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__pycache__ copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/markFeatureWriter.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureWriters/kernFeatureWriter.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/util.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/errors.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft copying /build/reproducible-path/ufo2ft-3.3.1/.pybuild/cpython3_3.13_ufo2ft/build/ufo2ft/featureCompiler.py -> /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/maxContextCalc.py to maxContextCalc.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/preProcessor.py to preProcessor.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/interpolatableTTFCompiler.py to interpolatableTTFCompiler.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/baseCompiler.py to baseCompiler.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/ttfCompiler.py to ttfCompiler.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/interpolatableOTFCompiler.py to interpolatableOTFCompiler.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/variableCFF2sCompiler.py to variableCFF2sCompiler.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/otfCompiler.py to otfCompiler.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_compilers/variableTTFsCompiler.py to variableTTFsCompiler.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/constants.py to constants.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/outlineCompiler.py to outlineCompiler.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/_version.py to _version.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/removeOverlaps.py to removeOverlaps.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/skipExportGlyphs.py to skipExportGlyphs.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/reverseContourDirection.py to reverseContourDirection.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/explodeColorLayerGlyphs.py to explodeColorLayerGlyphs.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/decomposeTransformedComponents.py to decomposeTransformedComponents.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/flattenComponents.py to flattenComponents.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/dottedCircleFilter.py to dottedCircleFilter.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/__main__.py to __main__.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/decomposeComponents.py to decomposeComponents.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/transformations.py to transformations.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/dottedCircle.py to dottedCircle.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/cubicToQuadratic.py to cubicToQuadratic.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/sortContours.py to sortContours.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/filters/propagateAnchors.py to propagateAnchors.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/infoCompiler.py to infoCompiler.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/fontInfoData.py to fontInfoData.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/instantiator.py to instantiator.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/postProcessor.py to postProcessor.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/instructionCompiler.py to instructionCompiler.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/kernFeatureWriter2.py to kernFeatureWriter2.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/baseFeatureWriter.py to baseFeatureWriter.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/ast.py to ast.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/cursFeatureWriter.py to cursFeatureWriter.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/gdefFeatureWriter.py to gdefFeatureWriter.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/__main__.py to __main__.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/markFeatureWriter.py to markFeatureWriter.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureWriters/kernFeatureWriter.py to kernFeatureWriter.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/util.py to util.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/errors.py to errors.cpython-313.pyc byte-compiling /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft/featureCompiler.py to featureCompiler.cpython-313.pyc running install_egg_info Copying Lib/ufo2ft.egg-info to /build/reproducible-path/ufo2ft-3.3.1/debian/python3-ufo2ft/usr/lib/python3.13/dist-packages/ufo2ft-3.3.1.egg-info Skipping SOURCES.txt running install_scripts dh_installdocs -O--buildsystem=pybuild dh_installchangelogs -O--buildsystem=pybuild dh_python3 -O--buildsystem=pybuild dh_installsystemduser -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild dh_gencontrol -O--buildsystem=pybuild dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'python3-ufo2ft' in '../python3-ufo2ft_3.3.1-2_all.deb'. dpkg-genbuildinfo --build=binary -O../ufo2ft_3.3.1-2_amd64.buildinfo dpkg-genchanges --build=binary -O../ufo2ft_3.3.1-2_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original 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/535170 and its subdirectories I: Current time: Tue Sep 2 11:46:21 -12 2025 I: pbuilder-time-stamp: 1756856781 Tue Sep 2 23:46:21 UTC 2025 I: 1st build successful. Starting 2nd build on remote node ionos5-amd64.debian.net. Tue Sep 2 23:46:21 UTC 2025 I: Preparing to do remote build '2' on ionos5-amd64.debian.net. Tue Sep 2 23:48:28 UTC 2025 I: Deleting $TMPDIR on ionos5-amd64.debian.net. Tue Sep 2 23:48:28 UTC 2025 I: ufo2ft_3.3.1-2_amd64.changes: Format: 1.8 Date: Wed, 23 Oct 2024 09:27:37 -0400 Source: ufo2ft Binary: python3-ufo2ft Architecture: all Version: 3.3.1-2 Distribution: unstable Urgency: medium Maintainer: Debian Fonts Task Force Changed-By: Boyuan Yang Description: python3-ufo2ft - Bridge from UFOs to fonttools objects Changes: ufo2ft (3.3.1-2) unstable; urgency=medium . * Team upload. * debian/control: Tighten version requirement for ufolib2. * debian/control: Let binary package breaks python3-glyphslib (<< 6.9.2) for autopkgtest compatibility. Checksums-Sha1: 4f2f46b63120fd420838fa2f3a58b47a1846c065 114864 python3-ufo2ft_3.3.1-2_all.deb 732cc1e12a338dd5e43d8f44d90043fbd0111eef 6814 ufo2ft_3.3.1-2_amd64.buildinfo Checksums-Sha256: 3986b3e463e6c3be72d2726cb444c26526bd274dcff1f68f3a2a2ddb2670a32c 114864 python3-ufo2ft_3.3.1-2_all.deb 11d780f65e31ed67e5b37c20a7b08241d517d2ae3c664b834e8231da76f109b8 6814 ufo2ft_3.3.1-2_amd64.buildinfo Files: c67222179215efe289631a7bbe0214b6 114864 python optional python3-ufo2ft_3.3.1-2_all.deb bcd790bd842798b1460ad3bf3dea53af 6814 fonts optional ufo2ft_3.3.1-2_amd64.buildinfo Tue Sep 2 23:48:29 UTC 2025 I: diffoscope 305 will be used to compare the two builds: Running as unit: rb-diffoscope-amd64_31-56280.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.vZUEa8ms/ufo2ft_3.3.1-2.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.vZUEa8ms/ufo2ft_3.3.1-2.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.vZUEa8ms/ufo2ft_3.3.1-2.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.vZUEa8ms/b1/ufo2ft_3.3.1-2_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.vZUEa8ms/b2/ufo2ft_3.3.1-2_amd64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call diffoscope.comparators.binary.FilesystemFile ## main (total time: 0.003s) 0.003s 2 calls outputs 0.000s 1 call cleanup Finished with result: success Main processes terminated with: code=exited, status=0/SUCCESS Service runtime: 217ms CPU time consumed: 175ms Memory peak: 17.8M (swap: 0B) Tue Sep 2 23:48:30 UTC 2025 I: diffoscope 305 found no differences in the changes files, and a .buildinfo file also exists. Tue Sep 2 23:48:30 UTC 2025 I: ufo2ft from forky built successfully and reproducibly on amd64. Tue Sep 2 23:48:30 UTC 2025 I: Removing signed ufo2ft_3.3.1-2_amd64.buildinfo.asc files: removed './b1/ufo2ft_3.3.1-2_amd64.buildinfo.asc' removed './b2/ufo2ft_3.3.1-2_amd64.buildinfo.asc'