altboot: update pkg_postinst_spitz and pkg_postrm_spitz to skip flash install/remove...
authorJustin Patrin <papercrane@gmail.com>
Thu, 23 Feb 2006 18:27:26 +0000 (18:27 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Thu, 23 Feb 2006 18:27:26 +0000 (18:27 +0000)
packages/altboot/altboot_0.0.5-rc4.bb

index 082f312..37ae84a 100644 (file)
@@ -12,7 +12,7 @@ HOMEPAGE = "http://www.hentges.net/misc/openzaurus/index.shtml"
 
 ######################################################################################
 
-PR = "r0"
+PR = "r1"
 
 ######################################################################################
 
@@ -78,27 +78,33 @@ pkg_postinst_spitz() {
        #       a user can install an altboot.ipk into the flash FS.
        #       So we need to do that manually (*SIGH*)
 
-       # /l/m only exists on the HDD on spitz
-       if test -d /lib/modules
-       then
-          if [ -e /media/realroot/sbin/init ]; then
-             ROOT_MOUNT_POINT="/media/realroot"
-          elif [ -e /media/ROM/sbin/init ]; then
-             ROOT_MOUNT_POINT="/media/ROM"
-          fi
-          if [ ! "$ROOT_MOUNT_POINT" = "" ]; then
-             ROOT_MOUNT_DEVICE=`cat /proc/mounts | grep $ROOT_MOUNT_POINT | grep jffs2 | cut -d " " -f 1`
-             if [ ! "$ROOT_MOUNT_DEVICE" = "" ]; then
-                mount -oremount,rw $ROOT_MOUNT_DEVICE $ROOT_MOUNT_POINT
-                cp -R /etc/altboot* $ROOT_MOUNT_POINT/etc
-                cp /sbin/init.altboot $ROOT_MOUNT_POINT/sbin
-                if [ -f $ROOT_MOUNT_POINT/sbin/init ]; then
-                        mv $ROOT_MOUNT_POINT/sbin/init $ROOT_MOUNT_POINT/sbin/init.orig
-                fi
-                ln -s /sbin/init.altboot $ROOT_MOUNT_POINT/sbin/init
-             fi
-          fi
-       fi
+    # the 2.6 kernel for spitz boots from HDD, no need to copy to flash
+    if cat /proc/version | awk '{print $3}' | grep -q '^2.6'
+    then
+        update-alternatives --install /sbin/init init /sbin/init.altboot 55
+    else
+        # /l/m only exists on the HDD on spitz
+        if test -d /lib/modules
+        then
+            if [ -e /media/realroot/sbin/init ]; then
+                ROOT_MOUNT_POINT="/media/realroot"
+            elif [ -e /media/ROM/sbin/init ]; then
+                ROOT_MOUNT_POINT="/media/ROM"
+            fi
+            if [ ! "$ROOT_MOUNT_POINT" = "" ]; then
+                ROOT_MOUNT_DEVICE=`cat /proc/mounts | grep $ROOT_MOUNT_POINT | grep jffs2 | cut -d " " -f 1`
+                if [ ! "$ROOT_MOUNT_DEVICE" = "" ]; then
+                    mount -oremount,rw $ROOT_MOUNT_DEVICE $ROOT_MOUNT_POINT
+                    cp -R /etc/altboot* $ROOT_MOUNT_POINT/etc
+                    cp /sbin/init.altboot $ROOT_MOUNT_POINT/sbin
+                    if [ -f $ROOT_MOUNT_POINT/sbin/init ]; then
+                        mv $ROOT_MOUNT_POINT/sbin/init $ROOT_MOUNT_POINT/sbin/init.orig
+                    fi
+                    ln -s /sbin/init.altboot $ROOT_MOUNT_POINT/sbin/init
+                fi
+            fi
+        fi
+    fi
 }
 
 ######################################################################################
@@ -108,27 +114,33 @@ pkg_postrm() {
 }
 
 pkg_postrm_spitz() {
-       if test -d /lib/modules
+    # the 2.6 kernel for spitz boots from HDD, no need to remove from flash
+    if cat /proc/version | awk '{print $3}' | grep -q '^2.6'
+    then
+        update-alternatives --remove init /sbin/init.altboot
+    else
+        if test -d /lib/modules
         then
-           if [ -e /media/realroot/sbin/init ]; then
-              ROOT_MOUNT_POINT="/media/realroot"
-           elif [ -e /media/ROM/sbin/init ]; then
-              ROOT_MOUNT_POINT="/media/ROM"
-           fi
-           if [ ! "$ROOT_MOUNT_POINT" = "" ]; then
-              ROOT_MOUNT_DEVICE=`cat /proc/mounts | grep $ROOT_MOUNT_POINT | grep jffs2 | cut -d " " -f 1`
-              if [ ! "$ROOT_MOUNT_DEVICE" = "" ]; then
-                 mount -oremount,rw $ROOT_MOUNT_DEVICE $ROOT_MOUNT_POINT
-                if [ -f $ROOT_MOUNT_POINT/sbin/init.orig ]; then
-                   rm $ROOT_MOUNT_POINT/sbin/init
-                   rm $ROOT_MOUNT_POINT/sbin/init.altboot
-                   mv $ROOT_MOUNT_POINT/sbin/init.orig $ROOT_MOUNT_POINT/sbin/init
-                else
-                echo "$ROOT_MOUNT_POINT/sbin/init.orig not found, not uninstalling altboot!"
-                fi
-             fi
-           fi
-       fi
+            if [ -e /media/realroot/sbin/init ]; then
+                ROOT_MOUNT_POINT="/media/realroot"
+            elif [ -e /media/ROM/sbin/init ]; then
+                ROOT_MOUNT_POINT="/media/ROM"
+            fi
+            if [ ! "$ROOT_MOUNT_POINT" = "" ]; then
+                ROOT_MOUNT_DEVICE=`cat /proc/mounts | grep $ROOT_MOUNT_POINT | grep jffs2 | cut -d " " -f 1`
+                if [ ! "$ROOT_MOUNT_DEVICE" = "" ]; then
+                    mount -oremount,rw $ROOT_MOUNT_DEVICE $ROOT_MOUNT_POINT
+                    if [ -f $ROOT_MOUNT_POINT/sbin/init.orig ]; then
+                        rm $ROOT_MOUNT_POINT/sbin/init
+                        rm $ROOT_MOUNT_POINT/sbin/init.altboot
+                        mv $ROOT_MOUNT_POINT/sbin/init.orig $ROOT_MOUNT_POINT/sbin/init
+                    else
+                        echo "$ROOT_MOUNT_POINT/sbin/init.orig not found, not uninstalling altboot!"
+                    fi
+                fi
+            fi
+        fi
+    fi
 }