.POSIX: .SUFFIXES: .SUFFIXES: .in .in: sed \ -e "s|@HOSTNAME@|`hostname`|g" \ < $< > $@ if [ -x $< ]; then chmod +x $@; fi all: EuAndreh.key guix nix debian homebrew src/bin/paku paku.lock: src/bin/paku Makefile touch $@ EuAndreh.key: paku.lock gpg --armour --export eu@euandre.org > $@ test-config-files = \ tests/internet/etc/postfix/main.cf \ tests/internet/etc/dkimproxyout.conf \ tests/internet/etc/dovecot/dovecot.conf \ derived-assets = \ $(test-config-files) \ guix: src/org/euandre/packages.scm result-packages.sentinel \ result-services.sentinel src/org/euandre/packages.scm: paku.lock paku guix > src/org/euandre/packages.scm result-packages.sentinel: src/org/euandre/packages.scm src/org/euandre/queue.scm rm -f result-packages guix build -r result-packages -v3 -Lsrc/ -K \ -f src/org/euandre/packages.scm \ -f src/org/euandre/queue.scm touch $@ local-files = \ /etc/postfix/master.cf \ /etc/postfix/main.cf \ internet-files = \ $(local-files) \ /etc/sasl2/smtpd.conf \ /etc/dkimproxyout.conf \ /etc/dovecot/dovecot.conf \ result-services.sentinel: result-local.sentinel result-internet.sentinel touch $@ result-local.sentinel: result-packages.sentinel rm -f result-local guix system -v3 -Lsrc/ -K -r result-local build tests/local/system.scm for f in $(local-files); do \ diff -U5 --color=always result-local$$f tests/local$$f; \ done touch $@ result-internet.sentinel: result-packages.sentinel $(test-config-files) rm -f result-internet guix system -v3 -Lsrc/ -K -r result-internet build tests/internet/system.scm for f in $(internet-files); do \ diff -U5 --color=always result-internet$$f tests/internet$$f; \ done touch $@ nix: default.nix result.sentinel default.nix: paku.lock paku nix > $@ result.sentinel: default.nix nix-build build.nix touch $@ debian.mk: paku.lock paku debian > $@ debian: debian.mk $(MAKE) -f debian.mk homebrew: Formula Formula: paku.lock mkdir -p $@ paku homebrew $@ touch $@ public/debian: debian mkdir -p $(@D) rsync -avzP --delete `$(MAKE) -s -f debian.mk public-dir`/ $@/ public/paku.html: paku.lock src/bin/paku mkdir -p $(@D) paku html > $@ public: public/debian public/paku.html upload: public rsync -avzP --delete public/ euandre.org:/srv/www/s/package-repository/ clean: rm -rf \ $(derived-assets) result* .paku/ public/ debian.mk \ src/bin/paku \ HTTP-REMOTE = 'https://euandre.org/s/package-repository' GIT-REMOTE = 'git://euandre.org/package-repository' check-ubuntu-x86_64-deb: sh tests/vm-check.sh -x -H ubuntu-x86_64-headless -r $(HTTP-REMOTE) -t deb check-ubuntu-x86_64-homebrew: sh tests/vm-check.sh -x -H ubuntu-x86_64-headless -r $(GIT-REMOTE) -t homebrew check-ubuntu: check-ubuntu-x86_64-deb check-ubuntu-x86_64-homebrew check-debian-x86_64-deb: sh tests/vm-check.sh -x -H debian-x86_64-headless -r $(HTTP-REMOTE) -t deb check-debian: check-debian-x86_64-deb check: all check-ubuntu check-debian