Add patch for sysfs paths in ofpath from bug #253614.
authorJoseph Jezak <josejx@gentoo.org>
Mon, 31 May 2010 23:53:37 +0000 (23:53 +0000)
committerJoseph Jezak <josejx@gentoo.org>
Mon, 31 May 2010 23:53:37 +0000 (23:53 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

sys-boot/yaboot-static/ChangeLog
sys-boot/yaboot-static/Manifest
sys-boot/yaboot-static/files/sysfs-ofpath.patch [new file with mode: 0644]
sys-boot/yaboot-static/yaboot-static-1.3.14-r1.ebuild [new file with mode: 0644]

index 6ad85ec0e30e040bb9c7e18536c281eb78cc5354..1381dd2131f99ae1335caf1d2318f87c29e6a1ba 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sys-boot/yaboot-static
-# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/yaboot-static/ChangeLog,v 1.20 2008/05/23 07:07:04 corsair Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/yaboot-static/ChangeLog,v 1.21 2010/05/31 23:53:36 josejx Exp $
+
+*yaboot-static-1.3.14-r1 (31 May 2010)
+
+  31 May 2010; Joseph Jezak <josejx@gentoo.org>
+  +yaboot-static-1.3.14-r1.ebuild, +files/sysfs-ofpath.patch:
+  Add patch for sysfs paths in ofpath from bug #253614.
 
   23 May 2008; Markus Rothe <corsair@gentoo.org>
   yaboot-static-1.3.14.ebuild:
index f4e038b9c1e0d9f1a20704e7d09b9bb1b661399d..81b053bd85aac5ce4f2f8b4e84dd52c5bcb74a8f 100644 (file)
@@ -1,4 +1,16 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX sysfs-ofpath.patch 3440 RMD160 da11a99c81ddf6794fb8b3b5ea911bbcadc5c34c SHA1 2042100c13caab240ebce6cd8280e67e2a14d87a SHA256 6fe57d768b400cdbf7774ec127dcc61a1a7a098869c9708785cfbf16d6c72c45
 DIST yaboot-static-1.3.14.tbz2 154587 RMD160 6f2951b19cf7ad61a39b490468c028621238eb02 SHA1 b36b7cfcba6a3f756d11b4edaf0c2ec2c361ed7c SHA256 e9632c87b4982cfbc614c6cc58e64740d8af5bd3c52ae78c0a9e0b1d062825f0
+EBUILD yaboot-static-1.3.14-r1.ebuild 942 RMD160 c34d32bae7dc0224076802967d70035abcf8c497 SHA1 4722b8c3c5a55596228dc67703c2d28b314c30ba SHA256 d093aa80e5bb91cc4058bf8e6d6fb974e8a08c731cf083565e0a513c323ac1e8
 EBUILD yaboot-static-1.3.14.ebuild 858 RMD160 c448312f873248ec4e03ba06bab4d233919ddbd5 SHA1 8c921ea9a069843d153e3aef81b918ccff010ed7 SHA256 30b62a5041efd04edc3b7e518e9fe0bcef4dab561a945d0f29306640209b770c
-MISC ChangeLog 3084 RMD160 421c7e2b86e5e1ec9fe56c566edb4d7f4cfac07b SHA1 177fa12039e16ea6ce2013b553ac1347bf8e2800 SHA256 8a22c3f31b730a9fc790acecc780b426923d3639556c28ff545fd78feed791aa
+MISC ChangeLog 3290 RMD160 4ce37fa53b2445a0e878c8798e27b9006678d96e SHA1 e87d02662230b238fc2f8e6780792075e4212169 SHA256 b8344203fc4c6fea754fc49d77e50877f436025459a7eb2e761e63c8ce7a7c7d
 MISC metadata.xml 158 RMD160 068114516cc9a3b6e8b75f075faf584a4de6dc9e SHA1 ffce34392a9adadf4df1243fdceb2ab7d0386e93 SHA256 32350539e29186f246efdc4907b750f94365676eaf013b11832b2a7015e8e218
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iEYEARECAAYFAkwES80ACgkQcsIHjyDViGR4wgCdFY627X18/9SZPQMwvzLSAqwu
+1OsAn2aVrzFE4JyzH0tD2FB6kybrdVS+
+=xuZj
+-----END PGP SIGNATURE-----
diff --git a/sys-boot/yaboot-static/files/sysfs-ofpath.patch b/sys-boot/yaboot-static/files/sysfs-ofpath.patch
new file mode 100644 (file)
index 0000000..7a36591
--- /dev/null
@@ -0,0 +1,105 @@
+--- usr/sbin/ofpath    2008-08-03 04:00:35.000000000 -0400
++++ usr/sbin/ofpath    2009-01-09 13:46:12.000000000 -0500
+@@ -337,15 +337,18 @@
+ 
+ ide_ofpath()
+ {
+-    if [ ! -L "/proc/ide/$DEVNODE" ] ; then
++    if [ ! -L "/proc/ide/$DEVNODE" ] && [ ! -e "/sys/block/$DEVNODE" ] ; then
+       echo 1>&2 "$PRG: /dev/$DEVNODE: Device not configured"
+       return 1
+     fi
+ 
+-    local IDEBUS="$(v=`readlink /proc/ide/$DEVNODE` ; echo ${v%%/*} )"
+-    if [ -z "$IDEBUS" ] ; then
+-      echo 1>&2 "$PRG: BUG: IDEBUS == NULL"
+-      return 1
++    if [ -L "/proc/ide/$DEVNODE" ] ; then
++          local USE_OLD_PROC=1
++          local IDEBUS="$(v=`readlink /proc/ide/$DEVNODE` ; echo ${v%%/*} )"
++          if [ -z "$IDEBUS" ] ; then
++              echo 1>&2 "$PRG: BUG: IDEBUS == NULL"
++              return 1
++       fi
+     fi
+ 
+     case "$(uname -r)" in
+@@ -363,7 +366,8 @@
+               echo 1>&2 "$PRG: Unable to determine sysfs mountpoint"
+               return 1
+           fi
+-          local OF1275IDE="${SYS}/block/${DEVNODE}/device/../../devspec"
++          local OF1275IDE=$(cd -P "${SYS}/block/${DEVNODE}/device" && pwd)
++          OF1275IDE="${OF1275IDE}/../../devspec"
+           ;;
+       *)
+           local OF1275IDE="/proc/ide/$IDEBUS/devspec"
+@@ -402,34 +406,41 @@
+           return 1
+       fi
+ 
+-      if [ ! -f "/proc/ide/${IDEBUS}/channel" ] ; then
+-          echo 1>&2 "$PRG: KERNEL BUG: /proc/ide/${IDEBUS}/channel does not exist"
+-          return 1
+-      fi
+-
+-      case "$(cat /proc/device-tree${DEVSPEC}/device_type 2> /dev/null)" in
+-          ide|ata)
+-              local MASTER="/disk@0"
+-              local SLAVE="/disk@1"
+-              ;;
+-          pci-ide|pci-ata)
+-              local MASTER="/@$(cat /proc/ide/${IDEBUS}/channel)/disk@0"
+-              local SLAVE="/@$(cat /proc/ide/${IDEBUS}/channel)/disk@1"
+-              ;;
+-          scsi) ## some lame controllers pretend they are scsi, hopefully all kludges are created equal.
+-              local MASTER="/@$(($(cat /proc/ide/${IDEBUS}/channel) * 2 + 0))"
+-              local SLAVE="/@$(($(cat /proc/ide/${IDEBUS}/channel) * 2 + 1))"
+-              ;;
+-          spi)
+-              local MASTER="/disk@$(cat /proc/ide/${IDEBUS}/channel),0"
+-              local SLAVE="/disk@$(cat /proc/ide/${IDEBUS}/channel),1"
+-              ;;
+-          *)
+-              echo 1>&2 "$PRG: Unsupported IDE device type: \"$(cat /proc/device-tree${DEVSPEC}/device_type 2> /dev/null)\""
+-              return 1
+-              ;;
+-      esac
++      
++      if [ "${USE_OLD_PROC}" = "1" ] ; then
++              if [ ! -f "/proc/ide/${IDEBUS}/channel" ] ; then
++                  echo 1>&2 "$PRG: KERNEL BUG: /proc/ide/${IDEBUS}/channel does not exist"
++                  return 1
++              fi
+ 
++              case "$(cat /proc/device-tree${DEVSPEC}/device_type 2> /dev/null)" in
++                  ide|ata)
++                      local MASTER="/disk@0"
++                      local SLAVE="/disk@1"
++                      ;;
++                  pci-ide|pci-ata)
++                      local MASTER="/@$(cat /proc/ide/${IDEBUS}/channel)/disk@0"
++                      local SLAVE="/@$(cat /proc/ide/${IDEBUS}/channel)/disk@1"
++                      ;;
++                  scsi) ## some lame controllers pretend they are scsi, hopefully all kludges are created equal.
++                      local MASTER="/@$(($(cat /proc/ide/${IDEBUS}/channel) * 2 + 0))"
++                      local SLAVE="/@$(($(cat /proc/ide/${IDEBUS}/channel) * 2 + 1))"
++                      ;;
++                  spi)
++                      local MASTER="/disk@$(cat /proc/ide/${IDEBUS}/channel),0"
++                      local SLAVE="/disk@$(cat /proc/ide/${IDEBUS}/channel),1"
++                      ;;
++                  *)
++                      echo 1>&2 "$PRG: Unsupported IDE device type: \"$(cat /proc/device-tree${DEVSPEC}/device_type 2> /dev/null)\""
++                      return 1
++                      ;;
++              esac
++      else
++          ### I don't know what other disks would look like... FIXME
++          local MASTER="/disk@0"
++          local SLAVE="/disk@1"
++      fi
++      
+       case "$DEVNODE" in
+           hda|hdc|hde|hdg|hdi|hdk|hdm|hdo)
+               echo "${DEVSPEC}${MASTER}:$PARTITION"
diff --git a/sys-boot/yaboot-static/yaboot-static-1.3.14-r1.ebuild b/sys-boot/yaboot-static/yaboot-static-1.3.14-r1.ebuild
new file mode 100644 (file)
index 0000000..c473244
--- /dev/null
@@ -0,0 +1,33 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/yaboot-static/yaboot-static-1.3.14-r1.ebuild,v 1.1 2010/05/31 23:53:36 josejx Exp $
+
+inherit eutils
+
+DESCRIPTION="Static yaboot ppc boot loader for machines with open firmware"
+
+HOMEPAGE="http://penguinppc.org/projects/yaboot/"
+SRC_URI="mirror://gentoo/yaboot-static-${PV}.tbz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~ppc64"
+IUSE="ibm"
+DEPEND="!sys-boot/yaboot
+               sys-apps/powerpc-utils"
+RDEPEND="!ibm? ( sys-fs/hfsutils
+                                sys-fs/hfsplusutils
+                                sys-fs/mac-fdisk )"
+PROVIDE="virtual/bootloader"
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+       epatch "${FILESDIR}"/sysfs-ofpath.patch
+}
+
+src_install() {
+       # don't blow away the user's old conf file
+       mv "${WORKDIR}/etc/yaboot.conf" "${WORKDIR}/etc/yaboot.conf.unconfigured" \
+               || die "mv failed"
+       cp -pPR "${WORKDIR}"/* "${D}" || die "cp failed"
+}