Files
Allan Odgaard 9894969e67 Initial commit
2012-08-09 16:25:56 +02:00

54 lines
2.1 KiB
Makefile

TBZ_FILES = $(DST)/bad_bzip.tbz $(DST)/bad_tar.tbz $(DST)/bad_content.tbz $(DST)/bad_signature.tbz $(DST)/wrong_signature.tbz $(DST)/good.tbz $(DST)/forbidden.tbz
SECKEY = $(DST)/secret.pem
PUBKEY = $(DST)/public.pem
all: $(TBZ_FILES) $(PUBKEY) $(DST)/forbidden.tbz
.PHONY: all
$(DST):
@echo "Create fixtures for Software Update tests…"
@mkdir -p '$@'
$(SECKEY): $(DST)
@openssl 2>/dev/null dsaparam 512 < /dev/urandom -genkey -out '$@'
$(PUBKEY): $(SECKEY)
@openssl 2>/dev/null dsa -in '$<' -pubout -out '$@'
.INTERMEDIATE: $(SECKEY)
$(TBZ_FILES): $(SECKEY) $(DST) Makefile
$(DST)/bad_bzip.tbz:
@dd 2>/dev/null if=/dev/urandom bs=512 count=1 > '$@'
@xattr -w 'x-amz-meta-x-signature' "$$(openssl dgst -dss1 -sign '$(SECKEY)' '$@'|openssl enc -base64)" '$@'
@xattr -w 'x-amz-meta-x-signee' 'org.textmate.duff' '$@'
$(DST)/bad_tar.tbz:
@dd 2>/dev/null if=/dev/urandom bs=512 count=1|bzip2 > '$@'
@xattr -w 'x-amz-meta-x-signature' "$$(openssl dgst -dss1 -sign '$(SECKEY)' '$@'|openssl enc -base64)" '$@'
@xattr -w 'x-amz-meta-x-signee' 'org.textmate.duff' '$@'
$(DST)/bad_content.tbz:
@tar --no-recursion -jcf '$@' .
@xattr -w 'x-amz-meta-x-signature' "$$(openssl dgst -dss1 -sign '$(SECKEY)' '$@'|openssl enc -base64)" '$@'
@xattr -w 'x-amz-meta-x-signee' 'org.textmate.duff' '$@'
$(DST)/bad_signature.tbz:
@tar --no-recursion -jcf '$@' .
@xattr -w 'x-amz-meta-x-signature' 'ABCD' '$@'
@xattr -w 'x-amz-meta-x-signee' 'org.textmate.duff' '$@'
$(DST)/wrong_signature.tbz: $(SECKEY)
@tar --no-recursion -jcf '$@' .
@xattr -w 'x-amz-meta-x-signature' "$$(echo foo|openssl dgst -dss1 -sign '$(SECKEY)' /dev/stdin|openssl enc -base64)" '$@'
@xattr -w 'x-amz-meta-x-signee' 'org.textmate.duff' '$@'
$(DST)/good.tbz:
@mkdir -p /tmp/sw-update-test/Avian.app/Contents/MacOS && touch /tmp/sw-update-test/Avian.app/Contents/MacOS/Avian
@tar -jcf '$@' -C /tmp/sw-update-test Avian.app
@rm -rf /tmp/sw-update-test
@xattr -w 'x-amz-meta-x-signature' "$$(openssl dgst -dss1 -sign '$(SECKEY)' '$@'|openssl enc -base64)" '$@'
@xattr -w 'x-amz-meta-x-signee' 'org.textmate.duff' '$@'
$(DST)/forbidden.tbz:
@touch '$@' && chmod 0 '$@'
.PHONY: clean
clean:
rm -rf '$(DST)'