Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/o/ocaml-obuild/ocaml-obuild_0.1.10-3+b2_amd64.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/ocaml-obuild-0.1.10-3+b2swwxokwz/ocaml-obuild_0.1.10-3+b2_amd64.buildinfo Get source package info: ocaml-obuild=0.1.10-3 Source URL: http://snapshot.notset.fr/mr/package/ocaml-obuild/0.1.10-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-4 autopoint=0.19.8.1-10 autotools-dev=20180224.1 base-files=11 base-passwd=3.5.48 bash=5.0-7 binutils=2.35.1-2 binutils-common=2.35.1-2 binutils-x86-64-linux-gnu=2.35.1-2 bsdextrautils=2.36-3+b1 bsdutils=1:2.36-3+b1 build-essential=12.8 bzip2=1.0.8-4 coreutils=8.32-4+b1 cpp=4:10.2.0-1 cpp-10=10.2.0-15 dash=0.5.10.2-7 debconf=1.5.74 debhelper=13.2.1 debianutils=4.11.2 dh-autoreconf=19 dh-ocaml=1.1.3 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.2.0-1 g++-10=10.2.0-15 gcc=4:10.2.0-1 gcc-10=10.2.0-15 gcc-10-base=10.2.0-15 gettext=0.19.8.1-10 gettext-base=0.19.8.1-10 grep=3.4-1 groff-base=1.22.4-5 gzip=1.10-2 hostname=3.23 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-15 libatomic1=10.2.0-15 libattr1=1:2.4.48-5 libaudit-common=1:2.8.5-3 libaudit1=1:2.8.5-3+b1 libbinutils=2.35.1-2 libblkid1=2.36-3+b1 libbz2-1.0=1.0.8-4 libc-bin=2.31-4 libc-dev-bin=2.31-4 libc6=2.31-4 libc6-dev=2.31-4 libcap-ng0=0.7.9-2.2 libcc1-0=10.2.0-15 libcom-err2=1.45.6-1 libcroco3=0.6.13-1 libcrypt-dev=1:4.4.17-1 libcrypt1=1:4.4.17-1 libctf-nobfd0=2.35.1-2 libctf0=2.35.1-2 libdb5.3=5.3.28+dfsg1-0.6 libdebconfclient0=0.254 libdebhelper-perl=13.2.1 libdpkg-perl=1.20.5 libelf1=0.181-1 libffi7=3.3-4 libfile-stripnondeterminism-perl=1.9.0-1 libgcc-10-dev=10.2.0-15 libgcc-s1=10.2.0-15 libgcrypt20=1.8.6-2 libgdbm-compat4=1.18.1-5.1 libgdbm6=1.18.1-5.1 libglib2.0-0=2.66.1-1 libgmp10=2:6.2.0+dfsg-6 libgomp1=10.2.0-15 libgpg-error0=1.38-2 libgssapi-krb5-2=1.17-10 libicu67=67.1-4 libisl22=0.22.1-1 libitm1=10.2.0-15 libk5crypto3=1.17-10 libkeyutils1=1.6.1-2 libkrb5-3=1.17-10 libkrb5support0=1.17-10 liblsan0=10.2.0-15 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-3+b1 libmpc3=1.2.0-1 libmpfr6=4.1.0-3 libncurses-dev=6.2+20200918-1 libncurses5-dev=6.2+20200918-1 libncurses6=6.2+20200918-1 libncursesw6=6.2+20200918-1 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libnss-nis=3.1-3 libnss-nisplus=1.3-3 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 libquadmath0=10.2.0-15 libseccomp2=2.4.4-1 libselinux1=3.1-2 libsigsegv2=2.12-2 libsmartcols1=2.36-3+b1 libssl1.1=1.1.1h-1 libstdc++-10-dev=10.2.0-15 libstdc++6=10.2.0-15 libsub-override-perl=0.09-2 libsystemd0=246.6-1 libtinfo6=6.2+20200918-1 libtirpc-common=1.2.6-2 libtirpc-dev=1.2.6-2 libtirpc3=1.2.6-2 libtool=2.4.6-14 libtsan0=10.2.0-15 libubsan1=10.2.0-15 libuchardet0=0.0.7-1 libudev1=246.6-1 libunistring2=0.9.10-4 libuuid1=2.36-3+b1 libxml2=2.9.10+dfsg-6 libzstd1=1.4.5+dfsg-4 linux-libc-dev=5.8.14-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+20200918-1 ncurses-bin=6.2+20200918-1 ocaml-base-nox=4.11.1-3 ocaml-compiler-libs=4.11.1-3 ocaml-interp=4.11.1-3 ocaml-nox=4.11.1-3 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-5 tar=1.30+dfsg-7 util-linux=2.36-3+b1 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/20201016T150844Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20201011T210159Z/ 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 ocaml-obuild=0.1.10-3 && mkdir -p /build/ocaml-obuild-drmXwJ && dpkg-source --no-check -x /*.dsc /build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10 && cd /build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10 && { printf '%s' 'ocaml-obuild (0.1.10-3+b2) sid; urgency=low, binary-only=yes * Binary-only non-maintainer upload for amd64; no source changes. * Rebuild with OCaml 4.11.1 -- amd64 / i386 Build Daemon (x86-ubc-02) Tue, 13 Oct 2020 01:18:03 +0000 '; cat debian/changelog; } > debian/changelog.debrebuild && mv debian/changelog.debrebuild debian/changelog && chown -R builduser:builduser /build/ocaml-obuild-drmXwJ" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1602551883" dpkg-buildpackage -uc -a amd64 --build=any" --customize-hook=sync-out /build/ocaml-obuild-drmXwJ /tmp/ocaml-obuild-0.1.10-3+b2swwxokwz bullseye /dev/null deb http://snapshot.notset.fr/archive/debian/20201011T210159Z 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.9DgR67Q9IO 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.9DgR67Q9IO Reading package lists... Building dependency tree... util-linux is already the newest version (2.36-3+b1). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 134 kB of archives. After this operation, 397 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20201011T210159Z unstable/main amd64 libfakeroot amd64 1.25.3-1 [47.0 kB] Get:2 http://snapshot.notset.fr/archive/debian/20201011T210159Z unstable/main amd64 fakeroot amd64 1.25.3-1 [87.0 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (1093 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 ... 4592 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.25.3-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.25.3-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.25.3-1_amd64.deb ... Unpacking fakeroot (1.25.3-1) ... Setting up libfakeroot:amd64 (1.25.3-1) ... Setting up fakeroot (1.25.3-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.31-4) ... 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/20201016T150844Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20201011T210159Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.9DgR67Q9IO Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Get:2 http://snapshot.notset.fr/archive/debian/20201016T150844Z unstable InRelease [146 kB] Hit:3 http://snapshot.notset.fr/archive/debian/20201011T210159Z 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/20201016T150844Z unstable/main amd64 Packages Ign:6 http://snapshot.notset.fr/archive/debian/20201016T150844Z unstable/main amd64 Packages Ign:6 http://snapshot.notset.fr/archive/debian/20201016T150844Z unstable/main amd64 Packages Get:6 http://snapshot.notset.fr/archive/debian/20201016T150844Z unstable/main amd64 Packages [11.4 MB] Fetched 34.1 MB in 30s (1124 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.9DgR67Q9IO I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d ocaml-obuild=0.1.10-3 && mkdir -p /build/ocaml-obuild-drmXwJ && dpkg-source --no-check -x /*.dsc /build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10 && cd /build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10 && { printf '%s' 'ocaml-obuild (0.1.10-3+b2) sid; urgency=low, binary-only=yes * Binary-only non-maintainer upload for amd64; no source changes. * Rebuild with OCaml 4.11.1 -- amd64 / i386 Build Daemon (x86-ubc-02) Tue, 13 Oct 2020 01:18:03 +0000 '; cat debian/changelog; } > debian/changelog.debrebuild && mv debian/changelog.debrebuild debian/changelog && chown -R builduser:builduser /build/ocaml-obuild-drmXwJ"' exec /tmp/mmdebstrap.9DgR67Q9IO Reading package lists... NOTICE: 'ocaml-obuild' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/ocaml-team/ocaml-obuild.git Please use: git clone https://salsa.debian.org/ocaml-team/ocaml-obuild.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 88.3 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main ocaml-obuild 0.1.10-3 (dsc) [2019 B] Get:2 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main ocaml-obuild 0.1.10-3 (tar) [81.6 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main ocaml-obuild 0.1.10-3 (diff) [4716 B] Fetched 88.3 kB in 0s (899 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'ocaml-obuild_0.1.10-3.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting ocaml-obuild in /build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10 dpkg-source: info: unpacking ocaml-obuild_0.1.10.orig.tar.gz dpkg-source: info: unpacking ocaml-obuild_0.1.10-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying bytecode-only.diff I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1602551883" dpkg-buildpackage -uc -a amd64 --build=any"' exec /tmp/mmdebstrap.9DgR67Q9IO dpkg-buildpackage: info: source package ocaml-obuild dpkg-buildpackage: info: source version 0.1.10-3+b2 dpkg-buildpackage: info: source distribution sid dpkg-buildpackage: info: source changed by amd64 / i386 Build Daemon (x86-ubc-02) dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 fakeroot debian/rules clean dh clean --with ocaml dh: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_ocamlclean dh_clean dh_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use) debian/rules build-arch dh build-arch --with ocaml dh: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_update_autotools_config -a dh_ocamlinit -a debian/rules override_dh_auto_build make[1]: Entering directory '/build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10' ./bootstrap 4.11.1 Using compat402.ml COMPILING compat COMPILING fugue File "fugue.ml", line 215, characters 18-36: 215 | let compare = Pervasives.compare ^^^^^^^^^^^^^^^^^^ Alert deprecated: module Stdlib.Pervasives Use Stdlib instead. If you need to stay compatible with OCaml < 4.07, you can use the stdlib-shims library: https://github.com/ocaml/stdlib-shims COMPILING filepath COMPILING filesystem BUILDING library Ext.cmo COMPILING types COMPILING gconf COMPILING filetype COMPILING dag COMPILING libname COMPILING pp File "pp.ml", line 13, characters 26-42: 13 | let of_string s = match String.lowercase s with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. COMPILING expr File "expr.ml", lines 129-131, characters 20-33: 129 | ....................match (string_split ':' v ~limit:2) with 130 | [ _ ] -> ("", v) 131 | | [ p1; rest] -> (p1, rest)... Warning 8: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_::_::_::_|[]) File "expr.ml", lines 132-134, characters 23-35: 132 | .......................match (string_split '-' rest ~limit:2) with 133 | [ _ ] -> (p1, rest, "") 134 | | [ p2 ; p3 ] -> (p1, p2, p3)... Warning 8: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_::_::_::_|[]) COMPILING utils File "utils.ml", line 70, characters 23-73: 70 | try let _ = List.find (fun n -> Filesystem.exists (n p)) names in true ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 5: this function application is partial, maybe some arguments are missing. COMPILING modname File "modname.ml", line 22, characters 12-26: 22 | else if Char.uppercase x.[0] <> x.[0] then (raise (InvalidModuleName x)) ^^^^^^^^^^^^^^ Alert deprecated: Stdlib.Char.uppercase Use Char.uppercase_ascii instead. File "modname.ml", line 27, characters 15-34: 27 | let to_dir x = String.uncapitalize x ^^^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.uncapitalize Use String.uncapitalize_ascii instead. File "modname.ml", line 28, characters 27-46: 28 | let to_x ext modname = fn (String.uncapitalize modname ^ ext) ^^^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.uncapitalize Use String.uncapitalize_ascii instead. File "modname.ml", line 47, characters 34-51: 47 | let of_directory filename = wrap (String.capitalize (fn_to_string filename)) ^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.capitalize Use String.capitalize_ascii instead. File "modname.ml", line 49, characters 12-29: 49 | try wrap (String.capitalize (Filename.chop_extension (fn_to_string filename))) ^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.capitalize Use String.capitalize_ascii instead. COMPILING taskdep COMPILING helper COMPILING dagutils COMPILING process COMPILING findlibConf COMPILING scheduler COMPILING prog COMPILING dependencies COMPILING generators COMPILING hier File "hier.ml", line 88, characters 15-34: 88 | let name = String.uncapitalize modname in ^^^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.uncapitalize Use String.uncapitalize_ascii instead. File "hier.ml", line 194, characters 28-45: 194 | let m = try Modname.wrap (String.capitalize name) ^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.capitalize Use String.capitalize_ascii instead. COMPILING meta COMPILING metacache COMPILING target COMPILING dist COMPILING project File "project.ml", line 84, characters 8-24: 84 | match String.lowercase value with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "project.ml", line 96, characters 53-70: 96 | let wrap_module_nice s = Hier.make [(Modname.wrap (String.capitalize s))] in ^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.capitalize Use String.capitalize_ascii instead. File "project.ml", line 105, characters 10-26: 105 | match String.lowercase k with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "project.ml", line 207, characters 15-31: 207 | match String.lowercase blockName with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "project.ml", line 224, characters 13-29: 224 | (match String.lowercase k with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "project.ml", line 255, characters 17-33: 255 | match String.lowercase blockName with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "project.ml", line 267, characters 13-29: 267 | (match String.lowercase k with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "project.ml", line 386, characters 13-29: 386 | (match String.lowercase k with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "project.ml", line 477, characters 15-31: 477 | match String.lowercase blockName with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "project.ml", line 488, characters 14-30: 488 | match String.lowercase k with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. COMPILING analyze File "analyze.ml", line 110, characters 23-39: 110 | Hashtbl.add h (String.lowercase k) (default "" v) ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. COMPILING configure File "configure.ml", line 34, characters 57-73: 34 | add (sprintf "#define PROJECT_FLAG_%s %d\n" (String.uppercase name) (if v then 1 else 0)) ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.uppercase Use String.uppercase_ascii instead. COMPILING prepare File "prepare.ml", line 379, characters 10-113: 379 | (match file_entry with Hier.FileEntry _ -> SimpleModule | Hier.GeneratedFileEntry _ -> GeneratedModule) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DirectoryEntry _ COMPILING buildprogs COMPILING build COMPILING exception BUILDING library Obuild.cmo COMPILING sdist COMPILING doc COMPILING init File "init.ml", line 98, characters 45-62: 98 | let modules = List.map (fun m -> String.capitalize $ strip_ext ~ext:".ml" m) ^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.capitalize Use String.capitalize_ascii instead. COMPILING help COMPILING install COMPILING path_generated COMPILING main LINKING obuild.bootstrap Configuring obuild-0.1.9... [ 1 of 57] Compiling Ext.Compat [ 2 of 57] Compiling Ext.Fugue File "ext/fugue.ml", line 215, characters 18-36: 215 | let compare = Pervasives.compare ^^^^^^^^^^^^^^^^^^ Alert deprecated: module Stdlib.Pervasives Use Stdlib instead. If you need to stay compatible with OCaml < 4.07, you can use the stdlib-shims library: https://github.com/ocaml/stdlib-shims [ 3 of 57] Intfing Ext.Filepath [ 4 of 57] Compiling Ext.Filepath [ 5 of 57] Intfing Ext.Filesystem [ 6 of 57] Compiling Ext.Filesystem File "ext/filesystem.ml", lines 18-21, characters 11-58: 18 | ...........match (Unix.lstat fent).Unix.st_kind with 19 | | Unix.S_DIR -> rmdir_recursive (Unix.rmdir) fent 20 | | Unix.S_REG -> Unix.unlink fent 21 | | _ -> raise (UnexpectedFileType fent) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Unix.file_kind. [ 7 of 57] Packing Ext [ 8 of 57] Linking library dist/build/lib-obuild.ext/obuild_ext.cmxa [ 8 of 57] Linking library dist/build/lib-obuild.ext/obuild_ext.cmxs [ 8 of 57] Linking library dist/build/lib-obuild.ext/obuild_ext.cma [ 9 of 57] Checking dist/build/lib-obuild.ext [10 of 57] Compiling Obuild.Filetype [11 of 57] Compiling Obuild.Gconf [12 of 57] Compiling Obuild.Pp [13 of 57] Compiling Obuild.Dag File "obuild/pp.ml", line 13, characters 26-42: 13 | let of_string s = match String.lowercase s with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. [14 of 57] Compiling Obuild.Expr [15 of 57] Compiling Obuild.Modname File "obuild/modname.ml", line 22, characters 12-26: 22 | else if Char.uppercase x.[0] <> x.[0] then (raise (InvalidModuleName x)) ^^^^^^^^^^^^^^ Alert deprecated: Stdlib.Char.uppercase Use Char.uppercase_ascii instead. File "obuild/modname.ml", line 27, characters 15-34: 27 | let to_dir x = String.uncapitalize x ^^^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.uncapitalize Use String.uncapitalize_ascii instead. File "obuild/modname.ml", line 28, characters 27-46: 28 | let to_x ext modname = fn (String.uncapitalize modname ^ ext) ^^^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.uncapitalize Use String.uncapitalize_ascii instead. File "obuild/modname.ml", line 47, characters 34-51: 47 | let of_directory filename = wrap (String.capitalize (fn_to_string filename)) ^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.capitalize Use String.capitalize_ascii instead. File "obuild/modname.ml", line 49, characters 12-29: 49 | try wrap (String.capitalize (Filename.chop_extension (fn_to_string filename))) ^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.capitalize Use String.capitalize_ascii instead. [16 of 57] Compiling Obuild.Types File "obuild/expr.ml", lines 129-131, characters 20-33: 129 | ....................match (string_split ':' v ~limit:2) with 130 | [ _ ] -> ("", v) 131 | | [ p1; rest] -> (p1, rest)... Warning 8: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_::_::_::_|[]) File "obuild/expr.ml", lines 132-134, characters 23-35: 132 | .......................match (string_split '-' rest ~limit:2) with 133 | [ _ ] -> (p1, rest, "") 134 | | [ p2 ; p3 ] -> (p1, p2, p3)... Warning 8: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_::_::_::_|[]) File "obuild/expr.ml", lines 216-222, characters 8-9: 216 | ........(match r with 217 | | Token.RPAREN :: r -> (Paren e, r) 218 | | Token.OR :: _ | Token.AND :: _ -> 219 | let (e, r) = parse_bin_expr e r in 220 | loop e r 221 | | _ -> raise UnbalancedParenthesis; 222 | ) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Token.t. File "obuild/expr.ml", lines 209-231, characters 4-82: 209 | ....match l with 210 | | [] -> raise MalformedExpression 211 | | Token.NOT :: r -> 212 | let (e, r) = parse_sub_expr r in ((Not e), r) 213 | | Token.LPAREN :: r -> ... 228 | | Token.LT :: Token.VER v :: r -> (Lt v, r) 229 | | Token.LE :: Token.VER v :: r -> (Le v, r) 230 | | Token.NE :: Token.VER v :: r -> (Ne v, r) 231 | | z -> raise (UnknownExpression (showList "," Token.to_string z)) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Token.t. File "obuild/expr.ml", lines 233-236, characters 4-36: 233 | ....match l with 234 | | Token.OR :: r -> let (e, r) = parse_sub_expr r in ((Or (expr,e)), r) 235 | | Token.AND :: r -> let (e, r) = parse_sub_expr r in ((And (expr,e)), r) 236 | | _ -> raise MalformedExpression Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Token.t. File "obuild/expr.ml", lines 268-271, characters 2-73: 268 | ..match Token.lexer s with 269 | | [] -> raise ExpressionEmpty 270 | | Token.ID name :: constraints -> (name, (parse_constraints name constraints)) 271 | | x :: _ -> raise (InvalidDependencyName (Token.to_string x)) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Token.t. [17 of 57] Compiling Obuild.Taskdep [18 of 57] Compiling Obuild.Libname [19 of 57] Compiling Obuild.Utils [20 of 57] Compiling Obuild.Dagutils File "obuild/utils.ml", line 70, characters 23-73: 70 | try let _ = List.find (fun n -> Filesystem.exists (n p)) names in true ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 5: this function application is partial, maybe some arguments are missing. [21 of 57] Compiling Obuild.Helper [22 of 57] Compiling Obuild.Process File "obuild/process.ml", lines 95-97, characters 2-57: 95 | ..match pstat with 96 | | Unix.WEXITED 0 -> Success (Buffer.contents p.out.buf, Buffer.contents p.err.buf, Unix.gettimeofday () -. p.time) 97 | | _ -> Failure (Buffer.contents p.err.buf) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Unix.process_status. [23 of 57] Compiling Obuild.Scheduler [24 of 57] Compiling Obuild.FindlibConf [25 of 57] Compiling Obuild.Prog [26 of 57] Compiling Obuild.Meta [27 of 57] Compiling Obuild.Generators File "obuild/generators.ml", line 55, characters 10-101: 55 | let s = match ext with Filetype.FileOther s -> s | _ -> raise (GeneratorNotFound (fp_to_string fp)) in ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Filetype.t. [28 of 57] Compiling Obuild.Dependencies [29 of 57] Compiling Obuild.Hier File "obuild/meta.ml", lines 129-130, characters 27-67: 129 | ...........................match p with Predicate.Neg n -> not (List.mem n constraints) 130 | | _ -> List.mem p constraints....... Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Predicate.t. File "obuild/meta.ml", lines 139-140, characters 29-63: 139 | .............................match p with Predicate.Neg n -> not (List.mem n preds) 140 | | _ -> List.mem p preds............... Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Predicate.t. File "obuild/meta.ml", lines 315-319, characters 28-36: 315 | ............................function 316 | | COMMA :: ID s :: xs -> let (l, r) = parse_predicate xs in ((Predicate.of_string s) :: l, r) 317 | | COMMA :: MINUS :: ID s :: xs -> 318 | let (l, r) = parse_predicate xs in ((Predicate.Neg (Predicate.of_string s)) :: l, r) 319 | | xs -> ([], xs) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 324-327, characters 48-95: 324 | ................................................match xs2 with 325 | | RPAREN :: xs3 -> 326 | ((Predicate.of_string s) :: preds, xs3) 327 | | _ -> raise (MetaParseError (name, ("expecting ')' after " ^ field ^ "'s predicate"))) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 330-333, characters 48-95: 330 | ................................................match xs2 with 331 | | RPAREN :: xs3 -> 332 | ((Predicate.Neg (Predicate.of_string s)) :: preds, xs3) 333 | | _ -> raise (MetaParseError (name, ("expecting ')' after " ^ field ^ "'s predicate"))) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 321-335, characters 40-20: 321 | ........................................function 322 | | LPAREN :: RPAREN :: xs -> ([], xs) 323 | | LPAREN :: ID s :: xs -> 324 | (let (preds, xs2) = parse_predicate xs in match xs2 with 325 | | RPAREN :: xs3 -> ... 332 | ((Predicate.Neg (Predicate.of_string s)) :: preds, xs3) 333 | | _ -> raise (MetaParseError (name, ("expecting ')' after " ^ field ^ "'s predicate"))) 334 | ) 335 | | xs -> ([], xs) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 347-354, characters 8-75: 347 | ........match xs2 with 348 | | PLUSEQ :: S reqs :: xs3 349 | | EQ :: S reqs :: xs3 -> 350 | let deps = List.map (fun r -> Libname.of_string r) 351 | $ (List.filter (fun x -> x <> "") $ string_split_pred (fun c -> List.mem c [',';' ']) reqs) 352 | in 353 | parse pkg_name { acc with Pkg.requires = (preds, (List.rev deps)) :: acc.Pkg.requires } xs3 354 | | _ -> raise (MetaParseError (pkg_name, "parsing requires failed")) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 361-365, characters 8-74: 361 | ........match xs2 with 362 | | EQ :: S v :: xs3 -> 363 | let nacc = { acc with Pkg.warning = acc.Pkg.warning @ [(preds, v)] } in 364 | parse pkg_name nacc xs3 365 | | _ -> raise (MetaParseError (pkg_name, "parsing warning failed")) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 370-377, characters 8-74: 370 | ........match xs2 with 371 | | PLUSEQ :: S v :: xs3 -> 372 | let nacc = { acc with Pkg.append_archives = acc.Pkg.append_archives @ [(preds, v)] } in 373 | parse pkg_name nacc xs3 374 | | EQ :: S v :: xs3 -> 375 | let nacc = { acc with Pkg.archives = acc.Pkg.archives @ [(preds, v)] } in 376 | parse pkg_name nacc xs3 377 | | _ -> raise (MetaParseError (pkg_name, "parsing archive failed")) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 382-389, characters 8-73: 382 | ........match xs2 with 383 | | PLUSEQ :: S v :: xs3 -> 384 | let nacc = { acc with Pkg.append_archives = acc.Pkg.append_archives @ [(preds, v)] } in 385 | parse pkg_name nacc xs3 386 | | EQ :: S v :: xs3 -> 387 | let nacc = { acc with Pkg.archives = acc.Pkg.archives @ [(preds, v)] } in 388 | parse pkg_name nacc xs3 389 | | _ -> raise (MetaParseError (pkg_name, "parsing plugin failed")) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 394-397, characters 8-70: 394 | ........match xs2 with 395 | | EQ :: S v :: xs3 -> 396 | parse pkg_name { acc with Pkg.ppx = Some (preds, v)} xs3 397 | | _ -> raise (MetaParseError (pkg_name, "parsing ppx failed")) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 401-405, characters 8-73: 401 | ........match xs2 with 402 | | PLUSEQ :: S v :: xs3 403 | | EQ :: S v :: xs3 -> 404 | parse pkg_name { acc with Pkg.ppxopt = acc.Pkg.ppxopt @ [(preds, v)]} xs3 405 | | _ -> raise (MetaParseError (pkg_name, "parsing ppxopt failed")) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 410-413, characters 26-57: 410 | ..........................function 411 | | RPAREN::zs -> zs 412 | | _::zs -> consume zs 413 | | [] -> failwith "eof in error context" Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 415-417, characters 8-61: 415 | ........match consume xs with 416 | | EQ :: S _ :: xs2 -> parse pkg_name acc xs2 417 | | _ -> failwith "parsing error failed" Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 421-424, characters 8-74: 421 | ........match xs2 with 422 | | EQ :: S s :: xs3 -> 423 | parse pkg_name { acc with Pkg.linkopts = ((if preds = [] then None else Some preds), s) :: acc.Pkg.linkopts } xs3 424 | | _ -> failwith "parsing linkopts failed, expecting equal" Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", lines 337-429, characters 31-97: 337 | ...............................function 338 | | [] -> (acc, []) 339 | | RPAREN :: xs -> (acc, xs) 340 | | ID "package" :: S name :: LPAREN :: xs -> 341 | (let (pkg, xs2) = parse pkg_name (Pkg.make name) xs in ... 426 | | ID stuff :: EQ :: S stuffVal :: xs -> 427 | parse pkg_name { acc with Pkg.assignment = (stuff, stuffVal) :: acc.Pkg.assignment } xs 428 | | x :: xs -> raise (MetaParseError (pkg_name, ("unknown token '" ^ to_string x ^ "' in meta file\n" ^ 429 | (String.concat " " (List.map to_string xs))))) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type t. File "obuild/meta.ml", line 5, characters 0-11: 5 | open Helper ^^^^^^^^^^^ Warning 33: unused open Helper. File "obuild/meta.ml", line 6, characters 0-10: 6 | open Gconf ^^^^^^^^^^ Warning 33: unused open Gconf. [30 of 57] Compiling Obuild.Metacache File "obuild/metacache.ml", line 1, characters 0-9: 1 | open Meta ^^^^^^^^^ Warning 33: unused open Meta. File "obuild/hier.ml", line 88, characters 15-34: 88 | let name = String.uncapitalize modname in ^^^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.uncapitalize Use String.uncapitalize_ascii instead. File "obuild/hier.ml", line 194, characters 28-45: 194 | let m = try Modname.wrap (String.capitalize name) ^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.capitalize Use String.capitalize_ascii instead. File "obuild/hier.ml", line 3, characters 0-10: 3 | open Types ^^^^^^^^^^ Warning 33: unused open Types. [31 of 57] Compiling Obuild.Target [32 of 57] Compiling Obuild.Project [33 of 57] Compiling Obuild.Dist File "obuild/project.ml", line 84, characters 8-24: 84 | match String.lowercase value with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "obuild/project.ml", line 96, characters 53-70: 96 | let wrap_module_nice s = Hier.make [(Modname.wrap (String.capitalize s))] in ^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.capitalize Use String.capitalize_ascii instead. File "obuild/project.ml", line 105, characters 10-26: 105 | match String.lowercase k with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "obuild/project.ml", line 207, characters 15-31: 207 | match String.lowercase blockName with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "obuild/project.ml", line 224, characters 13-29: 224 | (match String.lowercase k with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "obuild/project.ml", line 255, characters 17-33: 255 | match String.lowercase blockName with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "obuild/project.ml", line 267, characters 13-29: 267 | (match String.lowercase k with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "obuild/project.ml", line 386, characters 13-29: 386 | (match String.lowercase k with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "obuild/project.ml", line 477, characters 15-31: 477 | match String.lowercase blockName with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "obuild/project.ml", line 488, characters 14-30: 488 | match String.lowercase k with ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. [34 of 57] Compiling Obuild.Analyze File "obuild/analyze.ml", lines 59-61, characters 8-31: 59 | ........match name with 60 | | Name.Lib lname -> Some lname 61 | | _ -> None Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Target.Name.t. File "obuild/analyze.ml", line 110, characters 23-39: 110 | Hashtbl.add h (String.lowercase k) (default "" v) ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.lowercase Use String.lowercase_ascii instead. File "obuild/analyze.ml", lines 184-191, characters 22-35: 184 | ......................match preds with 185 | | [Meta.Predicate.Toploop] -> () 186 | | _ -> 187 | List.iter (fun reqDep -> 188 | verbose Debug " library %s depends on %s\n" (Libname.to_string dep) (Libname.to_string reqDep); 189 | Dag.addEdge (Dependency dep) (Dependency reqDep) depsDag; 190 | loop reqDep 191 | ) reqDeps Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Meta.Predicate.t. File "obuild/analyze.ml", lines 208-211, characters 10-11: 208 | ..........(match target.target_name with 209 | | Name.Lib l -> Dag.addNode (Dependency l) depsDag; Dag.addEdge (Dependency l) 210 | | _ -> fun _ _ -> () 211 | ) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Target.Name.t. [35 of 57] Compiling Obuild.Configure [36 of 57] Compiling Obuild.Prepare File "obuild/configure.ml", line 34, characters 57-73: 34 | add (sprintf "#define PROJECT_FLAG_%s %d\n" (String.uppercase name) (if v then 1 else 0)) ^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.uppercase Use String.uppercase_ascii instead. File "obuild/prepare.ml", lines 168-170, characters 8-32: 168 | ........match node with 169 | | Dependency dep -> Some dep 170 | | _ -> None Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Analyze.dependency_tag. File "obuild/prepare.ml", lines 218-228, characters 17-15: 218 | .................(match Filetype.of_filepath fp with 219 | | Filetype.FileML -> Some (Modname.of_filename f) 220 | | Filetype.FileMLI -> 221 | if (Filesystem.exists (srcDir ((chop_extension f) <.> "ml"))) then 222 | None ... 225 | | Filetype.FileOther s -> if Generators.is_generator_ext s then Some (Modname.of_filename f) 226 | else None 227 | | _ -> None 228 | ) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Filetype.t. File "obuild/prepare.ml", line 379, characters 10-113: 379 | (match file_entry with Hier.FileEntry _ -> SimpleModule | Hier.GeneratedFileEntry _ -> GeneratedModule) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DirectoryEntry _ File "obuild/prepare.ml", lines 489-493, characters 10-19: 489 | ..........match r with 490 | | CompileModule _ | CompileDirectory _-> 491 | Dag.addEdge (LinkTarget target) r stepsDag; 492 | Dag.addEdge (CheckTarget target) (LinkTarget target) stepsDag; 493 | | _ -> () Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type compile_step. File "obuild/prepare.ml", lines 552-554, characters 6-18: 552 | ......match Hashtbl.find conf.project_dep_data dep with 553 | | Internal -> true 554 | | _ -> false............ Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Analyze.dep_type. File "obuild/prepare.ml", line 202, characters 9-16: 202 | let (srcPath,srcDir) = ^^^^^^^ Warning 27: unused variable srcPath. File "obuild/prepare.ml", line 233, characters 13-20: 233 | let (srcPath, srcFile, intfFile) = ^^^^^^^ Warning 27: unused variable srcPath. File "obuild/prepare.ml", line 239, characters 37-41: 239 | | Hier.GeneratedFileEntry (path, file, generated) -> ^^^^ Warning 27: unused variable path. [37 of 57] Compiling Obuild.Buildprogs File "obuild/buildprogs.ml", lines 69-73, characters 14-73: 69 | ..............function 70 | | Filetype.FileML -> ext 71 | | Filetype.FileMLI -> Filetype.FileCMI 72 | | _ -> (* It should not happen *) 73 | if buildMode = ByteCode then Filetype.FileCMO else Filetype.FileCMX Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Filetype.t. File "obuild/buildprogs.ml", line 66, characters 17-23: 66 | let runOcamlPack srcDir dstDir annotMode buildMode packOpt dest modules = ^^^^^^ Warning 27: unused variable srcDir. [38 of 57] Compiling Obuild.Build File "obuild/build.ml", lines 60-72, characters 45-7: 60 | .............................................( 61 | match srcTy with 62 | | Filetype.FileCMX | Filetype.FileCMO -> 63 | let bml = Filetype.replace_extension bdest Filetype.FileML in 64 | let bmli = Filetype.replace_extension bdest Filetype.FileMLI in ... 69 | "Library changed " ^ fp_to_string changedSrc 70 | | _ -> 71 | "Dependencies changed " ^ fp_to_string changedSrc 72 | ) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Filetype.t. File "obuild/build.ml", lines 59-80, characters 4-42: 59 | ....match Filetype.of_filename bdest with 60 | | Filetype.FileCMX | Filetype.FileCMO -> ( 61 | match srcTy with 62 | | Filetype.FileCMX | Filetype.FileCMO -> 63 | let bml = Filetype.replace_extension bdest Filetype.FileML in ... 77 | else if bh = bsrc then ("H file " ^ fn_to_string bsrc ^ " changed") 78 | else ("file changed " ^ fp_to_string changedSrc) 79 | | _ -> 80 | fp_to_string changedSrc ^ " changed" Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Filetype.t. File "obuild/build.ml", line 89, characters 6-63: 89 | match (t,o) with (ByteCode,WithProf) -> false | _ -> true) all_modes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Types.ocaml_compiled_type. File "obuild/build.ml", line 89, characters 6-63: 89 | match (t,o) with (ByteCode,WithProf) -> false | _ -> true) all_modes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Types.ocaml_compilation_option. File "obuild/build.ml", lines 150-155, characters 20-21: 150 | ....................match e with 151 | Hier.FileEntry (_, f) -> 152 | if (Filetype.of_filepath f) = Filetype.FileMLI then 153 | Some m 154 | else None 155 | | _ -> None Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Hier.file_entry. File "obuild/build.ml", lines 349-351, characters 22-24: 349 | ......................match compileOpt with 350 | | WithProf -> Meta.Predicate.Gprof :: preds 351 | | _ -> preds Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Types.ocaml_compilation_option. File "obuild/build.ml", lines 360-368, characters 13-58: 360 | .............match target.target_name with 361 | | Name.Lib libname -> 362 | if plugin then 363 | cstate.compilation_builddir_ml Normal Libname.to_cmxs compileOpt libname 364 | else 365 | cstate.compilation_builddir_ml Normal Libname.to_cmca compiledType compileOpt libname 366 | | _ -> 367 | let outputName = Utils.to_exe_name compileOpt compiledType (Target.get_target_dest_name target) in 368 | cstate.compilation_builddir_ml Normal outputName Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Target.Name.t. File "obuild/build.ml", lines 481-483, characters 40-51: 481 | ........................................match task with 482 | | CompileC _ -> raise (CCompilationFailed er) 483 | | _ -> raise (CompilationFailed er) Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Prepare.compile_step. [39 of 57] Compiling Obuild.Exception [40 of 57] Packing Obuild [41 of 57] Linking library dist/build/lib-obuild/obuild.cmxa [41 of 57] Linking library dist/build/lib-obuild/obuild.cmxs [41 of 57] Linking library dist/build/lib-obuild/obuild.cma [42 of 57] Checking dist/build/lib-obuild [43 of 57] Compiling Assimilate_oasis [44 of 57] Compiling Simple [45 of 57] Compiling Install File "src/install.ml", lines 21-24, characters 6-35: 21 | ......match Filetype.of_filepath (build_dir f) with 22 | | Filetype.FileCMX | Filetype.FileCMI | Filetype.FileA | Filetype.FileCMXS 23 | | Filetype.FileCMXA | Filetype.FileCMA | Filetype.FileCMT | Filetype.FileCMTI -> true 24 | | _ -> false. Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Obuild.Filetype.t. File "src/install.ml", lines 27-29, characters 4-31: 27 | ....match Filetype.of_filepath (build_dir f) with 28 | | Filetype.FileEXE -> true 29 | | _ -> false. Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Obuild.Filetype.t. File "src/install.ml", lines 43-44, characters 31-76: 43 | ...............................match target.target_name with 44 | | Name.Lib _ -> print_target_files target list_lib_files | _ -> ().............. Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Obuild.Target.Name.t. File "src/install.ml", lines 47-48, characters 31-76: 47 | ...............................match target.target_name with 48 | | Name.Exe _ -> print_target_files target list_exe_files | _ -> ().............. Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Obuild.Target.Name.t. [46 of 57] Compiling Doc [47 of 57] Compiling Sdist File "src/doc.ml", line 15, characters 8-16: 15 | let run projFile = ^^^^^^^^ Warning 27: unused variable projFile. [48 of 57] Compiling Help File "src/sdist.ml", lines 28-30, characters 14-38: 28 | ..............match Filetype.of_filepath fpath with 29 | | Filetype.FileML | Filetype.FileMLI -> Filesystem.copy_to_dir fpath dest 30 | | _ -> () Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Obuild.Filetype.t. File "src/sdist.ml", lines 36-38, characters 12-21: 36 | ............match Filetype.of_filepath fpath with 37 | | Filetype.FileC | Filetype.FileH -> Filesystem.copy_to_dir fpath dest 38 | | _ -> () Warning 4: this pattern-matching is fragile. It will remain exhaustive when constructors are added to type Obuild.Filetype.t. File "src/sdist.ml", line 9, characters 17-27: 9 | let run projFile isSnapshot = ^^^^^^^^^^ Warning 27: unused variable isSnapshot. [49 of 57] Compiling Path_generated [50 of 57] Compiling Init [51 of 57] Linking executable dist/build/obuild-from-oasis/obuild-from-oasis File "src/init.ml", line 98, characters 45-62: 98 | let modules = List.map (fun m -> String.capitalize $ strip_ext ~ext:".ml" m) ^^^^^^^^^^^^^^^^^ Alert deprecated: Stdlib.String.capitalize Use String.capitalize_ascii instead. [52 of 57] Linking executable dist/build/obuild-simple/obuild-simple [53 of 57] Compiling Main [54 of 57] Checking dist/build/obuild-from-oasis [55 of 57] Checking dist/build/obuild-simple [56 of 57] Linking executable dist/build/obuild/obuild [57 of 57] Checking dist/build/obuild real 0m13.565s user 0m5.782s sys 0m2.091s make[1]: Leaving directory '/build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10' fakeroot debian/rules binary-arch dh binary-arch --with ocaml dh: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_testroot -a dh_prep -a debian/rules override_dh_auto_install make[1]: Entering directory '/build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10' diff -u debian/ocaml-obuild.opam-install obuild.install make[1]: Leaving directory '/build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10' debian/rules override_dh_install make[1]: Entering directory '/build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10' mkdir -p "/build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10/debian/ocaml-obuild/usr/bin" cp "dist/build/obuild/obuild" "dist/build/obuild-simple/obuild-simple" "/build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10/debian/ocaml-obuild/usr/bin" make[1]: Leaving directory '/build/ocaml-obuild-drmXwJ/ocaml-obuild-0.1.10' dh_ocamldoc -a dh_installdocs -a dh_installdocs: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_installchangelogs -a dh_installchangelogs: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_installman -a dh_installman: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_perl -a dh_link -a dh_strip_nondeterminism -a dh_compress -a dh_compress: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_fixperms -a dh_missing -a dh_missing: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_strip -a dh_strip: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_makeshlibs -a dh_makeshlibs: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_shlibdeps -a dh_shlibdeps: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_installdeb -a dh_installdeb: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_ocaml -a dh_gencontrol -a dpkg-gencontrol: warning: Depends field of package ocaml-obuild: substitution variable ${ocaml:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package ocaml-obuild: substitution variable ${ocaml:Depends} used, but is not defined dh_md5sums -a dh_builddeb -a dpkg-deb: building package 'ocaml-obuild-dbgsym' in '../ocaml-obuild-dbgsym_0.1.10-3+b2_amd64.deb'. dpkg-deb: building package 'ocaml-obuild' in '../ocaml-obuild_0.1.10-3+b2_amd64.deb'. dpkg-genbuildinfo --build=any dpkg-genchanges --build=any >../ocaml-obuild_0.1.10-3+b2_amd64.changes 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/ocaml-obuild-drmXwJ /tmp/ocaml-obuild-0.1.10-3+b2swwxokwz I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.9DgR67Q9IO... I: success in 465.1767 seconds md5: Value of 'md5' differs for ocaml-obuild-dbgsym_0.1.10-3+b2_amd64.deb md5: Size differs for ocaml-obuild-dbgsym_0.1.10-3+b2_amd64.deb md5: Value of 'md5' differs for ocaml-obuild_0.1.10-3+b2_amd64.deb md5: Size differs for ocaml-obuild_0.1.10-3+b2_amd64.deb sha1: Value of 'sha1' differs for ocaml-obuild-dbgsym_0.1.10-3+b2_amd64.deb sha1: Size differs for ocaml-obuild-dbgsym_0.1.10-3+b2_amd64.deb sha1: Value of 'sha1' differs for ocaml-obuild_0.1.10-3+b2_amd64.deb sha1: Size differs for ocaml-obuild_0.1.10-3+b2_amd64.deb sha256: Value of 'sha256' differs for ocaml-obuild-dbgsym_0.1.10-3+b2_amd64.deb sha256: Size differs for ocaml-obuild-dbgsym_0.1.10-3+b2_amd64.deb sha256: Value of 'sha256' differs for ocaml-obuild_0.1.10-3+b2_amd64.deb sha256: Size differs for ocaml-obuild_0.1.10-3+b2_amd64.deb Checksums: FAIL Cannot generate diffoscope for ocaml-obuild-dbgsym_0.1.10-3+b2_amd64.deb: Cannot find URL: http://snapshot.notset.fr/mr/file/1cfccaf376f515b865775d9eb2e35346b1eb2de2f250142180c97c1f2eb5b3fa/download diffoscope run passed