From 2d0758cfdf0f03d52dff5817b1d96b2b0e1e423a Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Tue, 6 Jan 2009 08:57:25 +0000
Subject: [PATCH] mkiso: check timestamps on initramfs and modloop

this avoids rebuilding those unless its needed
---
 mkiso | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/mkiso b/mkiso
index 7d83d2b2d8c8..9c4684e5943a 100644
--- a/mkiso
+++ b/mkiso
@@ -4,6 +4,9 @@ tmp=$PWD/tmp
 aports=$PWD/../aports
 target=alpine-test.iso
 
+initramfs=test.gz
+modloop=modloop.cmg
+
 unapk() {
 	local dest="$1"
 	shift
@@ -14,6 +17,11 @@ unapk() {
 	rm -f "$dest/.PKGINFO"
 }
 
+link_or_copy() {
+	ln -f "$1" "$2" 2>/dev/null || cp "$1" "$2"
+}
+
+
 rm -r $tmp
 mkdir -p $tmp/apks $tmp/isolinux
 cp /usr/share/syslinux/isolinux.* $tmp/isolinux
@@ -32,13 +40,20 @@ EOF
 
 unapk $tmp $aports/core/linux-grsec/linux-grsec-[0-9]*.apk
 
-sh mkinitram
-sh mkmodloop
+# only build initram if its missing or script is newer than target
+if [ ! -f "$initramfs" ] || [ mkinitram -nt "$initramfs" ]; then
+	sh mkinitram
+fi
+
+if [ ! -f "$modloop" ] || [ mkmodloop -nt "$modloop" ]; then
+	sh mkmodloop
+fi
 
 mkdir -p $tmp/boot/
-cp test.gz $tmp/boot/ 
-cp modloop.cmg $tmp/boot/
+link_or_copy test.gz $tmp/boot/ 
+link_or_copy modloop.cmg $tmp/boot/
 
+echo "==> Creating ISO image"
 genisoimage -o $target -l -J -R \
 	-b isolinux/isolinux.bin \
 	-c isolinux/boot.cat	\
-- 
GitLab