commit 8a5346e749cc14a9c45790ac3b0885c5ff4d0a1bb6017dd1e095db89e8d0a7f2 Author: OBS User unknown Date: Mon Jan 15 23:11:20 2007 +0000 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/elilo?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/elilo-3.6-MAC.diff b/elilo-3.6-MAC.diff new file mode 100644 index 0000000..fb581bd --- /dev/null +++ b/elilo-3.6-MAC.diff @@ -0,0 +1,35 @@ +diff -purN elilo-3.5-pre2/glue_netfs.c elilo-3.5-MAC/glue_netfs.c +--- elilo-3.5-pre2/glue_netfs.c 2004-02-20 23:30:37.000000000 +0100 ++++ elilo-3.5-MAC/glue_netfs.c 2005-12-07 15:19:45.655191368 +0100 +@@ -61,6 +61,18 @@ static CHAR16 netfs_default_path[FILENAM + static CHAR16 *hexa=L"0123456789ABCDEF"; + + static VOID ++convert_mac2hex(UINT8 *hw_addr,INTN l, CHAR16 *str) ++{ ++ UINTN i; ++ for (i=0 ; i < l; i++) { ++ str[3*i] = hexa[(hw_addr[i] & 0xf0)>>4]; ++ str[3*i+1] = hexa[hw_addr[i] & 0x0f]; ++ str[3*i+2] = ':'; ++ } ++ str[3*l-1]='\0'; ++} ++ ++static VOID + convert_ip2hex(UINT8 *ip, INTN l, CHAR16 *str) + { + UINTN i; +@@ -197,6 +209,12 @@ netfs_setdefaults(VOID *intf, config_fil + + StrnCpy(config[6].fname, str, maxlen-1); + StrnCpy(config[6].fname+2, CONFIG_EXTENSION, 6); ++ ++ /* use the MAC address as a possible file name as well */ ++ convert_mac2hex(info.hw_addr,6,str); ++ StrnCpy(config[7].fname, str, maxlen-1); ++ StrnCpy(config[7].fname+17, CONFIG_EXTENSION, 6); ++ + #else + StrnCpy(config[0].fname, NETFS_DEFAULT_CONFIG, maxlen-1); + config[0].fname[maxlen-1] = CHAR_NULL; diff --git a/elilo-3.6-asm.diff b/elilo-3.6-asm.diff new file mode 100644 index 0000000..6754edd --- /dev/null +++ b/elilo-3.6-asm.diff @@ -0,0 +1,9 @@ +diff -purN elilo-3.5-pre2/ia64/longjmp.S elilo/ia64/longjmp.S +--- elilo-3.5-pre2/ia64/longjmp.S 2002-01-13 17:00:08.000000000 +0100 ++++ elilo/ia64/longjmp.S 2005-12-07 14:50:38.833056090 +0100 +@@ -159,4 +159,4 @@ longjmp: + invala // virt. -> phys. regnum mapping may change + mov pr=r24,-1 + br.ret.dptk.few rp +- .endp __longjmp ++ .endp longjmp diff --git a/elilo-3.6-spelling.diff b/elilo-3.6-spelling.diff new file mode 100644 index 0000000..c34abeb --- /dev/null +++ b/elilo-3.6-spelling.diff @@ -0,0 +1,20 @@ +--- config.c ++++ config.c +@@ -580,7 +580,7 @@ + */ + tok = get_token(numstr, MAX_STRING); + if (tok != TOK_EQUAL) { +- config_error(L"Option %s expects an equal signal + value", p->name); ++ config_error(L"Option %s expects an equal sign + value", p->name); + return -1; + } + +@@ -673,7 +673,7 @@ + */ + tok = get_token(str, maxlen); + if (tok != TOK_EQUAL) { +- config_error(L"Option %s expects an equal signal + %s", p->name, msg); ++ config_error(L"Option %s expects an equal sign + %s", p->name, msg); + return -1; + } + diff --git a/elilo-3.6.src.tgz b/elilo-3.6.src.tgz new file mode 100644 index 0000000..50e7115 --- /dev/null +++ b/elilo-3.6.src.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78e922f877c23a6c3d8b492fbef6eda60474d2245e1e7c658c9d701c228461e7 +size 168941 diff --git a/elilo.changes b/elilo.changes new file mode 100644 index 0000000..885e5f0 --- /dev/null +++ b/elilo.changes @@ -0,0 +1,176 @@ +------------------------------------------------------------------- +Fri Nov 10 10:37:13 CET 2006 - schwab@suse.de + +- Fix spelling. + +------------------------------------------------------------------- +Thu Feb 2 17:33:57 CET 2006 - rw@suse.de + +- elilo.efi + * Update to final 3.6 + (Fixed vmcode_name initialization in textmenu chooser) + +------------------------------------------------------------------- +Wed Jan 25 21:44:13 CET 2006 - mls@suse.de + +- elilo.spec + * Converted neededforbuild to BuildRequires. + +------------------------------------------------------------------- +Fri Jan 20 12:51:08 CET 2006 - schwab@suse.de + +- elilo.spec + * Don't strip binaries. + +------------------------------------------------------------------- +Mon Jan 9 18:57:56 CET 2006 - rw@suse.de + +- elilo.efi + * Fix vmcode_name initialization in textmenu chooser. (#140519) + +------------------------------------------------------------------- +Fri Dec 9 16:37:17 CET 2005 - rw@suse.de + +- /sbin/elilo + * Fix formatting of man-page. + +------------------------------------------------------------------- +Wed Dec 7 16:31:04 CET 2005 - rw@suse.de + +- elilo.efi + * Update to 3.5-pre2. +- /sbin/elilo + * Make "best effort" instead of giving up early. + +------------------------------------------------------------------- +Sat Aug 13 16:03:14 CEST 2005 - schwab@suse.de + +- /sbin/elilo + * Check that the default label is defined. + +------------------------------------------------------------------- +Fri Aug 5 18:14:04 CEST 2005 - schwab@suse.de + +- /sbin/elilo + * Barf on duplicate labels. + +------------------------------------------------------------------- +Wed Apr 13 17:41:15 CEST 2005 - schwab@suse.de + +- elilo.efi + * Fix for new assembler. + +------------------------------------------------------------------- +Sat Feb 19 00:36:17 CET 2005 - schwab@suse.de + +- elilo.efi + * Clear extra memory in initrd block so that initramfs works. + +------------------------------------------------------------------- +Wed Oct 6 17:10:32 CEST 2004 - rw@suse.de + +- elilo.efi + * Fix simple-chooser (#45493) + +------------------------------------------------------------------- +Thu May 27 17:39:05 CEST 2004 - rw@suse.de + +- /sbin/elilo + * Make all image-objects (kernel/initrd) *optional* by default (#41315) + +------------------------------------------------------------------ +Mon Feb 23 15:32:53 CET 2004 - rw@suse.de + +- elilo.efi + * Use '$RPM_OPT_FLAGS' with '-fno-strict-aliasing' appended. +- /sbin/elilo + * Take care of FPSWA. + * Try to avoid copying the same files more than once. + +------------------------------------------------------------------- +Mon Nov 24 13:59:08 CET 2003 - rw@suse.de + +- Provide '/sbin/elilo' to simplify separation of '/boot' and the + EFI FAT-partition (bug #21644) +- Move 'elilo.efi' to '/usr/lib/elilo' + +------------------------------------------------------------------- +Mon Sep 1 17:45:41 CEST 2003 - schwab@suse.de + +- Update to final 3.4 to remove extraneous debug output. + +------------------------------------------------------------------- +Tue Aug 26 19:33:50 CEST 2003 - rw@suse.de + +- Add patch from Greg Edwards (SGI) (#29340) + +------------------------------------------------------------------- +Fri Aug 22 12:02:33 CEST 2003 - schwab@suse.de + +- Update to elilo 3.4. + * Improved netbooting. + +------------------------------------------------------------------- +Tue Jun 10 13:24:05 CEST 2003 - schwab@suse.de + +- Add fix for netbooting. + +------------------------------------------------------------------- +Tue Apr 8 17:34:48 CEST 2003 - schwab@suse.de + +- Add two fixes from author. + +------------------------------------------------------------------- +Thu Oct 17 11:17:23 CEST 2002 - schwab@suse.de + +- Update to elilo 3.3a. + * More memory management bugs fixed. + +------------------------------------------------------------------- +Fri Sep 13 12:01:47 CEST 2002 - schwab@suse.de + +- Fix %post. +- Fix eliloalt. + +------------------------------------------------------------------- +Wed Sep 11 20:24:52 CEST 2002 - schwab@suse.de + +- Fix buffer overrun. + +------------------------------------------------------------------- +Mon Sep 2 17:08:05 CEST 2002 - schwab@suse.de + +- Move elilo.conf to /boot/efi/SuSE. + +------------------------------------------------------------------- +Tue Aug 27 17:11:26 CEST 2002 - schwab@suse.de + +- Update to elilo 3.3. + +------------------------------------------------------------------- +Thu May 16 17:30:11 CEST 2002 - schwab@suse.de + +- Move boot loader to /boot/efi/SuSE. + +------------------------------------------------------------------- +Tue Mar 5 11:22:09 CET 2002 - schwab@suse.de + +- Update to elilo 3.2. +- Make elilo.conf and startup.nsh %ghost files. + +------------------------------------------------------------------- +Sat Aug 18 20:41:52 CEST 2001 - schwab@suse.de + +- Update to elilo 3.1. + +------------------------------------------------------------------- +Wed Jul 25 19:43:04 CEST 2001 - schwab@suse.de + +- Add two patches from author. + +------------------------------------------------------------------- +Wed Jul 18 14:33:22 CEST 2001 - schwab@suse.de + +- Split from gnu-efi packages. +- New version 3.0. + diff --git a/elilo.pl b/elilo.pl new file mode 100644 index 0000000..aff9db2 --- /dev/null +++ b/elilo.pl @@ -0,0 +1,404 @@ +#!/usr/bin/perl -w +# $Id: elilo.pl,v 0.12 2005/12/09 11:46:06 rw Exp $ +use strict; + +my $C = $0; $C =~ s%^.*/%%; + +my $dbg = (exists( $ENV{"ELILO_DEBUG"})) ? $ENV{"ELILO_DEBUG"} : ""; +my $Edition = q(@EDITION@); +my $MPold = "$dbg/boot"; +my $MPnew = "$dbg/boot/efi"; +my $Dlib = "$dbg/usr/lib/elilo"; +my $Fconf = "elilo.conf"; +my $Sconf = "$dbg/etc/" . $Fconf; + +my $Reserved = qr(^(efi-mountpoint|vendor-directory|elilo-origin))o; +my %Sconf = (); + +my $test = 0; +my $verbose = 0; +my $warn = 0; +my $optional = 1; +my $MP = ""; # Mount-Point for EFI/FAT partition +my $VD = "SuSE"; # vendor-specific directory in $MP/efi +my $D = ""; # will be $MP.$VD +my %Labels = (); + +my $Disclaimer = <= $_[0] ); +} +sub Warn ($) { + print STDERR "$C: Warning: $_[0]"; + $warn ++; +} +sub Panic ($$) { + print STDERR "$C: $_[1]"; + exit( $_[0]) if ( $_[0] ); + $warn ++; + print STDERR "...trying to proceed anyway!\n"; +} +sub Parse ($) { + my( $f) = @_; + my %r = (); + + open( IN, "< $f") || return( %r ); + # fixme: add failure-detection + while ( ) { + chomp; + next unless ( m/$Reserved\s*\=\s*(.+)?\s*$/xo ); + $r{$1} = $2; + } + close( IN); + return( %r ); +} +sub Transfer ($$) { + my( $in, $dir) = @_; + my( $out, $tmp, $c, @f, %f, $opt); + my $default_label = ""; + my $default_loc; + my @Out = (); + $out = "$dir/$Fconf"; + $tmp = "$out.tmp"; + $opt = $optional; + + open( IN, "< $in") || Panic(1, "$in: failed to open: $!\n"); + Info( 1, "## filter '$in' to"); + if ( ! $test ) { + Info( 1, " '$tmp'\n"); + open(OUT, "> $tmp") || Panic( 1, "$tmp: failed to create: $!\n"); + push @Out, $Disclaimer; + } elsif ( $verbose >= 2 ) { + Info( 1, " STDOUT\n"); + open( OUT, ">&STDOUT"); + push @Out, $Disclaimer unless ( $verbose < 3 ); + } else { + Info( 1, " /dev/null\n"); + open( OUT, ">/dev/null"); + } + while ( ) { + next if ( m/$Reserved/xo ); + if ( m%^\s*(?:image|initrd)\s*=\s*% ) { + chomp; + s%^(\s*(?:image|initrd)\s*=\s*)(/\S+/)?([^/\s]+)\s*$%$1$3%; + my( $t, $p, $f) = ($1, $2, $3); + $_ .= "\n"; + if ( ! defined( $p) ) { + $p = "/boot/"; + } + if ( ! defined( $f) ) { + Warn( "$in: $.: invalid file-specification\n" . + ">> $_"); + $c++; + } elsif ( exists( $f{$f}) ) { + Info( 3, "$in: $.: file duplication skipped (previous: $f{$f})\n" . + ">> $_"); + } elsif ( $opt && ! -r "$dbg$p$f" ) { + Info( 0, "$C: $in: $.: missing optional '$p$f' skipped\n"); + } else { + push @f, $dbg . "$p$f"; + $f{$f} = $.; + } + } elsif (m%^(\s*label\s*=\s*)(\S+)%) { + my ($pre, $label) = ($1, $2); + if (exists $Labels{$label}) { + my $t = 1; + my $l = $label; + while ( exists $Labels{$l} ) { + $l = sprintf "%s.%d", $label, $t++; + } + Warn( "duplicate label '$label', replaced with '$l'\n"); + $label = $l; + $_ = $pre . $l . "\n"; + } + $Labels{$label} = 1; + } elsif (m%^\s*default\s*=\s*(\S+)%) { + $default_label = $1; + $default_loc = $#Out + 1; + } + push @Out, $_; + } + if ($default_label ne "" && !exists $Labels{$default_label}) { + $Out[$default_loc] = "#" . $Out[$default_loc]; + Warn( "undefined default label '$default_label' discarded\n"); + } + + print OUT @Out; + close( OUT); + close( IN); + Info( 2, "## end of $in\n") unless $test; + foreach ( @f ) { + if ( ! -r $_ ) { + Warn( "$_: not found\n"); + $c++; + } + } + if ( $c ) { + Info( 2, "> unlink( $tmp)\n"); + unlink( $tmp); + Panic( 2, "$in: broken references\n"); + } + if ( ! $test ) { + Info( 1, "> unlink( $out)\n"); + unlink( $out); + Info( 1, "> rename( $tmp, $out)\n"); + rename( $tmp, $out); + # fixme: add failure-detection + } + return( @f ); +} + +sub System($@) { + my( $fatal, @C) = @_; + my $cmd = $C[0]; + my $rc = ($fatal) ? 1 : 0; + + foreach my $c ( @C[1..$#C] ) { + if ( $c =~ /\s/ ) { + $cmd .= " '$c'"; + } else { + $cmd .= " $c"; + } + } + Info( 1, "> $cmd\n"); + return 0 if ( $test ); + + system @C; + if ($? == -1) { + Panic( $rc, "$C[0]: failed to execute: $!\n"); + } elsif ($? & 127) { + Panic( $rc, sprintf( "$C[0]: died with signal %d, %s coredump\n", + ($? & 127), ($? & 128) ? 'with' : 'without')); + } elsif ( $? >> 8 != 0 ) { + Panic( $rc, "$C[0]: failed\n"); + } +} + +sub Install($$$$) { + my( $f, $o, $s, $d) = @_; + my @C = ( "install", $o, $s, $d); + + System( $f, @C); +} + +sub InstallFPSWA($) { + my ( $d) = @_; + $d .= "/efi/Intel Firmware"; + return 0 unless ( -r "$Dlib/fpswa.efi" ); + + my $head = "## fpswa: Floating Point Software Assist\n"; + if ( -d $d && -r "$d/fpswa.efi" ) { + # check, if we need to update and failing that do nothing?! + my $c = "$Dlib/fpswa-cmp-version"; + if ( -x $c ) { + my $chk = `$c "$d/fpswa.efi" "$Dlib/fpswa.efi"`; + if ( $chk =~ /older/ ) { + Info( 1, $head . + "## Update '$d/fpswa.efi'.\n"); + Info( 2, + "## $chk"); + Install( 0, "-p", "$Dlib/fpswa.efi", $d); + } else { + Info( 1, $head . + "## Do NOT update '$d/fpswa.efi'.\n"); + Info( 2, + "## $chk"); + } + } else { + use File::Compare; + if ( compare( "$d/fpswa.efi", "$Dlib/fpswa.efi") == 0 ) { + Info( 2, $head . + "## Already installed.\n"); + } else { + Info( 1, $head . + "## Unable to compare versions.\n" . + "## Installation skipped!\n"); + } + } + } else { + Info( 1, $head . "## Install 'fpswa.efi' to '$d'.\n"); + System( 0, "mkdir", $d) unless ( -d $d ); + Install( 0, "-p", "$Dlib/fpswa.efi", $d); + } +} + +sub isMP($) { + my ( $d) = @_; + Info( 3, "### isMP($d):\n"); + foreach my $f ( ("/proc/mounts", "/etc/mtab") ) { + Info( 4, "#### looking in $f\n"); + open( IN, "< $f") || next; + while ( ) { + chomp; + my @F = split; + if ( $F[1] eq $d ) { + Info( 3, "### found in '$f' line $. => true\n"); + close( IN); + return( 1); + } + } + close( IN); + Info( 3, "### not found in $f => false\n"); + return( 0); + } + Info( 3, "### no info available => false\n"); + return( 0); +} + +{ + use Getopt::Long; + use Pod::Usage; + $Getopt::Long::debug = 0; + $Getopt::Long::ignorecase = 0; + $Getopt::Long::bundling = 1; + $Getopt::Long::passthrough = 0; + my %Opt = (); + + pod2usage(2) unless ( GetOptions( \%Opt, + 'help|h', 'man|m', 'version|V', 'verbose|v+', + 'test|t', 'purge') && ! $Opt{'help'} ); + + Version() if ( $Opt{'version'} ); + pod2usage(-exitstatus => 0, -verbose => 2) if ( $Opt{'man'} ); + pod2usage(1) if ( $Opt{'help'} ); + $test = 1 if ( $Opt{'test'} ); + $verbose += $Opt{'verbose'} if ( $Opt{'verbose'} ); +} + +# try to read variables $Sconf +%Sconf = Parse( $Sconf); + +# check environment +if ( exists( $Sconf{"efi-mountpoint"}) ) { + $MP = $dbg . $Sconf{"efi-mountpoint"}; + Panic( 1, "EFI partions specification in $Sconf invalid.\n") + unless ( -d $MP ); # or is it "$MP/efi"? +} elsif ( -d $MPnew . "/efi/" . $VD || isMP($MPnew) ) { + $MP = $MPnew; +} elsif ( -d $MPold . "/efi/" . $VD ) { + $MP = $MPold; +} else { + Info( 1, "## Neither new ($MPnew/efi/$VD) nor old ($MPold/efi/$VD)?\n"); + Panic( 2, "EFI partiton not found.\n"); +} +Info( 2, "## Mount-point '$MP'...\n"); +if ( exists( $Sconf{"vendor-directory"}) ) { + $VD = $Sconf{"vendor-directory"}; + Info( 1, "## Don't forget: '$VD != SuSE'--NVRAM (efibootmgr) issue!\n") + unless ( $VD eq "SuSE" ); +} +$D = $MP . "/efi/" . $VD; +Info( 1, "## Using '$D'...\n"); +System( 1, "mkdir", "-p", $D) unless ( -d $D ); + +if ( -r $Sconf ) { + # extract kernels and initrds and write fixed .conf + my @F = Transfer( $Sconf, $D); + # copy stuff + unshift @F, "$Dlib/elilo.efi"; + foreach ( @F ) { + Install( 0, "-p", $_, $D); + } + # take care of FPSWA + InstallFPSWA( $MP); +} elsif ( $MP eq $MPold && -r "$D/$Fconf" ) { + # assume old setup with only '/vmlinuz' and '/initrd' + Install( 1, "-p", "$Dlib/elilo.efi", $D); + InstallFPSWA( $MP); +} elsif ( $MP eq $MPold ) { + Panic( 2, "$D/$Fconf: not found\n"); +} else { + Panic( 2, "$Sconf: not found\n"); +} + +if ( $warn > 0 ) { + Panic( 1, sprintf("%d warning%s encountered.\n", $warn, ($warn==1)?"":"s")); +} +exit( 0); + +__END__ + +=head1 NAME + +elilo - Installer for the EFI Linux Loader + +=head1 SYNOPSIS + +/sbin/elilo [options] + + Options: + -t --test test only + -v --verbose increase verbosity + -h --help brief help message + --man full documentation + -V --version display version + +=head1 OPTIONS + +=over 8 + +=item B<--test> + +Test only. Do not really write anything, no new boot configuration nor +kernel/initrd images. +Use together with B<-v> to find out what B is about to do. + +=item B<--verbose> + +Increase level of verbosity. + +=item B<--help> + +Print a brief help message and exits. + +=item B<--man> + +Prints the manual page and exits. + +=item B<--version> + +Prints the version information and exits. + +=back + +=head1 DESCRIPTION + +This program will perform all steps to transfer the +necessary parts to the appropriate locations... + + + +=head1 LIMITATIONS + +For now, I image-entries are treated as "optional" in +order to more closely match the behavior of the real +loader (i.e. C), which silently ignores missing files +while reading the configuration. + +This may be considered a bug by experienced B users, +where only those specifically marked as such are treated that way. + +It is planned to introduce keywords like C and C +in future releases though. + +=head1 SEE ALSO + +/usr/share/doc/packages/elilo + +=cut diff --git a/elilo.spec b/elilo.spec new file mode 100644 index 0000000..83657f7 --- /dev/null +++ b/elilo.spec @@ -0,0 +1,165 @@ +# +# spec file for package elilo (Version 3.6) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: elilo +URL: http://elilo.sourceforge.net/ +Summary: EFI Linux Loader +Version: 3.6 +Release: 31 +Group: System/Boot +Autoreqprov: on +PreReq: /usr/bin/perl +License: GNU General Public License (GPL) - all versions +Source: http://mesh.dl.sourceforge.net/sourceforge/elilo/elilo-3.6.src.tgz +Source1: elilo.pl +Patch0: elilo-%{version}-asm.diff +Patch1: elilo-%{version}-MAC.diff +Patch2: elilo-%{version}-spelling.diff +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: gnu-efi + +%description +The EFI Linux boot loader. + + + +Authors: +-------- + Johannes Erdfelt + David Mosberger + Stephane Eranian + Brett Johnson + +%prep +%setup -q -n elilo +%patch0 -p1 +%patch1 -p1 +%patch2 +perl -pe 's/\@EDITION\@/%{version}-%{release}/' < %{SOURCE1} > elilo.pl && +chmod 555 elilo.pl && touch -r %{SOURCE1} elilo.pl +! fgrep '%%{version}-%%{release}' elilo.pl + +%build +make OPTIMFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +pod2man -s 8 -c "System Boot" -r "SuSE Linux" \ + -n elilo -d "%{version}-%{release}" elilo.pl elilo.8 +touch -r elilo.pl elilo.8 + +%install +install -d $RPM_BUILD_ROOT/usr/lib/elilo $RPM_BUILD_ROOT/sbin +install -s -m 444 elilo.efi $RPM_BUILD_ROOT/usr/lib/elilo +install tools/eliloalt $RPM_BUILD_ROOT/sbin +install -p -m 555 elilo.pl $RPM_BUILD_ROOT/sbin/elilo +#install -D -p elilo.8 $RPM_BUILD_ROOT/usr/share/man/man8/elilo.8 + +%clean +rm -fr $RPM_BUILD_ROOT + +%post +#/sbin/elilo -v || : +echo "Please run /sbin/elilo!" + +%files +%defattr(-, root, root) +%doc README README.* TODO docs/*.txt +/usr/lib/elilo +/sbin/elilo +/sbin/eliloalt +#/usr/share/man/man8/* + +%changelog -n elilo +* Fri Nov 10 2006 - schwab@suse.de +- Fix spelling. +* Thu Feb 02 2006 - rw@suse.de +- elilo.efi + * Update to final 3.6 + (Fixed vmcode_name initialization in textmenu chooser) +* Wed Jan 25 2006 - mls@suse.de +- elilo.spec + * Converted neededforbuild to BuildRequires. +* Fri Jan 20 2006 - schwab@suse.de +- elilo.spec + * Don't strip binaries. +* Mon Jan 09 2006 - rw@suse.de +- elilo.efi + * Fix vmcode_name initialization in textmenu chooser. (#140519) +* Fri Dec 09 2005 - rw@suse.de +- /sbin/elilo + * Fix formatting of man-page. +* Wed Dec 07 2005 - rw@suse.de +- elilo.efi + * Update to 3.5-pre2. +- /sbin/elilo + * Make "best effort" instead of giving up early. +* Sat Aug 13 2005 - schwab@suse.de +- /sbin/elilo + * Check that the default label is defined. +* Fri Aug 05 2005 - schwab@suse.de +- /sbin/elilo + * Barf on duplicate labels. +* Wed Apr 13 2005 - schwab@suse.de +- elilo.efi + * Fix for new assembler. +* Sat Feb 19 2005 - schwab@suse.de +- elilo.efi + * Clear extra memory in initrd block so that initramfs works. +* Wed Oct 06 2004 - rw@suse.de +- elilo.efi + * Fix simple-chooser (#45493) +* Thu May 27 2004 - rw@suse.de +- /sbin/elilo + * Make all image-objects (kernel/initrd) *optional* by default (#41315) +* Mon Feb 23 2004 - rw@suse.de +- elilo.efi + * Use '$RPM_OPT_FLAGS' with '-fno-strict-aliasing' appended. +- /sbin/elilo + * Take care of FPSWA. + * Try to avoid copying the same files more than once. +* Mon Nov 24 2003 - rw@suse.de +- Provide '/sbin/elilo' to simplify separation of '/boot' and the + EFI FAT-partition (bug #21644) +- Move 'elilo.efi' to '/usr/lib/elilo' +* Mon Sep 01 2003 - schwab@suse.de +- Update to final 3.4 to remove extraneous debug output. +* Tue Aug 26 2003 - rw@suse.de +- Add patch from Greg Edwards (SGI) (#29340) +* Fri Aug 22 2003 - schwab@suse.de +- Update to elilo 3.4. + * Improved netbooting. +* Tue Jun 10 2003 - schwab@suse.de +- Add fix for netbooting. +* Tue Apr 08 2003 - schwab@suse.de +- Add two fixes from author. +* Thu Oct 17 2002 - schwab@suse.de +- Update to elilo 3.3a. + * More memory management bugs fixed. +* Fri Sep 13 2002 - schwab@suse.de +- Fix %%post. +- Fix eliloalt. +* Wed Sep 11 2002 - schwab@suse.de +- Fix buffer overrun. +* Mon Sep 02 2002 - schwab@suse.de +- Move elilo.conf to /boot/efi/SuSE. +* Tue Aug 27 2002 - schwab@suse.de +- Update to elilo 3.3. +* Thu May 16 2002 - schwab@suse.de +- Move boot loader to /boot/efi/SuSE. +* Tue Mar 05 2002 - schwab@suse.de +- Update to elilo 3.2. +- Make elilo.conf and startup.nsh %%ghost files. +* Sat Aug 18 2001 - schwab@suse.de +- Update to elilo 3.1. +* Wed Jul 25 2001 - schwab@suse.de +- Add two patches from author. +* Wed Jul 18 2001 - schwab@suse.de +- Split from gnu-efi packages. +- New version 3.0. diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4