diff options
author | Justin Patrin <papercrane@gmail.com> | 2005-08-11 17:18:46 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2005-08-11 17:18:46 +0000 |
commit | 28edabd1a8d2e4fea1232319903ad888aa7cae4b (patch) | |
tree | d19020d786ab752d8940cf302db74313b481e750 /packages | |
parent | 4ffaae726ae789ad54e7d30923792d44dcc21f66 (diff) |
Fix typo in postinst for spitz, add more robust checking
Add a postrm for spitz (untested)
Diffstat (limited to 'packages')
-rw-r--r-- | packages/altboot/altboot.bb | 56 |
1 files changed, 40 insertions, 16 deletions
diff --git a/packages/altboot/altboot.bb b/packages/altboot/altboot.bb index 882336e598..cf0d9c563e 100644 --- a/packages/altboot/altboot.bb +++ b/packages/altboot/altboot.bb @@ -39,27 +39,32 @@ pkg_postinst() { } pkg_postinst_spitz() { - # Note: Spitz support is a royal pain in the ass. # Since Spitz pivot_roots by default, there is no real way # 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 - ROOT_MOUNT_DEVICE = `cat /proc/mounts | grep $REALROOT | grep jffs2 | cut -d " " -f 1` - mount -oremount,rw $ROOT_MOUNT_DEVICE $ROOT_MOUNT_POINT - cp -R /etc/altboot* $ROOT_MOUNT_POINT/etc - cp /sbin/init.altboot $ROOT_MOINT_POINT/sbin - mv $ROOT_MOUNT_POINT/sbin/init $ROOT_MOUNT_POINT/sbin/init.orig - ln -s /sbin/init.altboot $ROOT_MOUNT_POINT/sbin/init - 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 + 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 } pkg_postrm() { @@ -67,6 +72,25 @@ pkg_postrm() { } pkg_postrm_spitz() { - # FIXME: To be written - a=a # do nothing + 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 } |