debversioncomp/Makefile

41 lines
1.8 KiB
Makefile

.PHONY: all
all: versions.rand versions.sorted testdpkg testapt testdose
set -e; for t in testapt.py testdpkg.pl testdpkg testapt testdose; do \
printf "running $$t..." >&2; \
./$$t < versions.rand | cmp versions.sorted - && echo OK >&2; \
done
versions.rand: versions.sorted
# create a randomized version list using a reproducible seed value
{ openssl enc -aes-256-ctr -pass pass:1612543740 -nosalt </dev/zero 2>/dev/null 4<&- | { \
tr ' ' '\n' <versions.sorted 3<&- | sort --random-source=/proc/self/fd/3 --random-sort; \
} 3<&0 <&4 4<&-; } 4<&0 > versions.rand
testdpkg: testdpkg.c
gcc testdpkg.c -ldpkg -o testdpkg
testapt: testapt.cc
g++ testapt.cc -lapt-pkg -o testapt
testdose:
ocamlfind ocamlc -package dose3.versioning -linkpkg testdose.ml -o testdose
versions.sorted:
wget https://metasnap.debian.net/by-package/debian.sqlite3
wget https://metasnap.debian.net/by-package/debian-backports.sqlite3
wget https://metasnap.debian.net/by-package/debian-debug.sqlite3
wget https://metasnap.debian.net/by-package/debian-ports.sqlite3
wget https://metasnap.debian.net/by-package/debian-security.sqlite3
wget https://metasnap.debian.net/by-package/debian-volatile.sqlite3
{ sqlite3 debian.sqlite3 "select name from vers"; \
sqlite3 debian-backports.sqlite3 "select name from vers"; \
sqlite3 debian-debug.sqlite3 "select name from vers"; \
sqlite3 debian-ports.sqlite3 "select name from vers"; \
sqlite3 debian-security.sqlite3 "select name from vers"; \
sqlite3 debian-volatile.sqlite3 "select name from vers"; \
} | sort -u | grep '^[0-9]' | ./testapt.py > versions.sorted
rm debian.sqlite3 debian-backports.sqlite3 debian-debug.sqlite3 debian-ports.sqlite3 debian-security.sqlite3 debian-volatile.sqlite3
.PHONY: clean
clean:
rm -f testapt testdose testdose.cmi testdose.cmo testdpkg versions.rand