]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxc-plamo: keep original uid/gid of files/dirs when installing
authorTAMUKI Shoichi <tamuki@linet.gr.jp>
Thu, 4 Sep 2014 22:29:29 +0000 (07:29 +0900)
committerStéphane Graber <stgraber@ubuntu.com>
Fri, 19 Sep 2014 20:58:00 +0000 (16:58 -0400)
Regardless of whether "installpkg" command exists or not, install the
command temporarily with static linked tar command into the lxc cache
directory to keep the original uid/gid of files/directories.  Also,
use sed command instead of ed command for simplicity.

Signed-off-by: TAMUKI Shoichi <tamuki@linet.gr.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
templates/lxc-plamo.in

index 82a9e7839784cfa5c68051a0f17f1c6e88823a02..ce98c1a5f4abd80c3b41352401c3164265ecf019 100644 (file)
@@ -123,14 +123,13 @@ install_plamo() {
         return 1
       fi
     fi
-    if [ ! -x /sbin/installpkg  ] ; then
-      echo "'installpkg' command is missing."
-      echo "Installing 'installpkg' command into $dlcache/sbin..."
-      ( cd $dlcache ; tar xpJf hdsetup-*.txz ; rm -rf tmp usr var )
-      sed -i "/ldconfig/!s@/sbin@$dlcache&@g" $dlcache/sbin/installpkg*
-      sed -i "/^TAR=/s@tar@`which tar`@g" $dlcache/sbin/installpkg2
-      PATH=$dlcache/sbin:$PATH
-    fi
+    # install "installpkg" command temporarily with static linked tar
+    # command into the lxc cache directory to keep the original uid/
+    # gid of files/directories.
+    echo "Installing 'installpkg' command into $dlcache/sbin..."
+    ( cd $dlcache ; tar xpJf hdsetup-*.txz ; rm -rf tmp usr var )
+    sed -i "/ldconfig/!s@/sbin@$dlcache&@g" $dlcache/sbin/installpkg*
+    PATH=$dlcache/sbin:$PATH
     echo "Installing packages to $rtcache..."
     if [ ! -d $rtcache ] ; then
       mkdir -p $rtcache
@@ -239,10 +238,7 @@ configure_plamo() {
   rm -f $rootfs/etc/rc.d/rc.inet1.tradnet
   sh /tmp/netconfig.rconly
   rm -f /tmp/netconfig.rconly
-  ed - $rootfs/etc/rc.d/rc.inet1.tradnet <<- "EOF"
-       g/cmdline/s/if/& false \&\&/
-       w
-       EOF
+  sed -i '/cmdline/s/if/& false \&\&/' $rootfs/etc/rc.d/rc.inet1.tradnet
   return 0
 }