[Glibc-bsd-commits] r2711 - trunk/kfreebsd-7/debian

Aurelien Jarno aurel32 at alioth.debian.org
Thu Aug 20 13:14:08 UTC 2009


Author: aurel32
Date: 2009-08-20 13:14:08 +0000 (Thu, 20 Aug 2009)
New Revision: 2711

Added:
   trunk/kfreebsd-7/debian/kfreebsd-image.postrm.in
   trunk/kfreebsd-7/debian/kfreebsd-image.preinst.in
   trunk/kfreebsd-7/debian/kfreebsd-image.prerm.in
Modified:
   trunk/kfreebsd-7/debian/changelog
   trunk/kfreebsd-7/debian/kfreebsd-image.postinst.in
   trunk/kfreebsd-7/debian/rules
Log:
  * Add basic support for /etc/kernel-img.conf (do_symlinks, preinst_hook,
    prerm_hook, postinst_hook, postrm_hook), to be able to call update-grub
    after a kernel installation.



Modified: trunk/kfreebsd-7/debian/changelog
===================================================================
--- trunk/kfreebsd-7/debian/changelog	2009-08-20 07:52:25 UTC (rev 2710)
+++ trunk/kfreebsd-7/debian/changelog	2009-08-20 13:14:08 UTC (rev 2711)
@@ -5,8 +5,11 @@
   * Enable FDESCFS and LINSYSFS as they are always mounted at boot.
   * Build the ZFS module, and at a README.Debian explaining it may not
     be legaly possible to load both ext2fs.ko and zfs.ko at the same time.
+  * Add basic support for /etc/kernel-img.conf (do_symlinks, preinst_hook,
+    prerm_hook, postinst_hook, postrm_hook), to be able to call update-grub
+    after a kernel installation.
 
- -- Aurelien Jarno <aurel32 at debian.org>  Mon, 10 Aug 2009 11:01:30 +0200
+ -- Aurelien Jarno <aurel32 at debian.org>  Thu, 20 Aug 2009 15:13:07 +0200
 
 kfreebsd-7 (7.2-3) unstable; urgency=low
 

Modified: trunk/kfreebsd-7/debian/kfreebsd-image.postinst.in
===================================================================
--- trunk/kfreebsd-7/debian/kfreebsd-image.postinst.in	2009-08-20 07:52:25 UTC (rev 2710)
+++ trunk/kfreebsd-7/debian/kfreebsd-image.postinst.in	2009-08-20 13:14:08 UTC (rev 2711)
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /bin/sh
 # postinst script
 #
 # see: dh_installdeb(1)
@@ -17,35 +17,51 @@
 # the debian-policy package
 #
 
+PATH="/sbin:/bin:/usr/sbin:/usr/bin"
+KERNEL_IMG_CONF="/etc/kernel-img.conf"
+RELEASE="@RELEASE@"
+VERSION="@VERSION@"
+
 case "$1" in
     configure)
-	for i in kernel.gz acpi.ko ; do
-		if test -e /boot/kernel/$i && ! test -L /boot/kernel/$i ; then
-			echo "What happen!! /boot/kernel/$i exists but is not a symlink."
-			exit 1
-		fi
-	done
-
-	if [ "$(readlink -f /boot/kernel/kernel.gz)" != "/boot/kfreebsd- at RELEASE@.gz" ] ; then
-		rm -f /boot/kernel/kernel{,.gz}.old{,.gz}
-		if [ -L /boot/kernel/kernel.gz ] ; then
-			mv /boot/kernel/kernel{,.old}.gz
-		fi
-		ln -s /boot/kfreebsd- at RELEASE@.gz /boot/kernel/kernel.gz
-	fi
-
-	# acpi MUST be within kfreebsd-loader reach
-	if [ "$(readlink -f /boot/kernel/acpi.ko)" != "/lib/modules/@RELEASE@/acpi.ko" ] ; then
-		rm -f /boot/kernel/acpi.ko.old
-		if [ -L /boot/kernel/acpi.ko ] ; then
-			mv /boot/kernel/acpi.ko{,.old}
-		fi
-		ln -s /lib/modules/@RELEASE@/acpi.ko /boot/kernel/acpi.ko
-	fi
+        # Don't do symlinks if explicitely disabled
+        if [ -z "$(sed -e '/^\s*do_symlinks\s*=\s*\(no\|false\|0\)\s*$/!d' $KERNEL_IMG_CONF 2>/dev/null)" ] ; then
+            for i in kernel.gz acpi.ko ; do
+                if test -e /boot/kernel/$i && ! test -L /boot/kernel/$i ; then
+                    echo "What happen!! /boot/kernel/$i exists but is not a symlink."
+                    exit 1
+                fi
+            done
+    
+            if [ "$(readlink -f /boot/kernel/kernel.gz)" != "/boot/kfreebsd-$RELEASE.gz" ] ; then
+                rm -f /boot/kernel/kernel.old.gz
+                if [ -L /boot/kernel/kernel.gz ] ; then
+                    mv /boot/kernel/kernel.gz /boot/kernel/kernel.old.gz
+                fi
+                ln -s /boot/kfreebsd-$RELEASE.gz /boot/kernel/kernel.gz
+            fi
+    
+            # on i386 acpi MUST be within kfreebsd-loader reach
+            if echo $RELEASE | grep -q -- '-[46]86' ; then
+                if [ "$(readlink -f /boot/kernel/acpi.ko)" != "/lib/modules/$RELEASE/acpi.ko" ] ; then
+                    rm -f /boot/kernel/acpi.ko.old
+                    if [ -L /boot/kernel/acpi.ko ] ; then
+                        mv /boot/kernel/acpi.ko /boot/kernel/acpi.ko.old
+                    fi
+                    ln -s /lib/modules/$RELEASE/acpi.ko /boot/kernel/acpi.ko
+                fi    
+            fi
+        fi
+    
+        # Run postinst hook if defined
+        postinst_hook=$(sed '/^\s*postinst_hook/!d;s/.*=//g' $KERNEL_IMG_CONF 2>/dev/null)
+        if [ -n "$postinst_hook" ] ; then
+            echo "Running postinst hook script $script." 1>&2 
+            $postinst_hook "$VERSION" "/boot/kfreebsd-$RELEASE.gz"
+        fi
     ;;
