Git Repositories

Salix 14.1
[lxc-salix.git] / lxc-salix
index b833a4e..3d93efd 100755 (executable)
--- a/lxc-salix
+++ b/lxc-salix
@@ -36,7 +36,7 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
 default_path=/var/lib/lxc
-default_release=14.0
+default_release=14.1
 root_password=root
 if [ -z "$arch" ]; then
   case "$( uname -m )" in
@@ -193,7 +193,7 @@ installpkg() {
     done
     echo "PACKAGE NAME:     $ipkg_shortname" > $ipkg_log/packages/$ipkg_shortname
     echo "COMPRESSED PACKAGE SIZE:     $ipkg_compressed" >> $ipkg_log/packages/$ipkg_shortname
-    echo "UNCOMPRESSED PACKAGE SIZE:     not-computed" >> $ipkg_log/packages/$ipkg_shortname
+    echo "UNCOMPRESSED PACKAGE SIZE:     0M" >> $ipkg_log/packages/$ipkg_shortname
     echo "PACKAGE LOCATION: $ipkg_pkg" >> $ipkg_log/packages/$ipkg_shortname
     echo "PACKAGE DESCRIPTION:" >> $ipkg_log/packages/$ipkg_shortname
     if [ -e install/slack-desc ]; then
@@ -320,6 +320,11 @@ configure_salix() {
   # simplify rc.6 and rc.S, http://www.vislab.uq.edu.au/howto/lxc/create_container.html
   # and some other small fixes for a clean boot
   touch $rootfs_path/.container
+  cat << 'EOF' > $rootfs_path/.rc.d-lxcify
+#!/bin/sh
+[ -e etc ] || cd /
+[ -d etc/rc.d ] || exit 1
+if ! grep -q /\.container etc/rc.d/rc.S; then
   sed -i '
 /# Try to mount \/proc:/i \
 if [ ! -e /.container ]; then
@@ -339,7 +344,9 @@ fi # end container check
 if [ ! -e /.container ]; then
 ; /# Carry an entropy pool/i \
 fi # end container check
-    ' $rootfs_path/etc/rc.d/rc.S
+    ' etc/rc.d/rc.S
+fi
+if ! grep -q /\.container etc/rc.d/rc.6; then
   sed -i '
 /# Save the system time to the hardware clock/i \
 if [ ! -e /.container ]; then
@@ -356,19 +363,27 @@ else \
   # confirm successful shutdown \
   echo; echo -e "${BOLDYELLOW}Container stopped.${COLOR_RESET}"; echo \
 fi # end container check
-    ' $rootfs_path/etc/rc.d/rc.6
+    ' etc/rc.d/rc.6
+fi
+if ! grep -q /\.container etc/rc.d/rc.M; then
   sed -i '
 /# Screen blanks/i \
 if [ ! -e /.container ]; then
 ; /# Set the permissions on \/var\/log\/dmesg/i \
 fi # end container check
-    ' $rootfs_path/etc/rc.d/rc.M
+    ' etc/rc.d/rc.M
+fi
+if ! grep -q /\.container etc/rc.d/rc.inet1; then
   sed -i '
 /# If the interface isn.t in the kernel yet/i \
 if [ ! -e /.container ]; then
 ; /then # interface exists/i \
 fi # end container check
-    ' $rootfs_path/etc/rc.d/rc.inet1
+    ' etc/rc.d/rc.inet1
+fi
+EOF
+  chmod +x $rootfs_path/.rc.d-lxcify
+  (cd $rootfs_path ./.rc.d-lxcify)
   echo "lxc container" >>  $rootfs_path/etc/motd
   # reduce the number of local consoles: two should be enough
   sed -i '/^c3\|^c4\|^c5\|^c6/s/^/# /' $rootfs_path/etc/inittab