diff options
author | Joseph Jezak <josejx@gentoo.org> | 2010-05-31 23:47:51 +0000 |
---|---|---|
committer | Joseph Jezak <josejx@gentoo.org> | 2010-05-31 23:47:51 +0000 |
commit | 7b115db51b2b67842398f901abd319ab80da39a1 (patch) | |
tree | b79bd2d0de4fcff32c95ea8a4d16d0e075f7662e /sys-boot/yaboot | |
parent | Marked ppc stable for bug #321877. (diff) | |
download | gentoo-2-7b115db51b2b67842398f901abd319ab80da39a1.tar.gz gentoo-2-7b115db51b2b67842398f901abd319ab80da39a1.tar.bz2 gentoo-2-7b115db51b2b67842398f901abd319ab80da39a1.zip |
Add patch for sysfs paths in ofpath from bug #253614.
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'sys-boot/yaboot')
-rw-r--r-- | sys-boot/yaboot/ChangeLog | 10 | ||||
-rw-r--r-- | sys-boot/yaboot/files/sysfs-ofpath.patch | 105 | ||||
-rw-r--r-- | sys-boot/yaboot/yaboot-1.3.14-r1.ebuild | 39 |
3 files changed, 152 insertions, 2 deletions
diff --git a/sys-boot/yaboot/ChangeLog b/sys-boot/yaboot/ChangeLog index 16a22b0980f4..07b869037caf 100644 --- a/sys-boot/yaboot/ChangeLog +++ b/sys-boot/yaboot/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-boot/yaboot -# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-boot/yaboot/ChangeLog,v 1.29 2008/05/13 03:21:09 josejx Exp $ +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-boot/yaboot/ChangeLog,v 1.30 2010/05/31 23:47:51 josejx Exp $ + +*yaboot-1.3.14-r1 (31 May 2010) + + 31 May 2010; Joseph Jezak <josejx@gentoo.org> +yaboot-1.3.14-r1.ebuild, + +files/sysfs-ofpath.patch: + Add patch for sysfs paths in ofpath from bug #253614. 13 May 2008; Joseph Jezak <josejx@gentoo.org> yaboot-1.3.14.ebuild: Added mac-fdisk as a dependency for bug #220431. diff --git a/sys-boot/yaboot/files/sysfs-ofpath.patch b/sys-boot/yaboot/files/sysfs-ofpath.patch new file mode 100644 index 000000000000..7ebc0bfac86f --- /dev/null +++ b/sys-boot/yaboot/files/sysfs-ofpath.patch @@ -0,0 +1,105 @@ +--- ybin/ofpath 2008-08-03 04:00:35.000000000 -0400 ++++ ybin/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/yaboot-1.3.14-r1.ebuild b/sys-boot/yaboot/yaboot-1.3.14-r1.ebuild new file mode 100644 index 000000000000..3a910c6ee1da --- /dev/null +++ b/sys-boot/yaboot/yaboot-1.3.14-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-boot/yaboot/yaboot-1.3.14-r1.ebuild,v 1.1 2010/05/31 23:47:51 josejx Exp $ + +inherit eutils toolchain-funcs + +DESCRIPTION="PPC Bootloader" +SRC_URI="http://yaboot.ozlabs.org/releases/${P}.tar.gz" +HOMEPAGE="http://yaboot.ozlabs.org" +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="-* ~ppc -ppc64" +IUSE="ibm" + +DEPEND="sys-apps/powerpc-utils" +RDEPEND="!ibm? ( sys-fs/hfsutils + sys-fs/hfsplusutils + sys-fs/mac-fdisk )" + +PROVIDE="virtual/bootloader" + +src_compile() { + export -n CFLAGS + export -n CXXFLAGS + [ -n "$(tc-getCC)" ] || CC="gcc" + # dual boot patch + epatch "${FILESDIR}/yabootconfig-1.3.13.patch" + epatch "${FILESDIR}/chrpfix.patch" + epatch "${FILESDIR}/yaboot-nopiessp.patch" + epatch "${FILESDIR}/sysfs-ofpath.patch" + emake PREFIX=/usr MANDIR=share/man CC="$(tc-getCC)" || die +} + +src_install() { + cp etc/yaboot.conf etc/yaboot.conf.bak + sed -e 's/\/local//' etc/yaboot.conf >| etc/yaboot.conf.edit + mv -f etc/yaboot.conf.edit etc/yaboot.conf + make ROOT="${D}" PREFIX=/usr MANDIR=share/man install || die +} |