From c5ede0010912e3f8ebcce118430d608f14e23778 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 22 May 2013 15:40:39 -0300 Subject: grub-2.00-2: add build patches, move /usr/sbin to /usr/bin --- ...ulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch | 50 ++++++++++++++++++++++ libre/grub/PKGBUILD | 50 ++++++++++++++-------- libre/grub/grub-2.00-fix-docs.patch | 21 +++++++++ libre/grub/grub.cfg | 4 +- 4 files changed, 104 insertions(+), 21 deletions(-) create mode 100644 libre/grub/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch create mode 100644 libre/grub/grub-2.00-fix-docs.patch 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 +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 +- ]], [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