Avoid interactive password configurations, based on a report and initial patch by...
authorTony Vroon <chainsaw@gentoo.org>
Thu, 22 Jan 2015 10:45:49 +0000 (10:45 +0000)
committerTony Vroon <chainsaw@gentoo.org>
Thu, 22 Jan 2015 10:45:49 +0000 (10:45 +0000)
Package-Manager: portage-2.2.15/cvs/Linux x86_64
Manifest-Sign-Key: 0xB5058F9A

sys-boot/lilo/ChangeLog
sys-boot/lilo/Manifest
sys-boot/lilo/files/lilo-24.1-novga.patch [new file with mode: 0644]
sys-boot/lilo/lilo-24.1.ebuild [new file with mode: 0644]

index b8939334f210d5b66f2fee1b550746de1fb7bab1..7d0bf828308649d41a17028add37daa8e8b65827 100644 (file)
@@ -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 <chainsaw@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 <ago@gentoo.org> lilo-24.0-r1.ebuild:
   Stable for x86, wrt bug #521966
index 71483d24cd1f17fdb9740c4df5dfe4a42050afe0..211c013299f1c09adbde3ae0b63a8a97f5d81f1a 100644 (file)
@@ -7,33 +7,26 @@ AUX lilo-22.8-nodevmapper.patch 437 SHA256 0d9c747650db3afd65a9dc8467af4262073f2
 AUX lilo-22.8-novga.patch 295 SHA256 f4fc887a0950a32262dc4f36d84fe2b5ec6df2ae67d1dd0110fdfe1aadf65d9c SHA512 ee619280265191f80f07429ed0abe9434219cc00b31d204b613138de449ae9de83f8eb80110c3af36ac52156f3a2b52b8d0795abc8dd8a4ad3df15b654cf71e6 WHIRLPOOL e4e1db110f4247f1a3232e967a2969324f63307738bb28e58c53148d98b4e464b1e65f4107c5988a6ca2dde5e1f233a232db7ec7c3ed87f7dd6fe41a1c8b8c36
 AUX lilo-23.0-make.patch 2147 SHA256 4561fb4be2ebcef1ab5bc5b371a2c2e8a7fb4d65764c3aa77f71b63dc11d6488 SHA512 3efb1aa109762bc80654a421a218c74bd6b82c39a1e14ea93f1da55414ece59575586f18d652559c7d57adde8c2aa9a5aabeddfafb369a3092687e18c48f194b WHIRLPOOL 10c95f202ff327ae7ff0f4a7a94659d9d82a37f53129dba3cf75a3f1655322470c8439363e9f0b4d0676f23e53e7b422076252a6ffc823ce524ab1703d82717f
 AUX lilo-24.0-novga.patch 497 SHA256 fe9df228f7a9c8585182e6dc457b784b60ed7f357e22a52b0ec629d53a305cf2 SHA512 f09dbca336c6117592ec24e972c393941ae336f01a03449a455b9694e7e7c62fe24cd9fabab96380c91472fc701633a0ca41277180b73525e92cadbb71459d45 WHIRLPOOL 7c5ac6f8ffde38dc104d6196832728326f357ff0e0c0aa69816f1648bb470ae9b3b570facaeaad1c73812da3ce4601d053bc28b48cb9a2b8944c9a8ba05a63a3