-
+    
     abort-upgrade|abort-remove|abort-deconfigure)
-
     ;;
 
     *)

Added: trunk/kfreebsd-7/debian/kfreebsd-image.postrm.in
===================================================================
--- trunk/kfreebsd-7/debian/kfreebsd-image.postrm.in	                        (rev 0)
+++ trunk/kfreebsd-7/debian/kfreebsd-image.postrm.in	2009-08-20 13:14:08 UTC (rev 2711)
@@ -0,0 +1,47 @@
+#!/bin/sh
+# postrm script
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+PATH="/sbin:/bin:/usr/sbin:/usr/bin"
+KERNEL_IMG_CONF="/etc/kernel-img.conf"
+RELEASE="@RELEASE@"
+VERSION="@VERSION@"
+
+case "$1" in
+    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+        # Run postrm hook if defined
+        postrm_hook=$(sed '/^\s*postrm_hook/!d;s/.*=//g' $KERNEL_IMG_CONF 2>/dev/null)
+        if [ -n "$postrm_hook" ] ; then
+            echo "Running postrm hook script $script." 1>&2 
+            $postrm_hook "$VERSION" "/boot/kfreebsd-$RELEASE.gz"
+        fi
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0

Added: trunk/kfreebsd-7/debian/kfreebsd-image.preinst.in
===================================================================
--- trunk/kfreebsd-7/debian/kfreebsd-image.preinst.in	                        (rev 0)
+++ trunk/kfreebsd-7/debian/kfreebsd-image.preinst.in	2009-08-20 13:14:08 UTC (rev 2711)
@@ -0,0 +1,45 @@
+#!/bin/sh
+# preinst script
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+PATH="/sbin:/bin:/usr/sbin:/usr/bin"
+KERNEL_IMG_CONF="/etc/kernel-img.conf"
+RELEASE="@RELEASE@"
+VERSION="@VERSION@"
+
+case "$1" in
+    install|upgrade)
+        # Run preinst hook if defined
+        preinst_hook=$(sed '/^\s*preinst_hook/!d;s/.*=//g' $KERNEL_IMG_CONF 2>/dev/null)
+        if [ -n "$preinst_hook" ] ; then
+            echo "Running preinst hook script $script." 1>&2 
+            $preinst_hook "$VERSION" "/boot/kfreebsd-$RELEASE.gz"
+        fi
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0

Added: trunk/kfreebsd-7/debian/kfreebsd-image.prerm.in
===================================================================
--- trunk/kfreebsd-7/debian/kfreebsd-image.prerm.in	                        (rev 0)
+++ trunk/kfreebsd-7/debian/kfreebsd-image.prerm.in	2009-08-20 13:14:08 UTC (rev 2711)
@@ -0,0 +1,48 @@
+#!/bin/sh
+# prerm script
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+PATH="/sbin:/bin:/usr/sbin:/usr/bin"
+KERNEL_IMG_CONF="/etc/kernel-img.conf"
+RELEASE="@RELEASE@"
+VERSION="@VERSION@"
+
+case "$1" in
+    remove|upgrade|deconfigure)
+        # Run prerm hook if defined
+        prerm_hook=$(sed '/^\s*prerm_hook/!d;s/.*=//g' $KERNEL_IMG_CONF 2>/dev/null)
+        if [ -n "$prerm_hook" ] ; then
+            echo "Running prerm hook script $script." 1>&2 
+            $prerm_hook "$VERSION" "/boot/kfreebsd-$RELEASE.gz"
+        fi
+    ;;
+
+    failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0

Modified: trunk/kfreebsd-7/debian/rules
===================================================================
--- trunk/kfreebsd-7/debian/rules	2009-08-20 07:52:25 UTC (rev 2710)
+++ trunk/kfreebsd-7/debian/rules	2009-08-20 13:14:08 UTC (rev 2711)
@@ -45,7 +45,10 @@
 	dh_testdir
 	dh_testroot
 	rm -rf .pc src kfreebsd-source-* flavor-* config
+	rm -f debian/kfreebsd-image-*.preinst
+	rm -f debian/kfreebsd-image-*.prerm
 	rm -f debian/kfreebsd-image-*.postinst
+	rm -f debian/kfreebsd-image-*.postrm
 
 	rm -f *-stamp
 	dh_clean
@@ -197,8 +200,12 @@
 		$(IMAGE_PACKAGE)-$*/usr/share/lintian/overrides/kfreebsd-image-$(version)-$(abiname)-$*
 
 	# scripts
-	sed -e "s/@RELEASE@/$(version)-$(abiname)-$*/g" debian/kfreebsd-image.postinst.in \
-		> debian/kfreebsd-image-$(version)-$(abiname)-$*.postinst
+	for script in preinst prerm postinst postrm ; do \
+		sed -e "s/@VERSION@/$(version)/g" \
+		    -e "s/@RELEASE@/$(version)-$(abiname)-$*/g" \
+		    debian/kfreebsd-image.$$script.in \
+			> debian/kfreebsd-image-$(version)-$(abiname)-$*.$$script ; \
+	done
 
 	# headers package
 	mkdir -p $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(cpu)




More information about the Glibc-bsd-commits mailing list