Build grub2-efi as a subpackage, and update some build deps.
This commit is contained in:
parent
624cc16288
commit
95e479dce1
191
grub2.spec
191
grub2.spec
@ -11,6 +11,10 @@
|
|||||||
%define _target_platform sparc64-%{_vendor}-%{_target_os}%{?_gnu}
|
%define _target_platform sparc64-%{_vendor}-%{_target_os}%{?_gnu}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if ! 0%{?efi}
|
||||||
|
%global efi %{ix86} x86_64 ia64
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: grub2
|
Name: grub2
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 1.99
|
Version: 1.99
|
||||||
@ -31,8 +35,8 @@ Patch2: grub-1.99-grub_test_assert_printf.patch
|
|||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
BuildRequires: flex bison ruby binutils
|
BuildRequires: flex bison binutils python
|
||||||
BuildRequires: ncurses-devel lzo-devel
|
BuildRequires: ncurses-devel xz-devel
|
||||||
BuildRequires: freetype-devel libusb-devel
|
BuildRequires: freetype-devel libusb-devel
|
||||||
%ifarch %{sparc}
|
%ifarch %{sparc}
|
||||||
BuildRequires: /usr/lib64/crt1.o glibc-static
|
BuildRequires: /usr/lib64/crt1.o glibc-static
|
||||||
@ -50,20 +54,40 @@ Requires(post): dracut
|
|||||||
# ExclusiveArch: %{ix86} x86_64 %{sparc}
|
# ExclusiveArch: %{ix86} x86_64 %{sparc}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This is the second version of the GRUB (Grand Unified Bootloader),
|
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
|
||||||
a highly configurable and customizable bootloader with modular
|
bootloader with modular architecture. It support rich varietyof kernel formats,
|
||||||
architecture. It support rich scale of kernel formats, file systems,
|
file systems, computer architectures and hardware devices.
|
||||||
computer architectures and hardware devices.
|
|
||||||
|
|
||||||
PLEASE NOTE: This is a development snapshot, and as such will not
|
%ifarch %{efi}
|
||||||
replace grub if you install it, but will be merely added as another
|
%package efi
|
||||||
kernel to your existing GRUB menu. Do not replace GRUB (grub package)
|
Summary: GRUB for EFI systems.
|
||||||
with it unless you know what are you doing. Refer to README.Fedora
|
Group: System Environment/Base
|
||||||
file that is part of this package's documentation for more information.
|
|
||||||
|
|
||||||
|
%description efi
|
||||||
|
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
|
||||||
|
bootloader with modular architecture. It support rich varietyof kernel formats,
|
||||||
|
file systems, computer architectures and hardware devices. This subpackage
|
||||||
|
provides support for EFI systems.
|
||||||
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n grub-%{filever}
|
%setup -T -c -n grub-%{version}
|
||||||
|
%ifarch %{efi}
|
||||||
|
%setup -D -q -T -a 0 -n grub-%{version}
|
||||||
|
cd grub-%{filever}
|
||||||
|
cp %{SOURCE3} .
|
||||||
|
git init
|
||||||
|
git config user.email "pjones@fedoraproject.org"
|
||||||
|
git config user.name "Fedora Ninjas"
|
||||||
|
git add .
|
||||||
|
git commit -a -q -m "%{version} baseline."
|
||||||
|
git am %{patches}
|
||||||
|
cd ..
|
||||||
|
mv grub-%{filever} grub-efi-%{filever}
|
||||||
|
%endif
|
||||||
|
%setup -D -q -T -a 0 -n grub-%{version}
|
||||||
|
cd grub-%{filever}
|
||||||
|
cp %{SOURCE3} .
|
||||||
git init
|
git init
|
||||||
git config user.email "pjones@fedoraproject.org"
|
git config user.email "pjones@fedoraproject.org"
|
||||||
git config user.name "Fedora Ninjas"
|
git config user.name "Fedora Ninjas"
|
||||||
@ -71,41 +95,75 @@ git add .
|
|||||||
git commit -a -q -m "%{version} baseline."
|
git commit -a -q -m "%{version} baseline."
|
||||||
git am %{patches}
|
git am %{patches}
|
||||||
|
|
||||||
# README.Fedora
|
|
||||||
cp %{SOURCE3} .
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
sh autogen.sh
|
%ifarch %{efi}
|
||||||
|
cd grub-efi-%{filever}
|
||||||
|
./autogen.sh
|
||||||
|
%configure \
|
||||||
|
CFLAGS="$(echo $RPM_OPT_FLAGS | sed \
|
||||||
|
-e 's/-fstack-protector//g' \
|
||||||
|
-e 's/--param=ssp-buffer-size=4//g' \
|
||||||
|
-e 's/-mregparm=3/-mregparm=4//g' \
|
||||||
|
-e 's/-fasynchronous-unwind-tables//g' )"\
|
||||||
|
TARGET_LDFLAGS=-static \
|
||||||
|
--with-platform=efi \
|
||||||
|
--program-transform-name=s,grub,%{name}-efi,
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
cd ..
|
||||||
|
%endif
|
||||||
|
|
||||||
|
cd grub-%{filever}
|
||||||
|
./autogen.sh
|
||||||
# -static is needed so that autoconf script is able to link
|
# -static is needed so that autoconf script is able to link
|
||||||
# test that looks for _start symbol on 64 bit platforms
|
# test that looks for _start symbol on 64 bit platforms
|
||||||
%configure CFLAGS="$(echo $RPM_OPT_FLAGS | sed \
|
|
||||||
-e 's/-fstack-protector//g' \
|
|
||||||
-e 's/--param=ssp-buffer-size=4//g' \
|
|
||||||
-e 's/-mregparm=3/-mregparm=4//g' \
|
|
||||||
-e 's/-fasynchronous-unwind-tables//g' )" \
|
|
||||||
TARGET_LDFLAGS=-static \
|
|
||||||
%ifarch %{sparc}
|
%ifarch %{sparc}
|
||||||
--with-platform=ieee1275 \
|
PLATFORM=ieee1275
|
||||||
%else
|
%else
|
||||||
--with-platform=pc \
|
PLATFORM=pc
|
||||||
%endif
|
%endif
|
||||||
|
%configure \
|
||||||
|
CFLAGS="$(echo $RPM_OPT_FLAGS | sed \
|
||||||
|
-e 's/-fstack-protector//g' \
|
||||||
|
-e 's/--param=ssp-buffer-size=4//g' \
|
||||||
|
-e 's/-mregparm=3/-mregparm=4//g' \
|
||||||
|
-e 's/-fasynchronous-unwind-tables//g' )"\
|
||||||
|
TARGET_LDFLAGS=-static \
|
||||||
|
--with-platform=$PLATFORM \
|
||||||
--program-transform-name=s,grub,%{name},
|
--program-transform-name=s,grub,%{name},
|
||||||
# TODO: Other platforms. Use alternatives system?
|
|
||||||
# --with-platform=ieee1275 \
|
|
||||||
# --with-platform=efi \
|
|
||||||
# --with-platform=i386-pc \
|
|
||||||
|
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
#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
|
|
||||||
#In file included from normal/lexer.c:23:
|
|
||||||
#include/grub/script.h:26:29: error: grub_script.tab.h: No such file or directory
|
|
||||||
#make
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
set -e
|
set -e
|
||||||
rm -fr $RPM_BUILD_ROOT
|
rm -fr $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%ifarch %{efi}
|
||||||
|
cd grub-efi-%{filever}
|
||||||
|
make DESTDIR=$RPM_BUILD_ROOT install
|
||||||
|
|
||||||
|
# Ghost config file
|
||||||
|
install -d $RPM_BUILD_ROOT/boot/%{name}-efi
|
||||||
|
touch $RPM_BUILD_ROOT/boot/%{name}-efi/grub.cfg
|
||||||
|
ln -s ../boot/%{name}-efi/grub.cfg $RPM_BUILD_ROOT%{_sysconfdir}/%{name}-efi.cfg
|
||||||
|
|
||||||
|
# Install ELF files modules and images were created from into
|
||||||
|
# the shadow root, where debuginfo generator will grab them from
|
||||||
|
find $RPM_BUILD_ROOT -name '*.mod' -o -name '*.img' |
|
||||||
|
while read MODULE
|
||||||
|
do
|
||||||
|
BASE=$(echo $MODULE |sed -r "s,.*/([^/]*)\.(mod|img),\1,")
|
||||||
|
# Symbols from .img files are in .exec files, while .mod
|
||||||
|
# modules store symbols in .elf. This is just because we
|
||||||
|
# have both boot.img and boot.mod ...
|
||||||
|
EXT=$(echo $MODULE |grep -q '.mod' && echo '.elf' || echo '.exec')
|
||||||
|
TGT=$(echo $MODULE |sed "s,$RPM_BUILD_ROOT,.debugroot,")
|
||||||
|
# install -m 755 -D $BASE$EXT $TGT
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
%endif
|
||||||
|
|
||||||
|
cd grub-%{filever}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install
|
make DESTDIR=$RPM_BUILD_ROOT install
|
||||||
|
|
||||||
# Script that makes part of grub.cfg persist across updates
|
# Script that makes part of grub.cfg persist across updates
|
||||||
@ -139,7 +197,6 @@ install -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/grub
|
|||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
exec >/dev/null 2>&1
|
exec >/dev/null 2>&1
|
||||||
# Create device.map or reuse one from GRUB Legacy
|
# Create device.map or reuse one from GRUB Legacy
|
||||||
@ -170,19 +227,6 @@ rm -f /boot/%{name}/*.img
|
|||||||
rm -f /boot/%{name}/*.lst
|
rm -f /boot/%{name}/*.lst
|
||||||
rm -f /boot/%{name}/device.map
|
rm -f /boot/%{name}/device.map
|
||||||
|
|
||||||
|
|
||||||
%triggerin -- kernel, kernel-PAE
|
|
||||||
exec >/dev/null 2>&1
|
|
||||||
# Generate grub.cfg
|
|
||||||
%{name}-mkconfig -o /boot/grub2/grub.cfg
|
|
||||||
|
|
||||||
|
|
||||||
%triggerun -- kernel, kernel-PAE
|
|
||||||
exec >/dev/null 2>&1
|
|
||||||
# Generate grub.cfg
|
|
||||||
%{name}-mkconfig -o /boot/grub2/grub.cfg
|
|
||||||
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
/etc/bash_completion.d/grub
|
/etc/bash_completion.d/grub
|
||||||
@ -224,10 +268,61 @@ exec >/dev/null 2>&1
|
|||||||
# Actually, this is replaced by update-grub from scriptlets,
|
# Actually, this is replaced by update-grub from scriptlets,
|
||||||
# but it takes care of modified persistent part
|
# but it takes care of modified persistent part
|
||||||
%config(noreplace) /boot/%{name}/grub.cfg
|
%config(noreplace) /boot/%{name}/grub.cfg
|
||||||
%doc COPYING INSTALL NEWS README THANKS TODO ChangeLog README.Fedora
|
%doc grub-%{filever}/COPYING grub-%{filever}/INSTALL grub-%{filever}/NEWS
|
||||||
|
%doc grub-%{filever}/README grub-%{filever}/THANKS grub-%{filever}/TODO
|
||||||
|
%doc grub-%{filever}/ChangeLog grub-%{filever}/README.Fedora
|
||||||
%exclude %{_mandir}
|
%exclude %{_mandir}
|
||||||
%{_infodir}/grub2*
|
%{_infodir}/grub2*
|
||||||
|
|
||||||
|
%ifarch %{efi}
|
||||||
|
%files efi
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
/etc/bash_completion.d/grub
|
||||||
|
%{_libdir}/grub2-efi
|
||||||
|
%{_libdir}/grub/
|
||||||
|
%{_sbindir}/grub2-efi-mkconfig
|
||||||
|
%{_sbindir}/grub2-efi-mkdevicemap
|
||||||
|
%{_sbindir}/grub2-efi-mknetdir
|
||||||
|
%{_sbindir}/grub2-efi-install
|
||||||
|
%{_sbindir}/grub2-efi-probe
|
||||||
|
%{_sbindir}/grub2-efi-reboot
|
||||||
|
%{_sbindir}/grub2-efi-set-default
|
||||||
|
#%{_sbindir}/grub2-efi-setup
|
||||||
|
%{_bindir}/grub2-efi-bin2h
|
||||||
|
%{_bindir}/grub2-efi-editenv
|
||||||
|
%{_bindir}/grub2-efi-fstest
|
||||||
|
%{_bindir}/grub2-efi-kbdcomp
|
||||||
|
%{_bindir}/grub2-efi-menulst2cfg
|
||||||
|
# %{_bindir}/grub2-efi-mkelfimage
|
||||||
|
%{_bindir}/grub2-efi-mkfont
|
||||||
|
%{_bindir}/grub2-efi-mklayout
|
||||||
|
%{_bindir}/grub2-efi-mkimage
|
||||||
|
# %{_bindir}/grub2-efi-mkisofs
|
||||||
|
%{_bindir}/grub2-efi-mkpasswd-pbkdf2
|
||||||
|
%{_bindir}/grub2-efi-mkrelpath
|
||||||
|
%ifnarch %{sparc}
|
||||||
|
%{_bindir}/grub2-efi-mkrescue
|
||||||
|
%endif
|
||||||
|
%ifarch %{sparc}
|
||||||
|
%{_sbindir}/grub2-efi-ofpathname
|
||||||
|
%endif
|
||||||
|
%{_bindir}/grub2-efi-script-check
|
||||||
|
%dir %{_sysconfdir}/grub.d
|
||||||
|
%config %{_sysconfdir}/grub.d/??_*
|
||||||
|
%{_sysconfdir}/grub.d/README
|
||||||
|
%{_sysconfdir}/grub2-efi.cfg
|
||||||
|
%{_sysconfdir}/default/grub
|
||||||
|
%dir /boot/grub2-efi
|
||||||
|
# Actually, this is replaced by update-grub from scriptlets,
|
||||||
|
# but it takes care of modified persistent part
|
||||||
|
%config(noreplace) /boot/grub2-efi/grub.cfg
|
||||||
|
%doc grub-%{filever}/COPYING grub-%{filever}/INSTALL grub-%{filever}/NEWS
|
||||||
|
%doc grub-%{filever}/README grub-%{filever}/THANKS grub-%{filever}/TODO
|
||||||
|
%doc grub-%{filever}/ChangeLog grub-%{filever}/README.Fedora
|
||||||
|
%exclude %{_mandir}
|
||||||
|
%{_infodir}/grub2*
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.98-4
|
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.98-4
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
Loading…
Reference in New Issue
Block a user