forked from pool/grub2
Accepting request 79800 from devel:openSUSE:Factory
Build an efi subpackage [bnc#713595]. OBS-URL: https://build.opensuse.org/request/show/79800 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/grub2?expand=0&rev=20
This commit is contained in:
parent
c297740442
commit
90b5069041
@ -1,3 +1,13 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 25 14:46:04 UTC 2011 - aj@suse.de
|
||||||
|
|
||||||
|
- Fix directory ownership.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 23 12:46:43 UTC 2011 - aj@suse.de
|
||||||
|
|
||||||
|
- Build an efi subpackage [bnc#713595].
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 2 12:10:39 UTC 2011 - dvaleev@novell.com
|
Tue Aug 2 12:10:39 UTC 2011 - dvaleev@novell.com
|
||||||
|
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
addFilter("zero-length /boot/grub2/grub.cfg")
|
addFilter("zero-length /boot/grub2/grub.cfg")
|
||||||
|
addFilter("zero-length /boot/grub2-efi/grub.cfg")
|
||||||
addFilter("non-etc-or-var-file-marked-as-conffile /boot/grub2/grub.cfg")
|
addFilter("non-etc-or-var-file-marked-as-conffile /boot/grub2/grub.cfg")
|
||||||
|
addFilter("non-etc-or-var-file-marked-as-conffile /boot/grub2-efi/grub.cfg")
|
||||||
addFilter("non-conffile-in-etc /etc/bash_completion.d/grub")
|
addFilter("non-conffile-in-etc /etc/bash_completion.d/grub")
|
||||||
addFilter("non-conffile-in-etc /etc/grub.d/README")
|
addFilter("non-conffile-in-etc /etc/grub.d/README")
|
||||||
addFilter("statically-linked-binary .*/grub2/i386-pc/kernel.img")
|
addFilter("statically-linked-binary .*/grub2/i386-pc/kernel.img")
|
||||||
# We need to supply unstripped files for grub
|
# We need to supply unstripped files for grub
|
||||||
addFilter("unstripped-binary-or-object .*/grub2/i386-pc/.*.mod")
|
addFilter("unstripped-binary-or-object .*/grub2/i386-pc/.*.mod")
|
||||||
|
addFilter("unstripped-binary-or-object .*/grub2-efi/.*/.*.mod")
|
||||||
|
149
grub2.spec
149
grub2.spec
@ -40,6 +40,11 @@ BuildRequires: bison device-mapper-devel flex lzma ruby xz
|
|||||||
%else
|
%else
|
||||||
%define platform pc
|
%define platform pc
|
||||||
%endif
|
%endif
|
||||||
|
# build efi bootloader on some platforms only:
|
||||||
|
%if ! 0%{?efi}
|
||||||
|
%global efi %{ix86} x86_64 ia64
|
||||||
|
%endif
|
||||||
|
|
||||||
Version: 1.99
|
Version: 1.99
|
||||||
Release: 4
|
Release: 4
|
||||||
Summary: Bootloader with support for Linux, Multiboot and more
|
Summary: Bootloader with support for Linux, Multiboot and more
|
||||||
@ -65,7 +70,6 @@ Requires(preun):/sbin/install-info
|
|||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
# TODO: ppc
|
|
||||||
ExclusiveArch: %{ix86} x86_64 ppc ppc64
|
ExclusiveArch: %{ix86} x86_64 ppc ppc64
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -80,21 +84,66 @@ kernel to your existing GRUB menu. Do not replace GRUB (grub package)
|
|||||||
with it unless you know what are you doing. Refer to README.openSUSE
|
with it unless you know what are you doing. Refer to README.openSUSE
|
||||||
file that is part of this package's documentation for more information.
|
file that is part of this package's documentation for more information.
|
||||||
|
|
||||||
|
%ifarch %{efi}
|
||||||
|
|
||||||
|
%package efi
|
||||||
|
Summary: GRUB2 for EFI systems
|
||||||
|
Group: System/Boot
|
||||||
|
|
||||||
|
%description efi
|
||||||
|
The GRand Unified Bootloader (GRUB) is a highly configurable and customizable
|
||||||
|
bootloader with modular architecture. It support rich variety of kernel formats,
|
||||||
|
file systems, computer architectures and hardware devices. This subpackage
|
||||||
|
provides support for EFI systems.
|
||||||
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n grub-%{version} -a 5
|
# We create (if we build for efi) two copies of the sources
|
||||||
(cd po && ls *.po | cut -d. -f1 | xargs) >po/LINGUAS
|
# in the Builddir
|
||||||
sed 's,@setfilename grub.info,@setfilename grub2.info,' docs/grub.texi >docs/grub2.texi
|
%setup -T -c -n grub-%{version}
|
||||||
sed -i 's,grub.texi,grub2.texi,' docs/Makefile.am
|
%setup -D -T -q -n grub-%{version} -a 0
|
||||||
|
(cd grub-%{version};tar xaf %{SOURCE5})
|
||||||
|
(cd grub-%{version}/po && ls *.po | cut -d. -f1 | xargs) >grub-%{version}/po/LINGUAS
|
||||||
|
sed 's,@setfilename grub.info,@setfilename grub2.info,' grub-%{version}/docs/grub.texi >grub-%{version}/docs/grub2.texi
|
||||||
|
sed -i 's,grub.texi,grub2.texi,' grub-%{version}/docs/Makefile.am
|
||||||
|
cd grub-%{version}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch2 -p0
|
%patch2 -p0
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
|
cd ..
|
||||||
|
|
||||||
# README.openSUSE
|
# README.openSUSE
|
||||||
cp %{SOURCE3} .
|
cp %{SOURCE3} grub-%{version}/
|
||||||
|
%ifarch %{efi}
|
||||||
|
cp -a grub-%{version} grub-efi-%{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
%ifarch %{efi}
|
||||||
|
cd grub-efi-%{version}
|
||||||
|
# we don't want to let rpm to override *FLAGS by bogus ones
|
||||||
|
CFLAGS=" "
|
||||||
|
CXXFLAGS=" "
|
||||||
|
FFLAGS=" "
|
||||||
|
export CFLAGS CXXFLAGS FFLAGS
|
||||||
|
%configure \
|
||||||
|
TARGET_LDFLAGS=-static \
|
||||||
|
--with-platform=efi \
|
||||||
|
--program-transform-name=s,grub,%{name}-efi,
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
%ifarch %{ix86}
|
||||||
|
%define grubefiarch i386-efi
|
||||||
|
%else
|
||||||
|
%define grubefiarch %{_arch}-efi
|
||||||
|
%endif
|
||||||
|
./grub-mkimage -O %{grubefiarch} -o grub.efi -d grub-core part_gpt hfsplus fat \
|
||||||
|
ext2 btrfs normal chain boot configfile linux appleldr minicmd \
|
||||||
|
loadbios reboot halt search font gfxterm
|
||||||
|
cd ..
|
||||||
|
%endif
|
||||||
|
cd grub-%{version}
|
||||||
#./autogen.sh
|
#./autogen.sh
|
||||||
|
|
||||||
# we don't want to let rpm to override *FLAGS by bogus ones
|
# we don't want to let rpm to override *FLAGS by bogus ones
|
||||||
@ -113,6 +162,24 @@ export CFLAGS CXXFLAGS FFLAGS
|
|||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
%ifarch %{efi}
|
||||||
|
cd grub-efi-%{version}
|
||||||
|
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 -m 755 -d $RPM_BUILD_ROOT/boot/efi/EFI/opensuse/
|
||||||
|
install -m 755 grub.efi $RPM_BUILD_ROOT/boot/efi/EFI/opensuse/grub.efi
|
||||||
|
# Remove devel files
|
||||||
|
rm $RPM_BUILD_ROOT/%{_libdir}/%{name}-efi/*/*.h
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
%endif
|
||||||
|
|
||||||
|
cd grub-%{version}
|
||||||
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
|
||||||
@ -153,6 +220,10 @@ if [ -e /boot/%{name}/device.map ]; then
|
|||||||
/sbin/update-bootloader --refresh || true
|
/sbin/update-bootloader --refresh || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
%post efi
|
||||||
|
/sbin/install-info %{_infodir}/grub-dev.info %{_infodir}/dir || :
|
||||||
|
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
if [ $1 = 0 ]; then
|
if [ $1 = 0 ]; then
|
||||||
/sbin/install-info --delete %{_infodir}/grub-dev.info %{_infodir}/dir || :
|
/sbin/install-info --delete %{_infodir}/grub-dev.info %{_infodir}/dir || :
|
||||||
@ -169,7 +240,13 @@ if [ $1 = 0 ]; then
|
|||||||
rm -f /boot/%{name}/device.map
|
rm -f /boot/%{name}/device.map
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%files -f grub.lang
|
%preun efi
|
||||||
|
if [ $1 = 0 ]; then
|
||||||
|
/sbin/install-info --delete %{_infodir}/grub-dev.info %{_infodir}/dir || :
|
||||||
|
/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
|
||||||
|
fi
|
||||||
|
|
||||||
|
%files -f grub-%{version}/grub.lang
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/%{name}
|
%{_libdir}/%{name}
|
||||||
%{_libdir}/grub/
|
%{_libdir}/grub/
|
||||||
@ -185,8 +262,64 @@ fi
|
|||||||
# 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.openSUSE
|
%doc grub-%{version}/COPYING grub-%{version}/INSTALL grub-%{version}/NEWS
|
||||||
|
%doc grub-%{version}/README grub-%{version}/THANKS grub-%{version}/TODO
|
||||||
|
%doc grub-%{version}/ChangeLog grub-%{version}/README.openSUSE
|
||||||
%{_infodir}/grub-dev.info*
|
%{_infodir}/grub-dev.info*
|
||||||
%{_infodir}/%{name}.info*
|
%{_infodir}/%{name}.info*
|
||||||
|
|
||||||
|
%ifarch %{efi}
|
||||||
|
|
||||||
|
%files efi -f grub-%{version}/grub.lang
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%dir /boot
|
||||||
|
%dir /boot/efi
|
||||||
|
%dir /boot/efi/EFI
|
||||||
|
%attr(0755,root,root)/boot/efi/EFI/opensuse
|
||||||
|
/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} ppc ppc64
|
||||||
|
%{_bindir}/grub2-efi-mkrescue
|
||||||
|
%endif
|
||||||
|
%ifarch %{sparc} ppc ppc64
|
||||||
|
%{_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-%{version}/COPYING grub-%{version}/INSTALL grub-%{version}/NEWS
|
||||||
|
%doc grub-%{version}/README grub-%{version}/THANKS grub-%{version}/TODO
|
||||||
|
%doc grub-%{version}/ChangeLog grub-%{version}/README.openSUSE
|
||||||
|
%exclude %{_mandir}
|
||||||
|
%{_infodir}/grub2*
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
Reference in New Issue
Block a user