+AUX lilo-24.1-novga.patch 500 SHA256 4911147939095f0315ea6f6e48fe53e9daaf8917b5bc3c254f56a1c8d4f37b10 SHA512 067a741086b6df6b5f728ffde3cac949dd9b59cdc11ac1b022f240b69c4a8ef883f5623cc610becd4648f02ad3a243a0d6a939aa8d8c63d9b0158426e6b6f300 WHIRLPOOL 4b9a8ed4d99a6ce6ee3d80ec63d822a6b5d3c18e4d621b7b9037fa9a3f272d118e81d1ae9cbe754ded7eef7b15aeb4e3b8130008d4a536c5357837f732a71781
 AUX lilo.conf 1722 SHA256 1cc9e4828e7b61f7c0ebf6655d7d6be3b584461308b568267f3c1bb7fb8371d0 SHA512 3e456b950d6f6fa9d1a223e11d60b1679105d97007617f648da5719a1cc9944cb1277849f642faee58038005057c2ed3af1bd635c5c87ec35505cd464e340f49 WHIRLPOOL d6d3749971c7cceba79feef2ed130a0250ecb6961e161aa8850ad99f2272d8cf94dbf2d952abd6b67843040c9623df6b7346d32eb12a9d6586d4c54d1ea875a9
 DIST dolilo-0.5.tar.bz2 3777 SHA256 9b6994ec6416cdfb0205665a58dc2e6a1d6e36272a3cab94315daea1c55605f1 SHA512 6bfd0181d922f01903c8c0cdc67fc087c74091d7ffec0ddfb263c18b3a2247fcfbd201995f1724f26f4eb21b91147f209fd7ed485a05c6b9e9f583ea2456baa9 WHIRLPOOL 4cae4563097b646aa4d689861793712dc44d6a32db850842c88556f32e59765ad5d6c7594c7a157d063503c9e70473774448f6692ba72b7c53c057c038ed3960
 DIST dolilo-0.6.tar.bz2 3817 SHA256 01293874aea4cfa935d3f22fd52c8f4956e4a85b39a878df1255098825f2840e SHA512 1b59ea5f2e2ac52d62635c9f7d5fb5b2aff6757e6ea6c0950480d8a11832b872115907abe6d8fb3fa5436e2e8971d9a1dda103dc6a15db6fc310c8f4730ab936 WHIRLPOOL 7a24cf7bf4b476967a5d4ba2234ce3256ff9311744be020ef25e6227f8e86098aac89706d23df30d3f0212aa3fe313c0460d1709990b21029d93517b77f61e4e
 DIST lilo-22.8.src.tar.gz 437555 SHA256 bad5907c212c0b2b15de5e852787a1ad2129a702f113b26345eec1c917c4edcb SHA512 b8a22c73b5f6a0c7ddde7c7af6511f9e85d43bae98603bfa0656dfa0685018b3ed713cfd9932bfac33017b83f807c66a3e25d78a16ea9a15bbfddd0e806714cc WHIRLPOOL 712fdf98b28e0ac717c0667fb5d4d7e734d963f0c4b3997d690c543d8d505ad3e6449933a854a8c1ce008d5c7f1b40a013398d36455fa433498f2583677f2d7c
 DIST lilo-23.2.tar.gz 580758 SHA256 0245e300494c0700411d518ffd81a15a00450face7922fb3b08cec7d16984030 SHA512 fe6789d3643751128afcb2c9761623329e84ab05ec84d75d6b13eff991d10a6671617b65f4ab5ef414a6ca4bc530bcf33b96ddeee3f5dce78bb69b8db740f9c5 WHIRLPOOL f12c44fc48ba74a57ed83174b44966a4330ad3a96714bf52afea6e4d1c4a01c2881d447e563c0b363f602fa0e15d6012633734fb962cf2adba4ec62c7481519a
 DIST lilo-24.0.tar.gz 768631 SHA256 3d40c0af1d60a0adbe3696cd6cb8d7e892694351ff225371d871b6b479d82152 SHA512 4158a0f7ab085da063938df2bc77356f9536aa78208a902561f9e61ec478fb17f204f68407f6809638aea9d2e0c88ffc701548291c1635ab40f5b18a7be6bae7 WHIRLPOOL 598e915ddb08b3b8383fb08a1b3dbb75f9340fbb052c4ceed88309274c33b8a5965502a95b99997aba7af2d3ec9da737c13b85784afd8f371ad96b69942069a2
