From b7cfff4062ac55bdc83927468e150b5d4332ee14 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 29 Jul 2016 07:59:10 +0000 Subject: [PATCH] * new upstream release * pacman hooks - remove info file handling from install script * fix Intel ucode handling (FS#47941) * remove trailing white spaces from PKGBUILD --- 0002-intel-ucode.patch | 54 +++++ ...-10_linux-detect-archlinux-initramfs.patch | 0 ...tch => 0004-add-GRUB_COLOR_variables.patch | 0 10_archlinux | 194 ------------------ PKGBUILD | 127 +++++------- archlinux_grub_mkconfig_fixes.patch | 143 ------------- grub-2.00-mkinitcpio-0.15.patch | 11 - grub-2.00.5086-fix-lvm-parsing.patch | 54 ----- grub-intel-ucode.patch | 26 --- grub.install | 20 +- 10 files changed, 110 insertions(+), 519 deletions(-) create mode 100644 0002-intel-ucode.patch rename grub-10_linux-detect-archlinux-initramfs.patch => 0003-10_linux-detect-archlinux-initramfs.patch (100%) rename grub-add-GRUB_COLOR_variables.patch => 0004-add-GRUB_COLOR_variables.patch (100%) delete mode 100755 10_archlinux delete mode 100644 archlinux_grub_mkconfig_fixes.patch delete mode 100644 grub-2.00-mkinitcpio-0.15.patch delete mode 100644 grub-2.00.5086-fix-lvm-parsing.patch delete mode 100644 grub-intel-ucode.patch diff --git a/0002-intel-ucode.patch b/0002-intel-ucode.patch new file mode 100644 index 0000000..d6277d5 --- /dev/null +++ b/0002-intel-ucode.patch @@ -0,0 +1,54 @@ +diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in +index 5a78513..39bd854 100644 +--- a/util/grub.d/10_linux.in ++++ b/util/grub.d/10_linux.in +@@ -136,10 +136,12 @@ EOF + if test -n "${initrd}" ; then + # TRANSLATORS: ramdisk isn't identifier. Should be translated. + message="$(gettext_printf "Loading initial ramdisk ...")" +- sed "s/^/$submenu_indentation/" << EOF +- echo '$(echo "$message" | grub_quote)' +- initrd ${rel_dirname}/${initrd} +-EOF ++ printf ' %s\n' "echo '$(echo "$message" | grub_quote)'" | sed "s/^/$submenu_indentation/" ++ printf ' %s ' 'initrd' | sed "s/^/$submenu_indentation/" ++ for i in ${initrd}; do ++ printf ' %s/%s' "${rel_dirname}" "${i}" ++ done ++ printf '\n' + fi + sed "s/^/$submenu_indentation/" << EOF + } +@@ -189,6 +191,11 @@ while [ "x$list" != "x" ] ; do + linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" + + initrd= ++ for i in intel-ucode.img; do ++ if test -e "${dirname}/${i}" ; then ++ initrd+=" ${i}" ++ fi ++ done + for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \ + "initrd-${version}" "initramfs-${version}.img" \ + "initrd.img-${alt_version}" "initrd-${alt_version}.img" \ +@@ -198,7 +205,7 @@ while [ "x$list" != "x" ] ; do + "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \ + "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do + if test -e "${dirname}/${i}" ; then +- initrd="$i" ++ initrd+=" $i" + break + fi + done +@@ -217,7 +224,7 @@ while [ "x$list" != "x" ] ; do + fi + + if test -n "${initrd}" ; then +- gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2 ++ gettext_printf "Found initrd image(s) in %s:%s\n" "${dirname}" "${initrd}" >&2 + elif test -z "${initramfs}" ; then + # "UUID=" and "ZFS=" magic is parsed by initrd or initramfs. Since there's + # no initrd or builtin initramfs, it can't work here. +-- +2.7.1 + diff --git a/grub-10_linux-detect-archlinux-initramfs.patch b/0003-10_linux-detect-archlinux-initramfs.patch similarity index 100% rename from grub-10_linux-detect-archlinux-initramfs.patch rename to 0003-10_linux-detect-archlinux-initramfs.patch diff --git a/grub-add-GRUB_COLOR_variables.patch b/0004-add-GRUB_COLOR_variables.patch similarity index 100% rename from grub-add-GRUB_COLOR_variables.patch rename to 0004-add-GRUB_COLOR_variables.patch diff --git a/10_archlinux b/10_archlinux deleted file mode 100755 index f86578a..0000000 --- a/10_archlinux +++ /dev/null @@ -1,194 +0,0 @@ -#!/usr/bin/env bash - -## -## grub-mkconfig helper script specific to Arch Linux -## Contributed by "Keshav Amburay" -## Updated on 08 February 2014 -## -## 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. -## - -_FUNC_GRUB_FILE_PRESENT() { - - [[ -z "${GRUB_PLATFORM}" ]] && GRUB_PLATFORM="x86" - - if [[ "${GRUB_PLATFORM}" == "x86" ]]; then - check="--is-x86-linux32" - elif [[ "${GRUB_PLATFORM}" == "i386-xen-pae" ]]; then - check="--is-i386-xen-pae-domu" - elif [[ "${GRUB_PLATFORM}" == "x86_64-xen" ]]; then - check="--is-x86_64-xen-domu" - else - check="--is-${GRUB_PLATFORM}-linux" - fi - - case "${GRUB_PLATFORM}" in - x86) - list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do - if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi - done)" ;; - *) - list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do - if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi - done)" ;; - esac -} - -set -e - -prefix="/usr" -exec_prefix="${prefix}" -datarootdir="/usr/share" -datadir="${datarootdir}" -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" - -[[ "${grub_file}" != "" ]] && _FUNC_GRUB_FILE_PRESENT - -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 || true)" -BOOT_PART_FS="$(${grub_probe} --target="fs" "/boot" 2>/dev/null)" - -ROOT_PART_GRUB_DEVICE="$(${grub_probe} --target=device / || true)" -ROOT_PART_FS="$(${grub_probe} --device ${ROOT_PART_GRUB_DEVICE} --target=fs 2> /dev/null || echo "unknown")" - -if [[ "${GRUB_LINUX_ROOT_DEVICE}" == "" ]]; then - - case "${ROOT_PART_FS}" in - btrfs) - rootsubvol="$(make_system_path_relative_to_its_root /)" - rootsubvol="${rootsubvol#/}" - if [[ "${rootsubvol}" != "" ]]; then - GRUB_LINUX_ROOT_DEVICE="subvol=${rootsubvol}" - fi - ;; - zfs) - rpool="$(${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true)" - bootfs="$(make_system_path_relative_to_its_root / | sed -e "s,@$,,")" - GRUB_LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}" - ;; - esac - - 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 ${list} ; do - - echo "Found linux image: ${_KERNEL_}" >&2 - - basename="$(basename "${_KERNEL_}")" - dirname="$(dirname "${_KERNEL_}")" - REAL_DIR="$(make_system_path_relative_to_its_root "${dirname}")" - - _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} { - $(save_default_entry) - if [ x\$feature_all_video_module = xy ]; then - insmod all_video - fi - 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 ${REAL_DIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS} - echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel initramfs ...' - initrd ${REAL_DIR}/${_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} { - $(save_default_entry) - if [ x\$feature_all_video_module = xy ]; then - insmod all_video - fi - 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 ${REAL_DIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS} - echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel fallback initramfs ...' - initrd ${REAL_DIR}/${_INITRAMFS_FALLBACK_} -} - -EOF - fi - - if [[ ! -e "/boot/${_INITRAMFS_}" ]] && [[ ! -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then -cat << EOF - -menuentry "Arch Linux ${_KERNEL_PKG_} kernel (no initramfs)" ${CLASS} { - $(save_default_entry) - if [ x\$feature_all_video_module = xy ]; then - insmod all_video - fi - 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 ${REAL_DIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS} -} - -EOF - fi - -done diff --git a/PKGBUILD b/PKGBUILD index 8ba47a3..d2ce45c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -9,8 +9,8 @@ _IA32_EFI_IN_ARCH_X64="1" _GRUB_EMU_BUILD="0" _pkgver="2.02" -_GRUB_GIT_TAG="grub-2.02-beta2" -_GRUB_EXTRAS_COMMIT=4a56e2c2cc3d78f12f1788c27669a651071dee49 +_GRUB_GIT_TAG="grub-2.02-beta3" +_GRUB_EXTRAS_COMMIT="f2a079441939eee7251bf141986cdd78946e1d20" _UNIFONT_VER="6.3.20131217" @@ -22,8 +22,8 @@ _UNIFONT_VER="6.3.20131217" pkgname="grub" pkgdesc="GNU GRand Unified Bootloader (2)" -pkgver=2.02.beta2 -pkgrel=6 +pkgver=2.02.beta3 +pkgrel=1 epoch=1 url="https://www.gnu.org/software/grub/" arch=('x86_64' 'i686') @@ -41,7 +41,7 @@ makedepends=('git' 'rsync' 'xz' 'freetype2' 'ttf-dejavu' 'python' 'autogen' depends=('sh' 'xz' 'gettext' 'device-mapper') optdepends=('freetype2: For grub-mkfont usage' 'fuse: For grub-mount usage' - 'dosfstools: For grub-mkrescue FAT FS and EFI support' + 'dosfstools: For grub-mkrescue FAT FS and EFI support' 'efibootmgr: For grub-install EFI support' 'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue' 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' @@ -58,9 +58,9 @@ source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#tag=${_GRUB_GIT_TAG} "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" '0001-Fix-security-issue-when-reading-username-and-passwor.patch' - 'grub-10_linux-detect-archlinux-initramfs.patch' - 'grub-intel-ucode.patch' - 'grub-add-GRUB_COLOR_variables.patch' + '0002-intel-ucode.patch' + '0003-10_linux-detect-archlinux-initramfs.patch' + '0004-add-GRUB_COLOR_variables.patch' '60_memtest86+' 'grub.default' 'grub.cfg') @@ -70,8 +70,8 @@ md5sums=('SKIP' '728b7439ac733a7c0d56049adec364c7' 'SKIP' '9589ec46a04f9bb4d5da987340a4a324' + 'e582a1ca6b06444e891f3b46af13d563' '945527e0de8d384166a4cf23439ae9ee' - 'a678629bc82c4e70c48d28242036d1d7' 'e506ae4a9f9f7d1b765febfa84e10d48' 'be55eabc102f2c60b38ed35c203686d6' 'a03ffd56324520393bf574cefccb893d' @@ -84,80 +84,77 @@ _pkgver() { } prepare() { - cd "${srcdir}/grub-${_pkgver}/" # CVE-2015-8370 patch -Np1 -i ../0001-Fix-security-issue-when-reading-username-and-passwor.patch - + msg "Patch to load Intel microcode" - patch -Np1 -i "${srcdir}/grub-intel-ucode.patch" + patch -Np1 -i "${srcdir}/0002-intel-ucode.patch" echo msg "Patch to detect of Arch Linux initramfs images by grub-mkconfig" - patch -Np1 -i "${srcdir}/grub-10_linux-detect-archlinux-initramfs.patch" + patch -Np1 -i "${srcdir}/0003-10_linux-detect-archlinux-initramfs.patch" echo - + 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" + patch -Np1 -i "${srcdir}/0004-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" - + msg "Fix mkinitcpio 'rw' FS#36275" sed 's| ro | rw |g' -i "${srcdir}/grub-${_pkgver}/util/grub.d/10_linux.in" - + 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 "Pull in latest language files" ./linguas.sh echo - + 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-${_UNIFONT_VER}.bdf" "${srcdir}/grub-${_pkgver}/unifont.bdf" - } _build_grub-common_and_bios() { - msg "Set ARCH dependent variables for bios build" if [[ "${CARCH}" == 'x86_64' ]]; then _EFIEMU="--enable-efiemu" else _EFIEMU="--disable-efiemu" fi - + 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" 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 unset CPPFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS - + cd "${srcdir}/grub-${_pkgver}-bios/" - + msg "Run autogen.sh for bios build" ./autogen.sh echo - + msg "Run ./configure for bios build" ./configure \ --with-platform="pc" \ @@ -183,31 +180,30 @@ _build_grub-common_and_bios() { --disable-silent-rules \ --disable-werror echo - + msg "Run make for bios build" make echo } _build_grub-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 "Unset all compiler FLAGS for ${_EFI_ARCH} efi build" unset CFLAGS unset CPPFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS - + cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/" - + msg "Run autogen.sh for ${_EFI_ARCH} efi build" ./autogen.sh echo - + msg "Run ./configure for ${_EFI_ARCH} efi build" ./configure \ --with-platform="efi" \ @@ -233,31 +229,29 @@ _build_grub-efi() { --disable-silent-rules \ --disable-werror echo - + msg "Run make for ${_EFI_ARCH} efi build" make echo - } _build_grub-emu() { - msg "Copy the source for building the emu part" cp -r "${srcdir}/grub-${_pkgver}/" "${srcdir}/grub-${_pkgver}-emu/" - + msg "Unset all compiler FLAGS for emu build" unset CFLAGS unset CPPFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS - + cd "${srcdir}/grub-${_pkgver}-emu/" - + msg "Run autogen.sh for emu build" ./autogen.sh echo - + msg "Run ./configure for emu build" ./configure \ --with-platform="emu" \ @@ -284,113 +278,102 @@ _build_grub-emu() { --disable-silent-rules \ --disable-werror echo - + msg "Run make for emu build" make echo - } build() { - cd "${srcdir}/grub-${_pkgver}/" - + msg "Build grub bios stuff" _build_grub-common_and_bios echo - + msg "Build grub ${_EFI_ARCH} efi stuff" _build_grub-efi echo - + if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then msg "Build grub i386 efi stuff" _EFI_ARCH="i386" _build_grub-efi echo fi - + if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then msg "Build grub emu stuff" _build_grub-emu echo fi - } _package_grub-common_and_bios() { - cd "${srcdir}/grub-${_pkgver}-bios/" - + msg "Run make install for bios build" make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install echo - + msg "Remove gdb debugging related files for bios build" rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true 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 extra /etc/grub.d/ files" install -D -m0755 "${srcdir}/60_memtest86+" "${pkgdir}/etc/grub.d/60_memtest86+" - + msg "Install /etc/default/grub (used by grub-mkconfig)" install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" - + msg "Install grub.cfg for backup array" install -D -m0644 "${srcdir}/grub.cfg" "${pkgdir}/boot/grub/grub.cfg" - } _package_grub-efi() { - cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/" - + 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_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 - } _package_grub-emu() { - cd "${srcdir}/grub-${_pkgver}-emu/" - + msg "Run make install for emu build" make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install echo - + msg "Remove gdb debugging related files for emu build" rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/*.module || true rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/*.image || true rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/{kernel.exec,gdb_grub,gmodule.pl} || true - } package() { - cd "${srcdir}/grub-${_pkgver}/" - + msg "Package grub ${_EFI_ARCH} efi stuff" _package_grub-efi - + if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then msg "Package grub i386 efi stuff" _EFI_ARCH="i386" _package_grub-efi echo fi - + if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then msg "Package grub emu stuff" _package_grub-emu echo fi - + msg "Package grub bios stuff" _package_grub-common_and_bios - } diff --git a/archlinux_grub_mkconfig_fixes.patch b/archlinux_grub_mkconfig_fixes.patch deleted file mode 100644 index c87a428..0000000 --- a/archlinux_grub_mkconfig_fixes.patch +++ /dev/null @@ -1,143 +0,0 @@ -diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in -index db58ab9..e66e139 100644 ---- a/util/grub-mkconfig.in -+++ b/util/grub-mkconfig.in -@@ -212,6 +212,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 9838720..dbb5dd2 100644 ---- a/util/grub.d/00_header.in -+++ b/util/grub.d/00_header.in -@@ -125,6 +125,14 @@ cat < - ---- - util/getroot.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/util/getroot.c b/util/getroot.c -index 2ad8a55..3afcf96 100644 ---- a/util/getroot.c -+++ b/util/getroot.c -@@ -1322,7 +1322,7 @@ grub_util_get_dev_abstraction (const char *os_dev) - static void - pull_lvm_by_command (const char *os_dev) - { -- char *argv[6]; -+ char *argv[8]; - int fd; - pid_t pid; - FILE *mdadm; -@@ -1351,12 +1351,17 @@ pull_lvm_by_command (const char *os_dev) - - /* execvp has inconvenient types, hence the casts. None of these - strings will actually be modified. */ -+ /* by default PV name is left aligned in 10 character field, meaning that -+ we do not know where name ends. Using dummy --separator disables -+ alignment. We have a single field, so separator itself is not output */ - argv[0] = (char *) "vgs"; - argv[1] = (char *) "--options"; - argv[2] = (char *) "pv_name"; - argv[3] = (char *) "--noheadings"; -- argv[4] = vgname; -- argv[5] = NULL; -+ argv[4] = (char *) "--separator"; -+ argv[5] = (char *) ":"; -+ argv[6] = vgname; -+ argv[7] = NULL; - - pid = exec_pipe (argv, &fd); - free (vgname); -@@ -1376,6 +1381,7 @@ pull_lvm_by_command (const char *os_dev) - while (getline (&buf, &len, mdadm) > 0) - { - char *ptr; -+ /* LVM adds two spaces as standard prefix */ - for (ptr = buf; ptr < buf + 2 && *ptr == ' '; ptr++); - if (*ptr == '\0') - continue; \ No newline at end of file diff --git a/grub-intel-ucode.patch b/grub-intel-ucode.patch deleted file mode 100644 index de6bd28..0000000 --- a/grub-intel-ucode.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index d2e2a8f..f67e50f 100644 ---- a/util/grub.d/10_linux.in -+++ b/util/grub.d/10_linux.in -@@ -65,6 +65,12 @@ case x"$GRUB_FS" in - ;; - esac - -+intel_ucode= -+if test -e "/boot/intel-ucode.img" ; then -+ gettext_printf "Found Intel Microcode image\n" >&2 -+ intel_ucode="$(make_system_path_relative_to_its_root /boot/intel-ucode.img)" -+fi -+ - title_correction_code= - - linux_entry () -@@ -136,7 +142,7 @@ EOF - message="$(gettext_printf "Loading initial ramdisk ...")" - sed "s/^/$submenu_indentation/" << EOF - echo '$(echo "$message" | grub_quote)' -- initrd ${rel_dirname}/${initrd} -+ initrd ${intel_ucode} ${rel_dirname}/${initrd} - EOF - fi - sed "s/^/$submenu_indentation/" << EOF diff --git a/grub.install b/grub.install index 9188b35..cf2e4b5 100644 --- a/grub.install +++ b/grub.install @@ -1,6 +1,3 @@ -infodir="usr/share/info" -filelist=('grub.info' 'grub-dev.info') - post_install() { if [ -f /boot/grub/grub.cfg.pacsave ]; then echo "Copying /boot/grub/grub.cfg.pacsave to /boot/grub/grub.cfg" @@ -11,23 +8,8 @@ post_install() { Generating grub.cfg.example config file... This may fail on some machines running a custom kernel. EOM - + grub-mkconfig -o /boot/grub/grub.cfg.example 2> /dev/null echo "done." - - for file in ${filelist[@]}; do - install-info ${infodir}/${file}.gz ${infodir}/dir 2> /dev/null - done } -post_upgrade() { - for file in ${filelist[@]}; do - install-info ${infodir}/${file}.gz ${infodir}/dir 2> /dev/null - done -} - -pre_remove() { - for file in ${filelist[@]}; do - install-info --delete ${infodir}/${file} ${infodir}/dir 2> /dev/null - done -}