Date: Saturday, December 21, 2013 @ 19:42:03
  Author: tpowa
Revision: 202423

upgpkg: grub 1:2.02.beta1-1

1) Removal of archlinux_grub_mkconfig_fixes.patch, replaced with 10_archlinux 
helper script, and grub-add-GRUB_COLOR_variables.patch (small non-Arch specific 
part of the earlier patch). Fixes https://bugs.archlinux.org/task/37904 .

2) Bump directly used unifont bdf file to working ver 6.3.20131217 as mentioned 
at http://savannah.gnu.org/bugs/?40330

3) grub-extras is now available as GIT repo, so removed bzr from makedepends. 
As a consequence removed python2 and used python(3) in makedepends. Incorrect 
GRUB_CONTRIB var also fixed.

4) grub-extras LUA and ntldr-img are set to be deprecated, so they are not 
built. The only grub-extras version built is 915resolution (for grub-bios aka 
target i386-pc alone)

5) PKGBUILD directly used GIT TAG support by makepkg to checkout the souce 
instead of downloading the upstream tarball

6) https://bugs.archlinux.org/task/38054 already fixed in 2.02-beta1.

7) https://bugs.archlinux.org/task/38053 also fixed in 2.02-beta1. I personally 
never experienced this issue so cannot comment on this

8) Added  suffix grub-efi build dir so that it is easy for users to modify the 
PKGBUILD to build i386-efi in Arch x86_64 if required (not officially 
supported).

Added:
  grub/trunk/10_archlinux
  grub/trunk/grub-add-GRUB_COLOR_variables.patch
Modified:
  grub/trunk/PKGBUILD

-------------------------------------+
 10_archlinux                        |  142 ++++++++++++++++++++++++++++++++++
 PKGBUILD                            |   99 +++++++++++------------
 grub-add-GRUB_COLOR_variables.patch |   32 +++++++
 3 files changed, 220 insertions(+), 53 deletions(-)

