From fa3aca04016a508e34bc9859c8778d35cafc44bf Mon Sep 17 00:00:00 2001 From: Tony Vroon Date: Wed, 11 Oct 2006 11:48:19 +0000 Subject: [PATCH] Revision bump. Patch from Ulrich Mueller to keep diag1.img from being installed. Patch to no longer consider LVM2 containers partionable added, thanks to John Coffman for provided instructions. Removing now redundant 22.7.3 ebuild. Package-Manager: portage-2.1.2_pre2-r7 --- sys-boot/lilo/ChangeLog | 13 +- sys-boot/lilo/files/digest-lilo-22.7.3-r1 | 6 + .../lilo-22.7.3-lvm2-not-partionable.patch | 13 ++ .../files/lilo-22.7.3-makefile-nodiags.patch | 14 ++ sys-boot/lilo/lilo-22.7.3-r1.ebuild | 185 ++++++++++++++++++ 5 files changed, 230 insertions(+), 1 deletion(-) create mode 100644 sys-boot/lilo/files/digest-lilo-22.7.3-r1 create mode 100644 sys-boot/lilo/files/lilo-22.7.3-lvm2-not-partionable.patch create mode 100644 sys-boot/lilo/files/lilo-22.7.3-makefile-nodiags.patch create mode 100644 sys-boot/lilo/lilo-22.7.3-r1.ebuild diff --git a/sys-boot/lilo/ChangeLog b/sys-boot/lilo/ChangeLog index fd4e4e23962d..864e45919f31 100644 --- a/sys-boot/lilo/ChangeLog +++ b/sys-boot/lilo/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for sys-boot/lilo # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/ChangeLog,v 1.42 2006/09/25 14:30:56 chainsaw Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/ChangeLog,v 1.43 2006/10/11 11:48:19 chainsaw Exp $ + +*lilo-22.7.3-r1 (11 Oct 2006) + + 11 Oct 2006; Tony Vroon + +files/lilo-22.7.3-lvm2-not-partionable.patch, + +files/lilo-22.7.3-makefile-nodiags.patch, -lilo-22.7.3.ebuild, + +lilo-22.7.3-r1.ebuild: + Revision bump. Patch from Ulrich Mueller to keep + diag1.img from being installed. Patch to no longer consider LVM2 containers + partionable added, thanks to John Coffman for provided instructions. + Removing now redundant 22.7.3 ebuild. *lilo-22.7-r1 (25 Sep 2006) diff --git a/sys-boot/lilo/files/digest-lilo-22.7.3-r1 b/sys-boot/lilo/files/digest-lilo-22.7.3-r1 new file mode 100644 index 000000000000..480a5f8e31a9 --- /dev/null +++ b/sys-boot/lilo/files/digest-lilo-22.7.3-r1 @@ -0,0 +1,6 @@ +MD5 08243e46598d6f457e8e4135f1fa8d52 dolilo-0.4.tar.bz2 3753 +RMD160 e63d7d258461346620d012d8e89b22b3f969b089 dolilo-0.4.tar.bz2 3753 +SHA256 812f7cb7a9c93eade7afaa8f12955723c4bdaede1c61f90162390dedfc37bd2e dolilo-0.4.tar.bz2 3753 +MD5 a3aacf90482e0c07492623042b901503 lilo-22.7.3.src.tar.gz 436177 +RMD160 265e5934183ed01ae74641161ac5eec28716f944 lilo-22.7.3.src.tar.gz 436177 +SHA256 606aa55b66b6dd8baab0465b7c23aa84a48e594a13b41eb995178a1ca2651fc5 lilo-22.7.3.src.tar.gz 436177 diff --git a/sys-boot/lilo/files/lilo-22.7.3-lvm2-not-partionable.patch b/sys-boot/lilo/files/lilo-22.7.3-lvm2-not-partionable.patch new file mode 100644 index 000000000000..2eeb5e99a23e --- /dev/null +++ b/sys-boot/lilo/files/lilo-22.7.3-lvm2-not-partionable.patch @@ -0,0 +1,13 @@ +diff -uNr lilo-22.7.3.ORIG/geometry.c lilo-22.7.3/geometry.c +--- lilo-22.7.3.ORIG/geometry.c 2006-10-11 12:35:15.000000000 +0100 ++++ lilo-22.7.3/geometry.c 2006-10-11 12:37:27.000000000 +0100 +@@ -320,8 +320,7 @@ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* Cx */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0 /* /dev/md_dXX at 254 */ +- /* and /dev/dm-0 at 253 */ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + /* + 0 1 2 3 4 5 6 7 8 9 A B C D E F + */ diff --git a/sys-boot/lilo/files/lilo-22.7.3-makefile-nodiags.patch b/sys-boot/lilo/files/lilo-22.7.3-makefile-nodiags.patch new file mode 100644 index 000000000000..39f504ebeaa3 --- /dev/null +++ b/sys-boot/lilo/files/lilo-22.7.3-makefile-nodiags.patch @@ -0,0 +1,14 @@ +--- Makefile.orig 2006-10-02 22:10:39.000000000 +0200 ++++ Makefile 2006-10-02 22:18:13.000000000 +0200 +@@ -153,10 +153,7 @@ + # + # everything needed to run, just short of installation + # +-all: lilo bootsect.b diag1.img # OBSOLETE: $(BOOTS) edit dparam.com activate +- if [ -x /usr/bin/bcc -o -x /usr/local/bin/bcc ]; then \ +- make diagnostic; \ +- make dosexe; fi ++all: lilo + + # + # everything above plus the statically linked version diff --git a/sys-boot/lilo/lilo-22.7.3-r1.ebuild b/sys-boot/lilo/lilo-22.7.3-r1.ebuild new file mode 100644 index 000000000000..259304e5f2fe --- /dev/null +++ b/sys-boot/lilo/lilo-22.7.3-r1.ebuild @@ -0,0 +1,185 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/lilo-22.7.3-r1.ebuild,v 1.1 2006/10/11 11:48:19 chainsaw Exp $ + +inherit eutils flag-o-matic toolchain-funcs + +DOLILO_V="0.4" +IUSE="static minimal pxeserial" + +DESCRIPTION="Standard Linux boot loader" +HOMEPAGE="http://lilo.go.dyndns.org/pub/linux/lilo/" +DOLILO_TAR="dolilo-${DOLILO_V}.tar.bz2" +MY_P=${P}.src + +SRC_URI="http://home.san.rr.com/johninsd/pub/linux/lilo/${MY_P}.tar.gz + ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/${MY_P}.tar.gz + ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/obsolete/${MY_P}.tar.gz + mirror://gentoo/${DOLILO_TAR}" + +SLOT="0" +LICENSE="BSD GPL-2" +KEYWORDS="-* ~x86 ~amd64" + +DEPEND=">=sys-devel/bin86-0.15.5" + +PROVIDE="virtual/bootloader" + +src_unpack() { + unpack ${MY_P}.tar.gz + + cd ${S} + + # Correctly document commandline options -v and -V, bug #43554 + epatch ${FILESDIR}/${P}-correct-usage-info.patch + # Install manpages to correct location, do not rely on incorrect manpath output, bug #117135 + # Do not strip the main binary, it upsets portage, bug #140210 + epatch ${FILESDIR}/${P}-makefile.patch + # Do not install diag1.img, bug #149887 + epatch ${FILESDIR}/${P}-makefile-nodiags.patch + # Do not try to read the partition table on LVM2 + epatch ${FILESDIR}/${P}-lvm2-not-partionable.patch + + # this patch is needed when booting PXE and the device you're using + # emulates vga console via serial console. + # IE.. B.B.o.o.o.o.t.t.i.i.n.n.g.g....l.l.i.i.n.n.u.u.x.x and stair stepping. + use pxeserial && epatch ${FILESDIR}/${P}-novga.patch + + unpack ${DOLILO_TAR} +} + +src_compile() { + # lilo needs this. bug 140209 + export LC_ALL=C + + # hardened automatic PIC plus PIE building should be suppressed + # because of assembler instructions that cannot be compiled PIC + HARDENED_CFLAGS="`test-flags-CC -fno-pic -nopie`" + + # we explicitly prevent the custom CFLAGS for stability reasons + if use static; then + emake CC="$(tc-getCC) ${HARDENED_CFLAGS}" lilo.static || die + mv lilo.static lilo || die + else + emake CC="$(tc-getCC) ${HARDENED_CFLAGS}" lilo || die + fi +} + +src_install() { + keepdir /boot + make ROOT=${D} install || die + + if use !minimal; then + into / + dosbin ${S}/dolilo/dolilo + + into /usr + dosbin keytab-lilo.pl + + insinto /etc + newins ${FILESDIR}/lilo.conf lilo.conf.example + + insinto /etc/conf.d + newins ${S}/dolilo/dolilo.conf.d dolilo.example + + doman manPages/*.[5-8] + dodoc CHANGES COPYING INCOMPAT README* + docinto samples ; dodoc sample/* + fi +} + +# Check whether LILO is installed +# This function is from /usr/sbin/mkboot from debianutils, with copyright: +# +# Debian GNU/Linux +# Copyright 1996-1997 Guy Maor +# +# Modified for Gentoo for use with the lilo ebuild by: +# Martin Schlemmer (16 Mar 2003) +# +lilocheck () { + local bootpart= + local rootpart="$(mount | grep -v "tmpfs" | grep -v "rootfs" | grep "on / " | cut -f1 -d " ")" + + echo + einfon "Checking for LILO ..." + + if [ "$(whoami)" != "root" ] + then + echo; echo + eerror "Only root can check for LILO!" + return 1 + fi + + if [ -z "${rootpart}" ] + then + echo; echo + eerror "Could not determine root partition!" + return 1 + fi + + if [ ! -f /etc/lilo.conf -o ! -x /sbin/lilo ] + then + echo " No" + return 1 + fi + + bootpart="$(sed -n "s:^boot[ ]*=[ ]*\(.*\)[ ]*:\1:p" /etc/lilo.conf)" + + if [ -z "${bootpart}" ] + then + # lilo defaults to current root when 'boot=' is not present + bootpart="${rootpart}" + fi + + if ! dd if=${bootpart} ibs=16 count=1 2>&- | grep -q 'LILO' + then + echo; echo + ewarn "Yes, but I couldn't find a LILO signature on ${bootpart}" + ewarn "Check your /etc/lilo.conf, or run /sbin/lilo by hand." + return 1 + fi + + echo " Yes, on ${bootpart}" + + return 0 +} + + +pkg_postinst() { + if [ ! -e ${ROOT}/boot/boot.b -a ! -L ${ROOT}/boot/boot.b ] + then + [ -f "${ROOT}/boot/boot-menu.b" ] && \ + ln -snf boot-menu.b ${ROOT}/boot/boot.b + fi + + if [ "${ROOT}" = "/" ] && use !minimal; + then + if lilocheck + then + einfo "Running DOLILO to complete the install ..." + # do not redirect to /dev/null because it may display some input + # prompt + /sbin/dolilo + if [ "$?" -ne 0 ] + then + echo + ewarn "Running /sbin/dolilo failed! Please check what the problem is" + ewarn "before your next reboot." + + ebeep 5 + epause 5 + fi + fi + echo + fi + if use !minimal; then + echo + einfo "Issue 'dolilo' instead of 'lilo' to have a friendly wrapper that" + einfo "handles mounting and unmounting /boot for you. It can do more then" + einfo "that when asked, edit /etc/conf.d/dolilo to harness it's full potential." + ebeep 5 + epause 3 + echo + fi +} -- 2.26.2