From b280c136a4279d9b3c46936f4737c47d83dae2fd Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Fri, 27 Mar 2015 13:28:33 +0100 Subject: Docker packaging. --- Makefile | 92 +++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 48 insertions(+), 44 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 51fd786..e188e95 100644 --- a/Makefile +++ b/Makefile @@ -1,49 +1,53 @@ -PREFIX=rel +# Makefile for catlfish + +PREFIX=. +INSTDIR=$(PREFIX)/catlfish build all: ./make.erl + clean: -rm ebin/*.beam + release: all - rm -rf $(PREFIX) - mkdir $(PREFIX) - ./makerelease.erl - mkdir $(PREFIX)/catlfish + rm -rf $(INSTDIR) + mkdir $(INSTDIR) + ./makerelease.erl $(INSTDIR) -include test/test.mk tests-prepare: - rm -r $(PREFIX)/tests || true - mkdir $(PREFIX)/tests + rm -r $(INSTDIR)/tests || true + mkdir $(INSTDIR)/tests make tests-createca make tests-createcert - mkdir $(PREFIX)/tests/keys - (cd $(PREFIX)/tests/keys ; ../../../tools/create-key.sh logkey) - mkdir $(PREFIX)/tests/mergedb - mkdir $(PREFIX)/tests/mergedb/chains - touch $(PREFIX)/tests/mergedb/logorder - mkdir $(PREFIX)/tests/known_roots - cp tools/testcerts/roots/* $(PREFIX)/tests/known_roots + mkdir $(INSTDIR)/tests/keys + (cd $(INSTDIR)/tests/keys ; ../../../tools/create-key.sh logkey) + mkdir $(INSTDIR)/tests/mergedb + mkdir $(INSTDIR)/tests/mergedb/chains + touch $(INSTDIR)/tests/mergedb/logorder + mkdir $(INSTDIR)/tests/known_roots + cp tools/testcerts/roots/* $(INSTDIR)/tests/known_roots @for machine in $(MACHINES); do \ - (cd $(PREFIX); ../tools/compileconfig.py --config=../test/catlfish-test.cfg --localconfig ../test/catlfish-test-local-$$machine.cfg) ; \ - mkdir -p $(PREFIX)/tests/machine/machine-$$machine/db ; \ - touch $(PREFIX)/tests/machine/machine-$$machine/db/index ; \ - touch $(PREFIX)/tests/machine/machine-$$machine/db/newentries ; \ + tools/compileconfig.py --config=test/catlfish-test.cfg --localconfig test/catlfish-test-local-$$machine.cfg ; \ + mkdir -p $(INSTDIR)/tests/machine/machine-$$machine/db ; \ + touch $(INSTDIR)/tests/machine/machine-$$machine/db/index ; \ + touch $(INSTDIR)/tests/machine/machine-$$machine/db/newentries ; \ done - (cd $(PREFIX); ../tools/compileconfig.py --config=../test/catlfish-test.cfg --localconfig ../test/catlfish-test-local-signing.cfg) - mkdir $(PREFIX)/tests/privatekeys - mkdir $(PREFIX)/tests/publickeys + tools/compileconfig.py --config test/catlfish-test.cfg --localconfig test/catlfish-test-local-signing.cfg + mkdir $(INSTDIR)/tests/privatekeys + mkdir $(INSTDIR)/tests/publickeys @for node in $(NODES); do \ - (cd $(PREFIX)/tests/privatekeys ; ../../../tools/create-key.sh $$node) ; \ - mv $(PREFIX)/tests/privatekeys/$$node.pem $(PREFIX)/tests/publickeys/ ; \ + (cd $(INSTDIR)/tests/privatekeys ; ../../../tools/create-key.sh $$node) ; \ + mv $(INSTDIR)/tests/privatekeys/$$node.pem $(INSTDIR)/tests/publickeys/ ; \ mkdir -p test/nodes/$$node/log ; \ done - (cd $(PREFIX)/tests/privatekeys ; ../../../tools/create-key.sh merge-1) - mv $(PREFIX)/tests/privatekeys/merge-1.pem $(PREFIX)/tests/publickeys/ + (cd $(INSTDIR)/tests/privatekeys ; ../../../tools/create-key.sh merge-1) + mv $(INSTDIR)/tests/privatekeys/merge-1.pem $(INSTDIR)/tests/publickeys/ tests-start: @for node in $(NODES); do \ - (cd $(PREFIX) ; bin/run_erl -daemon ../test/nodes/$$node/ ../test/nodes/$$node/log/ "exec bin/erl -config $$node") \ + (cd $(INSTDIR) ; bin/run_erl -daemon ../test/nodes/$$node/ ../test/nodes/$$node/log/ "exec bin/erl -config $$node") \ done @for i in 1 2 3 4 5 6 7 8 9 10; do \ echo "waiting for system to start" ; \ @@ -59,20 +63,20 @@ tests-start: done tests-run: - @(cd $(PREFIX) && python ../tools/testcase1.py https://localhost:8080/ tests/keys/logkey.pem) || (echo "Tests failed" ; false) - @(cd $(PREFIX) && python ../tools/fetchallcerts.py $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Verification failed" ; false) - @(cd $(PREFIX) && rm -f submittedcerts) - @(cd $(PREFIX) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/cert1.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) - @(cd $(PREFIX) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/cert2.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) - @(cd $(PREFIX) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/cert3.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) - @(cd $(PREFIX) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/cert4.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) - @(cd $(PREFIX) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/cert5.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) - @(cd $(PREFIX) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/pre1.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) - @(cd $(PREFIX) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/pre2.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) - @(cd $(PREFIX) && python ../tools/merge.py --config ../test/catlfish-test.cfg --localconfig ../test/catlfish-test-local-merge.cfg) || (echo "Merge failed" ; false) + @(cd $(INSTDIR) && python ../tools/testcase1.py https://localhost:8080/ tests/keys/logkey.pem) || (echo "Tests failed" ; false) + @(cd $(INSTDIR) && python ../tools/fetchallcerts.py $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Verification failed" ; false) + @(cd $(INSTDIR) && rm -f submittedcerts) + @(cd $(INSTDIR) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/cert1.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) + @(cd $(INSTDIR) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/cert2.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) + @(cd $(INSTDIR) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/cert3.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) + @(cd $(INSTDIR) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/cert4.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) + @(cd $(INSTDIR) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/cert5.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) + @(cd $(INSTDIR) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/pre1.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) + @(cd $(INSTDIR) && python ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/pre2.txt --check-sct --sct-file=submittedcerts $(BASEURL) --publickey=tests/keys/logkey.pem) || (echo "Submission failed" ; false) + @(cd $(INSTDIR) && python ../tools/merge.py --config ../test/catlfish-test.cfg --localconfig ../test/catlfish-test-local-merge.cfg) || (echo "Merge failed" ; false) tests-run2: - @(cd $(PREFIX) ; python ../tools/verifysct.py --sct-file=submittedcerts --parallel 1 $(BASEURL) --publickey=tests/keys/logkey.pem) || echo "Verification of SCT:s failed" + @(cd $(INSTDIR) ; python ../tools/verifysct.py --sct-file=submittedcerts --parallel 1 $(BASEURL) --publickey=tests/keys/logkey.pem) || echo "Verification of SCT:s failed" tests-stop: @for node in $(NODES); do \ @@ -96,8 +100,8 @@ tests: @make tests-stop tests-createca: - mkdir $(PREFIX)/tests/httpsca - ( cd $(PREFIX)/tests/httpsca ; \ + mkdir $(INSTDIR)/tests/httpsca + ( cd $(INSTDIR)/tests/httpsca ; \ mkdir -p demoCA/newcerts ; \ touch demoCA/index.txt ; \ echo 00 > demoCA/serial ; \ @@ -112,12 +116,12 @@ tests-createca: ) tests-createcert: - mkdir $(PREFIX)/tests/httpscert - openssl req -new -newkey rsa:2048 -keyout $(PREFIX)/tests/httpscert/httpskey-1.pem -out $(PREFIX)/tests/httpsca/httpscert-1.csr -nodes -subj '/countryName=SE/stateOrProvinceName=Stockholm/organizationName=Test/CN=localhost' - ( cd $(PREFIX)/tests/httpsca ; \ + mkdir $(INSTDIR)/tests/httpscert + openssl req -new -newkey rsa:2048 -keyout $(INSTDIR)/tests/httpscert/httpskey-1.pem -out $(INSTDIR)/tests/httpsca/httpscert-1.csr -nodes -subj '/countryName=SE/stateOrProvinceName=Stockholm/organizationName=Test/CN=localhost' + ( cd $(INSTDIR)/tests/httpsca ; \ openssl ca -in httpscert-1.csr -keyfile key.pem -out httpscert-1.pem -batch \ ) - cp $(PREFIX)/tests/httpsca/httpscert-1.pem $(PREFIX)/tests/httpscert/ + cp $(INSTDIR)/tests/httpsca/httpscert-1.pem $(INSTDIR)/tests/httpscert/ # Unit testing. -- cgit v1.1