chainsaw    14/09/02 11:51:44

  Modified:             ChangeLog
  Added:                lilo-24.0-r1.ebuild
  Log:
  Fixing up dolilo for changed kernel build processes resulting in a duplicate 
label and thus a defective configuration file. Also copes with /dev/ram0 for 
initramfs boots.
  
  (Portage version: 2.2.12/cvs/Linux x86_64, signed Manifest commit with key 
0xB5058F9A)

Revision  Changes    Path
1.80                 sys-boot/lilo/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/lilo/ChangeLog?rev=1.80&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/lilo/ChangeLog?rev=1.80&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/lilo/ChangeLog?r1=1.79&r2=1.80

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-boot/lilo/ChangeLog,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- ChangeLog   12 Jul 2014 15:02:32 -0000      1.79
+++ ChangeLog   2 Sep 2014 11:51:44 -0000       1.80
@@ -1,6 +1,13 @@
 # ChangeLog for sys-boot/lilo
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/ChangeLog,v 1.79 2014/07/12 
15:02:32 zlogene Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/ChangeLog,v 1.80 2014/09/02 
11:51:44 chainsaw Exp $
+
+*lilo-24.0-r1 (02 Sep 2014)
+
+  02 Sep 2014; Tony Vroon <chain...@gentoo.org> +lilo-24.0-r1.ebuild:
+  Fixing up dolilo for changed kernel build processes resulting in a duplicate
+  label and thus a defective configuration file. Also copes with /dev/ram0 for
+  initramfs boots.
 
   12 Jul 2014; Mikle Kolyada <zlog...@gentoo.org> lilo-24.0.ebuild:
   amd64 stable wrt bug #503058



1.1                  sys-boot/lilo/lilo-24.0-r1.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/lilo/lilo-24.0-r1.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/lilo/lilo-24.0-r1.ebuild?rev=1.1&content-type=text/plain

Index: lilo-24.0-r1.ebuild
===================================================================
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/lilo-24.0-r1.ebuild,v 1.1 
2014/09/02 11:51:44 chainsaw Exp $

EAPI="5"

inherit eutils flag-o-matic toolchain-funcs

DOLILO_V="0.6"
IUSE="static minimal pxeserial device-mapper"

DESCRIPTION="Standard Linux boot loader"
HOMEPAGE="https://alioth.debian.org/projects/lilo/";

DOLILO_TAR="dolilo-${DOLILO_V}.tar.bz2"
SRC_URI="
        http://lilo.alioth.debian.org/ftp/sources/${P}.tar.gz
        mirror://gentoo/${DOLILO_TAR}
"

SLOT="0"
LICENSE="BSD GPL-2"
KEYWORDS="-* ~amd64 ~x86"

DEPEND=">=sys-devel/bin86-0.15.5"
RDEPEND="device-mapper? ( >=sys-fs/lvm2-2.02.45 )"

src_prepare() {
        # 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"

        # Do not strip and have parallel make
        # FIXME: images/Makefile does weird stuff
        sed -i Makefile src/Makefile \
                -e '/strip/d;s|^        make|   $(MAKE)|g' \
                -e '/images install/d' \
                -e '/images all/d' \
                || die "sed strip failed"
}

src_configure() {
        if ! use device-mapper; then
                sed -i make.vars -e 's|-DDEVMAPPER||g' || die
        fi
}

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
                local target=alles
        else
                local target=all
        fi

        emake CC="$(tc-getCC) ${LDFLAGS} ${HARDENED_CFLAGS}" ${target} || die
}

src_install() {
        keepdir /boot
        emake DESTDIR="${D}" install || die

        if use !minimal; then
                into /
                dosbin "${WORKDIR}"/dolilo/dolilo || die

                into /usr
                dosbin keytab-lilo.pl || die

                insinto /etc
                newins "${FILESDIR}"/lilo.conf lilo.conf.example || die

                newconfd "${WORKDIR}"/dolilo/dolilo.conf.d dolilo.example || die

                dodoc CHANGELOG* readme/README.* readme/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 <m...@debian.org>
#
# Modified for Gentoo for use with the lilo ebuild by:
#   Martin Schlemmer <aza...@gentoo.org> (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
                                eerror "Running /sbin/dolilo failed!  Please 
check what the problem is"
                                eerror "before your next reboot."
                        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."
                echo
        fi
}




Reply via email to