Oh well, seems reportbug killed the patch when i got into mutt :/

Index: debian/postinst
===================================================================
--- debian/postinst     (revision 40788)
+++ debian/postinst     (working copy)
@@ -29,6 +29,25 @@
 case "`archdetect`" in
        powerpc/chrp_pegasos)
                kernel=`ls /target/boot/vmlinuz-2.* | sed -e 
's%/target/boot/%%'`
+               if [ -d /proc/device-tree/openprom/firmware-version ]; then
+                       firmware_version=`cat 
/proc/device-tree/openprom/firmware-version`
+                       fv1=host="$(echo "$firmware_version" | cut -d. -f1)"
+                       fv2=host="$(echo "$firmware_version" | cut -d. -f2)"
+                       fv3=host="$(echo "$firmware_version" | cut -d. -f3)"
+                       if [ "$fv1" -eq 1 ] && [ "$fv2" -eq 2 ] && [ "$fv3" -ge 
99 ]; then
+                                partitions_start=1
+                       else if [ "$fv1" -eq 1 ] && [ "$fv2" -ge 3 ]; then
+                                partitions_start=1
+                       else if [ "$fv1" -ge 2 ]; then
+                                partitions_start=1
+                       else
+                               partitions_start=0
+                       fi
+                       fi
+                       fi
+               else
+                       partitions_start=0
+               fi
 
                if [ -d /sys/block ] && type udevinfo >/dev/null 2>&1; then
                        bootfs_disk_syspath="$(dirname "$(udevinfo -q path -n 
"$bootfs_devfs")")"
@@ -55,14 +74,22 @@
                                        lun="$(echo "$bootfs_disk" | cut -d: 
-f4)"
                                        ;;
                        esac
-                       part="$(echo "$bootfs_devfs" | sed 's/[^0-9]*//')"
+                       if [ "$partitions_start" -eq 0 ]; then
+                               part=$(( "$(echo "$bootfs_devfs" | sed 
's/[^0-9]*//')" - 1 ))
+                       else
+                               part="$(echo "$bootfs_devfs" | sed 
's/[^0-9]*//')"
+                       fi
                else
                        kind=`echo $bootfs_devfs | sed -e 's%/dev/%%' -e 
's%/host.*$%%'`
                        host=`echo $bootfs_devfs | sed -e 's%^.*host%%' -e 
's%/bus.*$%%'`
                        bus=`echo $bootfs_devfs | sed -e 's%^.*bus%%' -e 
's%/target.*$%%'`
                        target=`echo $bootfs_devfs | sed -e 's%^.*target%%' -e 
's%/lun.*$%%'`
                        lun=`echo $bootfs_devfs | sed -e 's%^.*lun%%' -e 
's%/part.*$%%'`
-                       part=$((`echo $bootfs_devfs | sed -e 's%^.*part%%'`-1))
+                       if [ "$partitions_start" -eq 0 ]; then
+                               part=$((s "$(`echo $bootfs_devfs | sed -e 
's%^.*part%%')" -1))
+                       else
+                               part="$(echo $bootfs_devfs | sed -e 
's%^.*part%%')"
+                       fi
                fi
 
                # We don't know how to map non ide or scsi disks
@@ -76,7 +103,7 @@
                                ;;
                esac
 
-               # map theidevice to the OF aliases from 
/proc/device-tree/aliases.
+               # map the device to the OF aliases from 
/proc/device-tree/aliases.
                if [ -d /proc/device-tree/aliases ]; then
                        for alias in `ls /proc/device-tree/aliases/*`; do
                                device=`grep disk $alias | sed -e '[EMAIL 
PROTECTED]/]*/%/%g'`
Index: debian/changelog
===================================================================
--- debian/changelog    (revision 40788)
+++ debian/changelog    (working copy)
@@ -1,9 +1,14 @@
 nobootloader (1.11) UNRELEASED; urgency=low
 
+  [ Colin Watson ]
   * Mark Open Firmware commands as untranslatable.
 
- -- Colin Watson <[EMAIL PROTECTED]>  Wed, 30 Aug 2006 10:12:20 +0100
+  [ Sven Luther ]
+  * Check the pegasos firmware for versions older than 1.2.99, and substract
+    one from the partition number since those start counting partitions at 0.
 
+ -- Sven Luther <[EMAIL PROTECTED]>  Tue, 19 Sep 2006 19:30:56 +0200
+
 nobootloader (1.10) unstable; urgency=low
 
   * If /sys/block and udevinfo are available, use them instead of devfs

Reply via email to