+DIST lilo-24.1.tar.gz 773223 SHA256 a15280edacb8bca31b9163d65e61270b8c06cb9ffea74374a3a42164a13d4532 SHA512 d1375cac9654fcb3934e7e5e0533e126ff8700a48154eb5019cf62e4b89f14d2ce7a17b6324795d9b60b37ab7656bfb2c9467f6e9d3540095f5c294579e83883 WHIRLPOOL 6534b9494cce30c56f0ec700eb8288ebfdfb9e07ed631958e3f34d03d4fb42de372237dab5d07a8b8ef1c3da49b427d3777be14de9abca339dcd184fce550ab0
 EBUILD lilo-22.8-r2.ebuild 4610 SHA256 695785303c5e56fad7939a993f36a4dbaded0d9e0f8f828637e7ce2d2fabc0f8 SHA512 efa755ff85b3e0f00b3daa4b47d5a0e6943938de397ed9fd9223d48ad84450a5c13f831c96bbfb0ed3415c88e97e504263ca12c1ac34fea519b6a261f2f371f3 WHIRLPOOL 700a06dd906eff275582666859cab94847c27461178dc83f60edafdaa956b7444dfd5d4330b57e20d4d42bba8d3e46dcd9c95c09aad5e73832fe0251eb7999a1
 EBUILD lilo-23.2-r1.ebuild 4247 SHA256 a552c43d7ab144ea42df4ff8359637609f95d9014acf49504d677adcc4bc0965 SHA512 3e059d6ecfb7a54140fd0dfee3c4496aced9f6d23c7b0dc13f1bfd753d25d7277cad2f55106a85ad44258d0d2170329eb18bde6afd95d74b818c1d7e41c96ddd WHIRLPOOL 206e2a21ba1532a9c1b9962c52ac3698fe3cdcd5739bf654db221fa23d69fc81d47718df5b28a4522fba246a34442dcc89c6d1fcde523e365effccd097fbd1b8
 EBUILD lilo-23.2-r2.ebuild 4325 SHA256 bdce7ce4748b7baf17f3de3078362df2ae51fcd90bc66657ea4dc07bfe75a6cb SHA512 485852be156c1f67584a5a13dce251e79b3e714ebee561dccd069bb34694729ec38e71e0aa20825b3d0d0d81536eb523c4063fb3084c9fbd22cf87cac8b6b57c WHIRLPOOL 66e1f838f5f19d032b150981622b53520e06a2917c21e1ca8041a1c6eadae57c80ec7ff796dbeb62e251bb2d9366471ad1a9275f6609c06ba4573353bb8aa45e
 EBUILD lilo-24.0-r1.ebuild 4268 SHA256 863bf8fb161529eb63c1239dc158355f5f8561991a25a91df1f3241b6baa9380 SHA512 c5f84f2bcb9fa4846cc2f39ffbafddce5e1b28094f1b8f6ae4c3fc16ce2c9fb1b871e918231d416b0a878b2edbaa40a27d01a7d50ec476b45e77937c47632bf1 WHIRLPOOL 04e9f6ed414da4c4b86d6bd454d327f2ffdfb78d439e526337f08ddd807fec278e400a79725f3cfc47b1d3702053a7d90dde77b2f9ff0bd75076de558d082bad
 EBUILD lilo-24.0.ebuild 4269 SHA256 f072d0a41ed06d39d6bbe4b8620912307e74a8e84746aa0562c2d0d16b26936a SHA512 a697901294cd85382044dc8872cbcef0b90809a4aa817fccd7dd5154ea85ebd992fa4022f44953750b8544aa04ca1f048866553d9df4ab164c2d094804a39234 WHIRLPOOL 579991e253b953625f5d0c6049daed0a6562e4cd5ffafe4654faf90b927f66fe156cb0d89bd139de00ee02288ed1581719660f4995852575782d6b65db1907e4
