diff options
author | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2015-10-14 08:55:09 -0300 |
---|---|---|
committer | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2015-10-14 09:55:53 -0300 |
commit | c42c5841c80e2181fcb12724784fbdae0324652b (patch) | |
tree | 0307d289e34e2e68823d43740af2a0f0eb3f1bdc /libre/grub | |
parent | 6897792629499d83ca41ac4527bff196b12222b6 (diff) | |
download | abslibre-c42c5841c80e2181fcb12724784fbdae0324652b.tar.gz abslibre-c42c5841c80e2181fcb12724784fbdae0324652b.tar.bz2 abslibre-c42c5841c80e2181fcb12724784fbdae0324652b.zip |
grub: rebuild pkg
Diffstat (limited to 'libre/grub')
-rw-r--r-- | libre/grub/PKGBUILD | 962 |
1 files changed, 463 insertions, 499 deletions
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD index df37792e4..e7a5806b5 100644 --- a/libre/grub/PKGBUILD +++ b/libre/grub/PKGBUILD @@ -4,31 +4,6 @@ # Maintainer: André Silva <emulatorman@parabola.nu> # Contributor: Márcio Silva <coadde@parabola.nu> -## "1" to enable IA32-EFI build in Arch x86_64, "0" to disable -_IA32_EFI_IN_ARCH_X64="1" - -## "1" to enable IA32-XEN build in Arch x86_64, "0" to disable -_IA32_XEN_IN_ARCH_X64="1" - -## "1" to enable EMU build (x86_64 and i686 only), "0" to disable -_GRUB_EMU_BUILD="0" - -_pkgver="2.02" -_GRUB_GIT_TAG="grub-2.02-beta2" - -_UNIFONT_VER="6.3.20131217" - -[[ "${CARCH}" == "armv7h" ]] && _EFI_ARCH="arm" -[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64" -[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386" - -[[ "${CARCH}" == "x86_64" ]] && _XEN_ARCH="x86_64" -[[ "${CARCH}" == "i686" ]] && _XEN_ARCH="i386" - -[[ "${CARCH}" == "armv7h" ]] && _EMU_ARCH="arm" -[[ "${CARCH}" == "x86_64" ]] && _EMU_ARCH="x86_64" -[[ "${CARCH}" == "i686" ]] && _EMU_ARCH="i386" - ### ARM_UBOOT - loadaddr ### # 0x00007fc0 - versatile[versatile_ab/versatile_pb] @@ -50,7 +25,8 @@ _UNIFONT_VER="6.3.20131217" # 0x80200000 - am335x_bur[tseries]/am335x_ti[am335x_evm/omap3_beagle/pengwyn]/ti814x_evm # 0x80800000 - * flea3/mx31ads/mx35pdk/qong/woodburn/woodburn_sd # 0x81000000 - ti814x_evm * mx25pdk/omap3_logic/ti816x_evm/tx25 -# 0x82000000 - am335x_ti[am335x_evm/omap3_beagle/pcm051/pengwyn]/am3517[am3517_crane/am3517_evm]/mcx/mx6[gw_ventana[gwventana]/mx6cuboxi/mx6qarm2[mx6dlarm2]/mx6qsabreauto[mx6dlsabreauto]/mx6sabresd[mx6dlsabresd/mx6qsabresd]] +# 0x82000000 - am335x_ti[am335x_evm/omap3_beagle/pcm051/pengwyn]/am3517[am3517_crane/am3517_evm]/mcx +# /mx6[gw_ventana[gwventana]/mx6cuboxi/mx6qarm2[mx6dlarm2]/mx6qsabreauto[mx6dlsabreauto]/mx6sabresd[mx6dlsabresd/mx6qsabresd]] # /omap3_ti[devkit8000] # * bav335x/cm_t335/cm_t3517/dig297/omap3_evm/omap3_igep00x0/omap3_mvblx/omap3_sdp3430/omap3_zoom1/tao3530 # 0x84000000 - am335x_baltos @@ -365,29 +341,56 @@ _UNIFONT_VER="6.3.20131217" # zmx25 +## '1' to enable IA32-EFI build in Arch x86_64, '0' to disable +_IA32_EFI_IN_ARCH_X64='1' + +## '1' to enable IA32-XEN build in Arch x86_64, "0" to disable +_IA32_XEN_IN_ARCH_X64='1' + +## '1' to enable EMU build (x86_64 and i686 only), "0" to disable +_GRUB_EMU_BUILD='0' + +_pkgver='2.02' +_GRUB_GIT_TAG='grub-2.02-beta2' + +_UNIFONT_VER='6.3.20131217' + +[[ "${CARCH}" = 'armv7h' ]] && _EFI_ARCH='arm' +[[ "${CARCH}" = 'x86_64' ]] && _EFI_ARCH='x86_64' +[[ "${CARCH}" = 'i686' ]] && _EFI_ARCH='i386' + +[[ "${CARCH}" = 'x86_64' ]] && _XEN_ARCH='x86_64' +[[ "${CARCH}" = 'i686' ]] && _XEN_ARCH='i386' + +[[ "${CARCH}" = 'armv7h' ]] && _EMU_ARCH='arm' +[[ "${CARCH}" = 'x86_64' ]] && _EMU_ARCH='x86_64' +[[ "${CARCH}" = 'i686' ]] && _EMU_ARCH='i386' + pkgbase='grub' pkgname=('grub') -pkgdesc="GNU GRand Unified Bootloader (2), (Parabola rebranded)" -pkgver=2.02.beta2 -pkgrel=5.parabola6 -epoch="1" -url="https://www.gnu.org/software/grub/" +[[ $CARCH = armv7h ]] && pkgname+=('grub-am335x_bone') +pkgdesc='GNU GRand Unified Bootloader (2), (Parabola rebranded)' +pkgver='2.02.beta2' +pkgrel='5.parabola7' +epoch='1' +url='https://www.gnu.org/software/grub/' arch=('x86_64' 'i686' 'armv7h') license=('GPL3') backup=('etc/default/grub' 'etc/grub.d/40_custom') install="${pkgname}.install" options=('!makeflags') - -conflicts=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}" 'grub-legacy' 'grub-parabola') -replaces=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}" 'grub-parabola') -provides=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") - +depends=('sh' 'xz' 'gettext' 'device-mapper') makedepends=('git' 'rsync' 'xz' 'freetype2' 'ttf-dejavu' 'python' 'autogen' 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse') -if [[ "${CARCH}" == "x86_64" ]] || [[ "${CARCH}" == "i686" ]]; then + +if [[ "${CARCH}" = 'x86_64' ]] || [[ "${CARCH}" = 'i686' ]]; then makedepends+=('xen') fi -depends=('sh' 'xz' 'gettext' 'device-mapper') + +if [[ "${_GRUB_EMU_BUILD}" = '1' ]]; then + makedepends+=('libusbx' 'sdl') +fi + optdepends=('freetype2: For grub-mkfont usage' 'fuse: For grub-mount usage' 'dosfstools: For grub-mkrescue FAT FS and EFI support' @@ -395,14 +398,15 @@ optdepends=('freetype2: For grub-mkfont usage' 'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue' 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' 'mtools: For grub-mkrescue FAT FS support') -if [[ "${CARCH}" == "i686" ]]; then - optdepends+=('linux-libre-xen: For boot support into XEN server') -fi -if [[ "${_GRUB_EMU_BUILD}" == "1" ]] && [[ "${CARCH}" != "armv7h" ]]; then - makedepends+=('libusbx' 'sdl') - optdepends+=('libusbx: For grub-emu USB support' - 'sdl: For grub-emu SDL support') +if [[ "${CARCH}" = 'x86_64' ]] || [[ "${CARCH}" = 'i686' ]]; then + provides=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") + conflicts=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}" 'grub-legacy' 'grub-parabola') + replaces=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}" 'grub-parabola') +elif [[ "$CARCH" = 'armv7h' ]]; then + provides=('grub-common' 'grub-emu' "grub-efi-${_EFI_ARCH}") + conflicts=('grub-common' 'grub-emu' "grub-efi-${_EFI_ARCH}") + replaces=('grub-common' 'grub-emu' "grub-efi-${_EFI_ARCH}") fi source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#tag=${_GRUB_GIT_TAG}" @@ -413,7 +417,7 @@ source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#tag=${_GRUB_GIT_TAG} 'grub-add-GRUB_COLOR_variables.patch' '60_memtest86+' 'grub.default' - 'grub-10_linux-20_linux_xen-detect-devicetree-dir.patch' + 'grub-10_linux-20_linux_xen-detect-devicetree-am335x_bone+am335x_boneblack.patch' 'grub-10_linux-20_linux_xen-rebrand-free-distros.patch') md5sums=('SKIP' @@ -424,10 +428,10 @@ md5sums=('SKIP' 'e506ae4a9f9f7d1b765febfa84e10d48' 'be55eabc102f2c60b38ed35c203686d6' '8d1dd54ae4a1b550c097e056892ce953' - '4a73f776bbc5cb26969dc7ce3588da78' + '' 'e0133ad89ab3014210d4599f396a556e') -validpgpkeys=('95D2E9AB8740D8046387FD151A09227B1F435A33') #Paul Hardy +validpgpkeys=('95D2E9AB8740D8046387FD151A09227B1F435A33') #Paul Hardy _pkgver() { cd "${srcdir}/grub-${_pkgver}/" @@ -436,79 +440,64 @@ _pkgver() { prepare() { cd "${srcdir}/grub-${_pkgver}/" - - msg "Patch to detect of Parabola GNU/Linux-libre initramfs images by grub-mkconfig" + + msg 'Patch to detect of Parabola GNU/Linux-libre initramfs images by grub-mkconfig' patch -Np1 -i "${srcdir}/grub-10_linux-20_linux_xen-detect-parabola-initramfs.patch" - echo - - msg "Patch to enable GRUB_COLOR_* variables in grub-mkconfig" + + 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" + + 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 "Patch to detect devicetree files (dtb)" - patch -Np1 -i "${srcdir}/grub-10_linux-20_linux_xen-detect-devicetree-dir.patch" - echo - - msg "Rebranding for some free distros" + + msg 'Rebranding for some free distros' patch -Np1 -i "${srcdir}/grub-10_linux-20_linux_xen-rebrand-free-distros.patch" - echo - + msg "Fix mkinitcpio 'rw' FS#36275" sed 's| ro | rw |g' -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" + + # 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" + + msg 'Pull in latest language files' ./linguas.sh - echo - - msg "Remove not 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" + + 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" - -# msg "Add the grub-extra sources for BIOS build" -# install -d "${srcdir}/grub-${_pkgver}/grub-extras" -# cp -r "${srcdir}/grub-extras/915resolution" "${srcdir}/grub-${_pkgver}/grub-extras/915resolution" # failed in compilation -# export GRUB_CONTRIB="${srcdir}/grub-${_pkgver}/grub-extras/" + + # DISABLED TEMPORARY, due fail to build. + # msg "Add the grub-extra sources for BIOS build" + # install -d "${srcdir}/grub-${_pkgver}/grub-extras" + # cp -r "${srcdir}/grub-extras/915resolution" "${srcdir}/grub-${_pkgver}/grub-extras/915resolution" # failed in compilation + # export GRUB_CONTRIB="${srcdir}/grub-${_pkgver}/grub-extras/" } -_build_grub-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 "Unset all compiler FLAGS for BIOS build" +_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}-bios/" - - msg "Run autogen.sh for BIOS build" + + cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/" + + msg 'Run autogen.sh for ${_EFI_ARCH} EFI build' ./autogen.sh - echo - - msg "Run ./configure for BIOS build" + + msg "Run ./configure for ${_EFI_ARCH} EFI build" ./configure \ - --with-platform="pc" \ - --target="i386" \ - "${_EFIEMU}" \ + --with-platform="efi" \ + --target="${_EFI_ARCH}" \ + --disable-efiemu \ --enable-mm-debug \ --enable-nls \ --enable-device-mapper \ @@ -528,35 +517,32 @@ _build_grub-bios() { --with-grubdir="grub" \ --disable-silent-rules \ --disable-werror - echo - - msg "Run make for BIOS build" + + msg "Run make for ${_EFI_ARCH} EFI build" make - echo } -_build_grub-uboot() { - msg "Copy the source for building the U-Boot part" - cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-uboot" - cd "${srcdir}/grub-${_pkgver}-uboot/" - - msg "Unset all compiler FLAGS for bios build" +_build_grub-xen() { + msg "Copy the source for building the ${_XEN_ARCH} XEN part" + cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-xen-${_XEN_ARCH}" + cd "${srcdir}/grub-${_pkgver}-xen-${_XEN_ARCH}/" + + msg "Unset all compiler FLAGS for ${_XEN_ARCH} XEN build" unset CFLAGS unset CPPFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS - - cd "${srcdir}/grub-${_pkgver}-uboot/" - - msg "Run autogen.sh for U-Boot build" + + cd "${srcdir}/grub-${_pkgver}-xen-${_XEN_ARCH}/" + + msg "Run autogen.sh for ${_XEN_ARCH} XEN build" ./autogen.sh - echo - - msg "Run ./configure for U-Boot build" + + msg "Run ./configure for ${_XEN_ARCH} XEN build" ./configure \ - --with-platform="uboot" \ - --target="arm" \ + --with-platform='xen' \ + --target="${_XEN_ARCH}" \ --disable-efiemu \ --enable-mm-debug \ --enable-nls \ @@ -565,48 +551,52 @@ _build_grub-uboot() { --enable-boot-time \ --enable-grub-mkfont \ --enable-grub-mount \ - --prefix="/usr" \ - --bindir="/usr/bin" \ - --sbindir="/usr/bin" \ - --mandir="/usr/share/man" \ - --infodir="/usr/share/info" \ - --datarootdir="/usr/share" \ - --sysconfdir="/etc" \ - --program-prefix="" \ - --with-bootdir="/boot" \ - --with-grubdir="grub" \ + --prefix='/usr' \ + --bindir='/usr/bin' \ + --sbindir='/usr/bin' \ + --mandir='/usr/share/man' \ + --infodir='/usr/share/info' \ + --datarootdir='/usr/share' \ + --sysconfdir='/etc' \ + --program-prefix='' \ + --with-bootdir='/boot' \ + --with-grubdir='grub' \ --disable-silent-rules \ --disable-werror - echo - - msg "Run make for U-Boot build" + + msg "Run make for ${_XEN_ARCH} XEN build" make - echo } -_build_grub-qemu() { - msg "Copy the source for building the QEMU part" - cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-qemu" - cd "${srcdir}/grub-${_pkgver}-qemu/" - - msg "Unset all compiler FLAGS for QEMU build" +_build_grub-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 'Unset all compiler FLAGS for BIOS build' unset CFLAGS unset CPPFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS + + cd "${srcdir}/grub-${_pkgver}-bios/" - cd "${srcdir}/grub-${_pkgver}-qemu/" - - msg "Run autogen.sh for QEMU build" + msg 'Run autogen.sh for BIOS build' ./autogen.sh - echo - - msg "Run ./configure for QEMU build" + + msg 'Run ./configure for BIOS build' ./configure \ - --with-platform="qemu" \ - --target="i386" \ - --disable-efiemu \ + --with-platform='pc' \ + --target='i386' \ + "${_EFIEMU}" \ --enable-mm-debug \ --enable-nls \ --enable-device-mapper \ @@ -614,47 +604,44 @@ _build_grub-qemu() { --enable-boot-time \ --enable-grub-mkfont \ --enable-grub-mount \ - --prefix="/usr" \ - --bindir="/usr/bin" \ - --sbindir="/usr/bin" \ - --mandir="/usr/share/man" \ - --infodir="/usr/share/info" \ - --datarootdir="/usr/share" \ - --sysconfdir="/etc" \ - --program-prefix="" \ - --with-bootdir="/boot" \ - --with-grubdir="grub" \ + --prefix='/usr' \ + --bindir='/usr/bin' \ + --sbindir='/usr/bin' \ + --mandir='/usr/share/man' \ + --infodir='/usr/share/info' \ + --datarootdir='/usr/share' \ + --sysconfdir='/etc' \ + --program-prefix='' \ + --with-bootdir='/boot' \ + --with-grubdir='grub' \ --disable-silent-rules \ --disable-werror - echo - - msg "Run make for QEMU build" + + msg 'Run make for BIOS build' make - echo } -_build_grub-ieee1275() { - msg "Copy the source for building the IEEE1275 (OpenFirmware) part" - cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-ieee1275" - cd "${srcdir}/grub-${_pkgver}-ieee1275/" - - msg "Unset all compiler FLAGS for IEEE1275 (OpenFirmware) build" +_build_grub-qemu() { + msg 'Copy the source for building the QEMU part' + cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-qemu" + cd "${srcdir}/grub-${_pkgver}-qemu/" + + msg 'Unset all compiler FLAGS for QEMU build' unset CFLAGS unset CPPFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS - - cd "${srcdir}/grub-${_pkgver}-ieee1275/" - - msg "Run autogen.sh for IEEE1275 (OpenFirmware) build" + + cd "${srcdir}/grub-${_pkgver}-qemu/" + + msg 'Run autogen.sh for QEMU build' ./autogen.sh - echo - - msg "Run ./configure for IEEE1275 (OpenFirmware) build" + + msg 'Run ./configure for QEMU build' ./configure \ - --with-platform="ieee1275" \ - --target="i386" \ + --with-platform='qemu' \ + --target='i386' \ --disable-efiemu \ --enable-mm-debug \ --enable-nls \ @@ -663,47 +650,44 @@ _build_grub-ieee1275() { --enable-boot-time \ --enable-grub-mkfont \ --enable-grub-mount \ - --prefix="/usr" \ - --bindir="/usr/bin" \ - --sbindir="/usr/bin" \ - --mandir="/usr/share/man" \ - --infodir="/usr/share/info" \ - --datarootdir="/usr/share" \ - --sysconfdir="/etc" \ - --program-prefix="" \ - --with-bootdir="/boot" \ - --with-grubdir="grub" \ + --prefix='/usr' \ + --bindir='/usr/bin' \ + --sbindir='/usr/bin' \ + --mandir='/usr/share/man' \ + --infodir='/usr/share/info' \ + --datarootdir='/usr/share' \ + --sysconfdir='/etc' \ + --program-prefix='' \ + --with-bootdir='/boot' \ + --with-grubdir='grub' \ --disable-silent-rules \ --disable-werror - echo - - msg "Run make for IEEE1275 (OpenFirmware) build" + + msg 'Run make for QEMU build' make - echo } -_build_grub-libreboot() { - msg "Copy the source for building the Libreboot part" - cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-libreboot" - cd "${srcdir}/grub-${_pkgver}-libreboot/" - - msg "Unset all compiler FLAGS for Libreboot build" +_build_grub-ieee1275() { + msg 'Copy the source for building the IEEE1275 (OpenFirmware) part' + cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-ieee1275" + cd "${srcdir}/grub-${_pkgver}-ieee1275/" + + msg 'Unset all compiler FLAGS for IEEE1275 (OpenFirmware) build' unset CFLAGS unset CPPFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS - - cd "${srcdir}/grub-${_pkgver}-libreboot/" - - msg "Run autogen.sh for Libreboot build" + + cd "${srcdir}/grub-${_pkgver}-ieee1275/" + + msg 'Run autogen.sh for IEEE1275 (OpenFirmware) build' ./autogen.sh - echo - - msg "Run ./configure for Libreboot build" + + msg 'Run ./configure for IEEE1275 (OpenFirmware) build' ./configure \ - --with-platform="coreboot" \ - --target="i386" \ + --with-platform='ieee1275' \ + --target='i386' \ --disable-efiemu \ --enable-mm-debug \ --enable-nls \ @@ -712,47 +696,44 @@ _build_grub-libreboot() { --enable-boot-time \ --enable-grub-mkfont \ --enable-grub-mount \ - --prefix="/usr" \ - --bindir="/usr/bin" \ - --sbindir="/usr/bin" \ - --mandir="/usr/share/man" \ - --infodir="/usr/share/info" \ - --datarootdir="/usr/share" \ - --sysconfdir="/etc" \ - --program-prefix="" \ - --with-bootdir="/boot" \ - --with-grubdir="grub" \ + --prefix='/usr' \ + --bindir='/usr/bin' \ + --sbindir='/usr/bin' \ + --mandir='/usr/share/man' \ + --infodir='/usr/share/info' \ + --datarootdir='/usr/share' \ + --sysconfdir='/etc' \ + --program-prefix='' \ + --with-bootdir='/boot' \ + --with-grubdir='grub' \ --disable-silent-rules \ --disable-werror - echo - - msg "Run make for Libreboot build" + + msg 'Run make for IEEE1275 (OpenFirmware) build' make - echo } -_build_grub-multiboot() { - msg "Copy the source for building the Multiboot part" - cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-multiboot" - cd "${srcdir}/grub-${_pkgver}-multiboot/" - - msg "Unset all compiler FLAGS for Multiboot build" +_build_grub-libreboot() { + msg 'Copy the source for building the Libreboot part' + cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-libreboot" + cd "${srcdir}/grub-${_pkgver}-libreboot/" + + msg 'Unset all compiler FLAGS for Libreboot build' unset CFLAGS unset CPPFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS - - cd "${srcdir}/grub-${_pkgver}-multiboot/" - - msg "Run autogen.sh for Multiboot build" + + cd "${srcdir}/grub-${_pkgver}-libreboot/" + + msg 'Run autogen.sh for Libreboot build' ./autogen.sh - echo - - msg "Run ./configure for Multiboot build" + + msg 'Run ./configure for Libreboot build' ./configure \ - --with-platform="multiboot" \ - --target="i386" \ + --with-platform='coreboot' \ + --target='i386' \ --disable-efiemu \ --enable-mm-debug \ --enable-nls \ @@ -761,47 +742,44 @@ _build_grub-multiboot() { --enable-boot-time \ --enable-grub-mkfont \ --enable-grub-mount \ - --prefix="/usr" \ - --bindir="/usr/bin" \ - --sbindir="/usr/bin" \ - --mandir="/usr/share/man" \ - --infodir="/usr/share/info" \ - --datarootdir="/usr/share" \ - --sysconfdir="/etc" \ - --program-prefix="" \ - --with-bootdir="/boot" \ - --with-grubdir="grub" \ + --prefix='/usr' \ + --bindir='/usr/bin' \ + --sbindir='/usr/bin' \ + --mandir='/usr/share/man' \ + --infodir='/usr/share/info' \ + --datarootdir='/usr/share' \ + --sysconfdir='/etc' \ + --program-prefix='' \ + --with-bootdir='/boot' \ + --with-grubdir='grub' \ --disable-silent-rules \ --disable-werror - echo - - msg "Run make for Multiboot build" + + msg 'Run make for Libreboot 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" +_build_grub-multiboot() { + msg 'Copy the source for building the Multiboot part' + cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-multiboot" + cd "${srcdir}/grub-${_pkgver}-multiboot/" + + msg 'Unset all compiler FLAGS for Multiboot 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" + + cd "${srcdir}/grub-${_pkgver}-multiboot/" + + msg 'Run autogen.sh for Multiboot build' ./autogen.sh - echo - - msg "Run ./configure for ${_EFI_ARCH} EFI build" + + msg 'Run ./configure for Multiboot build' ./configure \ - --with-platform="efi" \ - --target="${_EFI_ARCH}" \ + --with-platform='multiboot' \ + --target='i386' \ --disable-efiemu \ --enable-mm-debug \ --enable-nls \ @@ -810,215 +788,215 @@ _build_grub-efi() { --enable-boot-time \ --enable-grub-mkfont \ --enable-grub-mount \ - --prefix="/usr" \ - --bindir="/usr/bin" \ - --sbindir="/usr/bin" \ - --mandir="/usr/share/man" \ - --infodir="/usr/share/info" \ - --datarootdir="/usr/share" \ - --sysconfdir="/etc" \ - --program-prefix="" \ - --with-bootdir="/boot" \ - --with-grubdir="grub" \ + --prefix='/usr' \ + --bindir='/usr/bin' \ + --sbindir='/usr/bin' \ + --mandir='/usr/share/man' \ + --infodir='/usr/share/info' \ + --datarootdir='/usr/share' \ + --sysconfdir='/etc' \ + --program-prefix='' \ + --with-bootdir='/boot' \ + --with-grubdir='grub' \ --disable-silent-rules \ --disable-werror - echo - - msg "Run make for ${_EFI_ARCH} EFI build" + + msg 'Run make for Multiboot build' make - echo } -_build_grub-xen() { - msg "Copy the source for building the ${_XEN_ARCH} XEN part" - cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-xen-${_XEN_ARCH}" - cd "${srcdir}/grub-${_pkgver}-xen-${_XEN_ARCH}/" - - msg "Unset all compiler FLAGS for ${_XEN_ARCH} XEN build" +_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}-xen-${_XEN_ARCH}/" - - msg "Run autogen.sh for ${_XEN_ARCH} XEN build" + + cd "${srcdir}/grub-${_pkgver}-emu/" + + msg 'Run autogen.sh for emu build' ./autogen.sh - echo - - msg "Run ./configure for ${_XEN_ARCH} XEN build" + + msg 'Run ./configure for emu build' ./configure \ - --with-platform="xen" \ - --target="${_XEN_ARCH}" \ - --disable-efiemu \ + --with-platform='emu' \ + --target="${_EMU_ARCH}" \ --enable-mm-debug \ --enable-nls \ --enable-device-mapper \ --enable-cache-stats \ - --enable-boot-time \ --enable-grub-mkfont \ --enable-grub-mount \ - --prefix="/usr" \ - --bindir="/usr/bin" \ - --sbindir="/usr/bin" \ - --mandir="/usr/share/man" \ - --infodir="/usr/share/info" \ - --datarootdir="/usr/share" \ - --sysconfdir="/etc" \ - --program-prefix="" \ - --with-bootdir="/boot" \ - --with-grubdir="grub" \ + --enable-grub-emu-usb=no \ + --enable-grub-emu-sdl=no \ + --disable-grub-emu-pci \ + --prefix='/usr' \ + --bindir='/usr/bin' \ + --sbindir='/usr/bin' \ + --mandir='/usr/share/man' \ + --infodir='/usr/share/info' \ + --datarootdir='/usr/share' \ + --sysconfdir='/etc' \ + --program-prefix='' \ + --with-bootdir='/boot' \ + --with-grubdir='grub' \ --disable-silent-rules \ --disable-werror - echo - - msg "Run make for ${_XEN_ARCH} XEN build" + + msg 'Run make for emu 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" +_build_grub-uboot_am335x-bone() { + msg "Copy the source for building the U-Boot (am335x-bone) part" + cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-uboot_am335x-bone" + cd "${srcdir}/grub-${_pkgver}-uboot_am335x-bone/" + + msg 'Patch to detect am335x-bone device tree blob file (dtb)' + patch -Np1 -i "${srcdir}/grub-10_linux-20_linux_xen-detect-devicetree-dir.patch" + + msg 'change memory to am335x-bone support' + sed -i 's|0x08000000|0x82000000| + ' file + + msg 'Unset all compiler FLAGS for U-Boot (am335x-bone) build' unset CFLAGS unset CPPFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS - - cd "${srcdir}/grub-${_pkgver}-emu/" - - msg "Run autogen.sh for emu build" + + cd "${srcdir}/grub-${_pkgver}-uboot/" + + msg 'Run autogen.sh for U-Boot (am335x-bone) build' ./autogen.sh - echo - - msg "Run ./configure for emu build" + + msg 'Run ./configure for U-Boot (am335x-bone) build' ./configure \ - --with-platform="emu" \ - --target="${_EMU_ARCH}" \ + --with-platform='uboot' \ + --target='arm' \ + --disable-efiemu \ --enable-mm-debug \ --enable-nls \ --enable-device-mapper \ --enable-cache-stats \ + --enable-boot-time \ --enable-grub-mkfont \ --enable-grub-mount \ - --enable-grub-emu-usb=no \ - --enable-grub-emu-sdl=no \ - --disable-grub-emu-pci \ - --prefix="/usr" \ - --bindir="/usr/bin" \ - --sbindir="/usr/bin" \ - --mandir="/usr/share/man" \ - --infodir="/usr/share/info" \ - --datarootdir="/usr/share" \ - --sysconfdir="/etc" \ - --program-prefix="" \ - --with-bootdir="/boot" \ - --with-grubdir="grub" \ + --prefix='/usr' \ + --bindir='/usr/bin' \ + --sbindir='/usr/bin' \ + --mandir='/usr/share/man' \ + --infodir='/usr/share/info' \ + --datarootdir='/usr/share' \ + --sysconfdir='/etc' \ + --program-prefix='' \ + --with-bootdir='/boot' \ + --with-grubdir='grub' \ --disable-silent-rules \ --disable-werror - echo - - msg "Run make for emu build" + + msg 'Run make for U-Boot (am335x-bone) build' make - echo } build() { cd "${srcdir}/grub-${_pkgver}/" - - if [[ "${CARCH}" == "x86_64" ]] || [[ "${CARCH}" == "i686" ]]; then - msg "Build grub BIOS stuff" + + if [[ "${CARCH}" = 'x86_64' ]] || [[ "${CARCH}" = 'i686' ]] || [[ "${CARCH}" = 'armv7h' ]]; then + msg "Build grub ${_EFI_ARCH} EFI stuff" + _build_grub-efi + + if [[ "${CARCH}" = 'x86_64' ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" = '1' ]]; then + msg 'Build grub i386 EFI stuff' + _EFI_ARCH='i386' _build_grub-efi + fi + fi + + if [[ "${CARCH}" = 'x86_64' ]] || [[ "${CARCH}" = 'i686' ]]; then + msg "Build grub ${_XEN_ARCH} XEN stuff" + _build_grub-xen + + if [[ "${CARCH}" = 'x86_64' ]] && [[ "${_IA32_XEN_IN_ARCH_X64}" = '1' ]]; then + msg 'Build grub i386 XEN stuff' + _XEN_ARCH='i386' _build_grub-xen + fi + + msg 'Build grub BIOS stuff' _build_grub-bios - echo - - msg "Build grub QEMU stuff" + + msg 'Build grub QEMU stuff' _build_grub-qemu - echo - - msg "Build grub IEEE1275 (OpenFirmware) stuff" + + msg 'Build grub IEEE1275 (OpenFirmware) stuff' _build_grub-ieee1275 - echo - - msg "Build grub Libreboot stuff" + + msg 'Build grub Libreboot stuff' _build_grub-libreboot - echo - - msg "Build grub Multiboot stuff" + + msg 'Build grub Multiboot stuff' _build_grub-multiboot - echo msg "Build grub ${_XEN_ARCH} XEN stuff" _build_grub-xen - echo - - if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_XEN_IN_ARCH_X64}" == "1" ]]; then - msg "Build grub i386 XEN stuff" - _XEN_ARCH="i386" _build_grub-xen - echo - fi - elif [[ "${CARCH}" == "armv7h" ]]; then - msg "Build grub U-Boot stuff" - _build_grub-uboot - echo - fi - - if [[ "${CARCH}" == "x86_64" ]] || [[ "${CARCH}" == "i686" ]] || [[ "${CARCH}" == "armv7h" ]]; then - 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 + elif [[ "${CARCH}" = 'armv7h' ]]; then + msg 'Build grub U-Boot for BeagleBone and BeagleBone Black (am335x-bone) stuff' + _build_grub-uboot_am335x-bone fi - - if [[ "${_GRUB_EMU_BUILD}" == "1" ]] && [[ "${CARCH}" != "armv7h" ]]; then - msg "Build grub emu stuff" + + if [[ "${_GRUB_EMU_BUILD}" = '1' ]]; then + msg 'Build grub emu stuff' _build_grub-emu - echo fi } +_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 + + 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-xen() { + cd "${srcdir}/grub-${_pkgver}-xen-${_XEN_ARCH}/" + + msg "Run make install for ${_XEN_ARCH} XEN build" + make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install + + msg "Remove gdb debugging related files for ${_XEN_ARCH} XEN build" + rm -f "${pkgdir}/usr/lib/grub/${_XEN_ARCH}-xen"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/${_XEN_ARCH}-xen"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/${_XEN_ARCH}-xen"/{kernel.exec,gdb_grub,gmodule.pl} || true +} + _package_grub-bios() { cd "${srcdir}/grub-${_pkgver}-bios/" - - msg "Run make install for BIOS build" + + 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" + + 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 } -_package_grub-uboot() { - cd "${srcdir}/grub-${_pkgver}-uboot/" - - msg "Run make install for U-Boot build" - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - echo - - msg "Remove gdb debugging related files for U-Boot build" - rm -f "${pkgdir}/usr/lib/grub/arm-uboot"/*.module || true - rm -f "${pkgdir}/usr/lib/grub/arm-uboot"/*.image || true - rm -f "${pkgdir}/usr/lib/grub/arm-uboot"/{kernel.exec,gdb_grub,gmodule.pl} || true -} - _package_grub-qemu() { cd "${srcdir}/grub-${_pkgver}-qemu/" - - msg "Run make install for QEMU build" + + msg 'Run make install for QEMU build' make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - echo - - msg "Remove gdb debugging related files for QEMU build" + + msg 'Remove gdb debugging related files for QEMU build' rm -f "${pkgdir}/usr/lib/grub/i386-qemu"/*.module || true rm -f "${pkgdir}/usr/lib/grub/i386-qemu"/*.image || true rm -f "${pkgdir}/usr/lib/grub/i386-qemu"/{kernel.exec,gdb_grub,gmodule.pl} || true @@ -1026,12 +1004,11 @@ _package_grub-qemu() { _package_grub-ieee1275() { cd "${srcdir}/grub-${_pkgver}-ieee1275/" - - msg "Run make install for IEEE1275 (OpenFirmware) build" + + msg 'Run make install for IEEE1275 (OpenFirmware) build' make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - echo - - msg "Remove gdb debugging related files for IEEE1275 (OpenFirmware) build" + + msg 'Remove gdb debugging related files for IEEE1275 (OpenFirmware) build' rm -f "${pkgdir}/usr/lib/grub/i386-ieee1275"/*.module || true rm -f "${pkgdir}/usr/lib/grub/i386-ieee1275"/*.image || true rm -f "${pkgdir}/usr/lib/grub/i386-ieee1275"/{kernel.exec,gdb_grub,gmodule.pl} || true @@ -1039,12 +1016,11 @@ _package_grub-ieee1275() { _package_grub-libreboot() { cd "${srcdir}/grub-${_pkgver}-libreboot/" - - msg "Run make install for Libreboot build" + + msg 'Run make install for Libreboot build' make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - echo - - msg "Remove gdb debugging related files for Libreboot build" + + msg 'Remove gdb debugging related files for Libreboot build' rm -f "${pkgdir}/usr/lib/grub/i386-coreboot"/*.module || true rm -f "${pkgdir}/usr/lib/grub/i386-coreboot"/*.image || true rm -f "${pkgdir}/usr/lib/grub/i386-coreboot"/{kernel.exec,gdb_grub,gmodule.pl} || true @@ -1052,117 +1028,105 @@ _package_grub-libreboot() { _package_grub-multiboot() { cd "${srcdir}/grub-${_pkgver}-multiboot/" - - msg "Run make install for Multiboot build" + + msg 'Run make install for Multiboot build' make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - echo - - msg "Remove gdb debugging related files for Multiboot build" + + msg 'Remove gdb debugging related files for Multiboot build' rm -f "${pkgdir}/usr/lib/grub/i386-multiboot"/*.module || true rm -f "${pkgdir}/usr/lib/grub/i386-multiboot"/*.image || true rm -f "${pkgdir}/usr/lib/grub/i386-multiboot"/{kernel.exec,gdb_grub,gmodule.pl} || true } -_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-xen() { - cd "${srcdir}/grub-${_pkgver}-xen-${_XEN_ARCH}/" - - msg "Run make install for ${_XEN_ARCH} XEN build" - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - echo - - msg "Remove gdb debugging related files for ${_XEN_ARCH} XEN build" - rm -f "${pkgdir}/usr/lib/grub/${_XEN_ARCH}-xen"/*.module || true - rm -f "${pkgdir}/usr/lib/grub/${_XEN_ARCH}-xen"/*.image || true - rm -f "${pkgdir}/usr/lib/grub/${_XEN_ARCH}-xen"/{kernel.exec,gdb_grub,gmodule.pl} || true -} - _package_grub-emu() { cd "${srcdir}/grub-${_pkgver}-emu/" - - msg "Run make install for emu build" + + 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" + + 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() { +package_grub() { + if [[ "${CARCH}" = 'i686' ]]; then + optdepends+=('linux-libre-xen: For boot support into XEN server') + fi + + if [[ "${_GRUB_EMU_BUILD}" = '1' ]]; then + optdepends+=('libusbx: For grub-emu USB support' + 'sdl: For grub-emu SDL support') + fi + cd "${srcdir}/grub-${_pkgver}/" - if [[ "${CARCH}" == "x86_64" ]] || [[ "${CARCH}" == "i686" ]] || [[ "${CARCH}" == "armv7h" ]]; then + if [[ "${CARCH}" = 'x86_64' ]] || [[ "${CARCH}" = 'i686' ]] || [[ "${CARCH}" = 'armv7h' ]]; then msg "Package grub ${_EFI_ARCH} EFI stuff" _package_grub-efi - echo - - if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then - msg "Package grub i386 EFI stuff" - _EFI_ARCH="i386" _package_grub-efi - echo + + if [[ "${CARCH}" = 'x86_64' ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" = '1' ]]; then + msg 'Package grub i386 EFI stuff' + _EFI_ARCH='i386' _package_grub-efi fi fi - - if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then - msg "Package grub emu stuff" - _package_grub-emu - echo - fi - - if [[ "${CARCH}" == "x86_64" ]] || [[ "${CARCH}" == "i686" ]]; then + + if [[ "${CARCH}" = 'x86_64' ]] || [[ "${CARCH}" = 'i686' ]]; then msg "Package grub ${_XEN_ARCH} XEN stuff" _package_grub-xen - echo - - if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_XEN_IN_ARCH_X64}" == "1" ]]; then - msg "Package grub i386 XEN stuff" - _XEN_ARCH="i386" _package_grub-xen - echo + + if [[ "${CARCH}" = 'x86_64' ]] && [[ "${_IA32_XEN_IN_ARCH_X64}" = '1' ]]; then + msg 'Package grub i386 XEN stuff' + _XEN_ARCH='i386' _package_grub-xen fi - - msg "Package grub BIOS stuff" + + msg 'Package grub BIOS stuff' _package_grub-bios - echo - - msg "Package grub QEMU stuff" + + msg 'Package grub QEMU stuff' _package_grub-qemu - echo - - msg "Package grub IEEE1275 (OpenFirmware) stuff" + + msg 'Package grub IEEE1275 (OpenFirmware) stuff' _package_grub-ieee1275 - echo - - msg "Package grub Libreboot stuff" + + msg 'Package grub Libreboot stuff' _package_grub-libreboot - echo - - msg "Package grub Multiboot stuff" + + msg 'Package grub Multiboot stuff' _package_grub-multiboot - echo - - msg "Install extra /etc/grub.d/ files" + + msg 'Install extra /etc/grub.d/ files' install -D -m0755 "${srcdir}/60_memtest86+" "${pkgdir}/etc/grub.d/60_memtest86+" - echo - elif [[ "${CARCH}" == "armv7h" ]]; then - msg "Package grub U-Boot stuff" - _package_grub-uboot - echo fi - - msg "Install /etc/default/grub (used by grub-mkconfig)" + + if [[ "${_GRUB_EMU_BUILD}" = '1' ]]; then + msg 'Package grub emu stuff' + _package_grub-emu + fi + + msg 'Install /etc/default/grub (used by grub-mkconfig)' + install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" +} + +package_grub-am335x_bone() { + pkgdesc='GNU GRand Unified Bootloader (2) for BeagleBone and BeagleBone Black (am335x-bone), (Parabola rebranded)' + provides+=('grub-uboot') + conflicts+=('grub-uboot') + replaces+=('grub-uboot') + + cd "${srcdir}/grub-${_pkgver}-uboot_am335x-bone/" + + msg 'Package grub U-Boot stuff' + + msg 'Run make install for U-Boot build' + make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install + + msg 'Remove gdb debugging related files for U-Boot build' + rm -f "${pkgdir}/usr/lib/grub/arm-uboot"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/arm-uboot"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/arm-uboot"/{kernel.exec,gdb_grub,gmodule.pl} || true + + msg 'Install /etc/default/grub (used by grub-mkconfig)' install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" } |