summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@lavabit.com>2013-05-22 15:40:39 -0300
committerAndré Fabian Silva Delgado <emulatorman@lavabit.com>2013-05-22 15:40:39 -0300
commitc5ede0010912e3f8ebcce118430d608f14e23778 (patch)
tree8c69566b77672bcecf1169a33d369a246c8c32d9
parentad8006073ac6cf51d8f895b8801bc8e8b53c60e4 (diff)
downloadabslibre-c5ede0010912e3f8ebcce118430d608f14e23778.tar.gz
abslibre-c5ede0010912e3f8ebcce118430d608f14e23778.tar.bz2
abslibre-c5ede0010912e3f8ebcce118430d608f14e23778.zip
grub-2.00-2: add build patches, move /usr/sbin to /usr/bin
-rw-r--r--libre/grub/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch50
-rw-r--r--libre/grub/PKGBUILD50
-rw-r--r--libre/grub/grub-2.00-fix-docs.patch21
-rw-r--r--libre/grub/grub.cfg4
4 files changed, 104 insertions, 21 deletions
diff --git a/libre/grub/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch b/libre/grub/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch
new file mode 100644
index 000000000..e043633af
--- /dev/null
+++ b/libre/grub/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch
@@ -0,0 +1,50 @@
+From d09689a5a2863043d007c1acb9bf0a8d1d3b776d Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@ubuntu.com>
+Date: Fri, 28 Dec 2012 06:43:35 +0000
+Subject: [PATCH 069/364] Backport gnulib fixes for C11. Fixes Savannah bug
+ #37738.
+
+* grub-core/gnulib/stdio.in.h (gets): Warn on use only if
+HAVE_RAW_DECL_GETS.
+* m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
+---
+ ChangeLog | 8 ++++++++
+ grub-core/gnulib/stdio.in.h | 6 ++++--
+ m4/stdio_h.m4 | 2 +-
+ 3 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/gnulib/stdio.in.h b/grub-core/gnulib/stdio.in.h
+index 80b9dbf..a8b00c6 100644
+--- a/grub-core/gnulib/stdio.in.h
++++ b/grub-core/gnulib/stdio.in.h
+@@ -138,10 +138,12 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - "
+ #endif
+
+ /* It is very rare that the developer ever has full control of stdin,
+- so any use of gets warrants an unconditional warning. Assume it is
+- always declared, since it is required by C89. */
++ so any use of gets warrants an unconditional warning; besides, C11
++ removed it. */
+ #undef gets
++#if HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4
+index f5650cd..8458bec 100644
+--- a/m4/stdio_h.m4
++++ b/m4/stdio_h.m4
+@@ -37,7 +37,7 @@ AC_DEFUN([gl_STDIO_H],
+ dnl corresponding gnulib module is not in use, and which is not
+ dnl guaranteed by C89.
+ gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
+- ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat
++ ]], [dprintf fpurge fseeko ftello getdelim getline gets popen renameat
+ snprintf tmpfile vdprintf vsnprintf])
+ ])
+
+--
+1.8.1.4
+
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
index b94aed44c..3969d713a 100644
--- a/libre/grub/PKGBUILD
+++ b/libre/grub/PKGBUILD
@@ -9,7 +9,7 @@ _grub_915_ver=9
pkgname=('grub-common' 'grub-bios' 'grub-efi-i386')
pkgbase=grub
pkgver=2.00
-pkgrel=1.2
+pkgrel=2
url="https://www.gnu.org/software/grub/"
arch=('i686' 'x86_64')
license=('GPL3')
@@ -24,33 +24,22 @@ source=("http://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
'grub.default'
'grub.cfg'
'20_memtest86+'
- 'grub_bzr_export.sh')
+ 'grub_bzr_export.sh'
+ '0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch'
+ 'grub-2.00-fix-docs.patch')
noextract=("grub2_extras_lua_r${_grub_lua_ver}.tar.xz"
"grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz"
"grub2_extras_915resolution_r${_grub_915_ver}.tar.xz")
-sha1sums=('274d91e96b56a5b9dd0a07accff69dbb6dfb596b'
- '89290031b974780c6df76893836d2477d4add895'
- 'eb4b35b4c36b64f9405cbcbc538cb205171c1c0a'
- 'd5ae2efec25616028a9d89e98b6e454f1c4c415f'
- 'c631ec04d458c60a3ceffe60d2d1806d54554d9c'
- '06b926320cb2add6c157d59d46e553b89dd3aa03'
- 'fb69af1ff6c0b7fdf7ce7d42d0f048edc1a50a45'
- 'ce35d7ae75cd1b5b677e894e528f96add40e77b9'
- '0cfd4e51cdb14a92f06cfd3c607f2aa21f3e55fc')
_build_grub-common_and_bios() {
- ## fix outdated gnulib on the source
- sed 's|#undef gets|#undef gets\n#if 0|' -i "${srcdir}/grub-${pkgver}/grub-core/gnulib/stdio.in.h"
- sed 's|use fgets instead");|use fgets instead");\n#endif|' -i "${srcdir}/grub-${pkgver}/grub-core/gnulib/stdio.in.h"
-
## copy the source for building the common/bios package
cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub_bios-${pkgver}"
cd "${srcdir}/grub_bios-${pkgver}"
- ## Apply Parabola specific fixes to enable grub-mkconfig detect Libre kernels and initramfs
+ ## Apply Parabola specific fixes to enable grub-mkconfig detect kernels and initramfs
patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch"
echo
@@ -76,7 +65,13 @@ _build_grub-common_and_bios() {
## Requires python2
# sed 's|python |python2 |g' -i "${srcdir}/grub_bios-${pkgver}/autogen.sh"
- ## start the actual build process
+ # fix compiling with gcc48
+ patch -Np1 -i ${srcdir}/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch
+
+ #fix docs compiling
+ patch -Np1 -i ${srcdir}/grub-2.00-fix-docs.patch
+
+ ## start the actual build process
cd "${srcdir}/grub_bios-${pkgver}"
./autogen.sh
echo
@@ -94,7 +89,7 @@ _build_grub-common_and_bios() {
--enable-grub-mount \
--prefix="/usr" \
--bindir="/usr/bin" \
- --sbindir="/usr/sbin" \
+ --sbindir="/usr/bin" \
--mandir="/usr/share/man" \
--infodir="/usr/share/info" \
--datarootdir="/usr/share" \
@@ -122,6 +117,12 @@ _build_grub-efi-i386() {
bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \
-C "${srcdir}/grub_efi-${pkgver}/grub-extras"
+ # fix compiling with gcc48
+ patch -Np1 -i ${srcdir}/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch
+
+ #fix docs compiling
+ patch -Np1 -i ${srcdir}/grub-2.00-fix-docs.patch
+
cd "${srcdir}/grub_efi-${pkgver}"
./autogen.sh
echo
@@ -139,7 +140,7 @@ _build_grub-efi-i386() {
--enable-grub-mount \
--prefix="/usr" \
--bindir="/usr/bin" \
- --sbindir="/usr/sbin" \
+ --sbindir="/usr/bin" \
--mandir="/usr/share/man" \
--infodir="/usr/share/info" \
--datarootdir="/usr/share" \
@@ -252,3 +253,14 @@ package_grub-efi-i386() {
rm -f "${pkgdir}/usr/lib/grub/i386-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true
}
+md5sums=('a1043102fbc7bcedbf53e7ee3d17ab91'
+ '704ea9f250b6137f05fa0197fd07053a'
+ '77f7d5f8ce395663cd7fff4d37099957'
+ 'a80e2b1d3bab778c3b6117d5a698992f'
+ 'c776aaf2cc35488a7c531b59e697470d'
+ '52d374e0194e3f2e39ff7c92ecd58a6c'
+ '255eafb440b8c285b20431366c2d2d27'
+ '9b6358d3de5c4bb95a041ab7c44a21ec'
+ 'f343ed2340ebc86c427873641bb72419'
+ 'ab751d1d8cd3fd47e5ee24d71ecc31ed'
+ '342dd18472a24e5fd252458b24f39a29')
diff --git a/libre/grub/grub-2.00-fix-docs.patch b/libre/grub/grub-2.00-fix-docs.patch
new file mode 100644
index 000000000..0aa481154
--- /dev/null
+++ b/libre/grub/grub-2.00-fix-docs.patch
@@ -0,0 +1,21 @@
+From 40d6b00fa48ae9c1cecf143da5c6061f6ffcb719 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com
+Date: Tue, 12 Mar 2013 15:23:02 -0400
+Subject: [PATCH] Fix docs
+
+I think the doc generation tools got stricter, so fix up the .texi file
+to work.
+
+diff --git a/docs/grub-dev.texi b/docs/grub-dev.texi
+--- a/docs/grub-dev.texi
++++ b/docs/grub-dev.texi
+@@ -1394,8 +1394,8 @@ grub_video_blit_glyph (&glyph, color, 0,
+
+ @node Bitmap API
+ @section Bitmap API
+-@itemize
+ @subsection grub_video_bitmap_create
++@itemize
+ @item Prototype:
+ @example
+ grub_err_t grub_video_bitmap_create (struct grub_video_bitmap **bitmap, unsigned int width, unsigned int height, enum grub_video_blit_format blit_format)
diff --git a/libre/grub/grub.cfg b/libre/grub/grub.cfg
index 7f583e102..0d91ff6bc 100644
--- a/libre/grub/grub.cfg
+++ b/libre/grub/grub.cfg
@@ -78,7 +78,7 @@ set timeout=5
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
-menuentry 'Parabola GNU/Linux-libre, with Linux-libre core repo kernel' --class parabola --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-ad4103fa-d940-47ca-8506-301d8071d467' {
+menuentry 'Parabola GNU/Linux-libre, with Linux libre kernel' --class parabola --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-ad4103fa-d940-47ca-8506-301d8071d467' {
load_video
set gfxpayload=keep
insmod gzio
@@ -95,7 +95,7 @@ menuentry 'Parabola GNU/Linux-libre, with Linux-libre core repo kernel' --class
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-linux-libre.img
}
-menuentry 'Parabola GNU/Linux-libre, with Linux libre repo kernel (Fallback initramfs)' --class parabola --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-ad4103fa-d940-47ca-8506-301d8071d467' {
+menuentry 'Parabola GNU/Linux-libre, with Linux libre kernel (Fallback initramfs)' --class parabola --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-ad4103fa-d940-47ca-8506-301d8071d467' {
load_video
set gfxpayload=keep
insmod gzio