diff options
author | Tony Vroon <chainsaw@gentoo.org> | 2004-11-05 11:11:11 +0000 |
---|---|---|
committer | Tony Vroon <chainsaw@gentoo.org> | 2004-11-05 11:11:11 +0000 |
commit | 9e94f4291f6bc9858fa4fcb9c14d11cd1413323e (patch) | |
tree | 788ff082498520eec103d2a1c802167d68751eb2 /sys-boot/lilo | |
parent | Add virtual/gsasl (diff) | |
download | historical-9e94f4291f6bc9858fa4fcb9c14d11cd1413323e.tar.gz historical-9e94f4291f6bc9858fa4fcb9c14d11cd1413323e.tar.bz2 historical-9e94f4291f6bc9858fa4fcb9c14d11cd1413323e.zip |
QA fix, bug #70112. Stable on x86. Cleaned out old ebuild and patches.
Diffstat (limited to 'sys-boot/lilo')
-rw-r--r-- | sys-boot/lilo/ChangeLog | 7 | ||||
-rw-r--r-- | sys-boot/lilo/Manifest | 22 | ||||
-rw-r--r-- | sys-boot/lilo/files/digest-lilo-22.5.9-r2 | 2 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo-22.5.9-correct-usage-info.patch | 13 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo-22.5.9-create-install-dirs.patch | 21 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo-22.5.9-devmapper_gentoo.patch | 407 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo-22.5.9-glibc233.patch | 24 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo-22.5.9-lvm.2-6headers.patch | 16 | ||||
-rw-r--r-- | sys-boot/lilo/files/lilo-glibc233.patch | 24 | ||||
-rw-r--r-- | sys-boot/lilo/lilo-22.5.9-r2.ebuild | 198 | ||||
-rw-r--r-- | sys-boot/lilo/lilo-22.6.ebuild | 16 |
11 files changed, 15 insertions, 735 deletions
diff --git a/sys-boot/lilo/ChangeLog b/sys-boot/lilo/ChangeLog index 6bb9bd5601f6..e25e5c328c6d 100644 --- a/sys-boot/lilo/ChangeLog +++ b/sys-boot/lilo/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-boot/lilo # Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/ChangeLog,v 1.25 2004/10/17 01:56:05 solar Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/ChangeLog,v 1.26 2004/11/05 11:11:11 chainsaw Exp $ + + 05 Nov 2004; Tony Vroon <chainsaw@gentoo.org> -lilo-22.5.9-r2.ebuild, + lilo-22.6.ebuild: + Use CC functionality in toolchain eclass, closes bug #70112. Marked stable + on x86, old ebuild cleaned. 16 Oct 2004; <solar@gentoo.org> lilo-22.5.9-r2.ebuild, lilo-22.6.ebuild: removed erroneous RDEPEND on sed4 diff --git a/sys-boot/lilo/Manifest b/sys-boot/lilo/Manifest index 4699c66a752a..ac660adfb41d 100644 --- a/sys-boot/lilo/Manifest +++ b/sys-boot/lilo/Manifest @@ -1,26 +1,8 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 9d604c5551670fd0725d1d434c55ff38 lilo-22.6.ebuild 4863 -MD5 61f7649363167fd2015fe8b74b995502 lilo-22.5.9-r2.ebuild 5070 -MD5 1dbda5e7f59173cf0e1da8d92874278d ChangeLog 1807 +MD5 604d21f27d3d62c0687b8c9229d0e489 lilo-22.6.ebuild 4759 +MD5 26875dbb7fab6998f65939be7dca0d2a ChangeLog 2010 MD5 eeee4743c4e463eeed3a7a4c15380e0d metadata.xml 254 -MD5 ab2657bc635313522eb791e30b1166ef files/lilo-22.5.9-correct-usage-info.patch 683 -MD5 925f55c96304e240bdb20cc35c6745ae files/digest-lilo-22.5.9-r2 124 MD5 42faa8a84fae547fe181da0ad7b67b04 files/lilo-22.6-devmapper_gentoo.patch 11826 -MD5 77acd52c9bdf0a660026777a3419ccb3 files/lilo-22.5.9-glibc233.patch 584 MD5 a12e27d3f9076bb13d357533303f77ff files/digest-lilo-22.6 122 MD5 2419c22323e1cfdbbc1ca149cb05e74d files/lilo-22.6-create-install-dirs.patch 970 -MD5 2419c22323e1cfdbbc1ca149cb05e74d files/lilo-22.5.9-create-install-dirs.patch 970 MD5 5f2172291cc1252b30f5a60981a51ac4 files/lilo.conf 1722 MD5 ab2657bc635313522eb791e30b1166ef files/lilo-22.6-correct-usage-info.patch 683 -MD5 348f7a96783361cf8f0a0703bfeaa03a files/lilo-22.5.9-lvm.2-6headers.patch 470 -MD5 fdc2575e3b1e96d80ba2c1409abcad0e files/lilo-22.5.9-devmapper_gentoo.patch 11884 -MD5 ca44cc6ec0aecfe30c49c455f74aacec files/lilo-glibc233.patch 640 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.4 (GNU/Linux) - -iD8DBQFBcdEO94CCfB4KcwwRAj6oAJ9DA0zJOOVU5OcbBU1Mry3Ja6ERHgCfZF33 -+IxtTvrlBqKwz+a0zREILGQ= -=AcWm ------END PGP SIGNATURE----- diff --git a/sys-boot/lilo/files/digest-lilo-22.5.9-r2 b/sys-boot/lilo/files/digest-lilo-22.5.9-r2 deleted file mode 100644 index e0d3ab92e91c..000000000000 --- a/sys-boot/lilo/files/digest-lilo-22.5.9-r2 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 d5b561190cbe0968d50e09e0031edb79 lilo-22.5.9.tar.gz 415378 -MD5 62a7ebbbf998d84e06a3f18569567a9e dolilo-0.2.tar.bz2 4263 diff --git a/sys-boot/lilo/files/lilo-22.5.9-correct-usage-info.patch b/sys-boot/lilo/files/lilo-22.5.9-correct-usage-info.patch deleted file mode 100644 index 3812115fe41d..000000000000 --- a/sys-boot/lilo/files/lilo-22.5.9-correct-usage-info.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -uNr lilo-22.5.8-ORIG/lilo.c lilo-22.5.8/lilo.c ---- lilo-22.5.8-ORIG/lilo.c 2004-06-07 19:47:58.028442608 +0100 -+++ lilo-22.5.8/lilo.c 2004-06-07 19:50:17.837188448 +0100 -@@ -336,7 +336,8 @@ - fprintf(errstd,"%7s%s -M /dev/XXX [ mbr | ext ]\tinstall master boot record\n","",name); - fprintf(errstd,"%7s%s -T help \t\t\tlist additional options\n", "", name); - fprintf(errstd,"%7s%s -X\t\t\t\tinternal compile-time options\n", "", name); -- fprintf(errstd,"%7s%s -V [ -v ]\t\t\tversion information\n\n","",name); -+ fprintf(errstd,"%7s%s -V\t\t\t\tversion information\n","",name); -+ fprintf(errstd,"%7s%s -v\t\t\t\tverbose mode\n\n","",name); - exit(1); - } - diff --git a/sys-boot/lilo/files/lilo-22.5.9-create-install-dirs.patch b/sys-boot/lilo/files/lilo-22.5.9-create-install-dirs.patch deleted file mode 100644 index c9e58a2312a5..000000000000 --- a/sys-boot/lilo/files/lilo-22.5.9-create-install-dirs.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- lilo-22.5.8/Makefile.bak 2004-02-06 01:41:06.000000000 +0000 -+++ lilo-22.5.8/Makefile 2004-02-06 02:02:57.000000000 +0000 -@@ -302,16 +302,8 @@ - # normal install, but doesn't make the diagnostic binaries - # - install: all -- if [ ! -d $$ROOT$(SBIN_DIR) ]; then mkdir $$ROOT$(SBIN_DIR); fi -- if [ ! -d $$ROOT$(CFG_DIR) ]; then mkdir $$ROOT$(CFG_DIR); fi -- if [ ! -d $$ROOT$(BOOT_DIR) ]; then mkdir $$ROOT$(BOOT_DIR); fi -- if [ ! -d $$ROOT$(USRSBIN_DIR) ]; then \ -- mkdir -p $$ROOT$(USRSBIN_DIR); fi -- if [ ! -d $$ROOT$(MAN_DIR) ]; then mkdir $$ROOT$(MAN_DIR); fi -- if [ ! -d $$ROOT$(MAN_DIR)/man5 ]; then \ -- mkdir $$ROOT$(MAN_DIR)/man5; fi -- if [ ! -d $$ROOT$(MAN_DIR)/man8 ]; then \ -- mkdir $$ROOT$(MAN_DIR)/man8; fi -+ mkdir -p $$ROOT$(SBIN_DIR) $$ROOT$(CFG_DIR) $$ROOT$(BOOT_DIR) \ -+ $$ROOT$(USRSBIN_DIR) $$ROOT$(MAN_DIR)/man5 $$ROOT$(MAN_DIR)/man8 - if [ -f diag1.img ]; then \ - cp -f diag1.img $$ROOT$(BOOT_DIR); fi - if [ -f diag2.img ]; then \ diff --git a/sys-boot/lilo/files/lilo-22.5.9-devmapper_gentoo.patch b/sys-boot/lilo/files/lilo-22.5.9-devmapper_gentoo.patch deleted file mode 100644 index 847f953b061e..000000000000 --- a/sys-boot/lilo/files/lilo-22.5.9-devmapper_gentoo.patch +++ /dev/null @@ -1,407 +0,0 @@ -diff -uNr lilo-22.5.9.orig/Makefile lilo-22.5.9/Makefile ---- lilo-22.5.9.orig/Makefile 2004-06-09 22:41:24.519057048 +0100 -+++ lilo-22.5.9/Makefile 2004-06-09 22:42:25.269821528 +0100 -@@ -53,7 +53,8 @@ - # XL_SECS=n Support for extra large (non-standard) floppies. - - CONFIG=-DBDATA -DDSECS=3 -DEVMS -DIGNORECASE -DLVM -DONE_SHOT -DPASS160 \ -- -DREISERFS -DREWRITE_TABLE -DSOLO_CHAIN -DVERSION -DVIRTUAL -DATARAID -+ -DREISERFS -DREWRITE_TABLE -DSOLO_CHAIN -DVERSION -DVIRTUAL -DATARAID \ -+ -DDEVMAPPER - - # set the compiler optimization level - -@@ -88,6 +89,8 @@ - LDFLAGS=#-Xlinker -qmagic - LIBS= - -+DEVMAPPER=-ldevmapper -+ - OBJS=lilo.o raid.o map.o geometry.o boot.o device.o common.o bsect.o cfg.o \ - temp.o partition.o identify.o probe.o shs2.o loader.o edit.o - -@@ -255,7 +258,11 @@ - cp -p dparam.S dparam.s - - lilo: $(OBJS) -+ifneq (,$(findstring DEVMAPPER,$(CONFIG))) -+ $(CC) -o lilo -L/lib $(LDFLAGS) $(DEVMAPPER) $(OBJS) $(LIBS) -+else - $(CC) -o lilo $(LDFLAGS) $(OBJS) $(LIBS) -+endif - - lilo-static: $(OBJS) - $(CC) -o lilo-static -static $(LDFLAGS) $(OBJS) $(LIBS) -diff -uNr lilo-22.5.9.orig/geometry.c lilo-22.5.9/geometry.c ---- lilo-22.5.9.orig/geometry.c 2004-06-09 22:41:24.526055984 +0100 -+++ lilo-22.5.9/geometry.c 2004-06-09 22:41:42.016397048 +0100 -@@ -14,6 +14,9 @@ - #include <stdio.h> - #include <fcntl.h> - #include <errno.h> -+#include <stdlib.h> -+#include <limits.h> -+#include <ctype.h> - #include <sys/types.h> - - #ifdef LCF_REISERFS -@@ -26,6 +29,10 @@ - - #include <string.h> - -+#ifdef LCF_DEVMAPPER -+#include <libdevmapper.h> -+#endif -+ - #include "config.h" - #include "lilo.h" - #include "common.h" -@@ -60,6 +67,25 @@ - #endif - #endif - -+#ifdef LCF_DEVMAPPER -+typedef struct _dm_target { -+ struct _dm_target *next; -+ uint64_t start,length,offset; -+ int device; -+} DM_TARGET; -+ -+typedef struct _dm_table { -+ struct _dm_table *next; -+ int device; -+ struct _dm_target *target; -+} DM_TABLE; -+ -+int dm_version_nr = 0; -+int dm_major_list[16]; -+int dm_major_nr = 0; -+DM_TABLE *dmtab = NULL; -+#endif -+ - #ifdef LCF_LVM - struct lv_bmap { - __u32 lv_block; -@@ -121,6 +147,12 @@ - { - FILE *file; - char line[MAX_LINE+1]; -+#ifdef LCF_DEVMAPPER -+ struct dm_task *dmt; -+ char major_name[32]; -+ char dm_version[32]; -+ int major; -+#endif - char *here; - DT_ENTRY *entry; - int disk_section,items; -@@ -129,29 +161,69 @@ - if ((file = fopen(name,"r")) == NULL) - die("open %s: %s",name,strerror(errno)); - } -- else if ((file = fopen(DFL_DISKTAB,"r")) == NULL) return; -- disk_section = !!disktab; -- while (fgets(line,MAX_LINE,file)) { -- here = strchr(line,'\n'); -- if (here) *here = 0; -- here = strchr(line,'#'); -- if (here) *here = 0; -- if (strspn(line," \t") != strlen(line)) { -- entry = alloc_t(DT_ENTRY); -- items = sscanf(line,"0x%x 0x%x %d %d %d %d",&entry->device, -- &entry->bios,&entry->sectors,&entry->heads,&entry->cylinders, -- &entry->start); -- if (items == 5) entry->start = -1; -- if (items < 5) -- die("Invalid line in %s:\n\"%s\"",name ? name : DFL_DISKTAB, -- line); -- entry->next = disktab; -- disktab = entry; -- if (disk_section) die("DISKTAB and DISK are mutually exclusive"); -- old_disktab = 1; -+ if (name || (file = fopen(DFL_DISKTAB,"r")) != NULL) { -+ disk_section = !!disktab; -+ while (fgets(line,MAX_LINE,file)) { -+ here = strchr(line,'\n'); -+ if (here) *here = 0; -+ here = strchr(line,'#'); -+ if (here) *here = 0; -+ if (strspn(line," \t") != strlen(line)) { -+ entry = alloc_t(DT_ENTRY); -+ items = sscanf(line,"0x%x 0x%x %d %d %d %d",&entry->device, -+ &entry->bios,&entry->sectors,&entry->heads,&entry->cylinders, -+ &entry->start); -+ if (items == 5) entry->start = -1; -+ if (items < 5) -+ die("Invalid line in %s:\n\"%s\"",name ? name : DFL_DISKTAB, -+ line); -+ entry->next = disktab; -+ disktab = entry; -+ if (disk_section) die("DISKTAB and DISK are mutually exclusive"); -+ old_disktab = 1; -+ } - } -+ (void) fclose(file); - } -+ -+#ifdef LCF_DEVMAPPER -+ if (!(dmt = dm_task_create(DM_DEVICE_VERSION))) -+ return; -+ if (!dm_task_run(dmt)) -+ return; -+ if (!dm_task_get_driver_version(dmt, dm_version, sizeof dm_version)) -+ return; -+ -+ /* -+ * to not confuse returned device number formats %02x:%02x and %d:%d -+ * we assume here that the %02x:%02x format is only found in the ioctl -+ * interface version < 4 (this is really getting ugly...) -+ */ -+ dm_version_nr = atoi(dm_version); -+ -+ dm_task_destroy(dmt); -+ -+ dm_major_nr = 0; -+ file = fopen("/proc/devices", "r"); -+ if (!file) return; -+ -+ do { -+ if (!fgets(line, (sizeof line)-1, file)) { -+ (void) fclose(file); -+ return; -+ } -+ line[(sizeof line)-1] = 0; -+ } while(strncmp(line, "Block", 5) != 0); -+ -+ while(fgets(line, (sizeof line)-1, file)) { -+ if (sscanf(line, "%d %31s\n", &major, major_name) != 2) continue; -+ if (strcmp(major_name, "device-mapper") != 0) continue; -+ dm_major_list[dm_major_nr] = major; -+ if (++dm_major_nr > (sizeof dm_major_list)/(sizeof dm_major_list[0])) break; -+ } -+ - (void) fclose(file); -+#endif - } - - -@@ -775,6 +847,161 @@ - { - DT_ENTRY *walk; - int inherited,keep_cyls,is_raid=0; -+#ifdef LCF_DEVMAPPER -+ int i; -+ -+ for(i = 0; i < dm_major_nr; i++) -+ if (MAJOR(device) == dm_major_list[i]) -+ break; -+ while (i < dm_major_nr) { -+ DM_TABLE *dm_table; -+ -+ for(dm_table = dmtab; dm_table; dm_table = dm_table->next) -+ if (dm_table->device == device) -+ break; -+ -+ if (dm_table) { -+ DM_TARGET *target; -+ -+ device = 0; -+ for(target = dm_table->target; target; target = target->next) -+ device = target->device; -+ } else { -+ DEVICE dev; -+ struct dm_task *dmt; -+ void *next = NULL; -+ char dmdev[PATH_MAX+1]; -+ char buf[PATH_MAX+1]; -+ char *slash; -+ int result; -+ -+ dev_open(&dev, device, -1); -+ strncpy(dmdev, dev.name, PATH_MAX); -+ dmdev[PATH_MAX] = 0; -+ do { -+ memset(buf, 0, PATH_MAX + 1); -+ if ((result = readlink(dmdev, buf, PATH_MAX)) < 0 && errno != EINVAL) -+ die("device-mapper: readlink(\"%s\") failed with: %s",buf, -+ strerror(errno)); -+ if (result >= 0) { -+ if (buf[0] != '/' && (slash = strrchr(dmdev, '/')) != NULL) -+ slash++; -+ else -+ slash = dmdev; -+ strncpy(slash, buf, PATH_MAX - (slash-dmdev)); -+ } -+ if (realpath(dmdev, buf) == NULL) -+ die("device-mapper: realpath(\"%s\") failed with: %s",dmdev, -+ strerror(errno)); -+ strncpy(dmdev, buf, PATH_MAX); -+ } while (result >= 0); -+ dmdev[PATH_MAX] = 0; -+ -+ if (!(dmt = dm_task_create(DM_DEVICE_TABLE))) -+ die("device-mapper: dm_task_create(DM_DEVICE_TABLE) failed"); -+ slash = strrchr(dmdev, '/'); -+ if (slash) -+ slash++; -+ else -+ slash = dmdev; -+ if (!dm_task_set_name(dmt, slash)) -+ die("device-mapper: dm_task_set_name(\"%s\") failed",dmdev); -+ if (!dm_task_run(dmt)) -+ die("device-mapper: dm_task_run(DM_DEVICE_TABLE) failed"); -+ -+ dm_table = alloc_t(DM_TABLE); -+ dm_table->device = device; -+ dm_table->target = NULL; -+ dm_table->next = dmtab; -+ dmtab = dm_table; -+ -+ device = 0; -+ -+ do { -+ DM_TARGET *target; -+ uint64_t start,length; -+ int major,minor; -+ char *target_type,*params; -+ char *p; -+ -+ next = dm_get_next_target(dmt, next, &start, &length, -+ &target_type, ¶ms); -+ -+ if (!target_type) continue; -+ -+ if (strcmp(target_type, "linear") != 0) -+ die("device-mapper: only linear boot device supported"); -+ -+ target = alloc_t(DM_TARGET); -+ target->start = start; -+ target->length = length; -+ if (dm_version_nr < 4 && -+ isxdigit(params[0]) && -+ isxdigit(params[1]) && -+ params[2] == ':' && -+ isxdigit(params[3]) && -+ isxdigit(params[4])) { /* old 2.4 format */ -+ if (sscanf(params, "%02x:%02x %"PRIu64, &major, &minor, &target->offset) != 3) -+ die("device-mapper: parse error in linear params (\"%s\")", params); -+ } else if (isdigit(params[0]) && -+ strchr(params, ':')) { /* dm_bdevname/format_dev_t (>= 2.6.0-test4?) format */ -+ if (sscanf(params, "%u:%u %"PRIu64, &major, &minor, &target->offset) != 3) -+ die("device-mapper: parse error in linear params (\"%s\")", params); -+ } else { /* >= 2.5.69 format, this should go away soon */ -+ struct stat st; -+ FILE *file; -+ -+ p = strrchr(params, ' '); -+ if (p == NULL) -+ die("device-mapper: parse error in linear params (\"%s\")", params); -+ *p = 0; -+ sprintf(buf, "/dev/%s", params); /* let's hope it's there */ -+ if (stat(buf, &st) == 0) { -+ if (!S_ISBLK(st.st_mode)) -+ die("device-mapper: %s is not a valid block device", buf); -+ major = MAJOR(st.st_rdev); -+ minor = MINOR(st.st_rdev); -+ } else { /* let's try sysfs */ -+ int dev; -+ sprintf(buf, "/sys/block/%s/dev", params); -+ file = fopen(buf, "r"); -+ if (!file) -+ die("device-mapper: \"%s\" could not be opened. /sys mounted?", buf); -+ if (!fgets(buf, PATH_MAX, file)) -+ die("device-mapper: read error from \"/sys/block/%s/dev\"", params); -+ if (sscanf(buf, "%u:%u", &major, &minor) != 2) { -+ if (sscanf(buf, "%x", &dev) != 1) -+ die("device-mapper: error getting device from \"%s\"", buf); -+ major = MAJOR(dev); -+ minor = MINOR(dev); -+ } -+ (void) fclose(file); -+ } -+ *p = ' '; -+ if (sscanf(p+1, "%"PRIu64, &target->offset) != 1) -+ die("device-mapper: parse error in linear params (\"%s\")", params); -+ } -+ target->device = (major << 8) | minor; -+ if (!device) -+ device = target->device; -+ target->next = dm_table->target; -+ dm_table->target = target; -+ } while(next); -+ -+ dm_task_destroy(dmt); -+ -+ dev_close(&dev); -+ } -+ -+ if (!device) -+ die("device-mapper: Error finding real device"); -+ geo->base_dev = device; -+ -+ for(i = 0; i < dm_major_nr; i++) -+ if (MAJOR(device) == dm_major_list[i]) -+ break; -+ } -+#endif - - if (verbose>=5) printf("geo_get: device %04X, all=%d\n", device, all); - #ifdef LCF_LVM -@@ -1146,14 +1373,50 @@ - die("EVMS boot volume cannot be on multiple disks.\n"); - sector = ebm.rsector + ((offset/SECTOR_SIZE) % geo->spb) + geo->start; - } -- else { -- sector = block*geo->spb+((offset/SECTOR_SIZE) % geo->spb); -- sector += geo->start; -- } --#else -- sector = block*geo->spb+((offset/SECTOR_SIZE) % geo->spb); -- sector += geo->start; -+ else -+#endif -+ { -+#ifdef LCF_DEVMAPPER -+ int dev = geo->dev; -+ int i; -+#endif -+ sector = block*geo->spb+((offset/SECTOR_SIZE) % geo->spb); -+#ifdef LCF_DEVMAPPER -+ for(i = 0; i < dm_major_nr; i++) -+ if (MAJOR(dev) == dm_major_list[i]) -+ break; -+ while (i < dm_major_nr) { -+ DM_TABLE *dm_table; -+ DM_TARGET *dm_target; -+ -+ for(dm_table = dmtab; dm_table; dm_table = dm_table->next) -+ if (dm_table->device == dev) -+ break; -+ if (!dm_table) -+ die("device-mapper: Mapped device suddenly lost? (%d)", dev); -+ -+ for(dm_target = dm_table->target; dm_target; dm_target = dm_target->next) -+ if (dm_target->start <= sector && sector < (dm_target->start+dm_target->length)) -+ break; -+ if (!dm_target) -+ die("device-mapper: Sector outside mapped device? (%d: %u/%"PRIu64")", -+ geo->base_dev, sector, (uint64_t)(dm_table->target ? -+ (dm_table->target->start+dm_table->target->length) : 0)); -+ -+ dev = dm_target->device; -+ sector = dm_target->offset+(sector-dm_target->start); -+ -+ for(i = 0; i < dm_major_nr; i++) -+ if (MAJOR(dev) == dm_major_list[i]) -+ break; -+ } -+ -+ if (dev != geo->dev && dev != geo->base_dev) -+ die("device-mapper: mapped boot device cannot be on multiple real devices\n"); - #endif -+ sector += geo->start; -+ } -+ - /* DON'T always use CHS addressing on floppies: JRC */ - /* if ((geo->device & 0x80) && (linear || lba32)) { */ - if ((linear || lba32)) { diff --git a/sys-boot/lilo/files/lilo-22.5.9-glibc233.patch b/sys-boot/lilo/files/lilo-22.5.9-glibc233.patch deleted file mode 100644 index 61cb30dc963c..000000000000 --- a/sys-boot/lilo/files/lilo-22.5.9-glibc233.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- boot.c.orig 2003-11-25 05:31:24.000000000 +0000 -+++ boot.c 2004-06-09 16:35:49.092481712 +0100 -@@ -17,6 +17,9 @@ - #include <ctype.h> - #include <fcntl.h> - #include <errno.h> -+#ifndef PAGE_SIZE -+# include <asm/page.h> -+#endif - #include <sys/stat.h> - - #include "config.h" ---- partition.c.orig 2003-11-25 06:00:02.000000000 +0000 -+++ partition.c 2004-06-09 16:36:51.579982168 +0100 -@@ -17,6 +17,9 @@ - #include <ctype.h> - #include <fcntl.h> - #include <errno.h> -+#ifndef PAGE_SIZE -+# include <asm/page.h> -+#endif - #include <sys/stat.h> - #include <sys/types.h> - #include <asm/unistd.h> diff --git a/sys-boot/lilo/files/lilo-22.5.9-lvm.2-6headers.patch b/sys-boot/lilo/files/lilo-22.5.9-lvm.2-6headers.patch deleted file mode 100644 index 7c93db0ae03c..000000000000 --- a/sys-boot/lilo/files/lilo-22.5.9-lvm.2-6headers.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- lilo-22.5.8/geometry.c 2003-10-10 00:59:07.000000000 +0100 -+++ lilo-22.5.8/geometry.c 2004-01-28 19:28:17.000000000 +0000 -@@ -99,6 +99,13 @@ - #define HDIO_GETGEO HDIO_REQ - #endif - -+/* plasmaroo@gentoo.org :: 2.6 Compatibility */ -+ -+#undef _IOR -+#undef _IOWR -+ -+#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) -+#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - - typedef struct _st_buf { - struct _st_buf *next; diff --git a/sys-boot/lilo/files/lilo-glibc233.patch b/sys-boot/lilo/files/lilo-glibc233.patch deleted file mode 100644 index 96d582d418e8..000000000000 --- a/sys-boot/lilo/files/lilo-glibc233.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- lilo-22.5.6/boot.c 2003-08-03 21:02:55.000000000 +0200 -+++ lilo-22.5.6.glibc233/boot.c 2003-08-03 21:03:17.000000000 +0200 -@@ -18,6 +18,9 @@ - #include <fcntl.h> - #include <errno.h> - #include <a.out.h> -+#ifndef PAGE_SIZE -+# include <asm/page.h> -+#endif - #include <sys/stat.h> - - #include "config.h" ---- lilo-22.5.6/partition.c 2003-08-03 21:03:33.000000000 +0200 -+++ lilo-22.5.6.glibc233/partition.c 2003-08-03 21:03:56.000000000 +0200 -@@ -18,6 +18,9 @@ - #include <fcntl.h> - #include <errno.h> - #include <a.out.h> -+#ifndef PAGE_SIZE -+# include <asm/page.h> -+#endif - #include <sys/stat.h> - #include <sys/types.h> - #include <asm/unistd.h> diff --git a/sys-boot/lilo/lilo-22.5.9-r2.ebuild b/sys-boot/lilo/lilo-22.5.9-r2.ebuild deleted file mode 100644 index cb429600484b..000000000000 --- a/sys-boot/lilo/lilo-22.5.9-r2.ebuild +++ /dev/null @@ -1,198 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/lilo-22.5.9-r2.ebuild,v 1.5 2004/10/17 01:56:05 solar Exp $ - -inherit eutils flag-o-matic - -DOLILO_V="0.2" -IUSE="devmap static" - -DESCRIPTION="Standard Linux boot loader" -HOMEPAGE="http://lilo.go.dyndns.org/pub/linux/lilo/" -DOLILO_TAR="dolilo-${DOLILO_V}.tar.bz2" -SRC_URI="http://home.san.rr.com/johninsd/pub/linux/lilo/${P}.tar.gz - ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/${P}.tar.gz - ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/obsolete/${P}.tar.gz - mirror://gentoo/${DOLILO_TAR}" - -SLOT="0" -LICENSE="BSD GPL-2" -KEYWORDS="-* x86" - -RDEPEND="devmap? ( >=sys-libs/device-mapper-1.00.08 )" -DEPEND="${RDEPEND} - dev-lang/nasm - >=sys-apps/sed-4 - >=sys-devel/bin86-0.15.5" - -PROVIDE="virtual/bootloader" - -src_unpack() { - einfo - einfo "If you want to use lilo with device mapper, please enable the" - einfo "\"devmap\" USE flag." - einfo - - unpack ${P}.tar.gz - - # Do not try and build the dos crap. - sed -i -e 's|^all:.*$|all: lilo|' ${S}/Makefile - - # The bootlogo patch from SuSE linux, which was originally in - # here, has been dropped because it's no longer compatible - # with lilo since the 22.5.x series. - # Quequero has done a good attempt to port the patch in bug - # #19397, but unfortunately that breaks the timeout at boot. - # If you can overcome these problems, a patch is very welcome. - - if use devmap; then - # devmapper-patch (boot on evms/lvm2) - cd ${S}; epatch ${FILESDIR}/${P}-devmapper_gentoo.patch - fi - - cd ${S} - unpack ${DOLILO_TAR} - - # Fixup things for glibc-2.3.3 (and later CVS versions of 2.3.2) - epatch ${FILESDIR}/${P}-glibc233.patch - # Fix building against 2.6 headers - epatch ${FILESDIR}/${P}-lvm.2-6headers.patch - # Fix creating install dirs, bug #39405 - epatch ${FILESDIR}/${P}-create-install-dirs.patch - # Correctly document commandline options -v and -V, bug #43554 - epatch ${FILESDIR}/${P}-correct-usage-info.patch - # Get the manpage path right - sed -i -e s,usr/man,usr/share/man,g ${S}/Makefile -} - -src_compile() { - # hardened automatic PIC plus PIE building should be suppressed - # because of assembler instructions that cannot be compiled PIC - HARDENED_CFLAGS="`test_flag -fno-pic` `test_flag -nopie`" - - # we explicitly prevent the custom CFLAGS for stability reasons - if use static; then - emake CC="${CC:=gcc} ${HARDENED_CFLAGS}" lilo-static || die - mv lilo-static lilo || die - else - emake CC="${CC:=gcc} ${HARDENED_CFLAGS}" lilo || die - fi -} - -src_install() { - keepdir /boot - make ROOT=${D} install || die - - into / - dosbin ${S}/dolilo/dolilo - - into /usr - dosbin keytab-lilo.pl - - insinto /etc - newins ${FILESDIR}/lilo.conf lilo.conf.example - - insinto /etc/conf.d - newins ${S}/dolilo/dolilo.conf.d dolilo.example - - doman manPages/*.[5-8] - dodoc CHANGES COPYING INCOMPAT README* - docinto samples ; dodoc sample/* -} - -# 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="$(rdev 2> /dev/null | cut -d ' ' -f 1 2> /dev/null)" - - 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}" = "/" ] - 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 - ewarn "Running /sbin/dolilo failed! Please check what the problem is" - ewarn "before your next reboot." - - ebeep 5 - epause 5 - fi - fi - echo - fi - - echo - einfo "Please note that all the loader files (/boot/*.b) are now linked" - einfo "into LILO, and thus no longer installed." - 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." - ebeep 5 - epause 3 - echo -} diff --git a/sys-boot/lilo/lilo-22.6.ebuild b/sys-boot/lilo/lilo-22.6.ebuild index cdc0b64e7bb3..3cc0a744f756 100644 --- a/sys-boot/lilo/lilo-22.6.ebuild +++ b/sys-boot/lilo/lilo-22.6.ebuild @@ -1,8 +1,8 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/lilo-22.6.ebuild,v 1.2 2004/10/17 01:56:05 solar Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-boot/lilo/lilo-22.6.ebuild,v 1.3 2004/11/05 11:11:11 chainsaw Exp $ -inherit eutils flag-o-matic +inherit eutils flag-o-matic toolchain-funcs DOLILO_V="0.2" IUSE="devmap static" @@ -17,11 +17,11 @@ SRC_URI="http://home.san.rr.com/johninsd/pub/linux/lilo/${P}.tar.gz SLOT="0" LICENSE="BSD GPL-2" -KEYWORDS="-* ~x86" +KEYWORDS="-* x86" -RDEPEND="devmap? ( >=sys-libs/device-mapper-1.00.08 )" +RDEPEND=">=sys-apps/sed-4 + devmap? ( >=sys-libs/device-mapper-1.00.08 )" DEPEND="${RDEPEND} - >=sys-apps/sed-4 >=sys-devel/bin86-0.15.5" PROVIDE="virtual/bootloader" @@ -67,10 +67,10 @@ src_compile() { # we explicitly prevent the custom CFLAGS for stability reasons if use static; then - emake CC="${CC:=gcc} ${HARDENED_CFLAGS}" lilo-static || die + emake CC="$(tc-getCC) ${HARDENED_CFLAGS}" lilo-static || die mv lilo-static lilo || die else - emake CC="${CC:=gcc} ${HARDENED_CFLAGS}" lilo || die + emake CC="$(tc-getCC) ${HARDENED_CFLAGS}" lilo || die fi } @@ -182,8 +182,6 @@ pkg_postinst() { fi echo - einfo "Please note that all the loader files (/boot/*.b) are now linked" - einfo "into LILO, and thus no longer installed." 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." |