1 |
commit: b9ec35a30a79c5ef5d70ef30c8462068f9f1ee1e |
2 |
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Nov 23 14:48:52 2015 +0000 |
4 |
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Nov 23 14:50:50 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b9ec35a3 |
7 |
|
8 |
sys-boot/lilo: Bump to version 24.2 |
9 |
|
10 |
with kind permission from Chainsaw. |
11 |
|
12 |
Package-Manager: portage-2.2.25 |
13 |
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org> |
14 |
|
15 |
sys-boot/lilo/Manifest | 1 + |
16 |
sys-boot/lilo/lilo-24.2.ebuild | 183 +++++++++++++++++++++++++++++++++++++++++ |
17 |
2 files changed, 184 insertions(+) |
18 |
|
19 |
diff --git a/sys-boot/lilo/Manifest b/sys-boot/lilo/Manifest |
20 |
index 3343761..c593d10 100644 |
21 |
--- a/sys-boot/lilo/Manifest |
22 |
+++ b/sys-boot/lilo/Manifest |
23 |
@@ -4,3 +4,4 @@ DIST lilo-22.8.src.tar.gz 437555 SHA256 bad5907c212c0b2b15de5e852787a1ad2129a702 |
24 |
DIST lilo-23.2.tar.gz 580758 SHA256 0245e300494c0700411d518ffd81a15a00450face7922fb3b08cec7d16984030 SHA512 fe6789d3643751128afcb2c9761623329e84ab05ec84d75d6b13eff991d10a6671617b65f4ab5ef414a6ca4bc530bcf33b96ddeee3f5dce78bb69b8db740f9c5 WHIRLPOOL f12c44fc48ba74a57ed83174b44966a4330ad3a96714bf52afea6e4d1c4a01c2881d447e563c0b363f602fa0e15d6012633734fb962cf2adba4ec62c7481519a |
25 |
DIST lilo-24.0.tar.gz 768631 SHA256 3d40c0af1d60a0adbe3696cd6cb8d7e892694351ff225371d871b6b479d82152 SHA512 4158a0f7ab085da063938df2bc77356f9536aa78208a902561f9e61ec478fb17f204f68407f6809638aea9d2e0c88ffc701548291c1635ab40f5b18a7be6bae7 WHIRLPOOL 598e915ddb08b3b8383fb08a1b3dbb75f9340fbb052c4ceed88309274c33b8a5965502a95b99997aba7af2d3ec9da737c13b85784afd8f371ad96b69942069a2 |
26 |
DIST lilo-24.1.tar.gz 773223 SHA256 a15280edacb8bca31b9163d65e61270b8c06cb9ffea74374a3a42164a13d4532 SHA512 d1375cac9654fcb3934e7e5e0533e126ff8700a48154eb5019cf62e4b89f14d2ce7a17b6324795d9b60b37ab7656bfb2c9467f6e9d3540095f5c294579e83883 WHIRLPOOL 6534b9494cce30c56f0ec700eb8288ebfdfb9e07ed631958e3f34d03d4fb42de372237dab5d07a8b8ef1c3da49b427d3777be14de9abca339dcd184fce550ab0 |
27 |
+DIST lilo-24.2.tar.gz 777400 SHA256 e158f19de4560c935ebe0507c21b79bff17618b9230d8076fe8c5fff9fdbd5b1 SHA512 4437cae21345f483194a5dc95f686f3f3cb2beec78faae3fba959db25eae29fe2c56732e055c05f1d101682c5d442cdc9561fae8074f61f5537dde0413204c54 WHIRLPOOL 4e6e0e2b97592bd00121fef75f6a33f77a0186d4e63f4abd4ef564f7c7b3866c683371969f7aacb696e19813c7dc178490ba9cb7e41f0fcf9fd1739579fc24e8 |
28 |
|
29 |
diff --git a/sys-boot/lilo/lilo-24.2.ebuild b/sys-boot/lilo/lilo-24.2.ebuild |
30 |
new file mode 100644 |
31 |
index 0000000..b5c3034 |
32 |
--- /dev/null |
33 |
+++ b/sys-boot/lilo/lilo-24.2.ebuild |
34 |
@@ -0,0 +1,183 @@ |
35 |
+# Copyright 1999-2015 Gentoo Foundation |
36 |
+# Distributed under the terms of the GNU General Public License v2 |
37 |
+# $Id$ |
38 |
+ |
39 |
+EAPI="5" |
40 |
+ |
41 |
+inherit eutils flag-o-matic toolchain-funcs |
42 |
+ |
43 |
+DOLILO_V="0.6" |
44 |
+IUSE="static minimal pxeserial device-mapper" |
45 |
+ |
46 |
+DESCRIPTION="Standard Linux boot loader" |
47 |
+HOMEPAGE="https://alioth.debian.org/projects/lilo/" |
48 |
+ |
49 |
+DOLILO_TAR="dolilo-${DOLILO_V}.tar.bz2" |
50 |
+SRC_URI=" |
51 |
+ http://lilo.alioth.debian.org/ftp/sources/${P}.tar.gz |
52 |
+ mirror://gentoo/${DOLILO_TAR} |
53 |
+" |
54 |
+ |
55 |
+SLOT="0" |
56 |
+LICENSE="BSD GPL-2" |
57 |
+KEYWORDS="-* ~amd64 ~x86" |
58 |
+ |
59 |
+DEPEND=">=sys-devel/bin86-0.15.5" |
60 |
+RDEPEND="device-mapper? ( >=sys-fs/lvm2-2.02.45 )" |
61 |
+ |
62 |
+src_prepare() { |
63 |
+ # this patch is needed when booting PXE and the device you're using |
64 |
+ # emulates vga console via serial console. |
65 |
+ # 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. |
66 |
+ use pxeserial && epatch "${FILESDIR}/${PN}-24.1-novga.patch" |
67 |
+ |
68 |
+ # Do not strip and have parallel make |
69 |
+ # FIXME: images/Makefile does weird stuff |
70 |
+ sed -i Makefile src/Makefile \ |
71 |
+ -e '/strip/d;s|^ make| $(MAKE)|g' \ |
72 |
+ -e '/images install/d' \ |
73 |
+ -e '/images all/d' \ |
74 |
+ || die "sed strip failed" |
75 |
+} |
76 |
+ |
77 |
+src_configure() { |
78 |
+ if ! use device-mapper; then |
79 |
+ sed -i make.vars -e 's|-DDEVMAPPER||g' || die |
80 |
+ fi |
81 |
+} |
82 |
+ |
83 |
+src_compile() { |
84 |
+ # lilo needs this. bug #140209 |
85 |
+ export LC_ALL=C |
86 |
+ |
87 |
+ # hardened automatic PIC plus PIE building should be suppressed |
88 |
+ # because of assembler instructions that cannot be compiled PIC |
89 |
+ HARDENED_CFLAGS=$(test-flags-CC -fno-pic -nopie) |
90 |
+ |
91 |
+ # we explicitly prevent the custom CFLAGS for stability reasons |
92 |
+ if use static; then |
93 |
+ local target=alles |
94 |
+ else |
95 |
+ local target=all |
96 |
+ fi |
97 |
+ |
98 |
+ emake CC="$(tc-getCC) ${LDFLAGS} ${HARDENED_CFLAGS}" ${target} || die |
99 |
+} |
100 |
+ |
101 |
+src_install() { |
102 |
+ keepdir /boot |
103 |
+ emake DESTDIR="${D}" install || die |
104 |
+ |
105 |
+ if use !minimal; then |
106 |
+ into / |
107 |
+ dosbin "${WORKDIR}"/dolilo/dolilo || die |
108 |
+ |
109 |
+ into /usr |
110 |
+ dosbin keytab-lilo.pl || die |
111 |
+ |
112 |
+ insinto /etc |
113 |
+ newins "${FILESDIR}"/lilo.conf lilo.conf.example || die |
114 |
+ |
115 |
+ newconfd "${WORKDIR}"/dolilo/dolilo.conf.d dolilo.example || die |
116 |
+ |
117 |
+ dodoc CHANGELOG* readme/README.* readme/INCOMPAT README |
118 |
+ docinto samples ; dodoc sample/* |
119 |
+ fi |
120 |
+} |
121 |
+ |
122 |
+# Check whether LILO is installed |
123 |
+# This function is from /usr/sbin/mkboot from debianutils, with copyright: |
124 |
+# |
125 |
+# Debian GNU/Linux |
126 |
+# Copyright 1996-1997 Guy Maor <maor@××××××.org> |
127 |
+# |
128 |
+# Modified for Gentoo for use with the lilo ebuild by: |
129 |
+# Martin Schlemmer <azarah@g.o> (16 Mar 2003) |
130 |
+# |
131 |
+lilocheck() { |
132 |
+ local bootpart= |
133 |
+ local rootpart="$(mount | grep -v "tmpfs" | grep -v "rootfs" | grep "on / " | cut -f1 -d " ")" |
134 |
+ |
135 |
+ echo |
136 |
+ ebegin "Checking whether LILO can be safely updated" |
137 |
+ |
138 |
+ if [ "$(whoami)" != "root" ] |
139 |
+ then |
140 |
+ eend 1 |
141 |
+ eerror "Only root can check for LILO" |
142 |
+ return 1 |
143 |
+ fi |
144 |
+ |
145 |
+ if [ -z "${rootpart}" ] |
146 |
+ then |
147 |
+ eend 1 |
148 |
+ eerror "Could not determine root partition" |
149 |
+ return 1 |
150 |
+ fi |
151 |
+ |
152 |
+ if [ ! -f /etc/lilo.conf -o ! -x /sbin/lilo ] |
153 |
+ then |
154 |
+ eend 1 |
155 |
+ eerror "No LILO configuration in place" |
156 |
+ return 1 |
157 |
+ fi |
158 |
+ |
159 |
+ bootpart="$(sed -n "s:^boot[ ]*=[ ]*\(.*\)[ ]*:\1:p" /etc/lilo.conf)" |
160 |
+ |
161 |
+ if [ -z "${bootpart}" ] |
162 |
+ then |
163 |
+ # lilo defaults to current root when 'boot=' is not present |
164 |
+ bootpart="${rootpart}" |
165 |
+ fi |
166 |
+ |
167 |
+ if ! dd if=${bootpart} ibs=16 count=1 2>&- | grep -q 'LILO' |
168 |
+ then |
169 |
+ eend 1 |
170 |
+ eerror "No LILO signature on ${bootpart}" |
171 |
+ ewarn "Check your /etc/lilo.conf, or run /sbin/lilo by hand." |
172 |
+ return 1 |
173 |
+ fi |
174 |
+ |
175 |
+ if grep -q "^[[:space:]]*password[[:space:]]*=[[:space:]]*\"\"" /etc/lilo.conf |
176 |
+ then |
177 |
+ eend 1 |
178 |
+ eerror "Interactive password entry configured" |
179 |
+ ewarn "Run /sbin/lilo -p by hand." |
180 |
+ return 1 |
181 |
+ fi |
182 |
+ |
183 |
+ einfo "LILO on ${bootpart} is safe to update" |
184 |
+ eend 0 |
185 |
+ return 0 |
186 |
+} |
187 |
+ |
188 |
+pkg_postinst() { |
189 |
+ if [ ! -e "${ROOT}/boot/boot.b" -a ! -L "${ROOT}/boot/boot.b" ] |
190 |
+ then |
191 |
+ [ -f "${ROOT}/boot/boot-menu.b" ] && \ |
192 |
+ ln -snf boot-menu.b "${ROOT}/boot/boot.b" |
193 |
+ fi |
194 |
+ |
195 |
+ if [ "${ROOT}" = "/" ] && use !minimal; |
196 |
+ then |
197 |
+ if lilocheck |
198 |
+ then |
199 |
+ einfo "Running DOLILO to complete the install" |
200 |
+ # do not redirect to /dev/null because it may display some input |
201 |
+ # prompt |
202 |
+ /sbin/dolilo |
203 |
+ if [ "$?" -ne 0 ] |
204 |
+ then |
205 |
+ eerror "You must manually configure and run LILO" |
206 |
+ fi |
207 |
+ fi |
208 |
+ echo |
209 |
+ fi |
210 |
+ if use !minimal; then |
211 |
+ echo |
212 |
+ einfo "Issue 'dolilo' instead of 'lilo' to have a friendly wrapper that" |
213 |
+ einfo "handles mounting and unmounting /boot for you. It can do more, " |
214 |
+ einfo "edit /etc/conf.d/dolilo to harness its full potential." |
215 |
+ echo |
216 |
+ fi |
217 |
+} |