From a012d00b55499a918f32a0ca8bd4ae2421178dfd Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 6 Aug 2009 10:52:23 +0000 Subject: init: fixes for new apk behaviour --- initramfs-init.in | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/initramfs-init.in b/initramfs-init.in index 0b295f8..0ea081c 100755 --- a/initramfs-init.in +++ b/initramfs-init.in @@ -6,7 +6,7 @@ SINGLEMODE=no 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 @@ else 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 @@ if [ -n "$new_mnt" ] && [ "$new_mnt" != "$ALPINE_MNT" ]; then 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" -- cgit v1.2.3