Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/h/haskell-path/haskell-path_0.7.0-3+b1_amd64.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/haskell-path-0.7.0-3+b1hwltgmxi/haskell-path_0.7.0-3+b1_amd64.buildinfo Get source package info: haskell-path=0.7.0-3 Source URL: http://snapshot.notset.fr/mr/package/haskell-path/0.7.0-3/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=autoconf=2.69-11.1 automake=1:1.16.2-3 autopoint=0.19.8.1-10 autotools-dev=20180224.1 base-files=11 base-passwd=3.5.47 bash=5.0-7 binutils=2.35-1 binutils-common=2.35-1 binutils-x86-64-linux-gnu=2.35-1 bsdextrautils=2.36-2 bsdutils=1:2.36-2 build-essential=12.8 bzip2=1.0.8-4 cdbs=0.4.162 coreutils=8.32-3 cpp=4:10.1.0-1 cpp-10=10.2.0-5 dash=0.5.10.2-7 dctrl-tools=2.24-3+b1 debconf=1.5.74 debhelper=13.2 debianutils=4.11 dh-autoreconf=19 dh-buildinfo=0.11+nmu2 dh-strip-nondeterminism=1.9.0-1 diffutils=1:3.7-3 dpkg=1.20.5 dpkg-dev=1.20.5 dwz=0.13-5 file=1:5.38-5 findutils=4.7.0-1 g++=4:10.1.0-1 g++-10=10.2.0-5 gcc=4:10.1.0-1 gcc-10=10.2.0-5 gcc-10-base=10.2.0-5 gettext=0.19.8.1-10 gettext-base=0.19.8.1-10 ghc=8.8.4-1 ghc-prof=8.8.4-1 grep=3.4-1 groff-base=1.22.4-5 gzip=1.10-2 haskell-devscripts=0.16.0 haskell-devscripts-minimal=0.16.0 hostname=3.23 hscolour=1.24.4-3+b1 hspec-discover=2.7.1-1 html-xml-utils=7.7-1 init-system-helpers=1.58 intltool-debian=0.35.0+20060710.5 libacl1=2.2.53-8 libarchive-zip-perl=1.68-1 libasan6=10.2.0-5 libatomic1=10.2.0-5 libattr1=1:2.4.48-5 libaudit-common=1:2.8.5-3 libaudit1=1:2.8.5-3+b1 libbinutils=2.35-1 libblkid1=2.36-2 libbrotli1=1.0.7-7 libbsd-dev=0.10.0-1 libbsd0=0.10.0-1 libbz2-1.0=1.0.8-4 libc-bin=2.31-3 libc-dev-bin=2.31-3 libc6=2.31-3 libc6-dev=2.31-3 libcap-ng0=0.7.9-2.2 libcc1-0=10.2.0-5 libcom-err2=1.45.6-1 libcroco3=0.6.13-1 libcrypt-dev=1:4.4.16-1 libcrypt1=1:4.4.16-1 libctf-nobfd0=2.35-1 libctf0=2.35-1 libcurl3-gnutls=7.68.0-1+b1 libdb5.3=5.3.28+dfsg1-0.6 libdebconfclient0=0.253 libdebhelper-perl=13.2 libdpkg-perl=1.20.5 libelf1=0.180-1+b1 libffi-dev=3.3-4 libffi7=3.3-4 libfile-stripnondeterminism-perl=1.9.0-1 libgcc-10-dev=10.2.0-5 libgcc-s1=10.2.0-5 libgcrypt20=1.8.6-2 libgdbm-compat4=1.18.1-5 libgdbm6=1.18.1-5 libghc-aeson-dev=1.4.7.1-2+b1 libghc-aeson-prof=1.4.7.1-2+b1 libghc-ansi-terminal-dev=0.10.3-1+b1 libghc-attoparsec-dev=0.13.2.4-2+b1 libghc-attoparsec-prof=0.13.2.4-2+b1 libghc-base-compat-batteries-dev=0.11.1-3+b1 libghc-base-compat-batteries-prof=0.11.1-3+b1 libghc-base-compat-dev=0.11.1-1+b1 libghc-base-compat-prof=0.11.1-1+b1 libghc-base-orphans-dev=0.8.2-1+b1 libghc-base-orphans-prof=0.8.2-1+b1 libghc-call-stack-dev=0.2.0-1+b1 libghc-clock-dev=0.8-1+b1 libghc-colour-dev=2.3.5-2+b1 libghc-dlist-dev=0.8.0.8-1+b1 libghc-dlist-prof=0.8.0.8-1+b1 libghc-exceptions-dev=0.10.4-1+b1 libghc-exceptions-prof=0.10.4-1+b1 libghc-genvalidity-dev=0.10.0.2-2+b1 libghc-genvalidity-hspec-dev=0.7.0.4-1+b1 libghc-genvalidity-property-dev=0.5.0.1-1+b1 libghc-hashable-dev=1.3.0.0-2+b1 libghc-hashable-prof=1.3.0.0-2+b1 libghc-haskell-lexer-dev=1.1-1+b1 libghc-hspec-core-dev=2.7.1-1+b1 libghc-hspec-dev=2.7.1-2+b1 libghc-hspec-expectations-dev=0.8.2-4+b1 libghc-hunit-dev=1.6.0.0-3+b1 libghc-integer-logarithms-dev=1.0.3-3+b1 libghc-integer-logarithms-prof=1.0.3-3+b1 libghc-pretty-show-dev=1.10-1+b1 libghc-primitive-dev=0.7.0.1-1+b1 libghc-primitive-prof=0.7.0.1-1+b1 libghc-quickcheck-io-dev=0.2.0-4+b1 libghc-quickcheck2-dev=2.13.2-1+b1 libghc-random-dev=1.1-12+b1 libghc-random-prof=1.1-12+b1 libghc-scientific-dev=0.3.6.2-4+b1 libghc-scientific-prof=0.3.6.2-4+b1 libghc-setenv-dev=0.1.1.3-9+b1 libghc-splitmix-dev=0.0.4-3+b1 libghc-tagged-dev=0.8.6-3+b1 libghc-tagged-prof=0.8.6-3+b1 libghc-tf-random-dev=0.5-10+b1 libghc-th-abstraction-dev=0.3.2.0-1+b1 libghc-th-abstraction-prof=0.3.2.0-1+b1 libghc-time-compat-dev=1.9.3-2+b1 libghc-time-compat-prof=1.9.3-2+b1 libghc-unordered-containers-dev=0.2.10.0-3+b1 libghc-unordered-containers-prof=0.2.10.0-3+b1 libghc-uuid-types-dev=1.0.3-14+b1 libghc-uuid-types-prof=1.0.3-14+b1 libghc-validity-dev=0.9.0.3-1+b1 libghc-vector-dev=0.12.1.2-2+b1 libghc-vector-prof=0.12.1.2-2+b1 libglib2.0-0=2.64.4-1 libgmp-dev=2:6.2.0+dfsg-6 libgmp10=2:6.2.0+dfsg-6 libgmpxx4ldbl=2:6.2.0+dfsg-6 libgnutls30=3.6.14-2+b1 libgomp1=10.2.0-5 libgpg-error0=1.38-2 libgssapi-krb5-2=1.17-10 libhogweed6=3.6-2 libicu67=67.1-3 libidn2-0=2.3.0-1 libisl22=0.22.1-1 libitm1=10.2.0-5 libk5crypto3=1.17-10 libkeyutils1=1.6.1-2 libkrb5-3=1.17-10 libkrb5support0=1.17-10 libldap-2.4-2=2.4.50+dfsg-1+b1 libldap-common=2.4.50+dfsg-1 liblsan0=10.2.0-5 liblz4-1=1.9.2-2 liblzma5=5.2.4-1+b1 libmagic-mgc=1:5.38-5 libmagic1=1:5.38-5 libmount1=2.36-2 libmpc3=1.2.0~rc1-1 libmpfr6=4.1.0-3 libncurses-dev=6.2-1 libncurses5-dev=6.2-1 libncurses6=6.2-1 libncursesw6=6.2-1 libnettle8=3.6-2 libnghttp2-14=1.41.0-2 libp11-kit0=0.23.20-1 libpam-modules=1.3.1-5 libpam-modules-bin=1.3.1-5 libpam-runtime=1.3.1-5 libpam0g=1.3.1-5 libpcre2-8-0=10.34-7 libpcre3=2:8.39-13 libperl5.30=5.30.3-4 libpipeline1=1.5.3-1 libpsl5=0.21.0-1.1 libquadmath0=10.2.0-5 librtmp1=2.4+20151223.gitfa8646d.1-2+b2 libsasl2-2=2.1.27+dfsg-2 libsasl2-modules-db=2.1.27+dfsg-2 libseccomp2=2.4.3-1+b1 libselinux1=3.1-2 libsigsegv2=2.12-2 libsmartcols1=2.36-2 libssh2-1=1.8.0-2.1 libssl1.1=1.1.1g-1 libstdc++-10-dev=10.2.0-5 libstdc++6=10.2.0-5 libsub-override-perl=0.09-2 libsystemd0=246-2 libtasn1-6=4.16.0-2 libtinfo6=6.2-1 libtool=2.4.6-14 libtsan0=10.2.0-5 libubsan1=10.2.0-5 libuchardet0=0.0.7-1 libudev1=246-2 libunistring2=0.9.10-4 libuuid1=2.36-2 libxml2=2.9.10+dfsg-5+b1 libzstd1=1.4.5+dfsg-4 linux-libc-dev=5.7.10-1 login=1:4.8.1-1 lsb-base=11.1.0 m4=1.4.18-4 make=4.3-4 man-db=2.9.3-2 mawk=1.3.4.20200120-2 ncurses-base=6.2-1 ncurses-bin=6.2-1 patch=2.7.6-6 perl=5.30.3-4 perl-base=5.30.3-4 perl-modules-5.30=5.30.3-4 po-debconf=1.0.21 sed=4.7-1 sensible-utils=0.0.12+nmu1 sysvinit-utils=2.96-3 tar=1.30+dfsg-7 util-linux=2.36-2 xz-utils=5.2.4-1+b1 zlib1g=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20200817T144324Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20200813T144945Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d haskell-path=0.7.0-3 && mkdir -p /build/haskell-path-o46Nq7 && dpkg-source --no-check -x /*.dsc /build/haskell-path-o46Nq7/haskell-path-0.7.0 && cd /build/haskell-path-o46Nq7/haskell-path-0.7.0 && { printf '%s' 'haskell-path (0.7.0-3+b1) sid; urgency=low, binary-only=yes * Binary-only non-maintainer upload for amd64; no source changes. * base-4.13.0.0 changed from c9705 to 2f220, deepseq-1.4.4.0 changed from b386b to 9f093, filepath-1.4.2.1 changed from 251c0 to 103b6, template-haskell-2.15.0.0 changed from 6d2a0 to 80f0d, text-1.2.4.0 changed from 455b7 to a7a6e -- amd64 / i386 Build Daemon (x86-ubc-01) Fri, 14 Aug 2020 12:22:46 +0000 '; cat debian/changelog; } > debian/changelog.debrebuild && mv debian/changelog.debrebuild debian/changelog && chown -R builduser:builduser /build/haskell-path-o46Nq7" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/haskell-path-o46Nq7/haskell-path-0.7.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1597407766" dpkg-buildpackage -uc -a amd64 --build=any" --customize-hook=sync-out /build/haskell-path-o46Nq7 /tmp/haskell-path-0.7.0-3+b1hwltgmxi bullseye /dev/null deb http://snapshot.notset.fr/archive/debian/20200813T144945Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.SWTz89pgfd as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.SWTz89pgfd Reading package lists... Building dependency tree... util-linux is already the newest version (2.36-2). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 132 kB of archives. After this operation, 393 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20200813T144945Z unstable/main amd64 libfakeroot amd64 1.24-1 [45.7 kB] Get:2 http://snapshot.notset.fr/archive/debian/20200813T144945Z unstable/main amd64 fakeroot amd64 1.24-1 [85.9 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 132 kB in 0s (1106 kB/s) Selecting previously unselected package libfakeroot: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 ... 4578 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.24-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.24-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.24-1_amd64.deb ... Unpacking fakeroot (1.24-1) ... Setting up libfakeroot:amd64 (1.24-1) ... Setting up fakeroot (1.24-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.31-3) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20200817T144324Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20200813T144945Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.SWTz89pgfd Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Get:2 http://snapshot.notset.fr/archive/debian/20200817T144324Z unstable InRelease [146 kB] Hit:3 http://snapshot.notset.fr/archive/debian/20200813T144945Z unstable InRelease Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:5 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:5 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:5 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Get:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources [11.4 MB] Get:5 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages [11.1 MB] Ign:6 http://snapshot.notset.fr/archive/debian/20200817T144324Z unstable/main amd64 Packages Ign:6 http://snapshot.notset.fr/archive/debian/20200817T144324Z unstable/main amd64 Packages Ign:6 http://snapshot.notset.fr/archive/debian/20200817T144324Z unstable/main amd64 Packages Get:6 http://snapshot.notset.fr/archive/debian/20200817T144324Z unstable/main amd64 Packages [11.3 MB] Fetched 34.1 MB in 28s (1204 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.SWTz89pgfd I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d haskell-path=0.7.0-3 && mkdir -p /build/haskell-path-o46Nq7 && dpkg-source --no-check -x /*.dsc /build/haskell-path-o46Nq7/haskell-path-0.7.0 && cd /build/haskell-path-o46Nq7/haskell-path-0.7.0 && { printf '%s' 'haskell-path (0.7.0-3+b1) sid; urgency=low, binary-only=yes * Binary-only non-maintainer upload for amd64; no source changes. * base-4.13.0.0 changed from c9705 to 2f220, deepseq-1.4.4.0 changed from b386b to 9f093, filepath-1.4.2.1 changed from 251c0 to 103b6, template-haskell-2.15.0.0 changed from 6d2a0 to 80f0d, text-1.2.4.0 changed from 455b7 to a7a6e -- amd64 / i386 Build Daemon (x86-ubc-01) Fri, 14 Aug 2020 12:22:46 +0000 '; cat debian/changelog; } > debian/changelog.debrebuild && mv debian/changelog.debrebuild debian/changelog && chown -R builduser:builduser /build/haskell-path-o46Nq7"' exec /tmp/mmdebstrap.SWTz89pgfd Reading package lists... NOTICE: 'haskell-path' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/haskell-team/DHG_packages.git [p/haskell-path] Please use: git clone https://salsa.debian.org/haskell-team/DHG_packages.git [p/haskell-path] to retrieve the latest (possibly unreleased) updates to the package. Need to get 30.4 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main haskell-path 0.7.0-3 (dsc) [2836 B] Get:2 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main haskell-path 0.7.0-3 (tar) [24.2 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main haskell-path 0.7.0-3 (diff) [3372 B] Fetched 30.4 kB in 0s (255 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'haskell-path_0.7.0-3.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting haskell-path in /build/haskell-path-o46Nq7/haskell-path-0.7.0 dpkg-source: info: unpacking haskell-path_0.7.0.orig.tar.gz dpkg-source: info: unpacking haskell-path_0.7.0-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying newer-deps dpkg-source: info: applying no-rts-N I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/haskell-path-o46Nq7/haskell-path-0.7.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1597407766" dpkg-buildpackage -uc -a amd64 --build=any"' exec /tmp/mmdebstrap.SWTz89pgfd dpkg-buildpackage: info: source package haskell-path dpkg-buildpackage: info: source version 0.7.0-3+b1 dpkg-buildpackage: info: source distribution sid dpkg-buildpackage: info: source changed by amd64 / i386 Build Daemon (x86-ubc-01) dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean test -x debian/rules dh_clean . /usr/share/haskell-devscripts/Dh_Haskell.sh && \ clean_recipe Running rm -rf dist dist-ghc dist-ghcjs dist-hugs debian/hlibrary.setup Setup.hi Setup.ho Setup.o .\*config\* Running rm -f configure-ghc-stamp configure-ghcjs-stamp build-ghc-stamp build-ghcjs-stamp build-hugs-stamp build-haddock-stamp Running rm -rf debian/tmp-inst-ghc debian/tmp-inst-ghcjs Running rm -f debian/extra-depends-ghc debian/extra-depends-ghcjs Running rm -f debian/hlibrary.Makefile Running rm -rf debian/dh_haskell_shlibdeps Running rm -rf debian/tmp-db debian/rules binary-arch test -x debian/rules dh_testroot dh_prep dh_installdirs -A mkdir -p "." CDBS WARNING: DEB_DH_STRIP_ARGS is deprecated since 0.4.85 CDBS WARNING: DEB_COMPRESS_EXCLUDE is deprecated since 0.4.85 . /usr/share/haskell-devscripts/Dh_Haskell.sh && \ make_setup_recipe Running ghc --make Setup.hs -o debian/hlibrary.setup [1 of 1] Compiling Main ( Setup.hs, Setup.o ) Linking debian/hlibrary.setup ... . /usr/share/haskell-devscripts/Dh_Haskell.sh && \ configure_recipe Running debian/hlibrary.setup configure --ghc -v2 --package-db=/var/lib/ghc/package.conf.d --prefix=/usr --libdir=/usr/lib/haskell-packages/ghc/lib --libexecdir=/usr/lib --builddir=dist-ghc --ghc-option=-optl-Wl\,-z\,relro --haddockdir=/usr/lib/ghc-doc/haddock/path-0.7.0/ --datasubdir=path --htmldir=/usr/share/doc/libghc-path-doc/html/ --enable-library-profiling --enable-tests Using Parsec parser Configuring path-0.7.0... Flags chosen: dev=False Dependency aeson -any: using aeson-1.4.7.1 Dependency base >=4.10 && <5: using base-4.13.0.0 Dependency deepseq -any: using deepseq-1.4.4.0 Dependency exceptions >=0.4 && <0.11: using exceptions-0.10.4 Dependency filepath <1.2.0.1 || >=1.3: using filepath-1.4.2.1 Dependency hashable >=1.2 && <1.4: using hashable-1.3.0.0 Dependency template-haskell -any: using template-haskell-2.15.0.0 Dependency text -any: using text-1.2.4.0 Dependency aeson -any: using aeson-1.4.7.1 Dependency base >=4.10 && <5: using base-4.13.0.0 Dependency bytestring -any: using bytestring-0.10.10.1 Dependency filepath <1.2.0.1 || >=1.3: using filepath-1.4.2.1 Dependency hspec >=2.0 && <3: using hspec-2.7.1 Dependency mtl >=2.0 && <3: using mtl-2.2.2 Dependency path -any: using path-0.7.0 Dependency QuickCheck -any: using QuickCheck-2.13.2 Dependency aeson -any: using aeson-1.4.7.1 Dependency base >=4.10 && <5: using base-4.13.0.0 Dependency bytestring -any: using bytestring-0.10.10.1 Dependency filepath <1.2.0.1 || >=1.3: using filepath-1.4.2.1 Dependency genvalidity >=0.8: using genvalidity-0.10.0.2 Dependency genvalidity-hspec >=0.7: using genvalidity-hspec-0.7.0.4 Dependency genvalidity-property >=0.4: using genvalidity-property-0.5.0.1 Dependency hspec >=2.0 && <3: using hspec-2.7.1 Dependency mtl >=2.0 && <3: using mtl-2.2.2 Dependency path -any: using path-0.7.0 Dependency validity >=0.8.0.0: using validity-0.9.0.3 Source component graph: component lib component test:test dependency lib component test:validity-test dependency lib Configured component graph: component path-0.7.0-ItQkMO2BJUADmjR5L3rHpY include aeson-1.4.7.1-I85CiJ11QzuLW12neix9Ia include base-4.13.0.0 include deepseq-1.4.4.0 include exceptions-0.10.4-9CfD2hJyZLFIbks3iYGf0k include filepath-1.4.2.1 include hashable-1.3.0.0-AOP4LTmShW4Dax9brHgY53 include template-haskell-2.15.0.0 include text-1.2.4.0 component path-0.7.0-YcjoW5icxiJstOMY9omn7-test include aeson-1.4.7.1-I85CiJ11QzuLW12neix9Ia include base-4.13.0.0 include bytestring-0.10.10.1 include filepath-1.4.2.1 include hspec-2.7.1-IcNvSIdxK3g8RtkLIZGBmS include mtl-2.2.2 include path-0.7.0-ItQkMO2BJUADmjR5L3rHpY component path-0.7.0-DOpF4wlNSzxA1uSoJFzYQa-validity-test include QuickCheck-2.13.2-8T6rr0vdgssFQL3wVsDN6e include aeson-1.4.7.1-I85CiJ11QzuLW12neix9Ia include base-4.13.0.0 include bytestring-0.10.10.1 include filepath-1.4.2.1 include genvalidity-0.10.0.2-65qCsWy5ptZLsWjWSVsWr2 include genvalidity-hspec-0.7.0.4-Eg09PWy8s5BhAAv2dALPs include genvalidity-property-0.5.0.1-9RXAz0MSRz0aQzdcEL2vp include hspec-2.7.1-IcNvSIdxK3g8RtkLIZGBmS include mtl-2.2.2 include path-0.7.0-ItQkMO2BJUADmjR5L3rHpY include validity-0.9.0.3-2HUd2QjEyigChN2vptY2ef Linked component graph: unit path-0.7.0-ItQkMO2BJUADmjR5L3rHpY include aeson-1.4.7.1-I85CiJ11QzuLW12neix9Ia include base-4.13.0.0 include deepseq-1.4.4.0 include exceptions-0.10.4-9CfD2hJyZLFIbks3iYGf0k include filepath-1.4.2.1 include hashable-1.3.0.0-AOP4LTmShW4Dax9brHgY53 include template-haskell-2.15.0.0 include text-1.2.4.0 Path=path-0.7.0-ItQkMO2BJUADmjR5L3rHpY:Path,Path.Internal=path-0.7.0-ItQkMO2BJUADmjR5L3rHpY:Path.Internal,Path.Posix=path-0.7.0-ItQkMO2BJUADmjR5L3rHpY:Path.Posix,Path.Windows=path-0.7.0-ItQkMO2BJUADmjR5L3rHpY:Path.Windows unit path-0.7.0-YcjoW5icxiJstOMY9omn7-test include aeson-1.4.7.1-I85CiJ11QzuLW12neix9Ia include base-4.13.0.0 include bytestring-0.10.10.1 include filepath-1.4.2.1 include hspec-2.7.1-IcNvSIdxK3g8RtkLIZGBmS include mtl-2.2.2 include path-0.7.0-ItQkMO2BJUADmjR5L3rHpY unit path-0.7.0-DOpF4wlNSzxA1uSoJFzYQa-validity-test include QuickCheck-2.13.2-8T6rr0vdgssFQL3wVsDN6e include aeson-1.4.7.1-I85CiJ11QzuLW12neix9Ia include base-4.13.0.0 include bytestring-0.10.10.1 include filepath-1.4.2.1 include genvalidity-0.10.0.2-65qCsWy5ptZLsWjWSVsWr2 include genvalidity-hspec-0.7.0.4-Eg09PWy8s5BhAAv2dALPs include genvalidity-property-0.5.0.1-9RXAz0MSRz0aQzdcEL2vp include hspec-2.7.1-IcNvSIdxK3g8RtkLIZGBmS include mtl-2.2.2 include path-0.7.0-ItQkMO2BJUADmjR5L3rHpY include validity-0.9.0.3-2HUd2QjEyigChN2vptY2ef Ready component graph: definite path-0.7.0-ItQkMO2BJUADmjR5L3rHpY depends aeson-1.4.7.1-I85CiJ11QzuLW12neix9Ia depends base-4.13.0.0 depends deepseq-1.4.4.0 depends exceptions-0.10.4-9CfD2hJyZLFIbks3iYGf0k depends filepath-1.4.2.1 depends hashable-1.3.0.0-AOP4LTmShW4Dax9brHgY53 depends template-haskell-2.15.0.0 depends text-1.2.4.0 definite path-0.7.0-YcjoW5icxiJstOMY9omn7-test depends aeson-1.4.7.1-I85CiJ11QzuLW12neix9Ia depends base-4.13.0.0 depends bytestring-0.10.10.1 depends filepath-1.4.2.1 depends hspec-2.7.1-IcNvSIdxK3g8RtkLIZGBmS depends mtl-2.2.2 depends path-0.7.0-ItQkMO2BJUADmjR5L3rHpY definite path-0.7.0-DOpF4wlNSzxA1uSoJFzYQa-validity-test depends QuickCheck-2.13.2-8T6rr0vdgssFQL3wVsDN6e depends aeson-1.4.7.1-I85CiJ11QzuLW12neix9Ia depends base-4.13.0.0 depends bytestring-0.10.10.1 depends filepath-1.4.2.1 depends genvalidity-0.10.0.2-65qCsWy5ptZLsWjWSVsWr2 depends genvalidity-hspec-0.7.0.4-Eg09PWy8s5BhAAv2dALPs depends genvalidity-property-0.5.0.1-9RXAz0MSRz0aQzdcEL2vp depends hspec-2.7.1-IcNvSIdxK3g8RtkLIZGBmS depends mtl-2.2.2 depends path-0.7.0-ItQkMO2BJUADmjR5L3rHpY depends validity-0.9.0.3-2HUd2QjEyigChN2vptY2ef Using Cabal-3.0.1.0 compiled by ghc-8.8 Using compiler: ghc-8.8.4 Using install prefix: /usr Executables installed in: /usr/bin Libraries installed in: /usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/path-0.7.0-ItQkMO2BJUADmjR5L3rHpY Dynamic Libraries installed in: /usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4 Private executables installed in: /usr/lib/x86_64-linux-ghc-8.8.4/path-0.7.0 Data files installed in: /usr/share/path Documentation installed in: /usr/share/doc/x86_64-linux-ghc-8.8.4/path-0.7.0 Configuration files installed in: /usr/etc No alex found Using ar found on system at: /usr/bin/x86_64-linux-gnu-ar No c2hs found No cpphs found No doctest found Using gcc version 10 found on system at: /usr/bin/x86_64-linux-gnu-gcc Using ghc version 8.8.4 found on system at: /usr/bin/ghc Using ghc-pkg version 8.8.4 found on system at: /usr/bin/ghc-pkg No ghcjs found No ghcjs-pkg found No greencard found Using haddock version 2.23.0 found on system at: /usr/bin/haddock No happy found Using haskell-suite found on system at: haskell-suite-dummy-location Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location No hmake found Using hpc version 0.67 found on system at: /usr/bin/hpc Using hsc2hs version 0.68.7 found on system at: /usr/bin/hsc2hs Using hscolour version 1.24 found on system at: /usr/bin/HsColour No jhc found Using ld found on system at: /usr/bin/x86_64-linux-gnu-ld.gold No pkg-config found Using runghc version 8.8.4 found on system at: /usr/bin/runghc Using strip version 2.35 found on system at: /usr/bin/strip Using tar found on system at: /bin/tar No uhc found touch configure-ghc-stamp . /usr/share/haskell-devscripts/Dh_Haskell.sh && \ build_recipe Running debian/hlibrary.setup build --builddir=dist-ghc Preprocessing library for path-0.7.0.. Building library for path-0.7.0.. [1 of 4] Compiling Path.Internal ( src/Path/Internal.hs, dist-ghc/build/Path/Internal.o ) [2 of 4] Compiling Path.Posix ( src/Path/Posix.hs, dist-ghc/build/Path/Posix.o ) [3 of 4] Compiling Path ( src/Path.hs, dist-ghc/build/Path.o ) [4 of 4] Compiling Path.Windows ( src/Path/Windows.hs, dist-ghc/build/Path/Windows.o ) [1 of 4] Compiling Path.Internal ( src/Path/Internal.hs, dist-ghc/build/Path/Internal.p_o ) [2 of 4] Compiling Path.Posix ( src/Path/Posix.hs, dist-ghc/build/Path/Posix.p_o ) [3 of 4] Compiling Path ( src/Path.hs, dist-ghc/build/Path.p_o ) [4 of 4] Compiling Path.Windows ( src/Path/Windows.hs, dist-ghc/build/Path/Windows.p_o ) Preprocessing test suite 'test' for path-0.7.0.. Building test suite 'test' for path-0.7.0.. [1 of 4] Compiling Common ( test/Common.hs, dist-ghc/build/test/test-tmp/Common.o ) [2 of 4] Compiling Posix ( test/Posix.hs, dist-ghc/build/test/test-tmp/Posix.o ) [3 of 4] Compiling Main ( test/Main.hs, dist-ghc/build/test/test-tmp/Main.o ) [4 of 4] Compiling Windows ( test/Windows.hs, dist-ghc/build/test/test-tmp/Windows.o ) Linking dist-ghc/build/test/test ... Preprocessing test suite 'validity-test' for path-0.7.0.. Building test suite 'validity-test' for path-0.7.0.. [1 of 2] Compiling Path.Gen ( test/Path/Gen.hs, dist-ghc/build/validity-test/validity-test-tmp/Path/Gen.o ) [2 of 2] Compiling Main ( test/ValidityTest.hs, dist-ghc/build/validity-test/validity-test-tmp/Main.o ) Linking dist-ghc/build/validity-test/validity-test ... touch build-ghc-stamp . /usr/share/haskell-devscripts/Dh_Haskell.sh && \ check_recipe Running debian/hlibrary.setup test --builddir=dist-ghc --show-details=direct Running 2 test suites... Test suite test: RUNNING... Parsing: Path Abs Dir Failing: Parsing "" should fail. Failing: Parsing "./" should fail. Failing: Parsing "foo.txt" should fail. Succeeding: Parsing "/" should succeed with: "/" Succeeding: Parsing "//" should succeed with: "/" Succeeding: Parsing "///foo//bar//mu/" should succeed with: "/foo/bar/mu/" Succeeding: Parsing "///foo//bar////mu" should succeed with: "/foo/bar/mu/" Succeeding: Parsing "///foo//bar/.//mu" should succeed with: "/foo/bar/mu/" Parsing: Path Rel Dir Failing: Parsing "" should fail. Failing: Parsing "/" should fail. Failing: Parsing "//" should fail. Succeeding: Parsing "~/" should succeed with: "~/" Failing: Parsing "/" should fail. Succeeding: Parsing "./" should succeed with: "./" Succeeding: Parsing "././" should succeed with: "./" Failing: Parsing "//" should fail. Failing: Parsing "///foo//bar//mu/" should fail. Failing: Parsing "///foo//bar////mu" should fail. Failing: Parsing "///foo//bar/.//mu" should fail. Succeeding: Parsing "..." should succeed with: ".../" Succeeding: Parsing "foo.bak" should succeed with: "foo.bak/" Succeeding: Parsing "./foo" should succeed with: "foo/" Succeeding: Parsing "././foo" should succeed with: "foo/" Succeeding: Parsing "./foo/./bar" should succeed with: "foo/bar/" Succeeding: Parsing "foo//bar//mu//" should succeed with: "foo/bar/mu/" Succeeding: Parsing "foo//bar////mu" should succeed with: "foo/bar/mu/" Succeeding: Parsing "foo//bar/.//mu" should succeed with: "foo/bar/mu/" Parsing: Path Abs File Failing: Parsing "" should fail. Failing: Parsing "./" should fail. Failing: Parsing "/." should fail. Failing: Parsing "/foo/bar/." should fail. Failing: Parsing "~/" should fail. Failing: Parsing "./foo.txt" should fail. Failing: Parsing "/" should fail. Failing: Parsing "//" should fail. Failing: Parsing "///foo//bar//mu/" should fail. Succeeding: Parsing "/..." should succeed with: "/..." Succeeding: Parsing "/foo.txt" should succeed with: "/foo.txt" Succeeding: Parsing "///foo//bar////mu.txt" should succeed with: "/foo/bar/mu.txt" Succeeding: Parsing "///foo//bar/.//mu.txt" should succeed with: "/foo/bar/mu.txt" Parsing: Path Rel File Failing: Parsing "" should fail. Failing: Parsing "/" should fail. Failing: Parsing "//" should fail. Failing: Parsing "~/" should fail. Failing: Parsing "/" should fail. Failing: Parsing "./" should fail. Failing: Parsing "a/." should fail. Failing: Parsing "a/../b" should fail. Failing: Parsing "a/.." should fail. Failing: Parsing "../foo.txt" should fail. Failing: Parsing "//" should fail. Failing: Parsing "///foo//bar//mu/" should fail. Failing: Parsing "///foo//bar////mu" should fail. Failing: Parsing "///foo//bar/.//mu" should fail. Succeeding: Parsing "a.." should succeed with: "a.." Succeeding: Parsing "..." should succeed with: "..." Succeeding: Parsing "foo.txt" should succeed with: "foo.txt" Succeeding: Parsing "./foo.txt" should succeed with: "foo.txt" Succeeding: Parsing "././foo.txt" should succeed with: "foo.txt" Succeeding: Parsing "./foo/./bar.txt" should succeed with: "foo/bar.txt" Succeeding: Parsing "foo//bar//mu.txt" should succeed with: "foo/bar/mu.txt" Succeeding: Parsing "foo//bar////mu.txt" should succeed with: "foo/bar/mu.txt" Succeeding: Parsing "foo//bar/.//mu.txt" should succeed with: "foo/bar/mu.txt" Operations: () AbsDir + RelDir = AbsDir AbsDir + RelFile = AbsFile RelDir + RelDir = RelDir . + . = . . + x = x x + . = x RelDir + RelFile = RelFile Operations: toFilePath toFilePath $(mkRelDir ".") == "./" show $(mkRelDir ".") == "\"./\"" Operations: stripProperPrefix stripProperPrefix parent (parent child) = child (unit test) stripProperPrefix parent (parent child) = child (unit test) stripProperPrefix parent parent = _|_ Operations: isProperPrefixOf isProperPrefixOf parent (parent child) (absolute) isProperPrefixOf parent (parent child) (relative) not (x `isProperPrefixOf` x) not (/ `isProperPrefixOf` /) Operations: parent parent (parent child) == parent parent "/" == "/" parent "/x" == "/" parent "x" == "." parent "." == "." Operations: filename filename ($(mkAbsDir parent) $(mkRelFile filename)) == filename $(mkRelFile filename) (unit test) filename ($(mkRelDir parent) $(mkRelFile filename)) == filename $(mkRelFile filename) (unit test) Operations: dirname dirname ($(mkAbsDir parent) $(mkRelFile dirname)) == dirname $(mkRelFile dirname) (unit test) dirname ($(mkRelDir parent) $(mkRelFile dirname)) == dirname $(mkRelFile dirname) (unit test) dirname / must be a Rel path Operations: extensions addExtension ".foo" "name" == "name.foo" fileExtension "name.foo" == .foo replaceExtension ".foo" "name.foo" == "name.foo" addExtension ".foo" "name." == "name..foo" fileExtension "name..foo" == .foo replaceExtension ".foo" "name..foo" == "name..foo" addExtension ".foo" "name.." == "name...foo" fileExtension "name...foo" == .foo replaceExtension ".foo" "name...foo" == "name...foo" addExtension ".foo" ".name" == ".name.foo" fileExtension ".name.foo" == .foo replaceExtension ".foo" ".name.foo" == ".name.foo" addExtension ".foo" "..name" == "..name.foo" fileExtension "..name.foo" == .foo replaceExtension ".foo" "..name.foo" == "..name.foo" addExtension ".foo" "name.name" == "name.name.foo" fileExtension "name.name.foo" == .foo replaceExtension ".foo" "name.name.foo" == "name.name.foo" addExtension ".foo" "name..name" == "name..name.foo" fileExtension "name..name.foo" == .foo replaceExtension ".foo" "name..name.foo" == "name..name.foo" addExtension ".foo" "..." == "....foo" fileExtension "....foo" == .foo replaceExtension ".foo" "....foo" == "....foo" addExtension ".foo." "name" == "name.foo." fileExtension "name.foo." == .foo. replaceExtension ".foo." "name.foo." == "name.foo." addExtension ".foo." "name." == "name..foo." fileExtension "name..foo." == .foo. replaceExtension ".foo." "name..foo." == "name..foo." addExtension ".foo." "name.." == "name...foo." fileExtension "name...foo." == .foo. replaceExtension ".foo." "name...foo." == "name...foo." addExtension ".foo." ".name" == ".name.foo." fileExtension ".name.foo." == .foo. replaceExtension ".foo." ".name.foo." == ".name.foo." addExtension ".foo." "..name" == "..name.foo." fileExtension "..name.foo." == .foo. replaceExtension ".foo." "..name.foo." == "..name.foo." addExtension ".foo." "name.name" == "name.name.foo." fileExtension "name.name.foo." == .foo. replaceExtension ".foo." "name.name.foo." == "name.name.foo." addExtension ".foo." "name..name" == "name..name.foo." fileExtension "name..name.foo." == .foo. replaceExtension ".foo." "name..name.foo." == "name..name.foo." addExtension ".foo." "..." == "....foo." fileExtension "....foo." == .foo. replaceExtension ".foo." "....foo." == "....foo." addExtension ".foo.." "name" == "name.foo.." fileExtension "name.foo.." == .foo.. replaceExtension ".foo.." "name.foo.." == "name.foo.." addExtension ".foo.." "name." == "name..foo.." fileExtension "name..foo.." == .foo.. replaceExtension ".foo.." "name..foo.." == "name..foo.." addExtension ".foo.." "name.." == "name...foo.." fileExtension "name...foo.." == .foo.. replaceExtension ".foo.." "name...foo.." == "name...foo.." addExtension ".foo.." ".name" == ".name.foo.." fileExtension ".name.foo.." == .foo.. replaceExtension ".foo.." ".name.foo.." == ".name.foo.." addExtension ".foo.." "..name" == "..name.foo.." fileExtension "..name.foo.." == .foo.. replaceExtension ".foo.." "..name.foo.." == "..name.foo.." addExtension ".foo.." "name.name" == "name.name.foo.." fileExtension "name.name.foo.." == .foo.. replaceExtension ".foo.." "name.name.foo.." == "name.name.foo.." addExtension ".foo.." "name..name" == "name..name.foo.." fileExtension "name..name.foo.." == .foo.. replaceExtension ".foo.." "name..name.foo.." == "name..name.foo.." addExtension ".foo.." "..." == "....foo.." fileExtension "....foo.." == .foo.. replaceExtension ".foo.." "....foo.." == "....foo.." addExtension ".foo" "name/name" == "name/name.foo" fileExtension "name/name.foo" == .foo replaceExtension ".foo" "name/name.foo" == "name/name.foo" addExtension ".foo" "name/name." == "name/name..foo" fileExtension "name/name..foo" == .foo replaceExtension ".foo" "name/name..foo" == "name/name..foo" addExtension ".foo" "name/name.." == "name/name...foo" fileExtension "name/name...foo" == .foo replaceExtension ".foo" "name/name...foo" == "name/name...foo" addExtension ".foo" "name/.name" == "name/.name.foo" fileExtension "name/.name.foo" == .foo replaceExtension ".foo" "name/.name.foo" == "name/.name.foo" addExtension ".foo" "name/..name" == "name/..name.foo" fileExtension "name/..name.foo" == .foo replaceExtension ".foo" "name/..name.foo" == "name/..name.foo" addExtension ".foo" "name/name.name" == "name/name.name.foo" fileExtension "name/name.name.foo" == .foo replaceExtension ".foo" "name/name.name.foo" == "name/name.name.foo" addExtension ".foo" "name/name..name" == "name/name..name.foo" fileExtension "name/name..name.foo" == .foo replaceExtension ".foo" "name/name..name.foo" == "name/name..name.foo" addExtension ".foo" "name/..." == "name/....foo" fileExtension "name/....foo" == .foo replaceExtension ".foo" "name/....foo" == "name/....foo" addExtension ".foo" "name./name" == "name./name.foo" fileExtension "name./name.foo" == .foo replaceExtension ".foo" "name./name.foo" == "name./name.foo" addExtension ".foo" "name./name." == "name./name..foo" fileExtension "name./name..foo" == .foo replaceExtension ".foo" "name./name..foo" == "name./name..foo" addExtension ".foo" "name./name.." == "name./name...foo" fileExtension "name./name...foo" == .foo replaceExtension ".foo" "name./name...foo" == "name./name...foo" addExtension ".foo" "name./.name" == "name./.name.foo" fileExtension "name./.name.foo" == .foo replaceExtension ".foo" "name./.name.foo" == "name./.name.foo" addExtension ".foo" "name./..name" == "name./..name.foo" fileExtension "name./..name.foo" == .foo replaceExtension ".foo" "name./..name.foo" == "name./..name.foo" addExtension ".foo" "name./name.name" == "name./name.name.foo" fileExtension "name./name.name.foo" == .foo replaceExtension ".foo" "name./name.name.foo" == "name./name.name.foo" addExtension ".foo" "name./name..name" == "name./name..name.foo" fileExtension "name./name..name.foo" == .foo replaceExtension ".foo" "name./name..name.foo" == "name./name..name.foo" addExtension ".foo" "name./..." == "name./....foo" fileExtension "name./....foo" == .foo replaceExtension ".foo" "name./....foo" == "name./....foo" addExtension ".foo" "name../name" == "name../name.foo" fileExtension "name../name.foo" == .foo replaceExtension ".foo" "name../name.foo" == "name../name.foo" addExtension ".foo" "name../name." == "name../name..foo" fileExtension "name../name..foo" == .foo replaceExtension ".foo" "name../name..foo" == "name../name..foo" addExtension ".foo" "name../name.." == "name../name...foo" fileExtension "name../name...foo" == .foo replaceExtension ".foo" "name../name...foo" == "name../name...foo" addExtension ".foo" "name../.name" == "name../.name.foo" fileExtension "name../.name.foo" == .foo replaceExtension ".foo" "name../.name.foo" == "name../.name.foo" addExtension ".foo" "name../..name" == "name../..name.foo" fileExtension "name../..name.foo" == .foo replaceExtension ".foo" "name../..name.foo" == "name../..name.foo" addExtension ".foo" "name../name.name" == "name../name.name.foo" fileExtension "name../name.name.foo" == .foo replaceExtension ".foo" "name../name.name.foo" == "name../name.name.foo" addExtension ".foo" "name../name..name" == "name../name..name.foo" fileExtension "name../name..name.foo" == .foo replaceExtension ".foo" "name../name..name.foo" == "name../name..name.foo" addExtension ".foo" "name../..." == "name../....foo" fileExtension "name../....foo" == .foo replaceExtension ".foo" "name../....foo" == "name../....foo" addExtension ".foo" ".name/name" == ".name/name.foo" fileExtension ".name/name.foo" == .foo replaceExtension ".foo" ".name/name.foo" == ".name/name.foo" addExtension ".foo" ".name/name." == ".name/name..foo" fileExtension ".name/name..foo" == .foo replaceExtension ".foo" ".name/name..foo" == ".name/name..foo" addExtension ".foo" ".name/name.." == ".name/name...foo" fileExtension ".name/name...foo" == .foo replaceExtension ".foo" ".name/name...foo" == ".name/name...foo" addExtension ".foo" ".name/.name" == ".name/.name.foo" fileExtension ".name/.name.foo" == .foo replaceExtension ".foo" ".name/.name.foo" == ".name/.name.foo" addExtension ".foo" ".name/..name" == ".name/..name.foo" fileExtension ".name/..name.foo" == .foo replaceExtension ".foo" ".name/..name.foo" == ".name/..name.foo" addExtension ".foo" ".name/name.name" == ".name/name.name.foo" fileExtension ".name/name.name.foo" == .foo replaceExtension ".foo" ".name/name.name.foo" == ".name/name.name.foo" addExtension ".foo" ".name/name..name" == ".name/name..name.foo" fileExtension ".name/name..name.foo" == .foo replaceExtension ".foo" ".name/name..name.foo" == ".name/name..name.foo" addExtension ".foo" ".name/..." == ".name/....foo" fileExtension ".name/....foo" == .foo replaceExtension ".foo" ".name/....foo" == ".name/....foo" addExtension ".foo" "..name/name" == "..name/name.foo" fileExtension "..name/name.foo" == .foo replaceExtension ".foo" "..name/name.foo" == "..name/name.foo" addExtension ".foo" "..name/name." == "..name/name..foo" fileExtension "..name/name..foo" == .foo replaceExtension ".foo" "..name/name..foo" == "..name/name..foo" addExtension ".foo" "..name/name.." == "..name/name...foo" fileExtension "..name/name...foo" == .foo replaceExtension ".foo" "..name/name...foo" == "..name/name...foo" addExtension ".foo" "..name/.name" == "..name/.name.foo" fileExtension "..name/.name.foo" == .foo replaceExtension ".foo" "..name/.name.foo" == "..name/.name.foo" addExtension ".foo" "..name/..name" == "..name/..name.foo" fileExtension "..name/..name.foo" == .foo replaceExtension ".foo" "..name/..name.foo" == "..name/..name.foo" addExtension ".foo" "..name/name.name" == "..name/name.name.foo" fileExtension "..name/name.name.foo" == .foo replaceExtension ".foo" "..name/name.name.foo" == "..name/name.name.foo" addExtension ".foo" "..name/name..name" == "..name/name..name.foo" fileExtension "..name/name..name.foo" == .foo replaceExtension ".foo" "..name/name..name.foo" == "..name/name..name.foo" addExtension ".foo" "..name/..." == "..name/....foo" fileExtension "..name/....foo" == .foo replaceExtension ".foo" "..name/....foo" == "..name/....foo" addExtension ".foo" "name.name/name" == "name.name/name.foo" fileExtension "name.name/name.foo" == .foo replaceExtension ".foo" "name.name/name.foo" == "name.name/name.foo" addExtension ".foo" "name.name/name." == "name.name/name..foo" fileExtension "name.name/name..foo" == .foo replaceExtension ".foo" "name.name/name..foo" == "name.name/name..foo" addExtension ".foo" "name.name/name.." == "name.name/name...foo" fileExtension "name.name/name...foo" == .foo replaceExtension ".foo" "name.name/name...foo" == "name.name/name...foo" addExtension ".foo" "name.name/.name" == "name.name/.name.foo" fileExtension "name.name/.name.foo" == .foo replaceExtension ".foo" "name.name/.name.foo" == "name.name/.name.foo" addExtension ".foo" "name.name/..name" == "name.name/..name.foo" fileExtension "name.name/..name.foo" == .foo replaceExtension ".foo" "name.name/..name.foo" == "name.name/..name.foo" addExtension ".foo" "name.name/name.name" == "name.name/name.name.foo" fileExtension "name.name/name.name.foo" == .foo replaceExtension ".foo" "name.name/name.name.foo" == "name.name/name.name.foo" addExtension ".foo" "name.name/name..name" == "name.name/name..name.foo" fileExtension "name.name/name..name.foo" == .foo replaceExtension ".foo" "name.name/name..name.foo" == "name.name/name..name.foo" addExtension ".foo" "name.name/..." == "name.name/....foo" fileExtension "name.name/....foo" == .foo replaceExtension ".foo" "name.name/....foo" == "name.name/....foo" addExtension ".foo" "name..name/name" == "name..name/name.foo" fileExtension "name..name/name.foo" == .foo replaceExtension ".foo" "name..name/name.foo" == "name..name/name.foo" addExtension ".foo" "name..name/name." == "name..name/name..foo" fileExtension "name..name/name..foo" == .foo replaceExtension ".foo" "name..name/name..foo" == "name..name/name..foo" addExtension ".foo" "name..name/name.." == "name..name/name...foo" fileExtension "name..name/name...foo" == .foo replaceExtension ".foo" "name..name/name...foo" == "name..name/name...foo" addExtension ".foo" "name..name/.name" == "name..name/.name.foo" fileExtension "name..name/.name.foo" == .foo replaceExtension ".foo" "name..name/.name.foo" == "name..name/.name.foo" addExtension ".foo" "name..name/..name" == "name..name/..name.foo" fileExtension "name..name/..name.foo" == .foo replaceExtension ".foo" "name..name/..name.foo" == "name..name/..name.foo" addExtension ".foo" "name..name/name.name" == "name..name/name.name.foo" fileExtension "name..name/name.name.foo" == .foo replaceExtension ".foo" "name..name/name.name.foo" == "name..name/name.name.foo" addExtension ".foo" "name..name/name..name" == "name..name/name..name.foo" fileExtension "name..name/name..name.foo" == .foo replaceExtension ".foo" "name..name/name..name.foo" == "name..name/name..name.foo" addExtension ".foo" "name..name/..." == "name..name/....foo" fileExtension "name..name/....foo" == .foo replaceExtension ".foo" "name..name/....foo" == "name..name/....foo" addExtension ".foo" ".../name" == ".../name.foo" fileExtension ".../name.foo" == .foo replaceExtension ".foo" ".../name.foo" == ".../name.foo" addExtension ".foo" ".../name." == ".../name..foo" fileExtension ".../name..foo" == .foo replaceExtension ".foo" ".../name..foo" == ".../name..foo" addExtension ".foo" ".../name.." == ".../name...foo" fileExtension ".../name...foo" == .foo replaceExtension ".foo" ".../name...foo" == ".../name...foo" addExtension ".foo" ".../.name" == ".../.name.foo" fileExtension ".../.name.foo" == .foo replaceExtension ".foo" ".../.name.foo" == ".../.name.foo" addExtension ".foo" ".../..name" == ".../..name.foo" fileExtension ".../..name.foo" == .foo replaceExtension ".foo" ".../..name.foo" == ".../..name.foo" addExtension ".foo" ".../name.name" == ".../name.name.foo" fileExtension ".../name.name.foo" == .foo replaceExtension ".foo" ".../name.name.foo" == ".../name.name.foo" addExtension ".foo" ".../name..name" == ".../name..name.foo" fileExtension ".../name..name.foo" == .foo replaceExtension ".foo" ".../name..name.foo" == ".../name..name.foo" addExtension ".foo" ".../..." == ".../....foo" fileExtension ".../....foo" == .foo replaceExtension ".foo" ".../....foo" == ".../....foo" addExtension ".foo" "name" == "name.foo" fileExtension "name.foo" == .foo replaceExtension ".foo" "name.foo" == "name.foo" addExtension ".foo" "name." == "name..foo" fileExtension "name..foo" == .foo replaceExtension ".foo" "name..foo" == "name..foo" addExtension ".foo" "name.." == "name...foo" fileExtension "name...foo" == .foo replaceExtension ".foo" "name...foo" == "name...foo" addExtension ".foo" ".name" == ".name.foo" fileExtension ".name.foo" == .foo replaceExtension ".foo" ".name.foo" == ".name.foo" addExtension ".foo" "..name" == "..name.foo" fileExtension "..name.foo" == .foo replaceExtension ".foo" "..name.foo" == "..name.foo" addExtension ".foo" "name.name" == "name.name.foo" fileExtension "name.name.foo" == .foo replaceExtension ".foo" "name.name.foo" == "name.name.foo" addExtension ".foo" "name..name" == "name..name.foo" fileExtension "name..name.foo" == .foo replaceExtension ".foo" "name..name.foo" == "name..name.foo" addExtension ".foo" "..." == "....foo" fileExtension "....foo" == .foo replaceExtension ".foo" "....foo" == "....foo" addExtension ".foo" "/name/name" == "/name/name.foo" fileExtension "/name/name.foo" == .foo replaceExtension ".foo" "/name/name.foo" == "/name/name.foo" addExtension ".foo" "/name/name." == "/name/name..foo" fileExtension "/name/name..foo" == .foo replaceExtension ".foo" "/name/name..foo" == "/name/name..foo" addExtension ".foo" "/name/name.." == "/name/name...foo" fileExtension "/name/name...foo" == .foo replaceExtension ".foo" "/name/name...foo" == "/name/name...foo" addExtension ".foo" "/name/.name" == "/name/.name.foo" fileExtension "/name/.name.foo" == .foo replaceExtension ".foo" "/name/.name.foo" == "/name/.name.foo" addExtension ".foo" "/name/..name" == "/name/..name.foo" fileExtension "/name/..name.foo" == .foo replaceExtension ".foo" "/name/..name.foo" == "/name/..name.foo" addExtension ".foo" "/name/name.name" == "/name/name.name.foo" fileExtension "/name/name.name.foo" == .foo replaceExtension ".foo" "/name/name.name.foo" == "/name/name.name.foo" addExtension ".foo" "/name/name..name" == "/name/name..name.foo" fileExtension "/name/name..name.foo" == .foo replaceExtension ".foo" "/name/name..name.foo" == "/name/name..name.foo" addExtension ".foo" "/name/..." == "/name/....foo" fileExtension "/name/....foo" == .foo replaceExtension ".foo" "/name/....foo" == "/name/....foo" addExtension ".foo" "/name./name" == "/name./name.foo" fileExtension "/name./name.foo" == .foo replaceExtension ".foo" "/name./name.foo" == "/name./name.foo" addExtension ".foo" "/name./name." == "/name./name..foo" fileExtension "/name./name..foo" == .foo replaceExtension ".foo" "/name./name..foo" == "/name./name..foo" addExtension ".foo" "/name./name.." == "/name./name...foo" fileExtension "/name./name...foo" == .foo replaceExtension ".foo" "/name./name...foo" == "/name./name...foo" addExtension ".foo" "/name./.name" == "/name./.name.foo" fileExtension "/name./.name.foo" == .foo replaceExtension ".foo" "/name./.name.foo" == "/name./.name.foo" addExtension ".foo" "/name./..name" == "/name./..name.foo" fileExtension "/name./..name.foo" == .foo replaceExtension ".foo" "/name./..name.foo" == "/name./..name.foo" addExtension ".foo" "/name./name.name" == "/name./name.name.foo" fileExtension "/name./name.name.foo" == .foo replaceExtension ".foo" "/name./name.name.foo" == "/name./name.name.foo" addExtension ".foo" "/name./name..name" == "/name./name..name.foo" fileExtension "/name./name..name.foo" == .foo replaceExtension ".foo" "/name./name..name.foo" == "/name./name..name.foo" addExtension ".foo" "/name./..." == "/name./....foo" fileExtension "/name./....foo" == .foo replaceExtension ".foo" "/name./....foo" == "/name./....foo" addExtension ".foo" "/name../name" == "/name../name.foo" fileExtension "/name../name.foo" == .foo replaceExtension ".foo" "/name../name.foo" == "/name../name.foo" addExtension ".foo" "/name../name." == "/name../name..foo" fileExtension "/name../name..foo" == .foo replaceExtension ".foo" "/name../name..foo" == "/name../name..foo" addExtension ".foo" "/name../name.." == "/name../name...foo" fileExtension "/name../name...foo" == .foo replaceExtension ".foo" "/name../name...foo" == "/name../name...foo" addExtension ".foo" "/name../.name" == "/name../.name.foo" fileExtension "/name../.name.foo" == .foo replaceExtension ".foo" "/name../.name.foo" == "/name../.name.foo" addExtension ".foo" "/name../..name" == "/name../..name.foo" fileExtension "/name../..name.foo" == .foo replaceExtension ".foo" "/name../..name.foo" == "/name../..name.foo" addExtension ".foo" "/name../name.name" == "/name../name.name.foo" fileExtension "/name../name.name.foo" == .foo replaceExtension ".foo" "/name../name.name.foo" == "/name../name.name.foo" addExtension ".foo" "/name../name..name" == "/name../name..name.foo" fileExtension "/name../name..name.foo" == .foo replaceExtension ".foo" "/name../name..name.foo" == "/name../name..name.foo" addExtension ".foo" "/name../..." == "/name../....foo" fileExtension "/name../....foo" == .foo replaceExtension ".foo" "/name../....foo" == "/name../....foo" addExtension ".foo" "/.name/name" == "/.name/name.foo" fileExtension "/.name/name.foo" == .foo replaceExtension ".foo" "/.name/name.foo" == "/.name/name.foo" addExtension ".foo" "/.name/name." == "/.name/name..foo" fileExtension "/.name/name..foo" == .foo replaceExtension ".foo" "/.name/name..foo" == "/.name/name..foo" addExtension ".foo" "/.name/name.." == "/.name/name...foo" fileExtension "/.name/name...foo" == .foo replaceExtension ".foo" "/.name/name...foo" == "/.name/name...foo" addExtension ".foo" "/.name/.name" == "/.name/.name.foo" fileExtension "/.name/.name.foo" == .foo replaceExtension ".foo" "/.name/.name.foo" == "/.name/.name.foo" addExtension ".foo" "/.name/..name" == "/.name/..name.foo" fileExtension "/.name/..name.foo" == .foo replaceExtension ".foo" "/.name/..name.foo" == "/.name/..name.foo" addExtension ".foo" "/.name/name.name" == "/.name/name.name.foo" fileExtension "/.name/name.name.foo" == .foo replaceExtension ".foo" "/.name/name.name.foo" == "/.name/name.name.foo" addExtension ".foo" "/.name/name..name" == "/.name/name..name.foo" fileExtension "/.name/name..name.foo" == .foo replaceExtension ".foo" "/.name/name..name.foo" == "/.name/name..name.foo" addExtension ".foo" "/.name/..." == "/.name/....foo" fileExtension "/.name/....foo" == .foo replaceExtension ".foo" "/.name/....foo" == "/.name/....foo" addExtension ".foo" "/..name/name" == "/..name/name.foo" fileExtension "/..name/name.foo" == .foo replaceExtension ".foo" "/..name/name.foo" == "/..name/name.foo" addExtension ".foo" "/..name/name." == "/..name/name..foo" fileExtension "/..name/name..foo" == .foo replaceExtension ".foo" "/..name/name..foo" == "/..name/name..foo" addExtension ".foo" "/..name/name.." == "/..name/name...foo" fileExtension "/..name/name...foo" == .foo replaceExtension ".foo" "/..name/name...foo" == "/..name/name...foo" addExtension ".foo" "/..name/.name" == "/..name/.name.foo" fileExtension "/..name/.name.foo" == .foo replaceExtension ".foo" "/..name/.name.foo" == "/..name/.name.foo" addExtension ".foo" "/..name/..name" == "/..name/..name.foo" fileExtension "/..name/..name.foo" == .foo replaceExtension ".foo" "/..name/..name.foo" == "/..name/..name.foo" addExtension ".foo" "/..name/name.name" == "/..name/name.name.foo" fileExtension "/..name/name.name.foo" == .foo replaceExtension ".foo" "/..name/name.name.foo" == "/..name/name.name.foo" addExtension ".foo" "/..name/name..name" == "/..name/name..name.foo" fileExtension "/..name/name..name.foo" == .foo replaceExtension ".foo" "/..name/name..name.foo" == "/..name/name..name.foo" addExtension ".foo" "/..name/..." == "/..name/....foo" fileExtension "/..name/....foo" == .foo replaceExtension ".foo" "/..name/....foo" == "/..name/....foo" addExtension ".foo" "/name.name/name" == "/name.name/name.foo" fileExtension "/name.name/name.foo" == .foo replaceExtension ".foo" "/name.name/name.foo" == "/name.name/name.foo" addExtension ".foo" "/name.name/name." == "/name.name/name..foo" fileExtension "/name.name/name..foo" == .foo replaceExtension ".foo" "/name.name/name..foo" == "/name.name/name..foo" addExtension ".foo" "/name.name/name.." == "/name.name/name...foo" fileExtension "/name.name/name...foo" == .foo replaceExtension ".foo" "/name.name/name...foo" == "/name.name/name...foo" addExtension ".foo" "/name.name/.name" == "/name.name/.name.foo" fileExtension "/name.name/.name.foo" == .foo replaceExtension ".foo" "/name.name/.name.foo" == "/name.name/.name.foo" addExtension ".foo" "/name.name/..name" == "/name.name/..name.foo" fileExtension "/name.name/..name.foo" == .foo replaceExtension ".foo" "/name.name/..name.foo" == "/name.name/..name.foo" addExtension ".foo" "/name.name/name.name" == "/name.name/name.name.foo" fileExtension "/name.name/name.name.foo" == .foo replaceExtension ".foo" "/name.name/name.name.foo" == "/name.name/name.name.foo" addExtension ".foo" "/name.name/name..name" == "/name.name/name..name.foo" fileExtension "/name.name/name..name.foo" == .foo replaceExtension ".foo" "/name.name/name..name.foo" == "/name.name/name..name.foo" addExtension ".foo" "/name.name/..." == "/name.name/....foo" fileExtension "/name.name/....foo" == .foo replaceExtension ".foo" "/name.name/....foo" == "/name.name/....foo" addExtension ".foo" "/name..name/name" == "/name..name/name.foo" fileExtension "/name..name/name.foo" == .foo replaceExtension ".foo" "/name..name/name.foo" == "/name..name/name.foo" addExtension ".foo" "/name..name/name." == "/name..name/name..foo" fileExtension "/name..name/name..foo" == .foo replaceExtension ".foo" "/name..name/name..foo" == "/name..name/name..foo" addExtension ".foo" "/name..name/name.." == "/name..name/name...foo" fileExtension "/name..name/name...foo" == .foo replaceExtension ".foo" "/name..name/name...foo" == "/name..name/name...foo" addExtension ".foo" "/name..name/.name" == "/name..name/.name.foo" fileExtension "/name..name/.name.foo" == .foo replaceExtension ".foo" "/name..name/.name.foo" == "/name..name/.name.foo" addExtension ".foo" "/name..name/..name" == "/name..name/..name.foo" fileExtension "/name..name/..name.foo" == .foo replaceExtension ".foo" "/name..name/..name.foo" == "/name..name/..name.foo" addExtension ".foo" "/name..name/name.name" == "/name..name/name.name.foo" fileExtension "/name..name/name.name.foo" == .foo replaceExtension ".foo" "/name..name/name.name.foo" == "/name..name/name.name.foo" addExtension ".foo" "/name..name/name..name" == "/name..name/name..name.foo" fileExtension "/name..name/name..name.foo" == .foo replaceExtension ".foo" "/name..name/name..name.foo" == "/name..name/name..name.foo" addExtension ".foo" "/name..name/..." == "/name..name/....foo" fileExtension "/name..name/....foo" == .foo replaceExtension ".foo" "/name..name/....foo" == "/name..name/....foo" addExtension ".foo" "/.../name" == "/.../name.foo" fileExtension "/.../name.foo" == .foo replaceExtension ".foo" "/.../name.foo" == "/.../name.foo" addExtension ".foo" "/.../name." == "/.../name..foo" fileExtension "/.../name..foo" == .foo replaceExtension ".foo" "/.../name..foo" == "/.../name..foo" addExtension ".foo" "/.../name.." == "/.../name...foo" fileExtension "/.../name...foo" == .foo replaceExtension ".foo" "/.../name...foo" == "/.../name...foo" addExtension ".foo" "/.../.name" == "/.../.name.foo" fileExtension "/.../.name.foo" == .foo replaceExtension ".foo" "/.../.name.foo" == "/.../.name.foo" addExtension ".foo" "/.../..name" == "/.../..name.foo" fileExtension "/.../..name.foo" == .foo replaceExtension ".foo" "/.../..name.foo" == "/.../..name.foo" addExtension ".foo" "/.../name.name" == "/.../name.name.foo" fileExtension "/.../name.name.foo" == .foo replaceExtension ".foo" "/.../name.name.foo" == "/.../name.name.foo" addExtension ".foo" "/.../name..name" == "/.../name..name.foo" fileExtension "/.../name..name.foo" == .foo replaceExtension ".foo" "/.../name..name.foo" == "/.../name..name.foo" addExtension ".foo" "/.../..." == "/.../....foo" fileExtension "/.../....foo" == .foo replaceExtension ".foo" "/.../....foo" == "/.../....foo" addExtension ".foo" "/name" == "/name.foo" fileExtension "/name.foo" == .foo replaceExtension ".foo" "/name.foo" == "/name.foo" addExtension ".foo" "/name." == "/name..foo" fileExtension "/name..foo" == .foo replaceExtension ".foo" "/name..foo" == "/name..foo" addExtension ".foo" "/name.." == "/name...foo" fileExtension "/name...foo" == .foo replaceExtension ".foo" "/name...foo" == "/name...foo" addExtension ".foo" "/.name" == "/.name.foo" fileExtension "/.name.foo" == .foo replaceExtension ".foo" "/.name.foo" == "/.name.foo" addExtension ".foo" "/..name" == "/..name.foo" fileExtension "/..name.foo" == .foo replaceExtension ".foo" "/..name.foo" == "/..name.foo" addExtension ".foo" "/name.name" == "/name.name.foo" fileExtension "/name.name.foo" == .foo replaceExtension ".foo" "/name.name.foo" == "/name.name.foo" addExtension ".foo" "/name..name" == "/name..name.foo" fileExtension "/name..name.foo" == .foo replaceExtension ".foo" "/name..name.foo" == "/name..name.foo" addExtension ".foo" "/..." == "/....foo" fileExtension "/....foo" == .foo replaceExtension ".foo" "/....foo" == "/....foo" throws InvalidExtension when extension is [] throws InvalidExtension when extension is [.] throws InvalidExtension when extension is [x] throws InvalidExtension when extension is [..] throws InvalidExtension when extension is [...] throws InvalidExtension when extension is [xy] throws InvalidExtension when extension is [foo] throws InvalidExtension when extension is [foo.] throws InvalidExtension when extension is [foo..] throws InvalidExtension when extension is [..foo] throws InvalidExtension when extension is [...foo] throws InvalidExtension when extension is [.foo.bar] throws InvalidExtension when extension is [.foo/bar] Restrictions Succeeding: Parsing "~/" should succeed with: "~/" Succeeding: Parsing "~/foo" should succeed with: "~/foo/" Succeeding: Parsing "~/foo/bar" should succeed with: "~/foo/bar/" Succeeding: Parsing "a.." should succeed with: "a../" Succeeding: Parsing "..a" should succeed with: "..a/" "../" should be rejected ".." should be rejected "/.." should be rejected "/foo/../bar/" should be rejected "/foo/bar/.." should be rejected Aeson Instances Decoding "["/foo/bar"]" as a [Path Abs Dir] should succeed. Decoding "["/foo/bar"]" as a [Path Rel Dir] should fail. Encoding "["/foo/bar/mu.txt"]" should succeed. QuasiQuotes [absdir|/|] == $(mkAbsDir "/") [absdir|/home|] == $(mkAbsDir "/home") [reldir|foo|] == $(mkRelDir "foo") [reldir|foo/bar|] == $(mkRelDir "foo/bar") [absfile|/home/chris/foo.txt|] == $(mkAbsFile "/home/chris/foo.txt") [relfile|foo|] == $(mkRelFile "foo") [relfile|chris/foo.txt|] == $(mkRelFile "chris/foo.txt") Finished in 0.0262 seconds 626 examples, 0 failures Test suite test: PASS Test suite logged to: dist-ghc/test/path-0.7.0-test.log Test suite validity-test: RUNNING... GenValid (Path Abs File) genValid :: Gen (Path Abs File) only generates valid '(Path Abs File)'s +++ OK, passed 100 tests. shrinkValid :: (Path Abs File -> [Path Abs File]) preserves validity +++ OK, passed 100 tests. never shrinks to itself for valid values +++ OK, passed 100 tests. GenValid (Path Rel File) genValid :: Gen (Path Rel File) only generates valid '(Path Rel File)'s +++ OK, passed 100 tests. shrinkValid :: (Path Rel File -> [Path Rel File]) preserves validity +++ OK, passed 100 tests. never shrinks to itself for valid values +++ OK, passed 100 tests. GenValid (Path Abs Dir) genValid :: Gen (Path Abs Dir) only generates valid '(Path Abs Dir)'s +++ OK, passed 100 tests. shrinkValid :: (Path Abs Dir -> [Path Abs Dir]) preserves validity +++ OK, passed 100 tests. never shrinks to itself for valid values +++ OK, passed 100 tests. GenValid (Path Rel Dir) genValid :: Gen (Path Rel Dir) only generates valid '(Path Rel Dir)'s +++ OK, passed 100 tests. shrinkValid :: (Path Rel Dir -> [Path Rel Dir]) preserves validity +++ OK, passed 100 tests. never shrinks to itself for valid values +++ OK, passed 100 tests. Parsing Path Abs Dir Produces valid paths when it succeeds +++ OK, passed 100 tests. Path Rel Dir Produces valid paths when it succeeds +++ OK, passed 100 tests. Path Abs File Produces valid paths when it succeeds +++ OK, passed 100 tests. Path Rel File Produces valid paths when it succeeds +++ OK, passed 100 tests. Operations () produces a valid path on when creating valid absolute file paths +++ OK, passed 100 tests. produces a valid path on when creating valid absolute directory paths +++ OK, passed 100 tests. produces a valid path on when creating valid relative file paths +++ OK, passed 100 tests. produces a valid path on when creating valid relative directory paths +++ OK, passed 100 tests. stripProperPrefix stripProperPrefix parent (parent child) = child Path Abs Dir Path Rel Dir +++ OK, passed 100 tests. stripProperPrefix parent (parent child) = child Path Rel Dir Path Rel Dir +++ OK, passed 100 tests. stripProperPrefix parent (parent child) = child Path Abs Dir Path Rel File +++ OK, passed 100 tests. stripProperPrefix parent (parent child) = child Path Rel Dir Path Rel File +++ OK, passed 100 tests. produces a valid path on when passed a valid absolute file paths +++ OK, passed 100 tests. produces a valid path on when passed a valid absolute directory paths +++ OK, passed 100 tests. produces a valid path on when passed a valid relative file paths +++ OK, passed 100 tests. produces a valid path on when passed a valid relative directory paths +++ OK, passed 100 tests. isProperPrefixOf isProperPrefixOf parent (parent child) Path Abs Dir Path Rel Dir +++ OK, passed 100 tests. isProperPrefixOf parent (parent child) Path Rel Dir Path Rel Dir +++ OK, passed 100 tests. isProperPrefixOf parent (parent child) Path Abs Dir Path Rel File +++ OK, passed 100 tests. isProperPrefixOf parent (parent child) Path Rel Dir Path Rel File +++ OK, passed 100 tests. parent produces a valid path on when passed a valid file path +++ OK, passed 100 tests. produces a valid path on when passed a valid directory path +++ OK, passed 100 tests. filename filename parent $(mkRelFile filename)) == filename $(mkRelFile filename) Path Abs Dir +++ OK, passed 100 tests. filename parent $(mkRelFile filename)) == filename $(mkRelFile filename) Path Rel Dir +++ OK, passed 100 tests. produces a valid path on when passed a valid absolute path +++ OK, passed 100 tests. produces a valid path on when passed a valid relative path +++ OK, passed 100 tests. dirname dirname parent $(mkRelDir dirname)) == dirname $(mkRelDir dirname) Path Abs Dir +++ OK, passed 100 tests. dirname parent $(mkRelDir dirname)) == dirname $(mkRelDir dirname) Path Rel Dir +++ OK, passed 100 tests. produces a valid path on when passed a valid absolute path +++ OK, passed 100 tests. produces a valid path on when passed a valid relative path +++ OK, passed 100 tests. Extensions if addExtension a b succeeds then parseRelFile b succeeds - 1 +++ OK, passed 100 tests. if addExtension a b succeeds then parseRelFile b succeeds - 2 +++ OK, passed 100 tests. (toFilePath . fromJust . addExtension ext) file == toFilePath a ++ b Path Abs File +++ OK, passed 100 tests. (toFilePath . fromJust . addExtension ext) file == toFilePath a ++ b Path Rel File +++ OK, passed 100 tests. splitExtension output joins to result in the original file Path Abs File +++ OK, passed 100 tests. splitExtension output joins to result in the original file Path Rel File +++ OK, passed 100 tests. splitExtension generates a valid filename and valid extension Path Abs File +++ OK, passed 100 tests. splitExtension generates a valid filename and valid extension Path Rel File +++ OK, passed 100 tests. splitExtension >=> uncurry addExtension . swap == return Path Abs File +++ OK, passed 100 tests. splitExtension >=> uncurry addExtension . swap == return Path Rel File +++ OK, passed 100 tests. uncurry addExtension . swap >=> splitExtension == return Path Abs File +++ OK, passed 100 tests. uncurry addExtension . swap >=> splitExtension == return Path Rel File +++ OK, passed 100 tests. fileExtension == (fmap snd) . splitExtension Path Abs File +++ OK, passed 100 tests. fileExtension == (fmap snd) . splitExtension Path Rel File +++ OK, passed 100 tests. flip addExtension file >=> fileExtension == return Path Abs File +++ OK, passed 100 tests. flip addExtension file >=> fileExtension == return Path Rel File +++ OK, passed 100 tests. (fileExtension >=> flip replaceExtension file) file == return file Path Abs File +++ OK, passed 100 tests. (fileExtension >=> flip replaceExtension file) file == return file Path Rel File +++ OK, passed 100 tests. Finished in 14.6560 seconds 60 examples, 0 failures Test suite validity-test: PASS Test suite logged to: dist-ghc/test/path-0.7.0-validity-test.log 2 of 2 test suites (2 of 2 test cases) passed. touch check-ghc-stamp Adding cdbs dependencies to debian/libghc-path-dev.substvars dh_installdirs -plibghc-path-dev \ debian/hlibrary.setup copy --builddir=dist-ghc --destdir=debian/tmp-inst-ghc Installing library in debian/tmp-inst-ghc/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/path-0.7.0-ItQkMO2BJUADmjR5L3rHpY . /usr/share/haskell-devscripts/Dh_Haskell.sh && \ extra_depends_recipe ghc Running dh_haskell_extra_depends ghc path-0.7.0.conf . /usr/share/haskell-devscripts/Dh_Haskell.sh && \ install_dev_recipe "libghc-path-dev" Running cd debian/tmp-inst-ghc Running mkdir -p usr/lib/haskell-packages/ghc/lib Running find usr/lib/haskell-packages/ghc/lib/ \( \! -name \*_p.a \! -name \*.p_hi \! -type d \) -exec install -Dm 644 \{\} ../libghc-path-dev/\{\} \; Running install -Dm 644 path-0.7.0.conf debian/libghc-path-dev/var/lib/ghc/package.conf.d/path-0.7.0.conf Running rm -f path-0.7.0.conf Running dh_haskell_provides -plibghc-path-dev Running dh_haskell_depends -plibghc-path-dev Running dh_haskell_shlibdeps -plibghc-path-dev dpkg-shlibdeps: warning: binaries to analyze should already be installed in their package's directory dh_haskell_blurbs "ghc" -plibghc-path-dev Adding cdbs dependencies to debian/libghc-path-prof.substvars dh_installdirs -plibghc-path-prof \ . /usr/share/haskell-devscripts/Dh_Haskell.sh && \ install_prof_recipe "libghc-path-prof" Running cd debian/tmp-inst-ghc Running mkdir -p usr/lib/haskell-packages/ghc/lib Running find usr/lib/haskell-packages/ghc/lib/ \! \( \! -name \*_p.a \! -name \*.p_hi \) -exec install -Dm 644 \{\} ../libghc-path-prof/\{\} \; Running dh_haskell_provides -plibghc-path-prof Running dh_haskell_depends -plibghc-path-prof dh_haskell_blurbs "ghc" -plibghc-path-prof dh_installdocs -plibghc-path-dev dh_installexamples -plibghc-path-dev dh_installman -plibghc-path-dev dh_installinfo -plibghc-path-dev dh_installmenu -plibghc-path-dev dh_installcron -plibghc-path-dev dh_systemd_enable -plibghc-path-dev dh_installinit -plibghc-path-dev dh_installdebconf -plibghc-path-dev dh_installemacsen -plibghc-path-dev dh_installcatalogs -plibghc-path-dev dh_installpam -plibghc-path-dev dh_installlogrotate -plibghc-path-dev dh_installlogcheck -plibghc-path-dev dh_installchangelogs -plibghc-path-dev ./CHANGELOG dh_installudev -plibghc-path-dev dh_lintian -plibghc-path-dev dh_bugfiles -plibghc-path-dev dh_install -plibghc-path-dev dh_systemd_start -plibghc-path-dev dh_link -plibghc-path-dev dh_buildinfo -plibghc-path-dev dh_installmime -plibghc-path-dev dh_installgsettings -plibghc-path-dev dh_installdocs -plibghc-path-prof dh_installexamples -plibghc-path-prof dh_installman -plibghc-path-prof dh_installinfo -plibghc-path-prof dh_installmenu -plibghc-path-prof dh_installcron -plibghc-path-prof dh_systemd_enable -plibghc-path-prof dh_installinit -plibghc-path-prof dh_installdebconf -plibghc-path-prof dh_installemacsen -plibghc-path-prof dh_installcatalogs -plibghc-path-prof dh_installpam -plibghc-path-prof dh_installlogrotate -plibghc-path-prof dh_installlogcheck -plibghc-path-prof dh_installchangelogs -plibghc-path-prof ./CHANGELOG dh_installudev -plibghc-path-prof dh_lintian -plibghc-path-prof dh_bugfiles -plibghc-path-prof dh_install -plibghc-path-prof dh_systemd_start -plibghc-path-prof dh_link -plibghc-path-prof dh_buildinfo -plibghc-path-prof dh_installmime -plibghc-path-prof dh_installgsettings -plibghc-path-prof dh_strip -plibghc-path-dev --no-automatic-dbgsym dh_strip_nondeterminism -plibghc-path-dev dh_compress -plibghc-path-dev -X .haddock -X .hs -X .txt dh_fixperms -plibghc-path-dev dh_makeshlibs -plibghc-path-dev -XlibHS dh_strip -plibghc-path-prof --no-automatic-dbgsym dh_strip_nondeterminism -plibghc-path-prof dh_compress -plibghc-path-prof -X .haddock -X .hs -X .txt dh_fixperms -plibghc-path-prof dh_makeshlibs -plibghc-path-prof -XlibHS dh_installdeb -plibghc-path-dev dh_perl -plibghc-path-dev dh_shlibdeps -plibghc-path-dev -- --ignore-missing-info dpkg-shlibdeps: warning: debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so contains an unresolvable reference to symbol stg_gc_pp: it's probably a plugin dpkg-shlibdeps: warning: 27 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSbinary-0.8.7.0-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSghc-boot-th-8.8.4-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSuuid-types-1.0.3-FhMEClLs6wcFg4Ad7mfYKz-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSbase-compat-batteries-0.11.1-LOY5lyev4zYDDSw7XooUgP-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSunordered-containers-0.2.10.0-IpJ3IfcThvdASaOHaltDG-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libutil.so.1 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSbase-compat-0.11.1-4oueEGUxmwHC6tuHqQ6hE2-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSpretty-1.1.3.6-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libdl.so.2 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSbytestring-0.10.10.1-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSarray-0.5.4.0-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSbase-orphans-0.8.2-1Y1ZqNmIsRFEurBzE3x0AA-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHScontainers-0.6.2.1-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSth-abstraction-0.3.2.0-D5zRQZUNFcq6kU1WHIrSvs-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHStagged-0.8.6-FYc8l1vwILF5OSKkSTSNII-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against librt.so.1 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libm.so.6 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSprimitive-0.7.0.1-CN4ea3Jrhra6yENuqrDg51-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHStime-1.9.3-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSdeepseq-1.4.4.0-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHStime-compat-1.9.3-I8Rym0skYuI1tMugxAzG4l-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSscientific-0.3.6.2-515BMTDGGDlGUsuqXU94gZ-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSdlist-0.8.0.8-JR3J30JsCPy8t4wCS6AU0f-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSrandom-1.1-CUqV1zxrwrE4K5XCdTZSYy-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSattoparsec-0.13.2.4-Ab3vFYnVhC6LY7sYuAbpTr-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libgmp.so.10 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSunix-2.7.2.2-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSexceptions-0.10.4-9CfD2hJyZLFIbks3iYGf0k-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSinteger-logarithms-1.0.3-Io2BpkYkr962ot9Aw78Hlo-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHStransformers-0.5.6.2-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSstm-2.5.0.0-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSmtl-2.2.2-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libHSinteger-gmp-1.0.2.0-ghc8.8.4.so (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libghc-path-dev/usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.8.4/libHSpath-0.7.0-ItQkMO2BJUADmjR5L3rHpY-ghc8.8.4.so was not linked against libpthread.so.0 (it uses none of the library's symbols) dh_installdeb -plibghc-path-prof dh_perl -plibghc-path-prof dh_shlibdeps -plibghc-path-prof -- --ignore-missing-info dh_gencontrol -plibghc-path-dev -- '-DGHC-Package=${haskell:ghc-package}' dpkg-gencontrol: warning: Conflicts field of package libghc-path-dev: substitution variable ${haskell:Conflicts} used, but is not defined dpkg-gencontrol: warning: package libghc-path-dev: substitution variable ${haskell:ghc-version} unused, but is defined dh_md5sums -plibghc-path-dev dh_builddeb -plibghc-path-dev dpkg-deb: building package 'libghc-path-dev' in '../libghc-path-dev_0.7.0-3+b1_amd64.deb'. dh_gencontrol -plibghc-path-prof dpkg-gencontrol: warning: Conflicts field of package libghc-path-prof: substitution variable ${haskell:Conflicts} used, but is not defined dpkg-gencontrol: warning: package libghc-path-prof: substitution variable ${haskell:ghc-version} unused, but is defined dh_md5sums -plibghc-path-prof dh_builddeb -plibghc-path-prof dpkg-deb: building package 'libghc-path-prof' in '../libghc-path-prof_0.7.0-3+b1_amd64.deb'. dpkg-genbuildinfo --build=any dpkg-genchanges --build=any >../haskell-path_0.7.0-3+b1_amd64.changes dpkg-genchanges: warning: substitution variable ${haskell:ShortDescription} used, but is not defined dpkg-genchanges: warning: substitution variable ${haskell:ShortBlurb} used, but is not defined dpkg-genchanges: warning: substitution variable ${haskell:ShortDescription} used, but is not defined dpkg-genchanges: warning: substitution variable ${haskell:ShortBlurb} used, but is not defined dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/haskell-path-o46Nq7 /tmp/haskell-path-0.7.0-3+b1hwltgmxi I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.SWTz89pgfd... I: success in 614.4983 seconds md5: libghc-path-dev_0.7.0-3+b1_amd64.deb: OK md5: libghc-path-prof_0.7.0-3+b1_amd64.deb: OK sha1: libghc-path-dev_0.7.0-3+b1_amd64.deb: OK sha1: libghc-path-prof_0.7.0-3+b1_amd64.deb: OK sha256: libghc-path-dev_0.7.0-3+b1_amd64.deb: OK sha256: libghc-path-prof_0.7.0-3+b1_amd64.deb: OK Checksums: OK