home: hub: mkinitfs

Download patch

ref: a012d00b55499a918f32a0ca8bd4ae2421178dfd
parent: 745fe99e8be2f889ff79a544dd6a314b69437258
author: Natanael Copa <ncopa@alpinelinux.org>
date: Thu Aug 6 05:52:23 CDT 2009

init: fixes for new apk behaviour

--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -6,7 +6,7 @@
 sysroot=/sysroot
 
 /bin/busybox mkdir -p /usr/bin /usr/sbin /proc /sys /dev $sysroot \
-	/media/cdrom /media/floppy /media/usb
+	/media/cdrom /media/floppy /media/usb /tmp
 /bin/busybox --install -s
 
 # basic environment
@@ -313,10 +313,6 @@
 	rc_add savecache shutdown
 fi
 
-# copy the apk keys to sysroot
-mkdir -p "$sysroot"/etc/apk/keys
-cp -r /etc/apk/keys/* "$sysroot"/etc/apk/keys/ 2>/dev/null
-
 # let user override tmpfs size in fstab in apkovl
 if [ -f $sysroot/etc/fstab ]; then
 	mountopts=$(awk '$2 == "/" && $3 == "tmpfs" { print $4 }' $sysroot/etc/fstab)
@@ -342,13 +338,21 @@
 	ALPINE_MNT="$new_mnt"
 fi
 
-# generate apk repositories file
-mkdir -p /etc/apk
-repo_opt=
-for i in $(find $ALPINE_MNT -name 'APK*.gz' -type f -maxdepth 3 \
-	| sed 's:/APK.*\.gz$::'); do
-	repo_opt="$repo_opt --repo $i"
-done
+# copy keys so apk finds them. apk looks for stuff relative --root
+mkdir -p $sysroot/etc/apk/keys/
+cp -a /etc/apk/keys $sysroot/etc/apk
+
+# generate apk repositories file and --repo opt 
+echo "$(find $ALPINE_MNT -name .boot_repository -type f -maxdepth 3 \
+	| sed 's:/.boot_repository$::')" > /tmp/repositories
+
+if [ ! -f $sysroot/etc/apk/repositories ]; then
+	mv /tmp/repositories $sysroot/etc/apk/
+else
+	for i in $(cat /tmp/repositories); do
+		repo_opt="$repo_opt --repo $i"
+	done
+fi
 
 # install new root
 ebegin "Installing packages to root filesystem"