diff options
Diffstat (limited to 'sys-boot/lilo')
-rw-r--r-- | sys-boot/lilo/Manifest | 2 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo-24.0-novga.patch | 12 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo-24.2-add-nvme-support.patch | 70 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo-24.x-check-for-__GLIBC__.patch | 18 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo-24.x-fix-gcc-10.patch | 51 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo.conf | 8 | ||||
-rw-r--r-- | sys-boot/lilo/lilo-24.0-r1.ebuild | 171 | ||||
-rw-r--r-- | sys-boot/lilo/lilo-24.2-r1.ebuild (renamed from sys-boot/lilo/lilo-24.1.ebuild) | 44 | ||||
-rw-r--r-- | sys-boot/lilo/lilo-24.2.ebuild | 178 | ||||
-rw-r--r-- | sys-boot/lilo/metadata.xml | 23 |
10 files changed, 181 insertions, 396 deletions
diff --git a/sys-boot/lilo/Manifest b/sys-boot/lilo/Manifest index 39d90b9ba384..4260ab014b47 100644 --- a/sys-boot/lilo/Manifest +++ b/sys-boot/lilo/Manifest @@ -1,4 +1,2 @@ DIST dolilo-0.6.tar.bz2 3817 BLAKE2B 35c41f5eac8e02d4381db517a9b230d037da184f9ae409bc76307e689ad6b82928ea3794db54c3137afe6c770db86ba0cde78c33d89e775ddea464905070bfd6 SHA512 1b59ea5f2e2ac52d62635c9f7d5fb5b2aff6757e6ea6c0950480d8a11832b872115907abe6d8fb3fa5436e2e8971d9a1dda103dc6a15db6fc310c8f4730ab936 -DIST lilo-24.0.tar.gz 768631 BLAKE2B 09f6520e16a90eab5f44af440f1e2c2d05abb56e954dbb0237700d8e99f017bab279fa8a5c535114ec58be7416123ea51e91311255ed3036199f3565eec5a3f7 SHA512 4158a0f7ab085da063938df2bc77356f9536aa78208a902561f9e61ec478fb17f204f68407f6809638aea9d2e0c88ffc701548291c1635ab40f5b18a7be6bae7 -DIST lilo-24.1.tar.gz 773223 BLAKE2B ceaeaf6696b7b15d95cc6c90c6de63ad731f4d0f6d9e42fea4a245219d446cbecdb7d372ef4cb31dce26c7e149723779244f0319939343edf971ac1a19ba5063 SHA512 d1375cac9654fcb3934e7e5e0533e126ff8700a48154eb5019cf62e4b89f14d2ce7a17b6324795d9b60b37ab7656bfb2c9467f6e9d3540095f5c294579e83883 DIST lilo-24.2.tar.gz 777400 BLAKE2B 71c74235d5df10eed65b67dc1ce2af21163651c752d799da419077025304abf9352535a70f3fb60d086609d8a1c25bf394e29453c338ab022cb2be3cb21af75f SHA512 4437cae21345f483194a5dc95f686f3f3cb2beec78faae3fba959db25eae29fe2c56732e055c05f1d101682c5d442cdc9561fae8074f61f5537dde0413204c54 diff --git a/sys-boot/lilo/files/lilo-24.0-novga.patch b/sys-boot/lilo/files/lilo-24.0-novga.patch deleted file mode 100644 index ebb06b486818..000000000000 --- a/sys-boot/lilo/files/lilo-24.0-novga.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur lilo-23.2/make.vars lilo-23.2.new/make.vars ---- lilo-23.2/make.vars 2013-01-18 11:33:02.438628138 -0600 -+++ lilo-23.2.new/make.vars 2013-01-18 11:34:03.960697091 -0600 -@@ -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/files/lilo-24.2-add-nvme-support.patch b/sys-boot/lilo/files/lilo-24.2-add-nvme-support.patch new file mode 100644 index 000000000000..b4d54ec9bc95 --- /dev/null +++ b/sys-boot/lilo/files/lilo-24.2-add-nvme-support.patch @@ -0,0 +1,70 @@ +diff -Naurp lilo-24.2.orig/src/common.h lilo-24.2/src/common.h +--- lilo-24.2.orig/src/common.h 2015-11-21 18:50:23.000000000 -0500 ++++ lilo-24.2/src/common.h 2020-07-30 23:20:05.611122665 -0400 +@@ -386,7 +386,7 @@ extern char *config_file; + extern FILE *errstd; + extern FILE *pp_fd; + extern char *identify; /* in identify.c */ +-extern int dm_major_list[16]; ++extern int dm_major_list[32]; + extern int dm_major_nr; + + #define crc(a,b) (~crc32((a),(b),CRC_POLY1)) +diff -Naurp lilo-24.2.orig/src/geometry.c lilo-24.2/src/geometry.c +--- lilo-24.2.orig/src/geometry.c 2015-11-21 18:50:18.000000000 -0500 ++++ lilo-24.2/src/geometry.c 2020-07-30 23:20:05.611122665 -0400 +@@ -84,8 +84,9 @@ DM_TABLE *dmtab = NULL; + int dm_version_nr = 0; + #endif + +-int dm_major_list[16]; ++int dm_major_list[32]; /* increased from 16 to allow for nvme disks */ + int dm_major_nr; ++int nvme_pr = 0; /* set to none zero after geo_init if nvme disk present */ + + #ifdef LCF_LVM + struct lv_bmap { +@@ -200,6 +201,9 @@ void geo_init(char *name) + + while(fgets(line, (sizeof line)-1, file)) { + if (sscanf(line, "%d %31s\n", &major, major_name) != 2) continue; ++ if (strcmp(major_name, "nvme") !=0) { /* set if nvme drive is present */ ++ nvme_pr=-1; ++ } + if (strcmp(major_name, "device-mapper") != 0) continue; + dm_major_list[dm_major_nr] = major; + if (verbose >= 3) { +@@ -708,6 +712,22 @@ void geo_query_dev(GEOMETRY *geo,int dev + geo->start = hdprm.start; + break; + case MAJOR_SATA1: ++ /* check for nvme device and assume boot/this device is nvme if present */ ++ if (nvme_pr != 0) { ++ geo->device = 0x80 + last_dev(MAJOR_IDE,64) + (MINOR(device) >> 4); ++ if (!get_all) break; ++ if (ioctl(fd,HDIO_GETGEO,&hdprm) < 0) ++ die("geo_query_dev HDIO_GETGEO (dev 0x%04x): %s",device, ++ strerror(errno)); ++ if (all && !hdprm.sectors) ++ die("HDIO_REQ not supported for your NVME controller. Please " ++ "use a DISK section"); ++ geo->heads = hdprm.heads; ++ geo->cylinders = hdprm.cylinders; ++ geo->sectors = hdprm.sectors; ++ geo->start = hdprm.start; ++ break; ++ } + case MAJOR_SATA2: + printf("WARNING: SATA partition in the high region (>15):\n"); + printf("LILO needs the kernel in one of the first 15 SATA partitions. If \n"); +diff -Naurp lilo-24.2.orig/src/lilo.h lilo-24.2/src/lilo.h +--- lilo-24.2.orig/src/lilo.h 2015-11-21 18:50:20.000000000 -0500 ++++ lilo-24.2/src/lilo.h 2020-07-30 23:20:05.611122665 -0400 +@@ -245,6 +245,7 @@ + + /* high partitions (>15) on SATA hard disks */ + #define MAJOR_SATA1 259 /* high SATA disk partitions (Block Extended Major) */ ++ /* also used by kernel for nvme disks */ + #define MAJOR_SATA2 260 /* high SATA disk partitions (Block Extended Major) (obsolete) */ + + diff --git a/sys-boot/lilo/files/lilo-24.x-check-for-__GLIBC__.patch b/sys-boot/lilo/files/lilo-24.x-check-for-__GLIBC__.patch new file mode 100644 index 000000000000..be3443629cfa --- /dev/null +++ b/sys-boot/lilo/files/lilo-24.x-check-for-__GLIBC__.patch @@ -0,0 +1,18 @@ +diff -Naurp lilo-24.2.orig/src/lilo.c lilo-24.2/src/lilo.c +--- lilo-24.2.orig/src/lilo.c 2021-06-06 15:53:52.389730145 -0400 ++++ lilo-24.2/src/lilo.c 2021-06-06 15:53:28.309159571 -0400 +@@ -182,7 +182,14 @@ extern int has_partitions_beta(dev_t dev + printf("Without"); + #endif + printf(" device-mapper\n"); ++#ifdef __GLIBC__ ++ /* ++ * __GLIBC__ is defined in features.h, which should be pulled ++ * in by stdio.h, but this is not guaranteed nor apparently ++ * documented anywhere. ++ */ + printf("\nglibc version %d.%d\n", __GLIBC__, __GLIBC_MINOR__); ++#endif + printf("Kernel Headers included from %d.%d.%d\n", + LINUX_VERSION_CODE>>16, + LINUX_VERSION_CODE>>8 & 255, diff --git a/sys-boot/lilo/files/lilo-24.x-fix-gcc-10.patch b/sys-boot/lilo/files/lilo-24.x-fix-gcc-10.patch new file mode 100644 index 000000000000..c46b9eebdea0 --- /dev/null +++ b/sys-boot/lilo/files/lilo-24.x-fix-gcc-10.patch @@ -0,0 +1,51 @@ +Description: Fix ftbfs with GCC-10 + +Author: Ryan Finnie <ryan@finnie.org> +Bug-Debian: https://bugs.debian.org/957490 +Forwarded: no + +--- + +--- a/src/raid.h ++++ b/src/raid.h +@@ -8,7 +8,7 @@ + * in the source directory. + */ + +-int do_md_install, ndisk, md_bios; ++extern int ndisk, md_bios; + + int raid_setup(void); + void raid_final(void); +--- a/src/bsect.c ++++ b/src/bsect.c +@@ -54,8 +54,6 @@ + #endif + + +-int boot_dev_nr; +- + static BOOT_SECTOR bsect,bsect_orig; + static MENUTABLE menuparams; + static DESCR_SECTORS descrs; +--- a/src/identify.c ++++ b/src/identify.c +@@ -19,7 +19,6 @@ + #include "common.h" + #include "cfg.h" + +-char *identify; + static char *opt; + static char *first, *dflt; + static int idefault; +--- a/src/raid.c ++++ b/src/raid.c +@@ -41,7 +41,7 @@ + static int raid_bios[MAX_RAID+1]; + static int device; + enum {MD_NULL=0, MD_PARALLEL, MD_MIXED, MD_SKEWED}; +-int do_md_install, ndisk, md_bios; ++int ndisk, md_bios; + static char *raid_list[MAX_RAID]; + static int list_index[MAX_RAID]; + static int nlist, faulty; diff --git a/sys-boot/lilo/files/lilo.conf b/sys-boot/lilo/files/lilo.conf index 3848f779029b..a65ae24252dc 100644 --- a/sys-boot/lilo/files/lilo.conf +++ b/sys-boot/lilo/files/lilo.conf @@ -12,7 +12,7 @@ lba32 #linear # MBR to install LILO to: -boot = /dev/hda +boot = /dev/sda map = /boot/.map # If you are having problems booting from a hardware raid-array @@ -51,7 +51,7 @@ vga = normal # Linux bootable partition config begins # image = /boot/bzImage - root = /dev/hda3 + root = /dev/sda3 #root = /devices/discs/disc0/part3 label = Gentoo read-only # read-only for checking @@ -62,10 +62,10 @@ image = /boot/bzImage # # DOS bootable partition config begins # -other = /dev/hda1 +other = /dev/sda1 #other = /devices/discs/disc0/part1 label = Windows - table = /dev/hda + table = /dev/sda # # DOS bootable partition config ends # diff --git a/sys-boot/lilo/lilo-24.0-r1.ebuild b/sys-boot/lilo/lilo-24.0-r1.ebuild deleted file mode 100644 index b0639924ba39..000000000000 --- a/sys-boot/lilo/lilo-24.0-r1.ebuild +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -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 - - # 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}" ${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 - 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 -} diff --git a/sys-boot/lilo/lilo-24.1.ebuild b/sys-boot/lilo/lilo-24.2-r1.ebuild index 9431f2659608..a1e7a24913fd 100644 --- a/sys-boot/lilo/lilo-24.1.ebuild +++ b/sys-boot/lilo/lilo-24.2-r1.ebuild @@ -1,34 +1,44 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="5" +EAPI="7" -inherit eutils flag-o-matic toolchain-funcs +inherit flag-o-matic optfeature toolchain-funcs DOLILO_V="0.6" IUSE="static minimal pxeserial device-mapper" -DESCRIPTION="Standard Linux boot loader" -HOMEPAGE="https://alioth.debian.org/projects/lilo/" +DESCRIPTION="LInux LOader, the original Linux bootloader" +HOMEPAGE="https://www.joonet.de/lilo/" DOLILO_TAR="dolilo-${DOLILO_V}.tar.bz2" SRC_URI=" - http://lilo.alioth.debian.org/ftp/sources/${P}.tar.gz + https://www.joonet.de/lilo/ftp/sources/${P}.tar.gz mirror://gentoo/${DOLILO_TAR} " SLOT="0" LICENSE="BSD GPL-2" -KEYWORDS="-* ~amd64 ~x86" +KEYWORDS="-* amd64 x86" DEPEND=">=sys-devel/bin86-0.15.5" RDEPEND="device-mapper? ( >=sys-fs/lvm2-2.02.45 )" +# Bootloaders should not be using arbitrary CFLAGS without good reason. A bootloader +# is typically only executed once to boot the system, and it should work the first time. +QA_FLAGS_IGNORED="/sbin/lilo" + src_prepare() { + default + # 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" + use pxeserial && eapply "${FILESDIR}/${PN}-24.1-novga.patch" + + eapply "${FILESDIR}/${PN}-24.2-add-nvme-support.patch" + eapply "${FILESDIR}/${PN}-24.x-fix-gcc-10.patch" + eapply "${FILESDIR}/${PN}-24.x-check-for-__GLIBC__.patch" # Do not strip and have parallel make # FIXME: images/Makefile does weird stuff @@ -56,24 +66,23 @@ src_compile() { local target=all fi - emake CC="$(tc-getCC) ${LDFLAGS}" ${target} || die + emake CC="$(tc-getCC) ${LDFLAGS}" ${target} } src_install() { - keepdir /boot - emake DESTDIR="${D}" install || die + emake DESTDIR="${D}" install if use !minimal; then into / - dosbin "${WORKDIR}"/dolilo/dolilo || die + dosbin "${WORKDIR}"/dolilo/dolilo into /usr - dosbin keytab-lilo.pl || die + dosbin keytab-lilo.pl insinto /etc - newins "${FILESDIR}"/lilo.conf lilo.conf.example || die + newins "${FILESDIR}"/lilo.conf lilo.conf.example - newconfd "${WORKDIR}"/dolilo/dolilo.conf.d dolilo.example || die + newconfd "${WORKDIR}"/dolilo/dolilo.conf.d dolilo.example dodoc CHANGELOG* readme/README.* readme/INCOMPAT README docinto samples ; dodoc sample/* @@ -153,7 +162,7 @@ pkg_postinst() { ln -snf boot-menu.b "${ROOT}/boot/boot.b" fi - if [ "${ROOT}" = "/" ] && use !minimal; + if [[ -z "${ROOT}" ]] && use !minimal; then if lilocheck then @@ -175,4 +184,7 @@ pkg_postinst() { einfo "edit /etc/conf.d/dolilo to harness its full potential." echo fi + + optfeature "automatically updating lilo's configuration on each kernel installation" \ + "sys-kernel/installkernel[-systemd]" } diff --git a/sys-boot/lilo/lilo-24.2.ebuild b/sys-boot/lilo/lilo-24.2.ebuild deleted file mode 100644 index 854b8dba4364..000000000000 --- a/sys-boot/lilo/lilo-24.2.ebuild +++ /dev/null @@ -1,178 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -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}/${PN}-24.1-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 - - # 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}" ${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 -} diff --git a/sys-boot/lilo/metadata.xml b/sys-boot/lilo/metadata.xml index 0deb765df79f..fa7bf0f87112 100644 --- a/sys-boot/lilo/metadata.xml +++ b/sys-boot/lilo/metadata.xml @@ -1,16 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> - <email>chainsaw@gentoo.org</email> -</maintainer> -<maintainer type="project"> - <email>base-system@gentoo.org</email> - <name>Gentoo Base System</name> -</maintainer> -<use> - <flag name="device-mapper">Enable support for device-mapper from <pkg>sys-fs/lvm2</pkg></flag> - <flag name="minimal">Do not install the dolilo helper script</flag> - <flag name="pxeserial">Avoid character echo on PXE serial console</flag> -</use> + <maintainer type="person"> + <email>kumba@gentoo.org</email> + </maintainer> + + <use> + <flag name="device-mapper">Enable support for device-mapper from <pkg>sys-fs/lvm2</pkg></flag> + <flag name="minimal">Do not install the dolilo helper script</flag> + <flag name="pxeserial">Avoid character echo on PXE serial console</flag> + </use> </pkgmetadata> |