diff options
Diffstat (limited to 'libre/grub/PKGBUILD')
-rw-r--r-- | libre/grub/PKGBUILD | 944 |
1 files changed, 340 insertions, 604 deletions
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD index 4e90e1524..39a19341f 100644 --- a/libre/grub/PKGBUILD +++ b/libre/grub/PKGBUILD @@ -1,120 +1,182 @@ -# Maintainer (Arch): Christian Hesse <mail@eworm.de> -# Maintainer (Arch): Ronald van Haren <ronald.archlinux.org> -# Contributor (Arch): Tobias Powalowski <tpowa@archlinux.org> -# Contributor (Arch): Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> -# Maintainer (Hyperbola): André Silva <emulatorman@hyperbola.info> -# Maintainer (Hyperbola): Márcio Silva <coadde@hyperbola.info> -# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> - -## '1' to enable Xen support, '0' to disable -_XEN='1' - -## '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' - -_GRUB_EXTRAS_COMMIT="136763a4cc9ca3a4f59d05b79eede2159d6f441e" -_GNULIB_COMMIT="9ce9be2ef0cb1180e35dfe9dfbbe90d774b374bd" -_UNIFONT_VER="12.1.02" - -[[ "${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" +# Maintainer (arch): Christian Hesse <mail@eworm.de> +# Maintainer (arch): Ronald van Haren <ronald.archlinux.org> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> +# Contributor: André Silva <emulatorman@hyperbola.info> +# Contributor: Márcio Silva <coadde@hyperbola.info> +# Contributor: Omar Vega Ramos <ovruni@gnu.org.pe> +# Maintainer: Luke T. Shumaker <lukeshu@parabola.nu> + +# parabola changes and rationale: +# - Branded for Parabola, not Arch +# - Support more arches +# - Add more platforms: +# + Arch starts with: +# * --with-platform=pc (x86 BIOS) +# * --with-platform=efi (UEFI, x86 and ARM; if +# _IA32_EFI_IN_ARCH_X86=1 then the x86_64 +# package contains both 32bit and 64bit +# builds) +# * --with-platform=emu (if _GRUB_EMU_BUILD=1, user-mode, x86 and ARM) +# + Parabola additions, since +# "grub: add armv7h support (U-Boot and UEFI)" +# (2015-09-26, Márcio Alexandre Silva Delgado <coadde@parabola.nu>) +# * --with-platform=uboot (ARM) +# * --with-platform=emu (enabled _GRUB_EMU_BUILD=1, fixed dependencies) +# + Parabola additions, since +# "grub: rm unused grub-extras in U-Boot, fix msg on U-Boot build; add IEEE1275 (OpenFirmware) and Libreboot support" +# (2015-09-26, Márcio Alexandre Silva Delgado <coadde@parabola.nu>) +# * --with-platform=ieee1275 (OpenFirmware, x86-only) +# * --with-platform=coreboot (Libreboot, x86-only) +# + Parabola additions, since +# "grub: add QEMU, XEN and Multiboot support" +# (2015-09-27, Márcio Alexandre Silva Delgado <coadde@parabola.nu>) +# * --with-platform=xen (if _XEN=1, x86-only; if +# _IA32_XEN_IN_ARCH_X86=1 then the x86_64 +# package contains both 32bit and 64bit +# builds) +# * --with-platform=qemu (a separate -kernel file for Qemu, x86-only) +# * --with-platform=multiboot (x86-only) + + +## "1" to enable Xen support, "0" to disable +_XEN="0" + +## "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, "0" to disable +_GRUB_EMU_BUILD="1" + +[[ "${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') -[[ $CARCH = armv7h ]] && pkgname+=('grub-am335x_bone' 'grub-udoo' 'grub-omap3_beagle' - 'grub-omap3_beagle_xm' 'grub-omap3_beagle_xm_ab') -pkgdesc='GNU GRand Unified Bootloader (2), (Parabola rebranded)' -_pkgver=2.04 -pkgver=${_pkgver/-/} -pkgrel=2 -pkgrel+=.par1 +if [[ $CARCH == armv7h ]]; then + pkgname+=( + 'grub-am335x_bone' + 'grub-udoo' + 'grub-omap3_beagle' + 'grub-omap3_beagle_xm' + 'grub-omap3_beagle_xm_ab' + ) +fi +pkgdesc='GNU GRand Unified Bootloader (2)' +pkgdesc+=', (Parabola rebranded)' epoch=2 +_tag='03e6ea18f6f834f177cad017279bedbb0a3de594' # git rev-parse grub-${_pkgver} +_pkgver=2.12 +_unifont_ver='15.1.04' +pkgver=${_pkgver/-/} +pkgrel=1 +pkgrel+=.parabola3 url='https://www.gnu.org/software/grub/' arch=('x86_64') -arch+=('i686' 'armv7h') -license=('GPL3') +arch+=('i686') +arch+=('armv7h') +license=('GPL-3.0-or-later') 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') +conflicts+=('grub-parabola') +replaces=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") +replaces+=('grub-parabola') +provides=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") +if [[ "${CARCH}" = 'armv7h' ]]; then + conflicts=('grub-common' 'grub-emu' "grub-efi-${_EFI_ARCH}") + replaces=('grub-common' 'grub-emu' "grub-efi-${_EFI_ARCH}") + provides=('grub-common' 'grub-emu' "grub-efi-${_EFI_ARCH}") +fi + makedepends=('git' 'rsync' 'xz' 'freetype2' 'ttf-dejavu' 'python' 'autogen' - 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse') + 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse3') depends=('sh' 'xz' 'gettext' 'device-mapper') optdepends=('freetype2: For grub-mkfont usage' - 'fuse: For grub-mount usage') + 'fuse3: For grub-mount usage' + #'dosfstools: For grub-mkrescue FAT FS and EFI support' # drop 'and EFI' from the device-specific arm-uboot packages + 'lzop: For grub-mkrescue LZO support' + #'efibootmgr: For grub-install EFI support' # drop from the device-specific arm-uboot packages + #'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue' # drop from the device-specific arm-uboot packages + 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' + 'mtools: For grub-mkrescue FAT FS support') if [[ "${CARCH}" = 'x86_64' ]] && [[ "${_XEN}" = '1' ]]; then makedepends+=('xen') fi -if [[ "${_GRUB_EMU_BUILD}" = "1" ]]; then - makedepends+=('libusbx' 'sdl') -fi - -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}") +if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then + makedepends+=('sdl') + #optdepends+=('sdl: For grub-emu SDL support') # drop from the device-specific arm-uboot packages fi validpgpkeys=('E53D497F3FA42AD8C9B4D1E835A93B74E82E4209' # Vladimir 'phcoder' Serbinenko <phcoder@gmail.com> 'BE5C23209ACDDACEB20DB0A28C8189F1988C2166' # Daniel Kiper <dkiper@net-space.pl> - '95D2E9AB8740D8046387FD151A09227B1F435A33') #Paul Hardy - -source=("git+https://git.savannah.gnu.org/git/grub.git#tag=grub-${_pkgver}?signed" - "git+https://git.savannah.gnu.org/git/grub-extras.git#commit=${_GRUB_EXTRAS_COMMIT}" - "git+https://git.savannah.gnu.org/git/gnulib.git#commit=${_GNULIB_COMMIT}" - "https://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz"{,.sig} - '0003-10_linux-20_linux_xen-detect-parabola-initramfs.patch' - '0004-add-GRUB_COLOR_variables.patch' + '95D2E9AB8740D8046387FD151A09227B1F435A33') # Paul Hardy <unifoundry@unifoundry.com> + +# For grub-linguas-*.tar +_linguas_ver=20231125 # Get this date from the output of `rsync translationproject.org::tp/latest/grub` +validpgpkeys+=('99195DD3BB6FE10A2F36ED8445698744D4FFBFC9') # Luke Shumaker + +source=("git+https://git.savannah.gnu.org/git/grub.git#tag=${_tag}?signed" + 'git+https://git.savannah.gnu.org/git/gnulib.git' + "https://ftp.gnu.org/gnu/unifont/unifont-${_unifont_ver}/unifont-${_unifont_ver}.bdf.gz"{,.sig} + "https://repo.parabola.nu/other/grub/grub-linguas-${_linguas_ver}.tar.xz"{,.sig} + '0001-00_header-add-GRUB_COLOR_-variables.patch' + '0002-10_linux-20_linux_xen-detect-parabola-initramfs.patch' + '0003-support-dropins-for-default-configuration.patch' + '0004-10_linux-20_linux_xen-rebrand-free-distros.patch' 'grub.default' - '0003-10_linux-20_linux_xen-detect-am335x_bone+am335x_boneblack-devicetree-file.patch' - '0003-10_linux-20_linux_xen-detect-omap3_beagle-devicetree-file.patch' - '0003-10_linux-20_linux_xen-detect-omap3_beagle_xm-devicetree-file.patch' - '0003-10_linux-20_linux_xen-detect-omap3_beagle_xm_ab-devicetree-file.patch' - '0003-10_linux-20_linux_xen-detect-udoo-devicetree-file.patch' - '0003-10_linux-20_linux_xen-rebrand-free-distros.patch') + 'sbat.csv') +source_armv7h=( + '1000-am335x_bone--10_linux-20_linux_xen-detect-devicetree-file.patch' + '1000-omap3_beagle--10_linux-20_linux_xen-detect-devicetree-file.patch' + '1000-omap3_beagle_xm--10_linux-20_linux_xen-detect-devicetree-file.patch' + '1000-omap3_beagle_xm_ab--10_linux-20_linux_xen-detect-devicetree-file.patch' + '1000-udoo--10_linux-20_linux_xen-detect-devicetree-file.patch') sha256sums=('SKIP' 'SKIP' + '88e00954b10528407e62e97ce6eaa88c847ebfd9a464cafde6bf55c7e4eeed54' 'SKIP' - '04d652be1e28a6d464965c75c71ac84633085cd0960c2687466651c34c94bd89' + '0d6cde9ef6e24a5c4f22cc731f64345e2e4cdc363dc00cef20e162a7946faaaa' 'SKIP' - '3f68a78ecba0284b9d39af60431236cb2ebc8547d3dc1fb26a1ac7a6b9afbbc7' - 'a5198267ceb04dceb6d2ea7800281a42b3f91fd02da55d2cc9ea20d47273ca29' - 'c700a3a2e0bdb47620a78b454aaa4bbf52989102eb47b08672240192e91b2a57' - '9ece1db537a989ce4dc55ece471883e19b8ab16902f8c4feb68436c3b5700f71' - 'de71452b9b0fbfb08ea742e9fa217ab34fddf6312452f155fb9d82ebf1c024a5' - '222da944b4af43a1d86be0e3d91f2e1a82324fa51c7ad36cc25246ffa3739ab1' - '9002c69e74143553ef8cdd32ca04e8bdcb7a1a0ba1c4564163bae061fe68d855' - '6584a0dda9dbf6d70dbdfba619abbb628b1a092bd61d6d05e462d6771354223b' - '7374137d183957ec8834ce749163c9fa98ff8ee61bbb74b0b38e29daf93857a4') + 'c25a09792ad97ca93ff385f1821b8c071b28d0ee86c1c4af9365cc00dc5b2b12' + '1dd3df0838f9aa737beb0298b855bc93b07d8f3926460ccb8b8f30f5fece3abf' + 'a096658d0f48a8b8d0d526d679c2106d0a5bf2a5afb6f2ca7e37f1f2ac33fd85' + '281a5225d68be7c230ff2d8175d920bf507439f3fc42cbe866fc31530a1465d3' + 'c7c38d62c1238671a09094ceb71befc3fe3873f18343ef0a6f3089d9576dbd43' + '50cab883c2412bb583c0521ed34e75aa080ccfc50826ab9d02a4db250ae5c05e') +sha256sums_armv7h=('0f2e9abaf872e1e18dfe0cd1da42bdc4f49d3956f97a01c39b82c0e3016c1a32' + 'c0d84384db273d9fd6ea2aab2a9d8ba36402daf8daf591dcba329cfa02253c87' + 'ef105dcc067c673e543d4d5384aa7bf6b93e9eca96fec4323ab69a91ec079f56' + 'f5fb1673536d56a88b3d1aaec75501e4d0acca081ac658d1059ec276f9e062c6' + 'd8911a513166d2db337b9449542e0ad0e91b114f92dc4b876d88d77d23829a1d') _backports=( ) +_reverts=( +) + _configure_options=( + PACKAGE_VERSION="${epoch}:${pkgver}-${pkgrel}" FREETYPE="pkg-config freetype2" - --enable-mm-debug + BUILD_FREETYPE="pkg-config freetype2" --enable-nls --enable-device-mapper --enable-cache-stats @@ -134,6 +196,16 @@ _configure_options=( --disable-werror ) +mksource=("${source[0]}") +mksha256sums=('SKIP') +mksource() { + cd "$srcdir/grub" + ./linguas.sh # rsync from translationproject.org::tp/latest/grub + git ls-files -z | xargs -0 git rm -f -- + rm -rf .git + export SOURCE_DATE_EPOCH="$(stat --format='%Y' po/*.po|sort|tail -n1)" +} + prepare() { cd "${srcdir}/grub/" @@ -144,692 +216,356 @@ prepare() { git cherry-pick -n "${_c}" done - echo "Patch to detect of Parabola GNU/Linux-libre initramfs images by grub-mkconfig..." - patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-parabola-initramfs.patch" + echo "Apply reverts..." + local _c + for _c in "${_reverts[@]}"; do + git log --oneline -1 "${_c}" + git revert -n "${_c}" + done echo "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}/0004-add-GRUB_COLOR_variables.patch" + patch -Np1 -i "${srcdir}/0001-00_header-add-GRUB_COLOR_-variables.patch" + + echo "Patch to detect of Parabola GNU/Linux-libre initramfs images by grub-mkconfig..." + patch -Np1 -i "${srcdir}/0002-10_linux-20_linux_xen-detect-parabola-initramfs.patch" + + echo "Patch to support dropins for default configuration..." + patch -Np1 -i "${srcdir}/0003-support-dropins-for-default-configuration.patch" echo "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 "configure.ac" echo "Rebranding for some free distros..." - patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-rebrand-free-distros.patch" + patch -Np1 -i "${srcdir}/0004-10_linux-20_linux_xen-rebrand-free-distros.patch" echo "Fix mkinitcpio 'rw' FS#36275..." sed 's| ro | rw |g' -i "util/grub.d/10_linux.in" - echo "Pull in latest language files..." - ./linguas.sh - - echo "Remove not working langs which need LC_ALL=C.UTF-8..." - sed -e 's#en@cyrillic en@greek##g' -i "po/LINGUAS" + # linguas.sh rsync's from translationproject.org; this will + # fail with libremakepkg because networking is turned off. + # Instead, we do this in mksource(). + #echo "Pull in latest language files..." + #./linguas.sh echo "Avoid problem with unifont during compile of grub..." - # http://savannah.gnu.org/bugs/?40330 and https://bugs.archlinux.org/task/37847 - gzip -cd "${srcdir}/unifont-${_UNIFONT_VER}.bdf.gz" > "unifont.bdf" - - echo "Add the grub-extra sources for BIOS build..." - install -d "grub-extras" - cp -r "${srcdir}/grub-extras/915resolution" \ - "grub-extras/915resolution" - export GRUB_CONTRIB="${srcdir}/grub/grub-extras/" -} - -_build_grub-efi() { - echo "Copy the source for building the ${_EFI_ARCH} EFI part..." - cp -r "${srcdir}/grub/" "${srcdir}/grub-efi-${_EFI_ARCH}/" - cd "${srcdir}/grub-efi-${_EFI_ARCH}/" - - echo "Unset all compiler FLAGS for ${_EFI_ARCH} EFI build..." - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS + # http://savannah.gnu.org/bugs/?40330 and https://bugs.archlinux.org/task/37847 + gzip -cd "${srcdir}/unifont-${_unifont_ver}.bdf.gz" > "unifont.bdf" - echo "Run bootstrap for ${_EFI_ARCH} EFI build..." + echo "Run bootstrap..." ./bootstrap \ --gnulib-srcdir="${srcdir}/gnulib/" \ --no-git - echo "Run ./configure for ${_EFI_ARCH} EFI build..." - ./configure \ - --with-platform="efi" \ - --target="${_EFI_ARCH}" \ - --disable-efiemu \ - --enable-boot-time \ - "${_configure_options[@]}" - - echo "Run make for ${_EFI_ARCH} EFI build..." - make + echo "Make translations reproducible..." + sed -i '1i /^PO-Revision-Date:/ d' po/*.sed } -_build_grub-xen() { - echo "Copy the source for building the ${_XEN_ARCH} XEN part..." - cp -r "${srcdir}/grub/" "${srcdir}/grub-xen-${_XEN_ARCH}/" - cd "${srcdir}/grub-xen-${_XEN_ARCH}/" +# Usage: _build_grub DIRSUFFIX 'Human Description' CPU-PLATFORM CONFIG_OPTIONS... +_build_grub() { + local bld_name="$1" + local bld_desc="$2" + local bld_cpu="${3%-*}" + local bld_plat="${3#*-}" + local bld_configure_options=("${@:4}") + + echo "Build grub ${bld_desc} stuff..." + + echo "Copy the source for building the ${bld_desc} part..." + cp -r "${srcdir}/grub/" "${srcdir}/grub-${bld_name}/" + cd "${srcdir}/grub-${bld_name}/" - echo "Unset all compiler FLAGS for ${_XEN_ARCH} XEN build..." + echo "Unset all compiler FLAGS for ${bld_desc} build..." unset CFLAGS unset CPPFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS - echo "Run bootstrap for ${_XEN_ARCH} XEN build..." - ./bootstrap \ - --gnulib-srcdir="${srcdir}/gnulib/" \ - --no-git - - echo "Run ./configure for ${_XEN_ARCH} XEN build..." + echo "Run ./configure for ${bld_desc} build..." ./configure \ - --with-platform='xen' \ - --target="${_XEN_ARCH}" \ - --disable-efiemu \ - --enable-boot-time \ - "${_configure_options[@]}" + --with-platform="${bld_plat}" \ + --target="${bld_cpu}" \ + "${bld_configure_options[@]}" + + echo "Make info pages reproducible..." + touch -d "@${SOURCE_DATE_EPOCH}" $(find -name '*.texi') - echo "Run make for ${_XEN_ARCH} XEN build..." + echo "Run make for ${bld_desc} build..." make } _build_grub-bios() { - echo 'Set ARCH dependent variables for BIOS build...' - if [[ "${CARCH}" = 'x86_64' ]]; then - _EFIEMU='--enable-efiemu' + echo "Set ARCH dependent variables for bios build..." + local _EFIEMU + if [[ "${CARCH}" == 'x86_64' ]]; then + _EFIEMU="--enable-efiemu" else - _EFIEMU='--disable-efiemu' + _EFIEMU="--disable-efiemu" fi - echo 'Copy the source for building the BIOS part...' - cp -r "${srcdir}/grub/" "${srcdir}/grub-bios/" - cd "${srcdir}/grub-bios/" - - echo 'Unset all compiler FLAGS for BIOS build...' - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - echo 'Run bootstrap for BIOS build...' - ./bootstrap \ - --gnulib-srcdir="${srcdir}/gnulib/" \ - --no-git - - echo 'Run ./configure for BIOS build...' - ./configure \ - --with-platform='pc' \ - --target='i386' \ + _build_grub 'bios' 'bios' \ + 'i386-pc' \ "${_EFIEMU}" \ --enable-boot-time \ "${_configure_options[@]}" - - echo 'Run make for BIOS build...' - make } -_build_grub-qemu() { - echo 'Copy the source for building the QEMU part...' - cp -r "${srcdir}/grub/" "${srcdir}/grub-qemu/" - cd "${srcdir}/grub-qemu/" - - echo 'Unset all compiler FLAGS for QEMU build...' - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS +_build_grub-efi() { + _build_grub "efi-${_EFI_ARCH}" "${_EFI_ARCH} efi" \ + "${_EFI_ARCH}-efi" \ + --disable-efiemu \ + --enable-boot-time \ + "${_configure_options[@]}" +} - echo 'Run bootstrap for QEMU build...' - ./bootstrap \ - --gnulib-srcdir="${srcdir}/gnulib/" \ - --no-git +_build_grub-emu() { + _build_grub 'emu' 'emu' \ + "${_EMU_ARCH}-emu" \ + --enable-grub-emu-usb=no \ + --enable-grub-emu-sdl=no \ + --disable-grub-emu-pci \ + "${_configure_options[@]}" +} - echo 'Run ./configure for QEMU build...' - ./configure \ - BUILD_FREETYPE="pkg-config freetype2" \ - --with-platform='qemu' \ - --target='i386' \ +_build_grub-xen() { + _build_grub "xen-${_XEN_ARCH}" "${_XEN_ARCH} XEN" \ + "${_XEN_ARCH}-xen" \ --disable-efiemu \ --enable-boot-time \ "${_configure_options[@]}" +} - echo 'Run make for QEMU build...' - make +_build_grub-qemu() { + _build_grub 'qemu' 'QEMU' \ + 'i386-qemu' \ + --disable-efiemu \ + --enable-boot-time \ + "${_configure_options[@]}" } _build_grub-ieee1275() { - echo 'Copy the source for building the IEEE1275 (OpenFirmware) part...' - cp -r "${srcdir}/grub/" "${srcdir}/grub-ieee1275/" - cd "${srcdir}/grub-ieee1275/" - - echo 'Unset all compiler FLAGS for IEEE1275 (OpenFirmware) build...' - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - echo 'Run bootstrap for IEEE1275 (OpenFirmware) build...' - ./bootstrap \ - --gnulib-srcdir="${srcdir}/gnulib/" \ - --no-git - - echo 'Run ./configure for IEEE1275 (OpenFirmware) build...' - ./configure \ - --with-platform='ieee1275' \ - --target='i386' \ + _build_grub 'ieee1275' 'IEEE1275 (OpenFirmware)' \ + 'i386-ieee1275' \ --disable-efiemu \ --enable-boot-time \ "${_configure_options[@]}" - - echo 'Run make for IEEE1275 (OpenFirmware) build...' - make } _build_grub-libreboot() { - echo 'Copy the source for building the Libreboot part...' - cp -r "${srcdir}/grub/" "${srcdir}/grub-libreboot/" - cd "${srcdir}/grub-libreboot/" - - echo 'Unset all compiler FLAGS for Libreboot build...' - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - echo 'Run bootstrap for Libreboot build...' - ./bootstrap \ - --gnulib-srcdir="${srcdir}/gnulib/" \ - --no-git - - echo 'Run ./configure for Libreboot build...' - ./configure \ - BUILD_FREETYPE="pkg-config freetype2" \ - --with-platform='coreboot' \ - --target='i386' \ + _build_grub 'libreboot' 'Libreboot' \ + 'i386-coreboot' \ --disable-efiemu \ --enable-boot-time \ "${_configure_options[@]}" - - echo 'Run make for Libreboot build...' - make } _build_grub-multiboot() { - echo 'Copy the source for building the Multiboot part...' - cp -r "${srcdir}/grub/" "${srcdir}/grub-multiboot/" - cd "${srcdir}/grub-multiboot/" - - echo 'Unset all compiler FLAGS for Multiboot build...' - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - echo 'Run bootstrap for Multiboot build...' - ./bootstrap \ - --gnulib-srcdir="${srcdir}/gnulib/" \ - --no-git - - echo 'Run ./configure for Multiboot build...' - ./configure \ - --with-platform='multiboot' \ - --target='i386' \ + _build_grub 'multiboot' 'Multiboot' \ + 'i386-multiboot' \ --disable-efiemu \ --enable-boot-time \ "${_configure_options[@]}" - - echo 'Run make for Multiboot build...' - make -} - -_build_grub-emu() { - echo 'Copy the source for building the emu part...' - cp -r "${srcdir}/grub/" "${srcdir}/grub-emu/" - cd "${srcdir}/grub-emu/" - - echo 'Unset all compiler FLAGS for emu build...' - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - echo 'Run bootstrap for emu build...' - ./bootstrap \ - --gnulib-srcdir="${srcdir}/gnulib/" \ - --no-git - - echo 'Run ./configure for emu build...' - ./configure \ - --with-platform='emu' \ - --target="${_EMU_ARCH}" \ - --enable-grub-emu-usb=no \ - --enable-grub-emu-sdl=no \ - --disable-grub-emu-pci \ - "${_configure_options[@]}" - - echo 'Run make for emu build...' - make } _build_grub-uboot() { - echo "Copy the source for building the U-Boot part..." - cp -r "${srcdir}/grub/" "${srcdir}/grub-uboot/" - cd "${srcdir}/grub-uboot/" - - echo 'Unset all compiler FLAGS for U-Boot build...' - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - #sed -i '\|grub_arm_disable_caches_mmu|,+4 d - # ' grub-core/loader/arm/linux.c - - echo 'Run bootstrap for U-Boot build...' - ./bootstrap \ - --gnulib-srcdir="${srcdir}/gnulib/" \ - --no-git - - echo 'Run ./configure for U-Boot build...' - ./configure \ - --with-platform='uboot' \ - --target='arm' \ + _build_grub 'uboot' 'U-Boot' \ + 'arm-uboot' \ --disable-efiemu \ --enable-boot-time \ "${_configure_options[@]}" - - echo 'Run make for U-Boot build...' - make } build() { cd "${srcdir}/grub/" - if [[ "${CARCH}" = 'x86_64' ]] || [[ "${CARCH}" = 'i686' ]] || [[ "${CARCH}" = 'armv7h' ]]; then - echo "Build grub ${_EFI_ARCH} EFI stuff..." - _build_grub-efi + # All-CPU platforms #################################################### - if [[ "${CARCH}" = 'x86_64' ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" = '1' ]]; then - echo 'Build grub i386 EFI stuff...' - _EFI_ARCH='i386' _build_grub-efi - fi + _build_grub-efi + if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then + _EFI_ARCH="i386" _build_grub-efi fi - if [[ "${CARCH}" = 'x86_64' ]] || [[ "${CARCH}" = 'i686' ]]; then - if [[ "${_XEN}" = '1' ]]; then - echo "Build grub ${_XEN_ARCH} XEN stuff..." - _build_grub-xen + if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then + _build_grub-emu + fi - if [[ "${_IA32_XEN_IN_ARCH_X64}" = '1' ]]; then - echo 'Build grub i386 XEN stuff...' - _XEN_ARCH='i386' _build_grub-xen - fi - fi + # CPU-specific platforms ############################################### - echo 'Build grub BIOS stuff...' + case "$CARCH" in + x86_64|i686) _build_grub-bios - - echo 'Build grub QEMU stuff...' _build_grub-qemu - - echo 'Build grub IEEE1275 (OpenFirmware) stuff...' _build_grub-ieee1275 - - echo 'Build grub Libreboot stuff...' _build_grub-libreboot - - echo 'Build grub Multiboot stuff...' _build_grub-multiboot - elif [[ "${CARCH}" = 'armv7h' ]]; then - echo 'Build grub U-Boot stuff...' + if [[ "${_XEN}" = '1' ]]; then + _build_grub-xen + if [[ "${CARCH}" = 'x86_64' ]] && [[ "${_IA32_XEN_IN_ARCH_X64}" = '1' ]]; then + _XEN_ARCH='i386' _build_grub-xen + fi + fi + ;; + armv7h) _build_grub-uboot - fi - - if [[ "${_GRUB_EMU_BUILD}" = '1' ]]; then - echo 'Build grub emu stuff...' - _build_grub-emu - fi + ;; + esac } -_package_grub-efi() { - cd "${srcdir}/grub-efi-${_EFI_ARCH}/" +# Usage: _package_grub DIRSUFFIX 'Human Description' CPU-PLATFORM +_package_grub() { + local bld_name="$1" + local bld_desc="$2" + local bld_cpuplat="$3" - echo "Run make install for ${_EFI_ARCH} EFI build..." - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install + echo "Package grub ${bld_desc} stuff..." - echo "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-xen-${_XEN_ARCH}/" + cd "${srcdir}/grub-${bld_name}/" - echo "Run make install for ${_XEN_ARCH} XEN build..." + echo "Run make install for ${bld_desc} build..." make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - echo "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 + echo "Remove gdb debugging related files for ${bld_desc} build..." + rm -f "${pkgdir}/usr/lib/grub/${bld_cpuplat}"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/${bld_cpuplat}"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/${bld_cpuplat}"/{kernel.exec,gdb_grub,gmodule.pl} || true } _package_grub-bios() { - cd "${srcdir}/grub-bios/" + _package_grub 'bios' 'bios' \ + 'i386-pc' +} - echo 'Run make install for BIOS build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install +_package_grub-efi() { + _package_grub "efi-${_EFI_ARCH}" "${_EFI_ARCH} efi" \ + "${_EFI_ARCH}-efi" - echo '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 + sed -e "s/%PKGVER%/${epoch}:${pkgver}-${pkgrel}/" -e "s/%CARCH%/${CARCH}/" < "${srcdir}/sbat.csv" > "${pkgdir}/usr/share/grub/sbat.csv" } -_package_grub-qemu() { - cd "${srcdir}/grub-qemu/" +_package_grub-emu() { + _package_grub 'emu' 'emu' \ + "${_EMU_ARCH}-emu" +} - echo 'Run make install for QEMU build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install +_package_grub-xen() { + _package_grub "xen-${_XEN_ARCH}" "${_XEN_ARCH} XEN" \ + "${_XEN_ARCH}-xen" +} - echo '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 +_package_grub-qemu() { + _package_grub 'qemu' 'QEMU' \ + 'i386-qemu' } _package_grub-ieee1275() { - cd "${srcdir}/grub-ieee1275/" - - echo 'Run make install for IEEE1275 (OpenFirmware) build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - - echo '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 + _package_grub 'ieee1275' 'IEEE1275 (OpenFirmware)' \ + 'i386-ieee1275' } _package_grub-libreboot() { - cd "${srcdir}/grub-libreboot/" - - echo 'Run make install for Libreboot build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - - echo '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 + _package_grub 'libreboot' 'Libreboot' \ + 'i386-coreboot' } _package_grub-multiboot() { - cd "${srcdir}/grub-multiboot/" - - echo 'Run make install for Multiboot build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - - echo '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-emu() { - cd "${srcdir}/grub-emu/" - - echo 'Run make install for emu build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - - echo '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_grub 'multiboot' 'Multiboot' \ + 'i386-multiboot' } _package_grub-uboot() { - cd "${srcdir}/grub-uboot/" - - echo 'Run make install for U-Boot build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - - echo '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 'uboot' 'U-Boot' \ + 'arm-uboot' } package_grub() { optdepends+=('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' - 'mtools: For grub-mkrescue FAT FS support') + 'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue') if [[ "${_GRUB_EMU_BUILD}" = '1' ]]; then - optdepends+=('libusbx: For grub-emu USB support' - 'sdl: For grub-emu SDL support') + optdepends+=('sdl: For grub-emu SDL support') fi cd "${srcdir}/grub/" - if [[ "${CARCH}" = 'x86_64' ]] || [[ "${CARCH}" = 'i686' ]] || [[ "${CARCH}" = 'armv7h' ]]; then - echo "Package grub ${_EFI_ARCH} EFI stuff..." - _package_grub-efi + # All-CPU platforms #################################################### - if [[ "${CARCH}" = 'x86_64' ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" = '1' ]]; then - echo 'Package grub i386 EFI stuff...' - _EFI_ARCH='i386' _package_grub-efi - fi + _package_grub-efi + if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then + _EFI_ARCH="i386" _package_grub-efi fi - if [[ "${CARCH}" = 'x86_64' ]] || [[ "${CARCH}" = 'i686' ]]; then - if [[ "${_XEN}" = '1' ]]; then - echo "Package grub ${_XEN_ARCH} XEN stuff..." - _package_grub-xen + if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then + _package_grub-emu + fi - if [[ "${_IA32_XEN_IN_ARCH_X64}" = '1' ]]; then - echo 'Package grub i386 XEN stuff...' - _XEN_ARCH='i386' _package_grub-xen - fi - fi + # CPU-specific platforms ############################################### - echo 'Package grub BIOS stuff...' + case "$CARCH" in + x86_64|i686) _package_grub-bios - - echo 'Package grub QEMU stuff...' _package_grub-qemu - - echo 'Package grub IEEE1275 (OpenFirmware) stuff...' _package_grub-ieee1275 - - echo 'Package grub Libreboot stuff...' _package_grub-libreboot - - echo 'Package grub Multiboot stuff...' _package_grub-multiboot - elif [[ "${CARCH}" = 'armv7h' ]]; then - echo 'Package grub U-Boot stuff...' + if [[ "${_XEN}" = '1' ]]; then + _package_grub-xen + if [[ "${CARCH}" = 'x86_64' ]] && [[ "${_IA32_XEN_IN_ARCH_X64}" = '1' ]]; then + _XEN_ARCH='i386' _package_grub-xen + fi + fi + ;; + armv7h) _package_grub-uboot - fi + ;; + esac - if [[ "${_GRUB_EMU_BUILD}" = '1' ]]; then - echo 'Package grub emu stuff...' - _package_grub-emu - fi + # Common ############################################################### - echo 'Install /etc/default/grub (used by grub-mkconfig)...' + echo "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)' - optdepends+=('dosfstools: For grub-mkrescue FAT FS' - 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' - 'mtools: For grub-mkrescue FAT FS support') +_package_grub-uboot-dev() { + local devname=$1 + local devdesc=$2 - echo "Copy the source for packaging the U-Boot (am335x-bone) part..." - cp -r "${srcdir}/grub-uboot/" "${srcdir}/grub-uboot_am335x-bone/" - cd "${srcdir}/grub-uboot_am335x-bone/" + pkgdesc="GNU GRand Unified Bootloader (2) for $devdesc ($devname), (Parabola rebranded)" + optdepends+=('dosfstools: For grub-mkrescue FAT FS') - echo 'Patch to detect am335x-bone device tree blob file (dtb)...' - patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-am335x_bone+am335x_boneblack-devicetree-file.patch" + echo "Copy the source for packaging the U-Boot ($devname) part..." + cp -a "${srcdir}/grub-uboot/" "${srcdir}/grub-uboot_$devname/" + cd "${srcdir}/grub-uboot_$devname/" - echo 'Package grub U-Boot stuff...' - ## _package_grub-uboot + echo "Patch to detect $devname device tree blob file (dtb)..." + patch -Np1 -i "${srcdir}/1000-${pkgname#grub-}--10_linux-20_linux_xen-detect-devicetree-file.patch" - echo 'Run make install for U-Boot build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - - echo '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 "uboot_$devname" "$devdesc" 'arm-uboot' echo 'Install /etc/default/grub (used by grub-mkconfig)...' install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" +} - ## echo 'Patch to detect am335x-bone device tree blob file (dtb)...' - ## cd "${pkgdir}/etc/grub.d/" - ## patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-am335x_bone+am335x_boneblack-devicetree-file.patch" +package_grub-am335x_bone() { + _package_grub-uboot-dev 'am335x-bone' 'BeagleBone and BeagleBone Black' } package_grub-omap3_beagle() { - pkgdesc='GNU GRand Unified Bootloader (2) for BeagleBoard (omap3_beagle), (Parabola rebranded)' provides+=('grub-beagleboard') - optdepends+=('dosfstools: For grub-mkrescue FAT FS' - 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' - 'mtools: For grub-mkrescue FAT FS support') - - echo "Copy the source for packaging the U-Boot (omap3_beagle) part..." - cp -r "${srcdir}/grub-uboot/" "${srcdir}/grub-uboot_omap3_beagle/" - cd "${srcdir}/grub-uboot_omap3_beagle/" - - echo 'Patch to detect omap3_beagle device tree blob file (dtb)...' - patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-omap3_beagle-devicetree-file.patch" - - echo 'Package grub U-Boot stuff...' - ## _package_grub-uboot - - echo 'Run make install for U-Boot build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - - echo '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 - - echo 'Install /etc/default/grub (used by grub-mkconfig)...' - install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" - - ## echo 'Patch to detect omap3_beagle device tree blob file (dtb)...' - ## cd "${pkgdir}/etc/grub.d/" - ## patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-omap3_beagle-devicetree-file.patch" + _package_grub-uboot-dev "${pkgname#grub-}" 'BeagleBoard' } package_grub-omap3_beagle_xm() { - pkgdesc='GNU GRand Unified Bootloader (2) for BeagleBoard-xM (omap3_beagle_xm), (Parabola rebranded)' provides+=('grub-beagleboard') - optdepends+=('dosfstools: For grub-mkrescue FAT FS' - 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' - 'mtools: For grub-mkrescue FAT FS support') - - echo "Copy the source for packaging the U-Boot (omap3_beagle_xm) part..." - cp -r "${srcdir}/grub-uboot/" "${srcdir}/grub-uboot_omap3_beagle_xm/" - cd "${srcdir}/grub-uboot_omap3_beagle_xm/" - - echo 'Patch to detect omap3_beagle_xm device tree blob file (dtb)...' - patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-omap3_beagle_xm-devicetree-file.patch" - - echo 'Package grub U-Boot stuff...' - ## _package_grub-uboot - - echo 'Run make install for U-Boot build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - - echo '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 - - echo 'Install /etc/default/grub (used by grub-mkconfig)...' - install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" - - ## echo 'Patch to detect omap3_beagle_xm device tree blob file (dtb)...' - ## cd "${pkgdir}/etc/grub.d/" - ## patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-omap3_beagle_xm-devicetree-file.patch" + _package_grub-uboot-dev "${pkgname#grub-}" 'BeagleBoard-xM' } package_grub-omap3_beagle_xm_ab() { - pkgdesc='GNU GRand Unified Bootloader (2) for BeagleBoard-xM rev A/B (omap3_beagle_xm_ab), (Parabola rebranded)' provides+=('grub-beagleboard') - optdepends+=('dosfstools: For grub-mkrescue FAT FS' - 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' - 'mtools: For grub-mkrescue FAT FS support') - - echo "Copy the source for packaging the U-Boot (omap3_beagle_xm_ab) part..." - cp -r "${srcdir}/grub-uboot/" "${srcdir}/grub-uboot_omap3_beagle_xm_ab/" - cd "${srcdir}/grub-uboot_omap3_beagle_xm_ab/" - - echo 'Patch to detect omap3_beagle_xm_ab device tree blob file (dtb)...' - patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-omap3_beagle_xm_ab-devicetree-file.patch" - - echo 'Package grub U-Boot stuff...' - ## _package_grub-uboot - - echo 'Run make install for U-Boot build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - - echo '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 - - echo 'Install /etc/default/grub (used by grub-mkconfig)...' - install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" - - ## echo 'Patch to detect omap3_beagle_xm_ab device tree blob file (dtb)...' - ## cd "${pkgdir}/etc/grub.d/" - ## patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-omap3_beagle_xm_ab-devicetree-file.patch" + _package_grub-uboot-dev "${pkgname#grub-}" 'BeagleBoard-xM rev A/B' } package_grub-udoo() { - pkgdesc='GNU GRand Unified Bootloader (2) for UDOO (udoo), (Parabola rebranded)' - optdepends+=('dosfstools: For grub-mkrescue FAT FS' - 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' - 'mtools: For grub-mkrescue FAT FS support') - - echo "Copy the source for packaging the U-Boot (udoo) part..." - cp -r "${srcdir}/grub-uboot/" "${srcdir}/grub-uboot_udoo/" - cd "${srcdir}/grub-uboot_udoo/" - - echo 'Patch to detect udoo device tree blob file (dtb)...' - patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-udoo-devicetree-file.patch" - - echo 'Package grub U-Boot stuff...' - ## _package_grub-uboot - - echo 'Run make install for U-Boot build...' - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - - echo '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 - - echo 'Install /etc/default/grub (used by grub-mkconfig)...' - install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" - - ## echo 'Patch to detect udoo device tree blob file (dtb)...' - ## cd "${pkgdir}/etc/grub.d/" - ## patch -Np1 -i "${srcdir}/0003-10_linux-20_linux_xen-detect-udoo-devicetree-file.patch" + _package_grub-uboot-dev "${pkgname#grub-}" 'UDOO' } |