.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 EuAndreh.key: paku.lock gpg --armour --export eu@euandre.org > $@ paku.lock: src/bin/paku Makefile touch $@ 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 result-services src/org/euandre/packages.scm: paku.lock paku guix > src/org/euandre/packages.scm result-packages: guix build -r $@ -v3 -Lsrc/ -K \ -f src/org/euandre/packages.scm \ -f src/org/euandre/queue.scm 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-local: result-packages guix system -v3 -Lsrc/ -K -r $@ build tests/local/system.scm for f in $(local-files); do \ diff -U5 --color=always result-local$$f tests/local$$f; \ done result-internet: result-packages $(MAKE) $(test-config-files) guix system -v3 -Lsrc/ -K -r $@ build tests/internet/system.scm for f in $(internet-files); do \ diff -U5 --color=always result-internet$$f tests/internet$$f; \ done result-services: result-local result-internet nix: default.nix result default.nix: paku.lock paku nix > $@ result: nix-build build.nix 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: all check-ubuntu