[arch-releng] [PATCH] Mount "usr/share" and "lib/modules" in aufs stack instead of bind mount.

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Wed Apr 21 02:32:37 CEST 2010


Otherwise these paths are read-only.

Fixes FS#19149

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
---
 archiso2dual/archiso2dual          |   12 +++++++-----
 archiso2dual/isomounts.i686        |    4 ++--
 archiso2dual/isomounts.x86_64      |    4 ++--
 archiso2dual/isomounts.x86_64-i686 |    4 ++--
 4 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/archiso2dual/archiso2dual b/archiso2dual/archiso2dual
index 6e0ce28..3441f98 100755
--- a/archiso2dual/archiso2dual
+++ b/archiso2dual/archiso2dual
@@ -119,14 +119,15 @@ mksquashfs_image() {
 
 usrshare_copy_from_root_image() {
     echo "Executing: ${FUNCNAME}"
-    cp -a ${work_dir}/tmp/i686/root-image/usr/share ${work_dir}/tmp/any/usrshare
+    mkdir -p ${work_dir}/tmp/any/usrshare/usr
+    cp -a ${work_dir}/tmp/i686/root-image/usr/share ${work_dir}/tmp/any/usrshare/usr
 }
 
 usrshare_purge() {
     echo "Executing: ${FUNCNAME}"
-    rm -rf ${work_dir}/tmp/any/usrshare/man
-    rm -rf ${work_dir}/tmp/any/usrshare/info
-    rm -rf ${work_dir}/tmp/any/usrshare/doc
+    rm -rf ${work_dir}/tmp/any/usrshare/usr/share/man
+    rm -rf ${work_dir}/tmp/any/usrshare/usr/share/info
+    rm -rf ${work_dir}/tmp/any/usrshare/usr/share/doc
 }
 
 usrshare_make_image() {
@@ -144,7 +145,8 @@ libmodules_make_image() {
 libmodules_copy_from_root_image() {
     echo "Executing: ${FUNCNAME}"
     for _arch in i686 x86_64; do
-        cp -a ${work_dir}/tmp/${_arch}/root-image/lib/modules ${work_dir}/tmp/${_arch}/libmodules
+        mkdir -p ${work_dir}/tmp/${_arch}/libmodules/lib
+        cp -a ${work_dir}/tmp/${_arch}/root-image/lib/modules ${work_dir}/tmp/${_arch}/libmodules/lib
     done
 }
 
diff --git a/archiso2dual/isomounts.i686 b/archiso2dual/isomounts.i686
index 0535d74..a53384c 100644
--- a/archiso2dual/isomounts.i686
+++ b/archiso2dual/isomounts.i686
@@ -1,5 +1,5 @@
 i686/overlay.sqfs i686 / squashfs
 i686/core-pkgs.sqfs i686 /src/core/pkg squashfs
-any/usrshare.sqfs i686 /usr/share squashfs
-i686/libmodules.sqfs i686 /lib/modules squashfs
+any/usrshare.sqfs i686 / squashfs
+i686/libmodules.sqfs i686 / squashfs
 i686/root-image.sqfs i686 / squashfs
diff --git a/archiso2dual/isomounts.x86_64 b/archiso2dual/isomounts.x86_64
index c79df6f..b0fb31f 100644
--- a/archiso2dual/isomounts.x86_64
+++ b/archiso2dual/isomounts.x86_64
@@ -1,5 +1,5 @@
 x86_64/overlay.sqfs x86_64 / squashfs
 x86_64/core-pkgs.sqfs x86_64 /src/core/pkg squashfs
-any/usrshare.sqfs x86_64 /usr/share squashfs
-x86_64/libmodules.sqfs x86_64 /lib/modules squashfs
+any/usrshare.sqfs x86_64 / squashfs
+x86_64/libmodules.sqfs x86_64 / squashfs
 x86_64/root-image.sqfs x86_64 / squashfs
diff --git a/archiso2dual/isomounts.x86_64-i686 b/archiso2dual/isomounts.x86_64-i686
index 8bb1735..54e0698 100644
--- a/archiso2dual/isomounts.x86_64-i686
+++ b/archiso2dual/isomounts.x86_64-i686
@@ -1,5 +1,5 @@
 x86_64/overlay.sqfs x86_64 / squashfs
 x86_64/core-pkgs.sqfs x86_64 /src/core/pkg squashfs
-any/usrshare.sqfs x86_64 /usr/share squashfs
-x86_64/libmodules.sqfs x86_64 /lib/modules squashfs
+any/usrshare.sqfs x86_64 / squashfs
+x86_64/libmodules.sqfs x86_64 / squashfs
 i686/root-image.sqfs x86_64 / squashfs
-- 
1.7.0.5




More information about the arch-releng mailing list