diff options
Diffstat (limited to 'main/mkinitfs/0002-init-fixes-for-new-apk-behaviour.patch')
-rw-r--r-- | main/mkinitfs/0002-init-fixes-for-new-apk-behaviour.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/main/mkinitfs/0002-init-fixes-for-new-apk-behaviour.patch b/main/mkinitfs/0002-init-fixes-for-new-apk-behaviour.patch new file mode 100644 index 00000000..422bcd93 --- /dev/null +++ b/main/mkinitfs/0002-init-fixes-for-new-apk-behaviour.patch @@ -0,0 +1,65 @@ +From a012d00b55499a918f32a0ca8bd4ae2421178dfd Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Thu, 6 Aug 2009 10:52:23 +0000 +Subject: [PATCH 2/2] init: fixes for new apk behaviour + +--- + initramfs-init.in | 28 ++++++++++++++++------------ + 1 files 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" +-- +1.6.4 + |