Index: grub-pkg-install.sh
===================================================================
--- grub-pkg-install.sh (nonexistent)
+++ grub-pkg-install.sh (revision 5)
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ touch -r $NEW ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ install_file $NEW
+}
+
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ install_file etc/grub.d/40_custom.new
+ rm -f etc/grub.d/40_custom.new
+ install_file etc/default/grub.new
+
+ #
+ # NOTE:
+ # 'install-info' can work using relative paths and we can make use build machine
+ # utility during installation to the some partition and use target 'install-info'
+ # during installation directly on the running target machine.
+ #
+ if [ -x /usr/bin/install-info ] ; then
+ install-info --info-dir=usr/share/info usr/share/info/grub.info.gz 2>/dev/null
+ install-info --info-dir=usr/share/info usr/share/info/grub-dev.info.gz 2>/dev/null
+ elif ! grep "(grub)" usr/share/info/dir 1> /dev/null 2> /dev/null ; then
+ cat << EOF >> usr/share/info/dir
+
+Kernel
+* grub-dev: (grub-dev). The GRand Unified Bootloader Dev
+* grub-install: (grub)Invoking grub-install.
+ Install GRUB on your drive
+* grub-mkconfig: (grub)Invoking grub-mkconfig.
+ Generate GRUB configuration
+* grub-mkpasswd-pbkdf2: (grub)Invoking grub-mkpasswd-pbkdf2.
+* grub-mkrelpath: (grub)Invoking grub-mkrelpath.
+* grub-mkrescue: (grub)Invoking grub-mkrescue.
+ Make a GRUB rescue image
+* grub-mount: (grub)Invoking grub-mount.
+ Mount a file system using GRUB
+* grub-probe: (grub)Invoking grub-probe.
+ Probe device information
+* grub-script-check: (grub)Invoking grub-script-check.
+* GRUB: (grub). The GRand Unified Bootloader
+EOF
+ fi
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_update() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_update() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ if [ -x /usr/bin/install-info ] ; then
+ install-info --delete --info-file=usr/share/info/grub-dev.info.gz --dir-file=usr/share/info/dir 2> /dev/null || /bin/true
+ install-info --delete --info-file=usr/share/info/grub.info.gz --dir-file=usr/share/info/dir 2> /dev/null || /bin/true
+ fi
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
Property changes on: grub-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property