diff options
author | André Fabian Silva Delgado <emulatorman@lavabit.com> | 2013-05-22 15:40:39 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@lavabit.com> | 2013-05-22 15:40:39 -0300 |
commit | c5ede0010912e3f8ebcce118430d608f14e23778 (patch) | |
tree | 8c69566b77672bcecf1169a33d369a246c8c32d9 | |
parent | ad8006073ac6cf51d8f895b8801bc8e8b53c60e4 (diff) | |
download | abslibre-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.patch | 50 | ||||
-rw-r--r-- | libre/grub/PKGBUILD | 50 | ||||
-rw-r--r-- | libre/grub/grub-2.00-fix-docs.patch | 21 | ||||
-rw-r--r-- | libre/grub/grub.cfg | 4 |
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 |