Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/o/ohcount/ohcount_4.0.0-1_all.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/ohcount-4.0.0-1qnr_bci0/ohcount_4.0.0-1_all.buildinfo Get source package info: ohcount=4.0.0-1 Source URL: http://snapshot.notset.fr/mr/package/ohcount/4.0.0-1/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=adduser=3.118 autoconf=2.69-11 automake=1:1.16.1-4 autopoint=0.19.8.1-9 autotools-dev=20180224.1 base-files=10.3 base-passwd=3.5.46 bash=5.0-4 binutils=2.31.1-16 binutils-common=2.31.1-16 binutils-x86-64-linux-gnu=2.31.1-16 bsdmainutils=11.1.2+b1 bsdutils=1:2.33.1-0.1 build-essential=12.6 bzip2=1.0.6-9.1 ca-certificates=20190110 coreutils=8.30-3 cpp=4:8.3.0-1 cpp-8=8.3.0-7 dash=0.5.10.2-5 debconf=1.5.72 debhelper=12.1.1 debianutils=4.8.6.1 devscripts=2.19.5 dh-autoreconf=19 dh-strip-nondeterminism=1.1.2-1 diffutils=1:3.7-3 dirmngr=2.2.13-2 doxygen=1.8.13-10 dpkg=1.19.7 dpkg-dev=1.19.7 dwz=0.12.20190706-1 fakeroot=1.23-1 fdisk=2.33.1-0.1 file=1:5.35-4 findutils=4.6.0+git+20190209-2 g++=4:8.3.0-1 g++-8=8.3.0-7 gcc=4:8.3.0-1 gcc-8=8.3.0-7 gcc-8-base=8.3.0-7 gem2deb=0.43 gem2deb-test-runner=0.43 gettext=0.19.8.1-9 gettext-base=0.19.8.1-9 gnupg=2.2.13-2 gnupg-l10n=2.2.13-2 gnupg-utils=2.2.13-2 gperf=3.1-1 gpg=2.2.13-2 gpg-agent=2.2.13-2 gpg-wks-client=2.2.13-2 gpg-wks-server=2.2.13-2 gpgconf=2.2.13-2 gpgsm=2.2.13-2 gpgv=2.2.13-2 grep=3.3-1 groff-base=1.22.4-3 gzip=1.9-3 hostname=3.21 init-system-helpers=1.57 intltool-debian=0.35.0+20060710.5 libacl1=2.2.53-4 libarchive-zip-perl=1.64-1 libasan5=8.3.0-7 libassuan0=2.5.2-1 libatomic1=8.3.0-7 libattr1=1:2.4.48-4 libaudit-common=1:2.8.4-3 libaudit1=1:2.8.4-3 libb-hooks-op-check-perl=0.22-1+b1 libbinutils=2.31.1-16 libblkid1=2.33.1-0.1 libbsd0=0.9.1-2 libbz2-1.0=1.0.6-9.1 libc-bin=2.28-10 libc-dev-bin=2.28-10 libc6=2.28-10 libc6-dev=2.28-10 libcap-ng0=0.7.9-2 libcc1-0=8.3.0-7 libclang1-6.0=1:6.0.1-11 libclass-method-modifiers-perl=2.12-1 libcroco3=0.6.12-3 libdb5.3=5.3.28+dfsg1-0.6 libdebconfclient0=0.249 libdevel-callchecker-perl=0.008-1 libdevel-globaldestruction-perl=0.14-1 libdpkg-perl=1.19.7 libdynaloader-functions-perl=0.003-1 libedit2=3.1-20190324-1 libelf1=0.176-1.1 libencode-locale-perl=1.05-1 libexpat1=2.2.6-2 libfakeroot=1.23-1 libfdisk1=2.33.1-0.1 libffi6=3.2.1-9 libfile-homedir-perl=1.004-1 libfile-listing-perl=6.04-1 libfile-stripnondeterminism-perl=1.1.2-1 libfile-which-perl=1.23-1 libgcc-8-dev=8.3.0-7 libgcc1=1:8.3.0-7 libgcrypt20=1.8.4-5 libgdbm-compat4=1.18.1-4 libgdbm6=1.18.1-4 libglib2.0-0=2.58.3-2 libgmp-dev=2:6.1.2+dfsg-4 libgmp10=2:6.1.2+dfsg-4 libgmpxx4ldbl=2:6.1.2+dfsg-4 libgnutls30=3.6.7-4 libgomp1=8.3.0-7 libgpg-error0=1.35-1 libhogweed4=3.4.1-1 libhtml-parser-perl=3.72-3+b3 libhtml-tagset-perl=3.20-3 libhtml-tree-perl=5.07-2 libhttp-cookies-perl=6.04-1 libhttp-date-perl=6.02-1 libhttp-message-perl=6.18-1 libhttp-negotiate-perl=6.01-1 libicu63=63.2-2 libidn2-0=2.0.5-1 libimport-into-perl=1.002005-1 libio-html-perl=1.001-1 libio-pty-perl=1:1.08-1.1+b5 libio-socket-ssl-perl=2.060-3 libipc-run-perl=20180523.0-1 libisl19=0.20-2 libitm1=8.3.0-7 libksba8=1.3.5-2 libldap-2.4-2=2.4.47+dfsg-3 libldap-common=2.4.47+dfsg-3 libllvm6.0=1:6.0.1-11 liblsan0=8.3.0-7 liblwp-mediatypes-perl=6.02-1 liblwp-protocol-https-perl=6.07-2 liblz4-1=1.8.3-1 liblzma5=5.2.4-1 libmagic-dev=1:5.35-4 libmagic-mgc=1:5.35-4 libmagic1=1:5.35-4 libmodule-runtime-perl=0.016-1 libmoo-perl=2.003004-2 libmount1=2.33.1-0.1 libmpc3=1.1.0-1 libmpdec2=2.4.2-2 libmpfr6=4.0.2-1 libmpx2=8.3.0-7 libncurses6=6.1+20181013-2 libncursesw6=6.1+20181013-2 libnet-http-perl=6.18-1 libnet-ssleay-perl=1.85-3 libnettle6=3.4.1-1 libnpth0=1.6-1 libp11-kit0=0.23.15-2 libpam-modules=1.3.1-5 libpam-modules-bin=1.3.1-5 libpam-runtime=1.3.1-5 libpam0g=1.3.1-5 libparams-classify-perl=0.015-1+b1 libpcre16-3=2:8.39-12 libpcre3=2:8.39-12 libpcre3-dev=2:8.39-12 libpcre32-3=2:8.39-12 libpcrecpp0v5=2:8.39-12 libperl5.28=5.28.1-6 libpipeline1=1.5.1-2 libpython3-stdlib=3.7.3-1 libpython3.7-minimal=3.7.3-2 libpython3.7-stdlib=3.7.3-2 libquadmath0=8.3.0-7 libreadline7=7.0-5 librole-tiny-perl=2.000006-1 libruby2.5=2.5.5-3 libsasl2-2=2.1.27+dfsg-1 libsasl2-modules-db=2.1.27+dfsg-1 libseccomp2=2.3.3-4 libselinux1=2.8-1+b1 libsemanage-common=2.8-2 libsemanage1=2.8-2 libsepol1=2.8-1 libsigsegv2=2.12-2 libsmartcols1=2.33.1-0.1 libsqlite3-0=3.27.2-3 libssl1.1=1.1.1c-1 libstdc++-8-dev=8.3.0-7 libstdc++6=8.3.0-7 libstrictures-perl=2.000005-1 libsub-exporter-progressive-perl=0.001013-1 libsub-quote-perl=2.005001-1 libsystemd0=241-5 libtasn1-6=4.13-3 libtimedate-perl=2.3000-2 libtinfo6=6.1+20181013-2 libtool=2.4.6-10 libtry-tiny-perl=0.30-1 libtsan0=8.3.0-7 libubsan1=8.3.0-7 libuchardet0=0.0.6-3 libudev1=241-5 libunistring2=0.9.10-1 liburi-perl=1.76-1 libuuid1=2.33.1-0.1 libwww-perl=6.36-2 libwww-robotrules-perl=6.02-1 libxapian30=1.4.11-1 libxml2=2.9.4+dfsg1-7+b3 libyaml-0-2=0.2.1-1 linux-libc-dev=4.19.37-5 login=1:4.5-1.1 lsb-base=10.2019051400 m4=1.4.18-2 make=4.2.1-1.2 man-db=2.8.5-2 mawk=1.3.3-17+b3 mime-support=3.62 ncurses-base=6.1+20181013-2 ncurses-bin=6.1+20181013-2 netbase=5.6 openssl=1.1.1c-1 passwd=1:4.5-1.1 patch=2.7.6-4 patchutils=0.3.4-2 perl=5.28.1-6 perl-base=5.28.1-6 perl-modules-5.28=5.28.1-6 perl-openssl-defaults=3 pinentry-curses=1.1.0-2 po-debconf=1.0.21 python3=3.7.3-1 python3-minimal=3.7.3-1 python3.7=3.7.3-2 python3.7-minimal=3.7.3-2 ragel=6.10-1 rake=12.3.1-3 readline-common=7.0-5 ruby=1:2.5.1 ruby-all-dev=1:2.5.1 ruby-did-you-mean=1.2.1-1 ruby-diff-lcs=1.3-1 ruby-minitest=5.11.3-1 ruby-net-telnet=0.1.1-2 ruby-power-assert=1.1.1-1 ruby-setup=3.4.1-9 ruby-test-unit=3.2.8-1 ruby-xmlrpc=0.3.0-2 ruby2.5=2.5.5-3 ruby2.5-dev=2.5.5-3 rubygems-integration=1.11 sed=4.7-1 sensible-utils=0.0.12 swig=3.0.12-2 swig3.0=3.0.12-2 sysvinit-utils=2.93-8 tar=1.30+dfsg-6 util-linux=2.33.1-0.1 wdiff=1.2.2-2+b1 xz-utils=5.2.4-1 zlib1g=1:1.2.11.dfsg-1 --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/20190710T092122Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20190706T233220Z/ 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 ohcount=4.0.0-1 && mkdir -p /build/ohcount-TffbZm && dpkg-source --no-check -x /*.dsc /build/ohcount-TffbZm/ohcount-4.0.0 && chown -R builduser:builduser /build/ohcount-TffbZm" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ohcount-TffbZm/ohcount-4.0.0 && env DEB_BUILD_OPTIONS="parallel=4" LANG="C.UTF-8" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1562486612" dpkg-buildpackage -uc -a amd64 --build=all" --customize-hook=sync-out /build/ohcount-TffbZm /tmp/ohcount-4.0.0-1qnr_bci0 buster /dev/null deb http://snapshot.notset.fr/archive/debian/20190706T233220Z 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.02ru5Ayaql 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.02ru5Ayaql Reading package lists... Building dependency tree... util-linux is already the newest version (2.33.1-0.1). 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, 373 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20190706T233220Z unstable/main amd64 libfakeroot amd64 1.23-1 [45.9 kB] Get:2 http://snapshot.notset.fr/archive/debian/20190706T233220Z unstable/main amd64 fakeroot amd64 1.23-1 [85.8 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 132 kB in 0s (1154 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 ... 4453 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.23-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.23-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.23-1_amd64.deb ... Unpacking fakeroot (1.23-1) ... Setting up libfakeroot:amd64 (1.23-1) ... Setting up fakeroot (1.23-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.28-10) ... 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/20190710T092122Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20190706T233220Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.02ru5Ayaql Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Get:2 http://snapshot.notset.fr/archive/debian/20190710T092122Z unstable InRelease [149 kB] Hit:3 http://snapshot.notset.fr/archive/debian/20190706T233220Z 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/20190710T092122Z unstable/main amd64 Packages Ign:6 http://snapshot.notset.fr/archive/debian/20190710T092122Z unstable/main amd64 Packages Ign:6 http://snapshot.notset.fr/archive/debian/20190710T092122Z unstable/main amd64 Packages Get:6 http://snapshot.notset.fr/archive/debian/20190710T092122Z unstable/main amd64 Packages [11.2 MB] Fetched 34.0 MB in 32s (1047 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.02ru5Ayaql I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d ohcount=4.0.0-1 && mkdir -p /build/ohcount-TffbZm && dpkg-source --no-check -x /*.dsc /build/ohcount-TffbZm/ohcount-4.0.0 && chown -R builduser:builduser /build/ohcount-TffbZm"' exec /tmp/mmdebstrap.02ru5Ayaql Reading package lists... NOTICE: 'ohcount' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/debian/ohcount.git Please use: git clone https://salsa.debian.org/debian/ohcount.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 1310 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main ohcount 4.0.0-1 (dsc) [1999 B] Get:2 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main ohcount 4.0.0-1 (tar) [1301 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main ohcount 4.0.0-1 (diff) [6824 B] Fetched 1310 kB in 1s (1214 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'ohcount_4.0.0-1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting ohcount in /build/ohcount-TffbZm/ohcount-4.0.0 dpkg-source: info: unpacking ohcount_4.0.0.orig.tar.gz dpkg-source: info: unpacking ohcount_4.0.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying disabled_test_suite.patch dpkg-source: info: applying build-cflags.diff dpkg-source: info: applying fix-buffer-overflow.patch I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ohcount-TffbZm/ohcount-4.0.0 && env DEB_BUILD_OPTIONS="parallel=4" LANG="C.UTF-8" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1562486612" dpkg-buildpackage -uc -a amd64 --build=all"' exec /tmp/mmdebstrap.02ru5Ayaql dpkg-buildpackage: info: source package ohcount dpkg-buildpackage: info: source version 4.0.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Sylvestre Ledru dpkg-source --before-build . fakeroot debian/rules clean dh clean --buildsystem=ruby --with ruby debian/rules override_dh_auto_clean make[1]: Entering directory '/build/ohcount-TffbZm/ohcount-4.0.0' dh_auto_clean -O--buildsystem=ruby dh_ruby --clean dh_ruby --clean ./build clean # Build script for Ohcount. # Written by Mitchell Foral. mitchellcaladbolg.net. # Options # Change these for your system configuration. if [ `uname` != "Darwin" ] then # Linux INC_DIR= LIB_DIR= if [ `uname` == "FreeBSD" ] then INC_DIR=/usr/local/include LIB_DIR=/usr/local/lib fi # You shouldn't have to change the following. CFLAGS=-O3 WARN="-Wall -Wno-pointer-to-int-cast -Wno-parentheses" SHARED=-shared SHARED_NAME=libohcount.so RB_SHARED=-shared RB_SHARED_NAME=ohcount.so else # Mac OSX INC_DIR=/opt/local/include LIB_DIR=/opt/local/lib # You shouldn't have to change the following. CFLAGS="-fno-common -g" WARN="-Wall -Wno-parentheses" SHARED="-dynamiclib -L$LIB_DIR -lpcre" SHARED_NAME=libohcount.dylib RB_SHARED="-dynamic -bundle -lruby" RB_SHARED_NAME=ohcount.bundle fi # C compiler and flags cc="gcc -fPIC -g $CFLAGS $WARN -I$INC_DIR -L$LIB_DIR" # ARCHITECTURE arch=`ruby/print_arch` unhandled /etc/os-release result: debian # Ohcount source files files="src/sourcefile.c \ src/detector.c \ src/licenses.c \ src/parser.o \ src/loc.c \ src/log.c \ src/diff.c \ src/parsed_language.c \ src/hash/language_hash.c" # If any src/hash/*.gperf file is newer than the header files (which were # presumably generated together), regenerate the headers. build_hash_headers() { if [[ -z `ls src/hash/ | grep "_hash.h$"` || ! -z `find src/hash/*.gperf -newer src/hash/parser_hash.h` ]] then echo "Generating hash headers" sh -c "cd src/hash/ && ./generate_headers" || exit 1 fi } # If src/parser.o does not exist, or if there are Ragel parsers or parser # header files newer than the existing parser.o, recompile parser.o. build_parser_o() { if [[ ! -f src/parser.o || ! -z `find src/parsers/*.{h,rl} -newer src/parser.o` ]] then bash -c "cd src/parsers/ && bash ./compile" || exit 1 echo "Building src/parser.c (will take a while)" bash -c "$cc -c src/parser.c -o src/parser.o" || exit 1 fi } build_shared() { build_hash_headers build_parser_o if [[ ! -f src/$SHARED_NAME || ! -z `find src/*.{h,c} -newer src/$SHARED_NAME` ]] then echo "Building shared library" sh -c "$cc $SHARED $files -o src/$SHARED_NAME" || exit 1 fi } build_ohcount() { build_hash_headers build_parser_o echo "Building Ohcount" mkdir -p bin/ sh -c "$cc src/ohcount.c $files -o bin/ohcount -lpcre -lmagic" || exit 1 } build_test_suite() { build_hash_headers build_parser_o echo "Building test suite" sh -c "$cc test/unit/all_tests.c $files -o test/unit/run_tests -lpcre -lmagic" \ || exit 1 } run_test_suite() { echo "Running test suite" echo "disabled test suite, does not work" } RUBY_HEADER_DIR=`ruby -rmkmf -e 'print RbConfig::expand(CONFIG["rubyhdrdir"])'` rbconfig_arch=`ruby -rmkmf -e 'print RbConfig::expand(CONFIG["arch"])'` RUBY_CONFIG_DIR="$RUBY_HEADER_DIR/$rbconfig_arch" RUBY_VERSION=`ruby -rmkmf -e 'print RbConfig::expand(CONFIG["ruby_version"])'` build_ruby_bindings() { echo "Generating Ruby bindings for $arch" sh -c "swig -ruby -o ruby/ohcount_wrap.c ruby/ohcount.i" || exit 1 mkdir -p ruby/$arch echo $cc $RB_SHARED ruby/ohcount_wrap.c $files -o ruby/$arch/$RB_SHARED_NAME \ -I$RUBY_HEADER_DIR -I$RUBY_CONFIG_DIR -I/usr/include/$rbconfig_arch/ruby-$RUBY_VERSION \ -lpcre -lmagic sh -c "$cc $RB_SHARED ruby/ohcount_wrap.c $files -o ruby/$arch/$RB_SHARED_NAME \ -I$RUBY_HEADER_DIR -I$RUBY_CONFIG_DIR -I/usr/include/$rbconfig_arch/ruby-$RUBY_VERSION \ -lpcre -lmagic" || exit 1 sh -c "cd test/unit/ruby && ruby ruby_test.rb" || exit 1 } if [ $# -eq 0 ] || [ $1 == "all" ] then build_ohcount build_test_suite run_test_suite build_ruby_bindings echo $success elif [ $1 == "shared" ] then build_shared echo "Build successful; $SHARED_NAME is in src/" elif [ $1 == "ohcount" ] then build_ohcount echo "Build successful; ohcount is in bin/" elif [ $1 == "tests" ] then build_test_suite run_test_suite elif [ $1 == "ruby" ] then build_ruby_bindings echo "Build successful; $RB_SHARED_NAME is in ruby/$arch" elif [ $1 == "clean" ] then rm -f bin/ohcount rm -f test/unit/run_tests rm -f src/parser.o rm -f src/parsers/*.h rm -f src/hash/*.h rm -f src/hash/*.c rm -f src/$SHARED_NAME rm -f ruby/$RB_SHARED_NAME rm -rf ruby/$arch/* rm -f ruby/ohcount_wrap.c else echo "Usage: build [all|ohcount|shared|tests|ruby|clean]" fi rm -rf doc_build make[1]: Leaving directory '/build/ohcount-TffbZm/ohcount-4.0.0' dh_clean -O--buildsystem=ruby debian/rules build-indep dh build-indep --buildsystem=ruby --with ruby dh_update_autotools_config -i -O--buildsystem=ruby dh_auto_configure -i -O--buildsystem=ruby dh_ruby --configure dh_auto_build -i -O--buildsystem=ruby dh_ruby --build dh_ruby --build dh_auto_test -i -O--buildsystem=ruby dh_ruby --test fakeroot debian/rules binary-indep dh binary-indep --buildsystem=ruby --with ruby dh_testroot -i -O--buildsystem=ruby dh_prep -i -O--buildsystem=ruby dh_auto_install -i -O--buildsystem=ruby dh_ruby --install /build/ohcount-TffbZm/ohcount-4.0.0/debian/tmp dh_ruby --install ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install files │ └──────────────────────────────────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install Rubygems integration metadata │ └──────────────────────────────────────────────────────────────────────────────┘ /usr/bin/ruby2.5 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby2.5: no test suite! │ └──────────────────────────────────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────────────────────────────────┐ │ dh_ruby --install finished │ └──────────────────────────────────────────────────────────────────────────────┘ debian/rules override_dh_install make[1]: Entering directory '/build/ohcount-TffbZm/ohcount-4.0.0' ./build all # Build script for Ohcount. # Written by Mitchell Foral. mitchellcaladbolg.net. # Options # Change these for your system configuration. if [ `uname` != "Darwin" ] then # Linux INC_DIR= LIB_DIR= if [ `uname` == "FreeBSD" ] then INC_DIR=/usr/local/include LIB_DIR=/usr/local/lib fi # You shouldn't have to change the following. CFLAGS=-O3 WARN="-Wall -Wno-pointer-to-int-cast -Wno-parentheses" SHARED=-shared SHARED_NAME=libohcount.so RB_SHARED=-shared RB_SHARED_NAME=ohcount.so else # Mac OSX INC_DIR=/opt/local/include LIB_DIR=/opt/local/lib # You shouldn't have to change the following. CFLAGS="-fno-common -g" WARN="-Wall -Wno-parentheses" SHARED="-dynamiclib -L$LIB_DIR -lpcre" SHARED_NAME=libohcount.dylib RB_SHARED="-dynamic -bundle -lruby" RB_SHARED_NAME=ohcount.bundle fi # C compiler and flags cc="gcc -fPIC -g $CFLAGS $WARN -I$INC_DIR -L$LIB_DIR" # ARCHITECTURE arch=`ruby/print_arch` unhandled /etc/os-release result: debian # Ohcount source files files="src/sourcefile.c \ src/detector.c \ src/licenses.c \ src/parser.o \ src/loc.c \ src/log.c \ src/diff.c \ src/parsed_language.c \ src/hash/language_hash.c" # If any src/hash/*.gperf file is newer than the header files (which were # presumably generated together), regenerate the headers. build_hash_headers() { if [[ -z `ls src/hash/ | grep "_hash.h$"` || ! -z `find src/hash/*.gperf -newer src/hash/parser_hash.h` ]] then echo "Generating hash headers" sh -c "cd src/hash/ && ./generate_headers" || exit 1 fi } # If src/parser.o does not exist, or if there are Ragel parsers or parser # header files newer than the existing parser.o, recompile parser.o. build_parser_o() { if [[ ! -f src/parser.o || ! -z `find src/parsers/*.{h,rl} -newer src/parser.o` ]] then bash -c "cd src/parsers/ && bash ./compile" || exit 1 echo "Building src/parser.c (will take a while)" bash -c "$cc -c src/parser.c -o src/parser.o" || exit 1 fi } build_shared() { build_hash_headers build_parser_o if [[ ! -f src/$SHARED_NAME || ! -z `find src/*.{h,c} -newer src/$SHARED_NAME` ]] then echo "Building shared library" sh -c "$cc $SHARED $files -o src/$SHARED_NAME" || exit 1 fi } build_ohcount() { build_hash_headers build_parser_o echo "Building Ohcount" mkdir -p bin/ sh -c "$cc src/ohcount.c $files -o bin/ohcount -lpcre -lmagic" || exit 1 } build_test_suite() { build_hash_headers build_parser_o echo "Building test suite" sh -c "$cc test/unit/all_tests.c $files -o test/unit/run_tests -lpcre -lmagic" \ || exit 1 } run_test_suite() { echo "Running test suite" echo "disabled test suite, does not work" } RUBY_HEADER_DIR=`ruby -rmkmf -e 'print RbConfig::expand(CONFIG["rubyhdrdir"])'` rbconfig_arch=`ruby -rmkmf -e 'print RbConfig::expand(CONFIG["arch"])'` RUBY_CONFIG_DIR="$RUBY_HEADER_DIR/$rbconfig_arch" RUBY_VERSION=`ruby -rmkmf -e 'print RbConfig::expand(CONFIG["ruby_version"])'` build_ruby_bindings() { echo "Generating Ruby bindings for $arch" sh -c "swig -ruby -o ruby/ohcount_wrap.c ruby/ohcount.i" || exit 1 mkdir -p ruby/$arch echo $cc $RB_SHARED ruby/ohcount_wrap.c $files -o ruby/$arch/$RB_SHARED_NAME \ -I$RUBY_HEADER_DIR -I$RUBY_CONFIG_DIR -I/usr/include/$rbconfig_arch/ruby-$RUBY_VERSION \ -lpcre -lmagic sh -c "$cc $RB_SHARED ruby/ohcount_wrap.c $files -o ruby/$arch/$RB_SHARED_NAME \ -I$RUBY_HEADER_DIR -I$RUBY_CONFIG_DIR -I/usr/include/$rbconfig_arch/ruby-$RUBY_VERSION \ -lpcre -lmagic" || exit 1 sh -c "cd test/unit/ruby && ruby ruby_test.rb" || exit 1 } if [ $# -eq 0 ] || [ $1 == "all" ] then build_ohcount build_test_suite run_test_suite build_ruby_bindings echo $success elif [ $1 == "shared" ] then build_shared echo "Build successful; $SHARED_NAME is in src/" elif [ $1 == "ohcount" ] then build_ohcount echo "Build successful; ohcount is in bin/" elif [ $1 == "tests" ] then build_test_suite run_test_suite elif [ $1 == "ruby" ] then build_ruby_bindings echo "Build successful; $RB_SHARED_NAME is in ruby/$arch" elif [ $1 == "clean" ] then rm -f bin/ohcount rm -f test/unit/run_tests rm -f src/parser.o rm -f src/parsers/*.h rm -f src/hash/*.h rm -f src/hash/*.c rm -f src/$SHARED_NAME rm -f ruby/$RB_SHARED_NAME rm -rf ruby/$arch/* rm -f ruby/ohcount_wrap.c else echo "Usage: build [all|ohcount|shared|tests|ruby|clean]" fi Generating hash headers Found gperf, making headers... 1 input keys have identical hash values, examine output carefully... Found ragel, compiling... Compiling actionscript.rl Compiling ada.rl Compiling ampl.rl Compiling assembler.rl Compiling augeas.rl Compiling autoconf.rl Compiling automake.rl Compiling awk.rl Compiling bat.rl Compiling bfpp.rl Compiling blitzmax.rl Compiling boo.rl Compiling brainfuck.rl Compiling c.rl Compiling chaiscript.rl Compiling classic_basic.rl Compiling clearsilver.rl Compiling clearsilverhtml.rl Compiling cmake.rl Compiling coffeescript.rl Compiling common.rl Compiling coq.rl Compiling crystal.rl Compiling cs_aspx.rl Compiling css.rl Compiling d.rl Compiling dcl.rl Compiling dylan.rl Compiling ebuild.rl Compiling eiffel.rl Compiling erlang.rl Compiling exheres.rl Compiling factor.rl Compiling forth.rl Compiling fortranfixed.rl Compiling fortranfree.rl Compiling fsharp.rl Compiling glsl.rl Compiling golang.rl Compiling grace.rl Compiling groovy.rl Compiling haml.rl Compiling haskell.rl Compiling haxe.rl Compiling html.rl Compiling idl_pvwave.rl Compiling jam.rl Compiling java.rl Compiling javascript.rl Compiling jsp.rl Compiling kotlin.rl Compiling limbo.rl Compiling lisp.rl Compiling livecode.rl Compiling logtalk.rl Compiling lua.rl Compiling makefile.rl Compiling mathematica.rl Compiling matlab.rl Compiling metafont.rl Compiling metapost.rl Compiling metapost_with_tex.rl Compiling modelica.rl Compiling modula2.rl Compiling modula3.rl Compiling mxml.rl Compiling nix.rl Compiling nsis.rl Compiling oberon.rl Compiling objective_c.rl Compiling objective_j.rl Compiling ocaml.rl Compiling octave.rl Compiling pascal.rl Compiling perl.rl Compiling php.rl Compiling phphtml.rl Compiling pike.rl Compiling postscript.rl Compiling prolog.rl Compiling puppet.rl Compiling python.rl Compiling r.rl Compiling rebol.rl Compiling rexx.rl Compiling rhtml.rl Compiling ruby.rl Compiling rust.rl Compiling scala.rl Compiling scilab.rl Compiling shell.rl Compiling smalltalk.rl Compiling sql.rl Compiling stratego.rl Compiling structured_basic.rl Compiling tcl.rl Compiling tex.rl Compiling tex_dtx.rl Compiling unrealscript.rl Compiling vb_aspx.rl Compiling vhdl.rl Compiling vim.rl Compiling visual_basic.rl Compiling xaml.rl Compiling xml.rl Compiling xmlschema.rl Compiling xslt.rl Building src/parser.c (will take a while) Building Ohcount src/sourcefile.c: In function ‘ohcount_sourcefile_new’: src/sourcefile.c:27:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(sourcefile->filepath, filepath, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:25:16: note: length computed here int length = strlen(filepath); ^~~~~~~~~~~~~~~~ src/sourcefile.c: In function ‘ohcount_sourcefile_set_diskpath’: src/sourcefile.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(sourcefile->diskpath, diskpath, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:65:14: note: length computed here int size = strlen(diskpath); ^~~~~~~~~~~~~~~~ src/sourcefile.c: In function ‘ohcount_sourcefile_set_contents’: src/sourcefile.c:77:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(sourcefile->contents, contents, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:75:14: note: length computed here int size = strlen(contents); ^~~~~~~~~~~~~~~~ src/sourcefile.c: In function ‘ohcount_sourcefile_list_add_directory’: src/sourcefile.c:373:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(filepath, directory, strlen(directory)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:384:7: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(f_p, (const char *)file->d_name, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:383:20: note: length computed here int length = strlen(file->d_name); ^~~~~~~~~~~~~~~~~~~~ src/detector.c: In function ‘disambiguate_in’: src/detector.c:654:5: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(buf, p, length); ^~~~~~~~~~~~~~~~~~~~~~~ src/detector.c:649:12: note: length computed here pe = p + strlen(p) - 3; ^~~~~~~~~ src/detector.c: In function ‘disambiguate_h’: src/detector.c:554:5: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(path, sourcefile->filename, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/detector.c:551:12: note: length computed here length = strlen(sourcefile->filename); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/detector.c: In function ‘ohcount_is_binary_filename’: src/detector.c:1070:5: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(lowerext, p, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/detector.c:1065:18: note: length computed here int length = strlen(p); ^~~~~~~~~ src/diff.c: In function ‘prepare’: src/diff.c:323:3: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(bufcpy, buf, strlen(buf)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Building test suite In file included from test/unit/all_tests.c:7: test/unit/license_test.h: In function ‘very_long_file_test’: test/unit/license_test.h:70:2: warning: ‘strncpy’ output truncated before terminating nul copying 9 bytes from a string of the same length [-Wstringop-truncation] strncpy(a, "int = 1;\n", strlen("int = 1;\n")); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from test/unit/all_tests.c:10: test/unit/sourcefile_test.h: In function ‘test_sourcefile_diff_very_long’: test/unit/sourcefile_test.h:138:2: warning: ‘strncpy’ output truncated before terminating nul copying 9 bytes from a string of the same length [-Wstringop-truncation] strncpy(a, "int = 1;\n", strlen("int = 1;\n")); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from test/unit/all_tests.c:7: test/unit/all_tests.c: In function ‘src_vs_expected_tests’: test/unit/license_test.h:14:3: warning: ‘strncpy’ output truncated before terminating nul copying 16 bytes from a string of the same length [-Wstringop-truncation] strncpy(src, src_licenses, strlen(src_licenses)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/unit/license_test.h:19:3: warning: ‘strncpy’ output truncated before terminating nul copying 21 bytes from a string of the same length [-Wstringop-truncation] strncpy(expected, expected_licenses, strlen(expected_licenses)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from test/unit/all_tests.c:9: test/unit/all_tests.c: In function ‘test_parser_verify_parses’: test/unit/parser_test.h:204:3: warning: ‘strncpy’ output truncated before terminating nul copying 11 bytes from a string of the same length [-Wstringop-truncation] strncpy(src, src_dir, strlen(src_dir)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/unit/parser_test.h:209:3: warning: ‘strncpy’ output truncated before terminating nul copying 16 bytes from a string of the same length [-Wstringop-truncation] strncpy(expected, expected_dir, strlen(expected_dir)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from test/unit/all_tests.c:6: test/unit/detector_test.h: In function ‘get_filenames’: test/unit/detector_test.h:31:5: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(filename, file->d_name, len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/unit/detector_test.h:29:15: note: length computed here int len = strlen(file->d_name); ^~~~~~~~~~~~~~~~~~~~ In file included from test/unit/all_tests.c:7: test/unit/license_test.h: In function ‘src_vs_expected_tests’: test/unit/license_test.h:32:9: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(s_p, (const char *)file->d_name, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/unit/license_test.h:31:18: note: length computed here length = strlen(file->d_name); ^~~~~~~~~~~~~~~~~~~~ In file included from test/unit/all_tests.c:9: test/unit/parser_test.h: In function ‘test_parser_verify_parses’: test/unit/parser_test.h:219:9: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(s_p, (const char *)file->d_name, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/unit/parser_test.h:218:22: note: length computed here int length = strlen(file->d_name); ^~~~~~~~~~~~~~~~~~~~ test/unit/parser_test.h:221:9: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(e_p, (const char *)file->d_name, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/unit/parser_test.h:218:22: note: length computed here int length = strlen(file->d_name); ^~~~~~~~~~~~~~~~~~~~ src/sourcefile.c: In function ‘ohcount_sourcefile_new’: src/sourcefile.c:27:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(sourcefile->filepath, filepath, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:25:16: note: length computed here int length = strlen(filepath); ^~~~~~~~~~~~~~~~ src/sourcefile.c: In function ‘ohcount_sourcefile_set_diskpath’: src/sourcefile.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(sourcefile->diskpath, diskpath, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:65:14: note: length computed here int size = strlen(diskpath); ^~~~~~~~~~~~~~~~ src/sourcefile.c: In function ‘ohcount_sourcefile_set_contents’: src/sourcefile.c:77:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(sourcefile->contents, contents, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:75:14: note: length computed here int size = strlen(contents); ^~~~~~~~~~~~~~~~ src/sourcefile.c: In function ‘ohcount_sourcefile_list_add_directory’: src/sourcefile.c:373:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(filepath, directory, strlen(directory)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:384:7: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(f_p, (const char *)file->d_name, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:383:20: note: length computed here int length = strlen(file->d_name); ^~~~~~~~~~~~~~~~~~~~ src/detector.c: In function ‘disambiguate_in’: src/detector.c:654:5: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(buf, p, length); ^~~~~~~~~~~~~~~~~~~~~~~ src/detector.c:649:12: note: length computed here pe = p + strlen(p) - 3; ^~~~~~~~~ src/detector.c: In function ‘disambiguate_h’: src/detector.c:554:5: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(path, sourcefile->filename, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/detector.c:551:12: note: length computed here length = strlen(sourcefile->filename); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/detector.c: In function ‘ohcount_is_binary_filename’: src/detector.c:1070:5: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(lowerext, p, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/detector.c:1065:18: note: length computed here int length = strlen(p); ^~~~~~~~~ src/diff.c: In function ‘prepare’: src/diff.c:323:3: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(bufcpy, buf, strlen(buf)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Running test suite disabled test suite, does not work Generating Ruby bindings for x86_64-linux-gnu_debian gcc -fPIC -g -O3 -Wall -Wno-pointer-to-int-cast -Wno-parentheses -I -L -shared ruby/ohcount_wrap.c src/sourcefile.c src/detector.c src/licenses.c src/parser.o src/loc.c src/log.c src/diff.c src/parsed_language.c src/hash/language_hash.c -o ruby/x86_64-linux-gnu_debian/ohcount.so -I/usr/include/ruby-2.5.0 -I/usr/include/ruby-2.5.0/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -lpcre -lmagic src/sourcefile.c: In function ‘ohcount_sourcefile_new’: src/sourcefile.c:27:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(sourcefile->filepath, filepath, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:25:16: note: length computed here int length = strlen(filepath); ^~~~~~~~~~~~~~~~ src/sourcefile.c: In function ‘ohcount_sourcefile_set_diskpath’: src/sourcefile.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(sourcefile->diskpath, diskpath, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:65:14: note: length computed here int size = strlen(diskpath); ^~~~~~~~~~~~~~~~ src/sourcefile.c: In function ‘ohcount_sourcefile_set_contents’: src/sourcefile.c:77:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(sourcefile->contents, contents, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:75:14: note: length computed here int size = strlen(contents); ^~~~~~~~~~~~~~~~ src/sourcefile.c: In function ‘ohcount_sourcefile_list_add_directory’: src/sourcefile.c:373:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(filepath, directory, strlen(directory)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:384:7: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(f_p, (const char *)file->d_name, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/sourcefile.c:383:20: note: length computed here int length = strlen(file->d_name); ^~~~~~~~~~~~~~~~~~~~ src/detector.c: In function ‘disambiguate_in’: src/detector.c:654:5: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(buf, p, length); ^~~~~~~~~~~~~~~~~~~~~~~ src/detector.c:649:12: note: length computed here pe = p + strlen(p) - 3; ^~~~~~~~~ src/detector.c: In function ‘disambiguate_h’: src/detector.c:554:5: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(path, sourcefile->filename, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/detector.c:551:12: note: length computed here length = strlen(sourcefile->filename); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/detector.c: In function ‘ohcount_is_binary_filename’: src/detector.c:1070:5: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(lowerext, p, length); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/detector.c:1065:18: note: length computed here int length = strlen(p); ^~~~~~~~~ src/diff.c: In function ‘prepare’: src/diff.c:323:3: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(bufcpy, buf, strlen(buf)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unhandled /etc/os-release result: debian Loaded suite ruby_test Started ............................................................................... Finished in 1.094588492 seconds. ------------------------------------------------------------------------------- 79 tests, 158 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed ------------------------------------------------------------------------------- 72.17 tests/s, 144.35 assertions/s dh_install install -d debian/ohcount/usr/lib/ruby/vendor_ruby/ohcount install -d debian/ohcount/usr/bin install -d debian/ohcount-doc/usr/share/doc/ohcount-doc cp bin/ohcount debian/ohcount/usr/bin/ cp -R ruby/gestalt ruby/gestalt.rb ruby/ohcount.rb debian/ohcount/usr/lib/ruby/vendor_ruby/ohcount/ # build doxygen mkdir doc_build cp -aR doc/* doc_build/ (cd doc_build && doxygen Doxyfile) warning: Tag `SYMBOL_CACHE_SIZE' at line 278 of file `Doxyfile' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag `SHOW_DIRECTORIES' at line 462 of file `Doxyfile' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag `HTML_ALIGN_MEMBERS' at line 783 of file `Doxyfile' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag `XML_SCHEMA' at line 1103 of file `Doxyfile' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag `XML_DTD' at line 1109 of file `Doxyfile' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: doxygen no longer ships with the FreeSans font. You may want to clear or change DOT_FONTNAME. Otherwise you run the risk that the wrong font is being used for dot generated graphs. /build/ohcount-TffbZm/ohcount-4.0.0/src/parser.h:13: warning: multiple use of section label 'overview' while adding section, (first occurrence: /build/ohcount-TffbZm/ohcount-4.0.0/src/ohcount.h, line 26) Searching for include files... Searching for example files... Searching for files in directory /build/ohcount-TffbZm/ohcount-4.0.0/doc_build/examples Searching for images... Searching for dot files... Searching for msc files... Searching for dia files... Searching for files to exclude Searching INPUT for files to process... Searching for files in directory /build/ohcount-TffbZm/ohcount-4.0.0/src Reading and parsing tag files Parsing files Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/detector.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/detector.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/diff.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/diff.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/languages.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/languages.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/licenses.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/licenses.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/loc.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/loc.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/log.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/log.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/ohcount.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/ohcount.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/parsed_language.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/parsed_language.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/parser.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/parser.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/parser_macros.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/parser_macros.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/sourcefile.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/sourcefile.h... Preprocessing /build/ohcount-TffbZm/ohcount-4.0.0/src/structs.h... Parsing file /build/ohcount-TffbZm/ohcount-4.0.0/src/structs.h... Building group list... Building directory list... Building namespace list... Building file list... Building class list... Associating documentation with classes... Computing nesting relations for classes... Building example list... Searching for enumerations... Searching for documented typedefs... Searching for members imported via using declarations... Searching for included using directives... Searching for documented variables... Building interface member list... Building member list... Searching for friends... Searching for documented defines... Computing class inheritance relations... Computing class usage relations... Flushing cached template relations that have become invalid... Computing class relations... Add enum values to enums... Searching for member function documentation... Creating members for template instances... Building page list... Search for main page... Computing page relations... Determining the scope of groups... Sorting lists... Freeing entry tree Determining which enums are documented Computing member relations... Building full member lists recursively... Adding members to member groups. Computing member references... Inheriting documentation... Generating disk names... Adding source references... Adding xrefitems... Sorting member lists... Computing dependencies between directories... Generating citations page... Counting data structures... Resolving user defined references... Finding anchors and sections in the documentation... Transferring function references... Combining using relations... Adding members to index pages... Generating style sheet... Generating search indices... Generating example documentation... Generating file sources... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/detector.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/diff.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/languages.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/licenses.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/loc.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/log.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/ohcount.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/parsed_language.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/parser.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/parser_macros.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/sourcefile.h... Generating code for file /build/ohcount-TffbZm/ohcount-4.0.0/src/structs.h... Generating file documentation... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/detector.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/diff.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/languages.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/licenses.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/loc.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/log.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/ohcount.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/parsed_language.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/parser.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/parser_macros.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/sourcefile.h... Generating docs for file /build/ohcount-TffbZm/ohcount-4.0.0/src/structs.h... Generating page documentation... Generating docs for page detector_doc... Generating docs for page license_doc... Generating docs for page parser_doc... Generating group documentation... Generating class documentation... Generating docs for compound CallbackItem... Generating docs for compound LanguageMap... Generating docs for compound License... Generating docs for compound LicenseListItem... Generating docs for compound Loc... Generating docs for compound LocDelta... Generating docs for compound LocDeltaListItem... Generating docs for compound LocListItem... Generating docs for compound ParsedLanguage... Generating docs for compound ParsedLanguageListItem... Generating docs for compound SourceFile... Generating docs for compound SourceFileListItem... Generating namespace index... Generating graph info page... Generating directory documentation... Generating index page... Generating page index... Generating module index... Generating namespace index... Generating namespace member index... Generating annotated compound index... Generating alphabetical compound index... Generating hierarchical class index... Generating member index... Generating file index... Generating file member index... Generating example index... finalizing index lists... writing tag file... lookup cache used 476/65536 hits=1426 misses=486 finished... cp -aR doc_build/html/* debian/ohcount-doc/usr/share/doc/ohcount-doc rm -rf debian/ohcount/ruby debian/ohcount-doc/ruby make[1]: Leaving directory '/build/ohcount-TffbZm/ohcount-4.0.0' dh_installdocs -i -O--buildsystem=ruby dh_ruby_fixdocs -i -O--buildsystem=ruby dh_installchangelogs -i -O--buildsystem=ruby dh_installman -i -O--buildsystem=ruby dh_installinit -i -O--buildsystem=ruby dh_perl -i -O--buildsystem=ruby dh_link -i -O--buildsystem=ruby dh_strip_nondeterminism -i -O--buildsystem=ruby dh_compress -X.rb -i -O--buildsystem=ruby dh_fixperms -i -O--buildsystem=ruby dh_missing -i -O--buildsystem=ruby dh_installdeb -i -O--buildsystem=ruby dh_gencontrol -i -O--buildsystem=ruby dpkg-gencontrol: warning: Depends field of package ohcount-doc: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -i -O--buildsystem=ruby dh_builddeb -i -O--buildsystem=ruby dpkg-deb: building package 'ohcount-doc' in '../ohcount-doc_4.0.0-1_all.deb'. dpkg-genbuildinfo --build=all dpkg-genchanges --build=all >../ohcount_4.0.0-1_all.changes dpkg-genchanges: info: binary-only arch-indep upload (source code and arch-specific packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/ohcount-TffbZm /tmp/ohcount-4.0.0-1qnr_bci0 I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.02ru5Ayaql... I: success in 676.2094 seconds md5: ohcount-doc_4.0.0-1_all.deb: OK sha1: ohcount-doc_4.0.0-1_all.deb: OK sha256: ohcount-doc_4.0.0-1_all.deb: OK Checksums: OK