-MISC ChangeLog 14779 SHA256 0d1cb01ad4283ab7ba008edbde270a3219febac259ba3b31c1d7c8b2a10545cd SHA512 033e3e9dbc6623ef5bbe9831a282779c62bf0e5cc9cf871bd6855d20722a1b4e4d3246dec219aab045b6bab8196fffd555f9ecea06edd41ca1cf851d77c9b253 WHIRLPOOL 005d39033192e892ff7684d26ea6dfa67eff167595c6b2191556fb6b5fe99ceaa432194a4a614afd8042d16d9eeee04a334513ada0373a5c9a437191ecdc6e39
+EBUILD lilo-24.1.ebuild 4423 SHA256 cddd2fbaa077b808ac9f083e12fc7c42f49ebbbd6bef84ddb064b4dbf0a5168b SHA512 91fa42c3233b2c755e6ba5e1a2046ff444253400c20c2342e32fb9efa4144ac844aa3dcfe74b715a92d9caa67af5427efa26633fcecc51390030b56dcbc29d06 WHIRLPOOL cdc17bc6f9f2ae1f9053adfb7fedfdfa099499f59215c676fa4dbb0efd19cf66a70fb9fd72b1bd730151d8d3e18e9fdfe30a7b9d19eeedace3213e8022d88ade
+MISC ChangeLog 15090 SHA256 303e251cdc477edbd25737fb79f6b254685ad9688b0815afe846d27095c037da SHA512 eae9d006bb343a360f1ddb53d6cdedae712a48f5ade505aaef943d0b392ef7c2fab5a5563d57f22173118516ab49322954090d5d7acd68eaf0cbc621fd0e990c WHIRLPOOL 9e03ec8b0c59fd0c82f7fc65dcbb7d9cf9bbc8c0a6ae7255d4d0d615a18b1eeda3a24071f9134297d6396eee5552a90fe03931ee5170fb5271568ecc2cdfe57f
 MISC metadata.xml 504 SHA256 4cd65dd103dd97351619de30c8a8eab3f344cb43041a2377e3d8ef8cd9470500 SHA512 decf3fe5ba2137e315f5a7ab428dabff096d01b9eecbce6869e3f33e15f2daaffba450dea1a824ada9ac88a0c2eaaa9160234990c6e0c0e13a75b1c94f0352c0 WHIRLPOOL fc6a70bf788fb0314c8c49012a403212ca080a35ac03277ca254eb29f050276c8e0b366e3258b3ae20e3050b2a72a9f45535a4c313c2f122b413b4ec80e744ca
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQIcBAEBCAAGBQJUJWjxAAoJELp701BxlEWfBJ4P/inxrFBt3wc6PkMv2tG8cxZ3
-hTy0pXFf+EOJVf/p6Fi9O0IiNa4YqxbjEIPJejTyFNOwVvkPKOnG5cEPfvh2AM7q
-cw1Hu7qX+R3ud0ac/gJA+Yxv4nuuCLUjzZ2xWxu72dRKWG3gjS8TbTApJ25z7FQo
-M5ZIq+9bYd3D8vMiMyP3fLFNIL2fgL85Em9EbmpCs3+Co+0ghnu/hQr2yDCOol/x
-e7v2VtiG31ZLcUwsb5LioO3f0J2im0VHT+WZp7Hni0+gEwtoIpC2aYnCUGDx4zjc
-rA+eYamT3hVxFur6YtnHj4WLOoHv5wBtSi8RyWp4d7JIor6wevZX6c3Q1sreDUJD
-jVTtwB3eWxXz3FRHiinkv6hOHAUMaCh+FHU4e7oM2pkF7nTcTgkuXLzkH5Z7JzrI
-xeWUf7HQPrDwDHI+27RY4Dk0gFv/qHA/v4pe4fDAK6WjS8yz+auhO0k0NxLHPL4C
-kaXtJNt2nbK9+fozkOE1NqNpHMxeWAtUk1DTwwlry8EgJAtv+lSBWYzo93pPl2Wj
-3FOha1YfoNZ6ESoQO8NAKRxSxa1wzDRkVnjhD1GCGHn7Ind3x7NMTSBXH1mj+awV
-ui4jwu01vcFTLHwS1bhtniAC4cciSPkdoD6LuNdkXZlKwZH6XMxPdDpDij5BoGqX
-AUyc7dNuVK8hv60oEu7F
-=7L8M
+iEYEAREIAAYFAlTA1O4ACgkQp5vW4rUFj5oXLwCgjzXb/4s2dduhGUcu69m/uliG
+4sYAnRNSF1kWAat80mmUhUrLiG8cJAJP
+=8fbc
 -----END PGP SIGNATURE-----
diff --git a/sys-boot/lilo/files/lilo-24.1-novga.patch b/sys-boot/lilo/files/lilo-24.1-novga.patch
new file mode 100644 (file)
index 0000000..512fac6
--- /dev/null
@@ -0,0 +1,12 @@
+diff -uNr lilo-24.1.ORIG/make.vars lilo-24.1/make.vars
+--- lilo-24.1.ORIG/make.vars   2015-01-22 10:36:54.656904227 +0000
++++ lilo-24.1/make.vars        2015-01-22 10:37:16.516903935 +0000
+@@ -71,7 +71,7 @@
+ 
+ CONFIG=-DBDATA -DDSECS=3 -DEVMS -DIGNORECASE -DLVM -DNOKEYBOARD -DONE_SHOT \
+     -DPASS160 -DREISERFS -DREWRITE_TABLE -DSOLO_CHAIN -DVERSION -DVIRTUAL \
+-    -DMDPRAID -DDEVMAPPER
++    -DMDPRAID -DDEVMAPPER -DNOVGA
+    
+ # set the following if you wish LILO.COM to be installed
+ DOS_DIR=/dosC/boot
diff --git a/sys-boot/lilo/lilo-24.1.ebuild b/sys-boot/lilo/lilo-24.1.ebuild
new file mode 100644 (file)
index 0000000..7581759
--- /dev/null
@@ -0,0 +1,183 @@
+# 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 <maor@debian.org>
+#
+# Modified for Gentoo for use with the lilo ebuild by:
+#   Martin Schlemmer <azarah@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
+}