chainsaw    15/01/22 10:45:46

  Modified:             ChangeLog
  Added:                lilo-24.1.ebuild
  Log:
  Avoid interactive password configurations, based on a report and initial 
patch by Andrew Savchenko in bug #497288. New upstream release, closes bug 
#536942 by Joshua Kinard.
  
  (Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key 
0xB5058F9A)

Revision  Changes    Path
1.83                 sys-boot/lilo/ChangeLog

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

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-boot/lilo/ChangeLog,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- ChangeLog   26 Sep 2014 13:24:00 -0000      1.82
+++ ChangeLog   22 Jan 2015 10:45:46 -0000      1.83
@@ -1,6 +1,14 @@
 # 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.82 2014/09/26 
13:24:00 ago Exp $
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/ChangeLog,v 1.83 2015/01/22 
10:45:46 chainsaw Exp $
+
+*lilo-24.1 (22 Jan 2015)
+
+  22 Jan 2015; Tony Vroon <chain...@gentoo.org> +lilo-24.1.ebuild,
+  +files/lilo-24.1-novga.patch:
+  Avoid interactive password configurations, based on a report and initial
+  patch by Andrew Savchenko in bug #497288. New upstream release, closes bug
+  #536942 by Joshua Kinard.
 
   26 Sep 2014; Agostino Sarubbo <a...@gentoo.org> lilo-24.0-r1.ebuild:
   Stable for x86, wrt bug #521966



1.1                  sys-boot/lilo/lilo-24.1.ebuild

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

Index: lilo-24.1.ebuild
===================================================================
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/lilo-24.1.ebuild,v 1.1 
2015/01/22 10:45:46 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
        ebegin "Checking whether LILO can be safely updated"

        if [ "$(whoami)" != "root" ]
        then
                eend 1
                eerror "Only root can check for LILO"
                return 1
        fi

        if [ -z "${rootpart}" ]
        then
                eend 1
                eerror "Could not determine root partition"
                return 1
        fi

        if [ ! -f /etc/lilo.conf -o ! -x /sbin/lilo ]
        then
                eend 1
                eerror "No LILO configuration in place"
                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
                eend 1
                eerror "No LILO signature on ${bootpart}"
                ewarn "Check your /etc/lilo.conf, or run /sbin/lilo by hand."
                return 1
        fi

        if grep -q "^[[:space:]]*password[[:space:]]*=[[:space:]]*\"\"" 
/etc/lilo.conf
        then
                eend 1
                eerror "Interactive password entry configured"
                ewarn "Run /sbin/lilo -p by hand."
                return 1
        fi

        einfo "LILO on ${bootpart} is safe to update"
        eend 0
        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
                                eerror "You must manually configure and run 
LILO"
                        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, "
                einfo "edit /etc/conf.d/dolilo to harness its full potential."
                echo
        fi
}




Reply via email to