Added: 10_archlinux
===================================================================
--- 10_archlinux                                (rev 0)
+++ 10_archlinux        2013-12-21 18:42:03 UTC (rev 202423)
@@ -0,0 +1,142 @@
+#!/usr/bin/env bash
+
+##
+## grub-mkconfig helper script specific to Arch Linux
+## Contributed by "Keshav Padram Amburay" <the ddoott ridikulus ddoott rat 
aatt geemmayil ddoott ccoomm>
+##
+## Script based on do_grub_config() function in Arch Linux Archboot ISO 
Installer/Setup script 
+## Some parts taken from /etc/grub.d/10_linux script shipped by GRUB(2) 
upstream
+##
+## This script can be freely distributed and/or modified 
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## This script is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+
+set -e
+
+prefix="/usr"
+exec_prefix="/usr"
+datarootdir="/usr/share"
+sysconfdir="/etc"
+
+. "${datarootdir}/grub/grub-mkconfig_lib"
+
+. "${sysconfdir}/default/grub"
+
+export TEXTDOMAIN="grub"
+export TEXTDOMAINDIR="${datarootdir}/locale"
+
+CLASS="--class arch-linux --class arch --class gnu-linux --class gnu --class 
os"
+
+BOOT_PART_FS_UUID="$(grub-probe --target="fs_uuid" "/boot" 2>/dev/null)"
+BOOT_PART_HINTS_STRING="$(grub-probe --target="hints_string" "/boot" 
2>/dev/null)"
+BOOT_PART_FS="$(grub-probe --target="fs" "/boot" 2>/dev/null)"
+
+ROOT_PART_FS_UUID="$(grub-probe --target="fs_uuid" "/" 2>/dev/null)"
+ROOT_PART_HINTS_STRING="$(grub-probe --target="hints_string" "/" 2>/dev/null)"
+ROOT_PART_FS="$(grub-probe --target="fs" "/" 2>/dev/null)"
+
+if [[ "${ROOT_PART_FS_UUID}" == "${BOOT_PART_FS_UUID}" ]]; then
+    SUBDIR="/boot"
+else
+    SUBDIR=""
+fi
+
+if [[ "${GRUB_LINUX_ROOT_DEVICE}" == "" ]]; then
+    if [[ "${GRUB_DEVICE_UUID}" == "" ]] || \
+       [[ "${GRUB_DISABLE_LINUX_UUID}" == "true" ]] || \
+       [[ ! -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ]] || \
+       uses_abstraction "${GRUB_DEVICE}" lvm ; then
+           GRUB_LINUX_ROOT_DEVICE="${GRUB_DEVICE}"
+    else
+       GRUB_LINUX_ROOT_DEVICE="UUID=${GRUB_DEVICE_UUID}"
+    fi
+fi
+
+[[ "${GRUB_LINUX_PARAMS}" == "" ]] && GRUB_LINUX_PARAMS="${GRUB_CMDLINE_LINUX} 
${GRUB_CMDLINE_LINUX_DEFAULT}"
+
+for _KERNEL_ in $(ls /boot/vmlinuz-linux*) ; do
+    
+    echo "Found linux image: ${_KERNEL_}" >&2
+    
+    _KERNEL_FILE_="$(echo ${_KERNEL_} | sed 's,/boot/,,g')"
+    _KERNEL_PKG_="pkg-$(echo ${_KERNEL_FILE_} | sed 's,vmlinuz-,,g')"
+    
+    _INITRAMFS_="${_KERNEL_FILE_/vmlinuz-/initramfs-}.img"
+    
+    if [[ -e "/boot/${_INITRAMFS_}" ]]; then
+    
+    echo "Found initramfs image: /boot/${_INITRAMFS_}" >&2
+    
+cat << EOF
+
+menuentry "Arch Linux ${_KERNEL_PKG_} kernel" ${CLASS} {
+    load_video
+    set gfxpayload=keep
+    insmod ${BOOT_PART_FS}
+    if [ x\$feature_platform_search_hint = xy ]; then
+        search --no-floppy --fs-uuid  --set=root ${BOOT_PART_HINTS_STRING} 
${BOOT_PART_FS_UUID}
+    else
+        search --no-floppy --fs-uuid  --set=root ${BOOT_PART_FS_UUID}
+    fi
+    echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel ...'
+    linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw 
${GRUB_LINUX_PARAMS}
+    echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel initramfs ...'
+    initrd ${subdir}/${_INITRAMFS_}
+}
+
+EOF
+    fi
+    
+    _INITRAMFS_FALLBACK_="${_KERNEL_FILE_/vmlinuz-/initramfs-}-fallback.img"
+    
+    if [[ -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then
+    
+    echo "Found fallback initramfs image: /boot/${_INITRAMFS_FALLBACK_}" >&2
+    
+cat << EOF
+
+menuentry "Arch Linux ${_KERNEL_PKG_} kernel (fallback initramfs)" ${CLASS} {
+    load_video
+    set gfxpayload=keep
+    insmod ${BOOT_PART_FS}
+    if [ x\$feature_platform_search_hint = xy ]; then
+        search --no-floppy --fs-uuid  --set=root ${BOOT_PART_HINTS_STRING} 
${BOOT_PART_FS_UUID}
+    else
+        search --no-floppy --fs-uuid  --set=root ${BOOT_PART_FS_UUID}
+    fi
+    echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel ...'
+    linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw 
${GRUB_LINUX_PARAMS}
+    echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel fallback initramfs ...'
+    initrd ${subdir}/${_INITRAMFS_FALLBACK_}
+}
+
+EOF
+    fi
+    
+    if [[ ! -e "/boot/${_INITRAMFS_}" ]] && [[ ! -e 
"/boot/${_INITRAMFS_FALLBACK_}" ]]; then
+cat << EOF
+
+menuentry "Arch Linux ${_KERNEL_PKG_} kernel (no initramfs)" ${CLASS} {
+    load_video
+    set gfxpayload=keep
+    insmod ${BOOT_PART_FS}
+    if [ x\$feature_platform_search_hint = xy ]; then
+        search --no-floppy --fs-uuid  --set=root ${BOOT_PART_HINTS_STRING} 
${BOOT_PART_FS_UUID}
+    else
+        search --no-floppy --fs-uuid  --set=root ${BOOT_PART_FS_UUID}
+    fi
+    echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel ...'
+    linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw 
${GRUB_LINUX_PARAMS}
+}
+
+EOF
+    fi
+    
+done


Property changes on: grub/trunk/10_archlinux
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: PKGBUILD
===================================================================
--- PKGBUILD    2013-12-21 18:30:46 UTC (rev 202422)
+++ PKGBUILD    2013-12-21 18:42:03 UTC (rev 202423)
@@ -2,10 +2,10 @@
 # Maintainer : Ronald van Haren <ronald.archlinux.org>
 # Contributor: Keshav Padram Amburay <(the ddoott ridikulus ddoott rat) (aatt) 
(gemmaeiil) (ddoott) (ccoomm)>
 
-_pkgver="2.00"
-_GRUB_GIT_COMMIT="5ae5c54c7e5cb048cdd78a53181cee0da698a953"
+_pkgver="2.02"
+_GRUB_GIT_TAG="grub-2.02-beta1"
 
-## grub-extras gpxe is not needed
+_UNIFONT_VER="6.3.20131217"
 
 [[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
 [[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386"
@@ -12,7 +12,7 @@
 
 pkgname="grub"
 pkgdesc="GNU GRand Unified Bootloader (2)"
-pkgver=2.00.1282.g5ae5c54
+pkgver=2.02.beta1
 pkgrel=1
 epoch="1"
 url="https://www.gnu.org/software/grub/";
@@ -26,9 +26,8 @@
 replaces=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
 provides=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
 
-makedepends=('git' 'bzr' 'rsync' 'xz' 'freetype2' 'ttf-dejavu'
-             'python2' 'autogen' 'texinfo' 'help2man'
-             'gettext' 'device-mapper' 'fuse')
+makedepends=('git' 'rsync' 'xz' 'freetype2' 'ttf-dejavu' 'python' 'autogen'
+             'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse')
 depends=('sh' 'xz' 'gettext' 'device-mapper')
 optdepends=('freetype2: For grub-mkfont usage'
             'fuse: For grub-mount usage'
@@ -38,31 +37,29 @@
             'os-prober: To detect other OSes when generating grub.cfg in BIOS 
systems'
             'mtools: For grub-mkrescue FAT FS support')
 
-# source=("http://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz";
-source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#commit=${_GRUB_GIT_COMMIT}"
-        'http://unifoundry.com/unifont-5.1.20080820.bdf.gz'
-        'archlinux_grub_mkconfig_fixes.patch'
+source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#tag=${_GRUB_GIT_TAG}"
+        "grub-extras::git+git://git.sv.gnu.org/grub-extras.git#branch=master"
+        
"http://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz";
+        
"http://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz.sig";
+        'grub-add-GRUB_COLOR_variables.patch'
+        '10_archlinux'
         '60_memtest86+'
         'grub.default'
         'grub.cfg')
 
 md5sums=('SKIP'
-         '6b8263ceccef33bd633aa019d74b7943'
-         'b9cbff4a67e463722a113c66d57c4042'
+         'SKIP'
+         '728b7439ac733a7c0d56049adec364c7'
+         'SKIP'
+         'e506ae4a9f9f7d1b765febfa84e10d48'
+         'b7f3fc13d5afcb1e6f7d49010025b725'
          'be55eabc102f2c60b38ed35c203686d6'
          'a03ffd56324520393bf574cefccb893d'
-         'c8b9511586d57d6f2524ae7898397a46'
-         'SKIP'
-         'SKIP'
-         'SKIP')
+         'c8b9511586d57d6f2524ae7898397a46')
 
-for _DIR_ in 915resolution lua ntldr-img ; do
-       
source+=("grub-extras-${_DIR_}::bzr+bzr://bzr.savannah.gnu.org/grub-extras/${_DIR_}/#revision=")
-done
-
 pkgver() {
        cd "${srcdir}/grub-${_pkgver}/"
-       echo "$(git describe --tags)" | sed -e 's|-|\.|g'
+       echo "$(git describe --tags)" | sed -e 's|grub.||g' -e 's|-|\.|g'
 }
 
 prepare() {
@@ -69,8 +66,10 @@
        
        cd "${srcdir}/grub-${_pkgver}/"
        
-       msg "Patch to enable grub-mkconfig detect Arch kernels and initramfs"
-       patch -Np1 -i "${srcdir}/archlinux_grub_mkconfig_fixes.patch"
+       msg "Patch to enable GRUB_COLOR_* variables in grub-mkconfig"
+       ## Based on 
http://lists.gnu.org/archive/html/grub-devel/2012-02/msg00021.html
+       patch -Np1 -i "${srcdir}/grub-add-GRUB_COLOR_variables.patch"
+       echo
        
        msg "Fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 
files for starfield theme"
        sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu 
/usr/share/fonts/TTF|g' -i "${srcdir}/grub-${_pkgver}/configure.ac"
@@ -81,18 +80,18 @@
        msg "Fix OS naming FS#33393"
        sed 's|GNU/Linux|Linux|' -i 
"${srcdir}/grub-${_pkgver}/util/grub.d/10_linux.in"
        
-       msg "autogen.sh requires python (2/3). since bzr is in makedepends, use 
python2 and no need to pull python3"
-       sed 's|python |python2 |g' -i "${srcdir}/grub-${_pkgver}/autogen.sh"
+       # msg "autogen.sh requires python (2/3). since bzr is in makedepends, 
use python2 and no need to pull python3"
+       # sed 's|python |python2 |g' -i "${srcdir}/grub-${_pkgver}/autogen.sh"
        
        msg "Pull in latest language files"
        ./linguas.sh
        echo
        
-       msg "Remove non working langs which need LC_ALL=C.UTF-8"
+       msg "Remove not working langs which need LC_ALL=C.UTF-8"
        sed -e 's#en@cyrillic en@greek##g' -i 
"${srcdir}/grub-${_pkgver}/po/LINGUAS"
        
        msg "Avoid problem with unifont during compile of grub, 
http://savannah.gnu.org/bugs/?40330 and https://bugs.archlinux.org/task/37847";
-       cp "${srcdir}/unifont-5.1.20080820.bdf" 
"${srcdir}/grub-${_pkgver}/unifont.bdf"
+       cp "${srcdir}/unifont-${_UNIFONT_VER}.bdf" 
"${srcdir}/grub-${_pkgver}/unifont.bdf"
        
 }
 
@@ -105,16 +104,14 @@
                _EFIEMU="--disable-efiemu"
        fi
        
-       msg "Copy the source for building the bios package"
+       msg "Copy the source for building the bios part"
        cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-bios"
        cd "${srcdir}/grub-${_pkgver}-bios/"
        
        msg "Add the grub-extra sources for bios build"
        install -d "${srcdir}/grub-${_pkgver}-bios/grub-extras"
-       for _DIR_ in 915resolution ntldr-img ; do
-               cp -r "${srcdir}/grub-extras-${_DIR_}" 
"${srcdir}/grub-${_pkgver}-bios/grub-extras/${_DIR_}"
-       done
-       export GRUB_CONTRIB="${srcdir}/grub-bios/grub-extras/"
+       cp -r "${srcdir}/grub-extras/915resolution" 
"${srcdir}/grub-${_pkgver}-bios/grub-extras/915resolution"
+       export GRUB_CONTRIB="${srcdir}/grub-${_pkgver}-bios/grub-extras/"
        
        msg "Unset all compiler FLAGS for bios build"
        unset CFLAGS
@@ -162,18 +159,11 @@
 
 _build_grub-efi() {
        
-       msg "Copy the source for building the efi package"
-       cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-efi"
-       cd "${srcdir}/grub-${_pkgver}-efi/"
+       msg "Copy the source for building the ${_EFI_ARCH} efi part"
+       cp -r "${srcdir}/grub-${_pkgver}" 
"${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}"
+       cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
        
-       msg "Add the grub-extra sources for efi build"
-       install -d "${srcdir}/grub-${_pkgver}-efi/grub-extras/"
-       for _DIR_ in lua ; do
-               cp -r "${srcdir}/grub-extras-${_DIR_}" 
"${srcdir}/grub-${_pkgver}-efi/grub-extras/${_DIR_}"
-       done
-       # export GRUB_CONTRIB="${srcdir}/grub-efi/grub-extras/"
-       
-       msg "Unset all compiler FLAGS for efi build"
+       msg "Unset all compiler FLAGS for ${_EFI_ARCH} efi build"
        unset CFLAGS
        unset CPPFLAGS
        unset CXXFLAGS
@@ -180,13 +170,13 @@
        unset LDFLAGS
        unset MAKEFLAGS
        
-       cd "${srcdir}/grub-${_pkgver}-efi/"
+       cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
        
-       msg "Run autogen.sh for efi build"
+       msg "Run autogen.sh for ${_EFI_ARCH} efi build"
        ./autogen.sh
        echo
        
-       msg "Run ./configure for efi build"
+       msg "Run ./configure for ${_EFI_ARCH} efi build"
        ./configure \
                --with-platform="efi" \
                --target="${_EFI_ARCH}" \
@@ -212,7 +202,7 @@
                --disable-werror
        echo
        
-       msg "Run make for efi build"
+       msg "Run make for ${_EFI_ARCH} efi build"
        make
        echo
        
@@ -226,7 +216,7 @@
        _build_grub-common_and_bios
        echo
        
-       msg "Build grub efi stuff"
+       msg "Build grub ${_EFI_ARCH} efi stuff"
        _build_grub-efi
        echo
        
@@ -245,6 +235,9 @@
        rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true
        rm -f 
"${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true
        
+       msg "Install 10_archlinux helper script for grub-mkconfig"
+       install -D -m0755 "${srcdir}/10_archlinux" 
"${pkgdir}/etc/grub.d/10_archlinux"
+       
        msg "Install extra /etc/grub.d/ files"
        install -D -m0755 "${srcdir}/60_memtest86+" 
"${pkgdir}/etc/grub.d/60_memtest86+"
        
@@ -258,13 +251,13 @@
 
 _package_grub-efi() {
        
-       cd "${srcdir}/grub-${_pkgver}-efi/"
+       cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
        
-       msg "Run make install for efi build"
+       msg "Run make install for ${_EFI_ARCH} efi build"
        make DESTDIR="${pkgdir}/" 
bashcompletiondir="/usr/share/bash-completion/completions" install
        echo
        
-       msg "Remove gdb debugging related files for efi build"
+       msg "Remove gdb debugging related files for ${_EFI_ARCH} efi build"
        rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.module || true
        rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.image || true
        rm -f 
"${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/{kernel.exec,gdb_grub,gmodule.pl} || 
true
@@ -273,7 +266,7 @@
 
 package() {
        
-       msg "Package grub efi stuff"
+       msg "Package grub ${_EFI_ARCH} efi stuff"
        _package_grub-efi
        
        msg "Package grub bios stuff"

Added: grub-add-GRUB_COLOR_variables.patch
===================================================================
--- grub-add-GRUB_COLOR_variables.patch                         (rev 0)
+++ grub-add-GRUB_COLOR_variables.patch 2013-12-21 18:42:03 UTC (rev 202423)
@@ -0,0 +1,32 @@
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 3390ba9..c416489 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -218,6 +218,8 @@ export GRUB_DEFAULT \
+   GRUB_THEME \
+   GRUB_GFXPAYLOAD_LINUX \
+   GRUB_DISABLE_OS_PROBER \
++  GRUB_COLOR_NORMAL \
++  GRUB_COLOR_HIGHLIGHT \
+   GRUB_INIT_TUNE \
+   GRUB_SAVEDEFAULT \
+   GRUB_ENABLE_CRYPTODISK \
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index d2e7252..8259f45 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -125,6 +125,14 @@ cat <<EOF
+ 
+ EOF
+ 
++if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then
++    cat << EOF
++set menu_color_normal=$GRUB_COLOR_NORMAL
++set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT
++
++EOF
++fi
++
+ serial=0;
+ gfxterm=0;
+ for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do

Reply via email to