summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rwxr-xr-xMakefile48
-rw-r--r--alpine-mini.conf.mk1
-rw-r--r--alpine-vserver.conf.mk1
-rw-r--r--alpine.conf.mk2
-rw-r--r--current1
-rw-r--r--previous1
7 files changed, 50 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore
index a5fbe81..33afafd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
isotmp.*
*.iso
-
+*.sha1
+*.pkgdiff
+*.xdelta
diff --git a/Makefile b/Makefile
index 16c78a2..10f22f9 100755
--- a/Makefile
+++ b/Makefile
@@ -28,6 +28,7 @@ find_apk = $(addprefix $(ISO_PKGDIR)/,$(call find_apk_file,$(1)))
# get apk does not support wildcards
get_apk = $(addsuffix .apk,$(shell apk fetch --simulate $(APK_OPTS) $(1) 2>&1 | sed 's:^Downloading :$(ISO_PKGDIR)/:'))
+expand_apk = $(shell apk search --quiet $(APK_OPTS) $(1) | sort | uniq)
KERNEL_FLAVOR ?= grsec
KERNEL_PKGNAME ?= linux-$(KERNEL_FLAVOR)
@@ -45,7 +46,7 @@ STRACE_APK := $(call get_apk,strace)
APKS_FILTER ?= | grep -v -- '-dev$$' | grep -v 'sources'
APKS ?= '*'
-APK_FILES := $(call find_apk,$(APKS))
+APK_FILES := $(call get_apk,$(call expand_apk,$(APKS)))
all: isofs
@@ -237,6 +238,7 @@ $(ISO_KERNEL): $(MODLOOP_DIRSTAMP)
@rm -f $(ISO_DIR)/boot/$(KERNEL_NAME)
@ln -s vmlinuz-$(MODLOOP_KERNEL_RELEASE) $@
@rm -rf $(ISO_DIR)/.[A-Z]* $(ISO_DIR)/.[a-z]* $(ISO_DIR)/lib
+ @touch $@
$(ISOFS_DIRSTAMP): $(MODLOOP) $(INITFS) $(ISOLINUX_CFG) $(ISOLINUX_BIN) $(ISO_KERNEL) $(ISO_REPOS_DIRSTAMP) $(SYSLINUX_CFG)
@echo "$(ALPINE_NAME)-$(ALPINE_RELEASE) $(BUILD_DATE)" \
@@ -270,6 +272,30 @@ $(ISO_SHA1): $(ISO)
@sha1sum $(ISO) > $@ || rm -f $@
#
+# .pkgdiff
+#
+previous := $(shell cat previous)
+release_diff := $(previous)-$(ALPINE_RELEASE)
+PREV_ISO := $(ALPINE_NAME)-$(previous)-$(ALPINE_ARCH).iso
+pkgdiff := $(ALPINE_NAME)-$(release_diff).pkgdiff
+$(pkgdiff): cmp-apks-iso previous $(PREV_ISO) $(ISO)
+ @echo "==> Generating $@"
+ @./cmp-apks-iso $(PREV_ISO) $(ISO) > $@
+
+diff: $(pkgdiff)
+
+
+#
+# xdelta
+#
+xdelta := $(ALPINE_NAME)-$(release_diff).xdelta
+$(xdelta): $(PREV_ISO) $(ISO)
+ @echo "==> Generating $@"
+ @xdelta3 -f -e -s $(PREV_ISO) $(ISO) $@
+
+xdelta: $(xdelta)
+
+#
# USB image
#
USBIMG := $(ALPINE_NAME)-$(ALPINE_RELEASE)-$(ALPINE_ARCH).img
@@ -296,7 +322,23 @@ $(ALPINE_NAME).img: $(USBIMG)
img: $(ALPINE_NAME).img
-sha1: $(ISO_SHA1) $(USBIMG_SHA1)
+sha1: $(ISO_SHA1)
-release: $(ISO_SHA1)
+profiles := $(wildcard *.conf.mk)
+current := $(shell cat current)
+
+all-release: current previous $(profiles)
+ @echo "*"
+ @echo "* Making $(current) releases"
+ @echo "*"
+ @echo
+ @for i in $(profiles); do\
+ p=$${i%.conf.mk}; \
+ echo "*";\
+ echo "* Release $$p $(current)"; \
+ echo "*"; \
+ rm -rf isotmp.$$p; \
+ fakeroot $(MAKE) ALPINE_RELEASE=$(current) \
+ PROFILE=$$p sha1 diff xdelta || break; \
+ done
diff --git a/alpine-mini.conf.mk b/alpine-mini.conf.mk
index b49b8bb..59fbe70 100644
--- a/alpine-mini.conf.mk
+++ b/alpine-mini.conf.mk
@@ -1,5 +1,4 @@
ALPINE_NAME := alpine-mini
-ALPINE_RELEASE := 1.10.0
MODLOOP_EXTRA :=
KERNEL_FLAVOR := grsec
diff --git a/alpine-vserver.conf.mk b/alpine-vserver.conf.mk
index 9467939..2f74fc6 100644
--- a/alpine-vserver.conf.mk
+++ b/alpine-vserver.conf.mk
@@ -1,5 +1,4 @@
ALPINE_NAME := alpine-vserver
-ALPINE_RELEASE := 1.10.0
KERNEL_FLAVOR := vserver
MODLOOP_EXTRA := dahdi-linux-vserver
diff --git a/alpine.conf.mk b/alpine.conf.mk
index 68fc848..bcb8ff7 100644
--- a/alpine.conf.mk
+++ b/alpine.conf.mk
@@ -1,5 +1,3 @@
ALPINE_NAME := alpine
-ALPINE_RELEASE := 1.10.0
KERNEL_FLAVOR := grsec
-
diff --git a/current b/current
new file mode 100644
index 0000000..81c871d
--- /dev/null
+++ b/current
@@ -0,0 +1 @@
+1.10.0
diff --git a/previous b/previous
new file mode 100644
index 0000000..85f1b9a
--- /dev/null
+++ b/previous
@@ -0,0 +1 @@
+1.10_rc3