Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=kernel-rt.git;a=commitdiff;h=58824be3c470c6cd97bf631b9578439fd0308487

commit 58824be3c470c6cd97bf631b9578439fd0308487
Author: crazy <[EMAIL PROTECTED]>
Date:   Sat Nov 3 18:15:41 2007 +0100

kernel-rt-2.6.23-1-i686
* added install file

diff --git a/source/base-extra/kernel-rt/kernel-rt.install 
b/source/base-extra/kernel-rt/kernel-rt.install
new file mode 100644
index 0000000..088fe56
--- /dev/null
+++ b/source/base-extra/kernel-rt/kernel-rt.install
@@ -0,0 +1,83 @@
+grub_convert()
+{
+       disk=`echo $1|sed 's/[0-9]*$//'`
+       partnum=`echo $1|sed 's|/dev/[a-z]*||'`
+       grubdisk=`grep $disk /boot/grub/device.map |sed 's/(\(.*\))\t.*/\1/'`
+       echo "($grubdisk,$(($partnum-1)))"
+}
+
+bootdev=`df /boot|grep ^/dev|tr -s ' '|cut -d ' ' -f 1`
+grubbootdev=`grub_convert $bootdev`
+rootdev=`df /|grep ^/dev|tr -s ' '|cut -d ' ' -f 1`
+
+# hack for /boot
+if [ "`df /boot|grep ^/dev|tr -s ' '|cut -d ' ' -f 1`" = \
+       "`df /|grep ^/dev|tr -s ' '|cut -d ' ' -f 1`" ]; then
+       bootstring=/boot
+fi
+
+#remove $1 kernel patchset
+rmgr()
+ {
+  MENU="/boot/grub/menu.lst"
+   if [ -e $MENU ]; then
+       echo "INFO: Removing kernel-$1 entries from grub menu.lst"
+       # grep 2 menu.lst ! $1
+       grep -v $1 $MENU >> /tmp/.menu.lst
+       ## backup the menu.lst, who knows :p
+       mv -f $MENU $MENU.old
+       ## mv the tmpMENU without our $patchset to menu.lst
+       mv -f /tmp/.menu.lst $MENU
+     else
+    echo "Cannot remove the kernel entry from your menu.lst :(. Please remove 
the entry manually."
+   fi
+}
+
+# arg 1:  the new package version
+post_install()
+{
+       kernelver=`ls /boot/vmlinuz-*-rt-fw*|sed 's|/boot/vmlinuz-||'`
+
+       if ! [ -e /boot/vmlinuz-rt ]; then
+               cd /boot
+               ln -sf vmlinuz-$kernelver vmlinuz-rt
+               ln -sf config-$kernelver config-rt
+               ln -sf System.map-$kernelver System.map-rt
+       fi
+       if [ -e /boot/grub/menu.lst ]; then
+               if ! grep -q "Frugalware.*Real-Time" /boot/grub/menu.lst; then
+                       echo >>/boot/grub/menu.lst
+                       echo "title `cat /etc/frugalware-release` Real-Time - 
$kernelver" >>/boot/grub/menu.lst
+                       echo "  kernel $grubbootdev$bootstring/vmlinuz-rt ro 
quiet root=$rootdev vga=791" >>/boot/grub/menu.lst
+               fi
+       fi
+
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_upgrade()
+{
+       fwver=`cat /etc/frugalware-release|sed 's/Frugalware \(.*\) (.*)/\1/'`
+       post_install $1
+       [ -e /boot/grub/menu.lst ] && \
+               sed -i "s/^\(title Frugalware $fwver (.*) Real-Time -\) [^ 
]*$/\1 $kernelver/" /boot/grub/menu.lst
+}
+
+
+post_remove()
+{
+       if [ -L /boot/vmlinuz-rt ]; then
+           cd /boot
+           rm vmlinuz-rt
+           rm config-rt
+           rm System.map-rt
+       fi
+       rmgr "rt"
+}
+
+op=$1
+shift
+
+$op $*
+
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to