|
|
0e50f1f |
# Modules always contain just 32-bit code
|
|
|
0e50f1f |
%define _libdir %{_exec_prefix}/lib
|
|
|
0e50f1f |
|
|
|
e046631 |
# 64bit intel machines use 32bit boot loader
|
|
|
0e50f1f |
# (We cannot just redefine _target_cpu, as we'd get i386.rpm packages then)
|
|
|
0e50f1f |
%ifarch x86_64
|
|
|
0e50f1f |
%define _target_platform i386-%{_vendor}-%{_target_os}%{?_gnu}
|
|
|
0e50f1f |
%endif
|
|
|
e046631 |
#sparc is always compile 64 bit
|
|
|
e046631 |
%ifarch %{sparc}
|
|
|
e046631 |
%define _target_platform sparc64-%{_vendor}-%{_target_os}%{?_gnu}
|
|
|
e046631 |
%endif
|
|
|
0e50f1f |
|
|
|
0e50f1f |
Name: grub2
|
|
|
c731755 |
Epoch: 1
|
|
|
416f976 |
Version: 1.98
|
|
|
416f976 |
Release: 2%{?dist}
|
|
|
0e50f1f |
Summary: Bootloader with support for Linux, Multiboot and more
|
|
|
0e50f1f |
|
|
|
0e50f1f |
Group: System Environment/Base
|
|
|
0e50f1f |
License: GPLv3+
|
|
|
0e50f1f |
URL: http://www.gnu.org/software/grub/
|
|
|
c731755 |
Source0: ftp://alpha.gnu.org/gnu/grub/grub-%{version}.tar.gz
|
|
|
0e50f1f |
Source1: 90_persistent
|
|
|
0e50f1f |
Source2: grub.default
|
|
|
ca74990 |
Source3: README.Fedora
|
|
|
e046631 |
Patch0: grub-1.95-grubdir.patch
|
|
|
416f976 |
Patch1: grub-1.97.1-initramfs.patch
|
|
|
416f976 |
Patch2: grub-1.98-follow-dev-mapper-symlinks.patch
|
|
|
0e50f1f |
|
|
|
0e50f1f |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
|
0e50f1f |
|
|
|
0e50f1f |
BuildRequires: flex bison ruby binutils
|
|
|
0e50f1f |
BuildRequires: ncurses-devel lzo-devel
|
|
|
c731755 |
BuildRequires: freetype-devel libusb-devel
|
|
|
e046631 |
%ifarch %{sparc}
|
|
|
e046631 |
BuildRequires: /usr/lib64/crt1.o glibc-static
|
|
|
e046631 |
%else
|
|
|
b95f802 |
BuildRequires: /usr/lib/crt1.o glibc-static
|
|
|
e046631 |
%endif
|
|
|
416f976 |
BuildRequires: autoconf automake gettext-devel
|
|
|
0e50f1f |
|
|
|
0e50f1f |
# grubby
|
|
|
416f976 |
Requires(pre): dracut
|
|
|
416f976 |
Requires(post): dracut
|
|
|
0e50f1f |
|
|
|
8467631 |
# TODO: ppc
|
|
|
e046631 |
ExclusiveArch: %{ix86} x86_64 %{sparc}
|
|
|
0e50f1f |
|
|
|
0e50f1f |
%description
|
|
|
0e50f1f |
This is the second version of the GRUB (Grand Unified Bootloader),
|
|
|
0e50f1f |
a highly configurable and customizable bootloader with modular
|
|
|
0e50f1f |
architecture. It support rich scale of kernel formats, file systems,
|
|
|
0e50f1f |
computer architectures and hardware devices.
|
|
|
0e50f1f |
|
|
|
ca74990 |
PLEASE NOTE: This is a development snapshot, and as such will not
|
|
|
ca74990 |
replace grub if you install it, but will be merely added as another
|
|
|
ca74990 |
kernel to your existing GRUB menu. Do not replace GRUB (grub package)
|
|
|
ca74990 |
with it unless you know what are you doing. Refer to README.Fedora
|
|
|
ca74990 |
file that is part of this package's documentation for more information.
|
|
|
ca74990 |
|
|
|
0e50f1f |
|
|
|
0e50f1f |
%prep
|
|
|
c731755 |
%setup -q -n grub-%{version}
|
|
|
0e50f1f |
|
|
|
e046631 |
%patch0 -p1 -b .grubdir
|
|
|
416f976 |
%patch1 -p1 -b .initramfs
|
|
|
416f976 |
%patch2 -p1 -b .follow-symlinks
|
|
|
0e50f1f |
|
|
|
ca74990 |
# README.Fedora
|
|
|
ca74990 |
cp %{SOURCE3} .
|
|
|
ca74990 |
|
|
|
0e50f1f |
|
|
|
0e50f1f |
%build
|
|
|
e046631 |
sh autogen.sh
|
|
|
0e50f1f |
# -static is needed so that autoconf script is able to link
|
|
|
0e50f1f |
# test that looks for _start symbol on 64 bit platforms
|
|
|
0e50f1f |
%configure TARGET_LDFLAGS=-static \
|
|
|
e046631 |
%ifarch %{sparc}
|
|
|
e046631 |
--with-platform=ieee1275 \
|
|
|
e046631 |
%else
|
|
|
0e50f1f |
--with-platform=pc \
|
|
|
e046631 |
%endif
|
|
|
0e50f1f |
--program-transform-name=s,grub,%{name},
|
|
|
0e50f1f |
# TODO: Other platforms. Use alternatives system?
|
|
|
0e50f1f |
# --with-platform=ieee1275 \
|
|
|
0e50f1f |
# --with-platform=efi \
|
|
|
0e50f1f |
# --with-platform=i386-pc \
|
|
|
0e50f1f |
|
|
|
0e50f1f |
|
|
|
e046631 |
make %{?_smp_mflags}
|
|
|
0e50f1f |
#gcc -Inormal -I./normal -I. -Iinclude -I./include -Wall -W -DGRUB_LIBDIR=\"/usr/lib/`echo grub/i386-pc | sed 's&^&&;s,grub,grub2,'`\" -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DGRUB_UTIL=1 -MD -c -o grub_emu-normal_lexer.o normal/lexer.c
|
|
|
0e50f1f |
#In file included from normal/lexer.c:23:
|
|
|
0e50f1f |
#include/grub/script.h:26:29: error: grub_script.tab.h: No such file or directory
|
|
|
e046631 |
#make
|
|
|
0e50f1f |
|
|
|
0e50f1f |
|
|
|
0e50f1f |
%install
|
|
|
0e50f1f |
set -e
|
|
|
0e50f1f |
rm -fr $RPM_BUILD_ROOT
|
|
|
0e50f1f |
make DESTDIR=$RPM_BUILD_ROOT install
|
|
|
0e50f1f |
|
|
|
0e50f1f |
# Script that makes part of grub.cfg persist across updates
|
|
|
0e50f1f |
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/grub.d/
|
|
|
0e50f1f |
|
|
|
0e50f1f |
# Ghost config file
|
|
|
0e50f1f |
install -d $RPM_BUILD_ROOT/boot/%{name}
|
|
|
0e50f1f |
touch $RPM_BUILD_ROOT/boot/%{name}/grub.cfg
|
|
|
0e50f1f |
ln -s ../boot/%{name}/grub.cfg $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.cfg
|
|
|
0e50f1f |
|
|
|
0e50f1f |
# Install ELF files modules and images were created from into
|
|
|
0e50f1f |
# the shadow root, where debuginfo generator will grab them from
|
|
|
0e50f1f |
find $RPM_BUILD_ROOT -name '*.mod' -o -name '*.img' |
|
|
|
0e50f1f |
while read MODULE
|
|
|
0e50f1f |
do
|
|
|
0e50f1f |
BASE=$(echo $MODULE |sed -r "s,.*/([^/]*)\.(mod|img),\1,")
|
|
|
0e50f1f |
# Symbols from .img files are in .exec files, while .mod
|
|
|
0e50f1f |
# modules store symbols in .elf. This is just because we
|
|
|
0e50f1f |
# have both boot.img and boot.mod ...
|
|
|
0e50f1f |
EXT=$(echo $MODULE |grep -q '.mod' && echo '.elf' || echo '.exec')
|
|
|
0e50f1f |
TGT=$(echo $MODULE |sed "s,$RPM_BUILD_ROOT,.debugroot,")
|
|
|
e046631 |
# install -m 755 -D $BASE$EXT $TGT
|
|
|
0e50f1f |
done
|
|
|
0e50f1f |
|
|
|
0e50f1f |
# Defaults
|
|
|
0e50f1f |
install -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/grub
|
|
|
0e50f1f |
|
|
|
416f976 |
%find_lang grub
|
|
|
0e50f1f |
|
|
|
0e50f1f |
%clean
|
|
|
0e50f1f |
rm -rf $RPM_BUILD_ROOT
|
|
|
0e50f1f |
|
|
|
0e50f1f |
|
|
|
0e50f1f |
%post
|
|
|
0e50f1f |
exec >/dev/null 2>&1
|
|
|
0e50f1f |
# Create device.map or reuse one from GRUB Legacy
|
|
|
0e50f1f |
cp -u /boot/grub/device.map /boot/%{name}/device.map 2>/dev/null ||
|
|
|
0e50f1f |
%{name}-mkdevicemap
|
|
|
0e50f1f |
# Determine the partition with /boot
|
|
|
0e50f1f |
BOOT_PARTITION=$(df -h /boot |(read; awk '{print $1; exit}'))
|
|
|
0e50f1f |
# Generate core.img, but don't let it be installed in boot sector
|
|
|
0e50f1f |
%{name}-install --grub-setup=/bin/true $BOOT_PARTITION
|
|
|
0e50f1f |
# Remove stale menu.lst entries
|
|
|
0e50f1f |
/sbin/grubby --remove-kernel=/boot/%{name}/core.img
|
|
|
0e50f1f |
# Add core.img as multiboot kernel to GRUB Legacy menu
|
|
|
0e50f1f |
/sbin/grubby --add-kernel=/boot/%{name}/core.img --title="GNU GRUB 2, (%{version})"
|
|
|
0e50f1f |
|
|
|
0e50f1f |
|
|
|
0e50f1f |
%preun
|
|
|
0e50f1f |
exec >/dev/null
|
|
|
0e50f1f |
/sbin/grubby --remove-kernel=/boot/%{name}/core.img
|
|
|
0e50f1f |
# XXX Ugly
|
|
|
0e50f1f |
rm -f /boot/%{name}/*.mod
|
|
|
0e50f1f |
rm -f /boot/%{name}/*.img
|
|
|
0e50f1f |
rm -f /boot/%{name}/*.lst
|
|
|
0e50f1f |
rm -f /boot/%{name}/device.map
|
|
|
0e50f1f |
|
|
|
0e50f1f |
|
|
|
0e50f1f |
%triggerin -- kernel, kernel-PAE
|
|
|
0e50f1f |
exec >/dev/null 2>&1
|
|
|
0e50f1f |
# Generate grub.cfg
|
|
|
e046631 |
%{name}-mkconfig
|
|
|
0e50f1f |
|
|
|
0e50f1f |
|
|
|
0e50f1f |
%triggerun -- kernel, kernel-PAE
|
|
|
0e50f1f |
exec >/dev/null 2>&1
|
|
|
0e50f1f |
# Generate grub.cfg
|
|
|
e046631 |
%{name}-mkconfig
|
|
|
0e50f1f |
|
|
|
0e50f1f |
|
|
|
416f976 |
%files -f grub.lang
|
|
|
0e50f1f |
%defattr(-,root,root,-)
|
|
|
0e50f1f |
%{_libdir}/%{name}
|
|
|
e046631 |
%{_libdir}/grub/
|
|
|
0e50f1f |
%{_sbindir}/%{name}-mkdevicemap
|
|
|
0e50f1f |
%{_sbindir}/%{name}-install
|
|
|
0e50f1f |
%{_sbindir}/%{name}-probe
|
|
|
0e50f1f |
%{_sbindir}/%{name}-setup
|
|
|
e046631 |
%{_sbindir}/%{name}-mkconfig
|
|
|
416f976 |
%{_sbindir}/%{name}-reboot
|
|
|
416f976 |
%{_sbindir}/%{name}-set-default
|
|
|
0e50f1f |
%{_bindir}/%{name}-mkimage
|
|
|
ca74990 |
%{_bindir}/%{name}-mkelfimage
|
|
|
0e50f1f |
%{_bindir}/%{name}-editenv
|
|
|
c731755 |
%{_bindir}/%{name}-fstest
|
|
|
c731755 |
%{_bindir}/%{name}-mkfont
|
|
|
416f976 |
%{_bindir}/%{name}-bin2h
|
|
|
416f976 |
%{_bindir}/%{name}-mkisofs
|
|
|
416f976 |
%{_bindir}/%{name}-mkpasswd-pbkdf2
|
|
|
416f976 |
%{_bindir}/%{name}-mkrelpath
|
|
|
416f976 |
%{_bindir}/%{name}-script-check
|
|
|
8467631 |
%ifnarch %{sparc}
|
|
|
c731755 |
%{_bindir}/%{name}-mkrescue
|
|
|
8467631 |
%endif
|
|
|
8467631 |
%ifarch %{sparc}
|
|
|
8467631 |
%{_sbindir}/%{name}-ofpathname
|
|
|
8467631 |
%endif
|
|
|
0e50f1f |
%dir %{_sysconfdir}/grub.d
|
|
|
0e50f1f |
%config %{_sysconfdir}/grub.d/??_*
|
|
|
0e50f1f |
%{_sysconfdir}/grub.d/README
|
|
|
0e50f1f |
%{_sysconfdir}/%{name}.cfg
|
|
|
0e50f1f |
%{_sysconfdir}/default/grub
|
|
|
0e50f1f |
%dir /boot/%{name}
|
|
|
0e50f1f |
# Actually, this is replaced by update-grub from scriptlets,
|
|
|
0e50f1f |
# but it takes care of modified persistent part
|
|
|
0e50f1f |
%config(noreplace) /boot/%{name}/grub.cfg
|
|
|
ca74990 |
%doc COPYING INSTALL NEWS README THANKS TODO ChangeLog README.Fedora
|
|
|
0e50f1f |
%exclude %{_mandir}
|
|
|
0e50f1f |
|
|
|
e046631 |
|
|
|
0e50f1f |
|
|
|
0e50f1f |
%changelog
|
|
|
416f976 |
* Fri May 28 2010 Dennis Gilmore <dennis@ausil.us> - 1:1.98-2
|
|
|
416f976 |
- add patch so grub2-probe works with lvm to detect devices correctly
|
|
|
416f976 |
|
|
|
416f976 |
* Wed Apr 21 2010 Dennis Gilmore <dennis@ausil.us> - 1:1.98-1
|
|
|
416f976 |
- update to 1.98
|
|
|
416f976 |
|
|
|
416f976 |
* Fri Feb 12 2010 Dennis Gilmore <dennis@ausil.us> - 1:1.97.2-1
|
|
|
416f976 |
- update to 1.97.2
|
|
|
416f976 |
|
|
|
416f976 |
* Wed Jan 20 2010 Dennis Gilmore <dennis@ausil.us> - 1:1.97.1-5
|
|
|
416f976 |
- drop requires on mkinitrd
|
|
|
416f976 |
|
|
|
416f976 |
* Tue Dec 01 2009 Dennis Gilmore <dennis@ausil.us> - 1:1.97.1-4
|
|
|
416f976 |
- add patch so that grub2 finds fedora's initramfs
|
|
|
416f976 |
|
|
|
8467631 |
* Tue Nov 10 2009 Dennis Gilmore <dennis@ausil.us> - 1:1.97.1-3
|
|
|
8467631 |
- no mkrescue on sparc arches
|
|
|
8467631 |
- ofpathname on sparc arches
|
|
|
8467631 |
- Requires dracut, not sure if we should just drop mkinitrd for dracut
|
|
|
8467631 |
|
|
|
c731755 |
* Tue Nov 10 2009 Dennis Gilmore <dennis@ausil.us> - 1:1.97.1-2
|
|
|
c731755 |
- update filelists
|
|
|
c731755 |
|
|
|
c731755 |
* Tue Nov 10 2009 Dennis Gilmore <dennis@ausil.us> - 1:1.97.1-1
|
|
|
c731755 |
- update to 1.97.1 release
|
|
|
c731755 |
- introduce epoch for upgrades
|
|
|
c731755 |
|
|
|
c731755 |
* Tue Nov 10 2009 Dennis Gilmore <dennis@ausil.us> - 1.98-0.7.20090911svn
|
|
|
c731755 |
- fix BR
|
|
|
c731755 |
|
|
|
c731755 |
* Fri Sep 11 2009 Dennis Gilmore <dennis@ausil.us> - 1.98-0.6.20090911svn
|
|
|
e046631 |
- update to new svn snapshot
|
|
|
e046631 |
- add sparc support
|
|
|
e046631 |
|
|
|
b08b867 |
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.98-0.6.20080827svn
|
|
|
b08b867 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
|
|
b08b867 |
|
|
|
b95f802 |
* Sun Mar 01 2009 Lubomir Rintel <lkundrak@v3.sk> - 1.98-0.4.20080827svn
|
|
|
b95f802 |
- Add missing BR
|
|
|
b95f802 |
|
|
|
0ad9c2a |
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.98-0.4.20080827svn
|
|
|
0ad9c2a |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
|
|
0ad9c2a |
|
|
|
ca74990 |
* Wed Aug 27 2008 Lubomir Rintel <lkundrak@v3.sk> - 1.98-0.3.20080827svn
|
|
|
ca74990 |
- Updated SVN snapshot
|
|
|
ca74990 |
- Added huge fat warnings
|
|
|
ca74990 |
|
|
|
0e50f1f |
* Fri Aug 08 2008 Lubomir Rintel <lkundrak@v3.sk> - 1.98-0.2.20080807svn
|
|
|
0e50f1f |
- Correct scriptlet dependencies, trigger on kernel-PAE (thanks to Till Maas)
|
|
|
0e50f1f |
- Fix build on x86_64 (thanks to Marek Mahut)
|
|
|
0e50f1f |
|
|
|
0e50f1f |
* Thu Aug 07 2008 Lubomir Rintel <lkundrak@v3.sk> 1.98-0.1.20080807svn
|
|
|
0e50f1f |
- Another snapshot
|
|
|
0e50f1f |
- And much more!
|
|
|
0e50f1f |
|
|
|
0e50f1f |
* Mon May 12 2008 Lubomir Kundrak <lkundrak@redhat.com> 1.97-0.1.20080512cvs
|
|
|
0e50f1f |
- CVS snapshot
|
|
|
0e50f1f |
- buildid patch upstreamed
|
|
|
0e50f1f |
|
|
|
0e50f1f |
* Sat Apr 12 2008 Lubomir Kundrak <lkundrak@redhat.com> 1.96-2
|
|
|
0e50f1f |
- Pull in 32 bit glibc
|
|
|
0e50f1f |
- Fix builds on 64 bit
|
|
|
0e50f1f |
|
|
|
0e50f1f |
* Sun Mar 16 2008 Lubomir Kundrak <lkundrak@redhat.com> 1.96-1
|
|
|
0e50f1f |
- New upstream release
|
|
|
0e50f1f |
- More transformation fixes
|
|
|
0e50f1f |
- Generate -debuginfo from modules again. This time for real.
|
|
|
0e50f1f |
- grubby stub
|
|
|
0e50f1f |
- Make it possible to do configuration changes directly in grub.cfg
|
|
|
0e50f1f |
- grub.cfg symlink in /etc
|
|
|
0e50f1f |
|
|
|
0e50f1f |
* Thu Feb 14 2008 Lubomir Kundrak <lkundrak@redhat.com> 1.95.cvs20080214-3
|
|
|
0e50f1f |
- Update to latest trunk
|
|
|
0e50f1f |
- Manual pages
|
|
|
0e50f1f |
- Add pci.c to DISTLIST
|
|
|
0e50f1f |
|
|
|
0e50f1f |
* Mon Nov 26 2007 Lubomir Kundrak <lkundrak@redhat.com> 1.95.cvs20071119-2
|
|
|
0e50f1f |
- Fix program name transformation in utils
|
|
|
0e50f1f |
- Moved the modules to /lib
|
|
|
0e50f1f |
- Generate -debuginfo from modules again
|
|
|
0e50f1f |
|
|
|
0e50f1f |
* Sun Nov 18 2007 Lubomir Kundrak <lkundrak@redhat.com> 1.95.cvs20071119-1
|
|
|
0e50f1f |
- Synchronized with CVS, major specfile cleanup
|
|
|
0e50f1f |
|
|
|
0e50f1f |
* Mon Jan 30 2007 Lubomir Kundrak <lkundrak@skosi.org> 1.95-lkundrak1
|
|
|
0e50f1f |
- Removed redundant filelist entries
|
|
|
0e50f1f |
|
|
|
0e50f1f |
* Mon Jan 29 2007 Lubomir Kundrak <lkundrak@skosi.org> 1.95-lkundrak0
|
|
|
0e50f1f |
- Program name transformation
|
|
|
0e50f1f |
- Bump to 1.95
|
|
|
0e50f1f |
- grub-probefs -> grub-probe
|
|
|
0e50f1f |
- Add modules to -debuginfo
|
|
|
0e50f1f |
|
|
|
0e50f1f |
* Tue Sep 12 2006 Lubomir Kundrak <lkundrak@skosi.org> 1.94-lkundrak0
|
|
|
0e50f1f |
- built the package
|