blob: 23f3183ed123d6002d568f26198b22d88e60486b (
plain) (
tree)
|
|
repos := repo1 repo2
tmproot := /tmp/apk-test
testroot = $(tmproot)/$(basename $@)
SUDO := sudo
APK := ../src/apk --keys-dir /etc/apk/keys
#SYSREPO ?= http://alpinelinux.org/cgi-bin/dl.cgi/edge/main
SYSREPO ?= http://192.168.8.4/main
LD_LIBRARY_PATH = ../src
export LD_LIBRARY_PATH SYSREPO
all: tests
$(repos):
@echo "Building $@"
@rm -f repos.out
@cd $@ &&\
for i in */APKBUILD; do\
( cd $${i%/*} && \
PKGDEST="$$PWD/.." abuild -R ) >> ../repos.out 2>&1 || exit 1;\
done
@cd $@ &&\
( apk index -o APKINDEX.tar.gz *.apk &&\
abuild-sign APKINDEX.tar.gz ) >> ../repos.out 2>&1
clean:
$(SUDO) rm -rf $(addsuffix /*.apk,$(repos)) $(tmproot) *.ok *.out *.stamp
repos: repos.stamp
repos.stamp: $(repos)
@touch $@
%.ok: %.sh
@echo -n "$<"; \
rm -rf "$(testroot)" ;\
mkdir -p "$(testroot)"; \
if ! APK="$(APK)" ROOT="$(testroot)" SYSREPO="$(SYSREPO)" sh -e $< > $(basename $@).out 2>&1; then\
echo " FAIL";\
exit 1;\
fi ;\
echo " OK" ;\
$(SUDO) rm -rf $(testroot); \
touch $@
tests: repos.stamp
@echo "== Testing `$(APK) --version` =="
@for i in test*.sh; do \
rm -f $${i%.sh}.ok ;\
$(SUDO) $(MAKE) --no-print-directory $${i%.sh}.ok SYSREPO=$(SYSREPO); \
done
.PHONY: $(repos)
|