summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile28
1 files changed, 21 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 9a94322..3604ba4 100644
--- a/Makefile
+++ b/Makefile
@@ -1,19 +1,27 @@
-DOCKER_USER:=pierres
-DOCKER_ORGANIZATION=archlinux
+DOCKER_USER:=lukeshu
+DOCKER_ORGANIZATION=paradock
DOCKER_IMAGE:=base
+DOCKER_TAG:=$(shell date -u +'%Y.%m.%d')
-rootfs:
+pacman.conf.%: /usr/share/pacman/defaults/pacman.conf.%
+ sed -r "s|^.*Include\s*=\s*/etc/pacman.d/.*\.conf|#&|" < $< > $@
+
+rootfs-$(DOCKER_TAG)-%.tar: pacman.conf.% packages exclude
$(eval TMPDIR := $(shell mktemp -d))
- env -i pacstrap -C /usr/share/devtools/pacman-extra.conf -c -d -G -M $(TMPDIR) $(shell cat packages)
+ env -i pacstrap -C $(CURDIR)/pacman.conf.$* -c -d -G -M $(TMPDIR) --hookdir=$(TMPDIR)/etc/pacman.d/hooks $(shell cat packages)
cp --recursive --preserve=timestamps --backup --suffix=.pacnew rootfs/* $(TMPDIR)/
arch-chroot $(TMPDIR) locale-gen
arch-chroot $(TMPDIR) pacman-key --init
arch-chroot $(TMPDIR) pacman-key --populate archlinux
- tar --numeric-owner --xattrs --acls --exclude-from=exclude -C $(TMPDIR) -c . -f archlinux.tar
+ tar --numeric-owner --xattrs --acls --exclude-from=exclude -C $(TMPDIR) -c . -f $@
rm -rf $(TMPDIR)
-docker-image: rootfs
+Dockerfile: Dockerfile.in .var.DOCKER_TAG
+ sed 's/@DOCKER_TAG@/$(DOCKER_TAG)/' < $< > $@
+
+docker-image: rootfs-$(DOCKER_TAG)-x86_64.tar Dockerfile
docker build -t $(DOCKER_ORGANIZATION)/$(DOCKER_IMAGE) .
+ docker tag $(DOCKER_ORGANIZATION)/$(DOCKER_IMAGE) $(DOCKER_ORGANIZATION)/$(DOCKER_IMAGE):$(DOCKER_TAG)
docker-image-test: docker-image
# FIXME: /etc/mtab is hidden by docker so the stricter -Qkk fails
@@ -33,4 +41,10 @@ docker-push:
docker login -u $(DOCKER_USER)
docker push $(DOCKER_ORGANIZATION)/$(DOCKER_IMAGE)
-.PHONY: rootfs docker-image docker-image-test ci-test docker-push
+.PHONY: docker-image docker-image-test ci-test docker-push
+
+.PHONY: FORCE
+.var.%: FORCE
+ @echo '# $* = $($*)' > .tmp.$@.tmp
+ @if cmp -s .tmp.$@.tmp $@; then rm -f .tmp.$@.tmp || true; else mv -f .tmp.$@.tmp $@; fi
+-include $(wildcard .var.*)