summaryrefslogtreecommitdiff
path: root/libre/grub2/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/grub2/PKGBUILD')
-rw-r--r--libre/grub2/PKGBUILD368
1 files changed, 208 insertions, 160 deletions
diff --git a/libre/grub2/PKGBUILD b/libre/grub2/PKGBUILD
index 9f445eb1d..d84f8a62c 100644
--- a/libre/grub2/PKGBUILD
+++ b/libre/grub2/PKGBUILD
@@ -1,206 +1,254 @@
# Maintainer: Ronald van Haren <ronald.archlinux.org>
-# Contributor: Keshav P R <skodabenz at rocketmail dot com>
+# Contributor: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
-# The src pkg includes grub2_bzr_export.sh to create newer grub-extras snapshots. Modify the paths in it accordingly.
+_grub_bzr_rev="4169"
+_pkgver="2.00~beta2"
-# _grub2_rev=3238
-
-_grub2_lua_ver=20
-_grub2_gpxe_ver=12
-_grub2_ntldr_ver=17
-_grub2_915_ver=7
+_grub_lua_ver=24
+_grub_gpxe_ver=12
+_grub_ntldr_ver=21
+_grub_915_ver=9
pkgname=('grub2-common' 'grub2-bios' 'grub2-efi-i386')
-pkgbase="grub2"
-pkgver='1.99'
-pkgrel=4
+pkgbase=grub2
+pkgver=2.00beta2
+pkgrel=3
url="http://www.gnu.org/software/grub/"
arch=('i686' 'x86_64')
license=('GPL3')
-epoch=1
-makedepends=('bdf-unifont' 'python2' 'xz' 'autogen' 'texinfo' 'help2man' 'gettext' 'device-mapper')
-options=(strip purge docs zipman !emptydirs)
-
-# "http://alpha.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
-source=("ftp://ftp.gnu.org/gnu/grub/grub-1.99.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz"
- 'archlinux_grub2_mkconfig_fixes.patch'
- 'grub.default'
- 'grub.cfg'
- '20_memtest86+'
- 'grub2_bzr_export.sh'
- 'parabola-mkconfig.patch')
-
-noextract=("grub2_extras_lua_r${_grub2_lua_ver}.tar.xz"
- "grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz"
- "grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
- "grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz")
-
-sha1sums=('a5ae9558f30ce7757a76aa130088b053a87e2fb6'
- '9f2dbf7a3faab24ca92266400aa513fecd3895c8'
+epoch="1"
+makedepends=('rsync' 'xz' 'bdf-unifont' 'python' 'autogen' 'texinfo'
+ 'help2man' 'gettext' 'device-mapper' 'fuse' 'dosfstools' 'efibootmgr')
+
+# source=("ftp://ftp.archlinux.org/other/grub2/grub_r${_grub_bzr_rev}.tar.xz"
+source=("http://alpha.gnu.org/gnu/grub/grub-${_pkgver}".tar.xz
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_lua_r${_grub_lua_ver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_gpxe_r${_grub_gpxe_ver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_915resolution_r${_grub_915_ver}.tar.xz"
+ 'archlinux_grub_mkconfig_fixes.patch'
+ 'grub.default'
+ 'grub.cfg'
+ '20_memtest86+')
+
+noextract=("grub2_extras_lua_r${_grub_lua_ver}.tar.xz"
+ "grub2_extras_gpxe_r${_grub_gpxe_ver}.tar.xz"
+ "grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz"
+ "grub2_extras_915resolution_r${_grub_915_ver}.tar.xz")
+
+sha1sums=('2ba583f9466fb676b0ae3d7a9a82d1299b153a98'
+ '89290031b974780c6df76893836d2477d4add895'
'b04994c005910b4bf123f034b30109d5c8d6fd86'
- 'e0c1a97770cc23226cf4535c029ef50b17f67974'
- '8bcaed545956bb33581e1b97ac96a2c3717ec793'
- 'b7e5510c7b171e9c4dbddb42bbf54ce5ee86e2de'
- 'd1252b837b13ebf817dbc45cfd4d772c7d1b621f'
- '7df0516c6c45816aa330b775f1ed6f652e4f0380'
- '82a27eca5277218cf57c6c5767e0b17a72f62229'
- 'beb31419045db70fee7401aa6448c220a491e2a3'
- '27930016362d6647282405183b9977f0a7b15c1a')
+ 'eb4b35b4c36b64f9405cbcbc538cb205171c1c0a'
+ 'd5ae2efec25616028a9d89e98b6e454f1c4c415f'
+ 'cdace8067562fab04aaacac8d99a4ea612fa0c5b'
+ '348b148d5183825f31a3d24a7ebf2d6a709f4e6a'
+ '6f0870673b9f994163326a416432aee7eacdbfc5'
+ 'ce35d7ae75cd1b5b677e894e528f96add40e77b9')
-build() {
- # set architecture dependent variables
- if [ "${CARCH}" = "x86_64" ] ; then
- _EFIEMU="--enable-efiemu"
- else
- _EFIEMU="--disable-efiemu"
- fi
- _HOST="${CARCH}"
+_build_grub2-common_and_bios() {
- build_grub2-common_and_bios
- build_grub2-efi
-}
+ ## copy the source for building the common/bios package
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub_bios-${_pkgver}"
+ cd "${srcdir}/grub_bios-${_pkgver}"
+
+ ## Apply Archlinux specific fixes to enable grub-mkconfig detect Arch kernels and initramfs
+ patch -Np1 -i "${srcdir}/archlinux_grub_mkconfig_fixes.patch"
+ echo
+
+ ## add the grub-extra sources
+ export GRUB_CONTRIB="${srcdir}/grub_bios-${_pkgver}/grub-extras/"
+ install -d "${srcdir}/grub_bios-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_gpxe_r${_grub_gpxe_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_915resolution_r${_grub_915_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${_pkgver}/grub-extras"
-build_grub2-common_and_bios() {
- # copy the source for building the common/bios package
- cp -r ${srcdir}/grub-${pkgver} ${srcdir}/grub2_bios-${pkgver}
-
- ## Apply Archlinux specific fixes to enable grub2-mkconfig detect Arch kernels and initramfs
- cd ${srcdir}/grub2_bios-${pkgver}
- patch -Np1 -i ${srcdir}/archlinux_grub2_mkconfig_fixes.patch
- patch -Np1 -i ${srcdir}/parabola-mkconfig.patch
-
- # add the grub-extra sources
- export GRUB_CONTRIB=${srcdir}/grub2_bios-${pkgver}/grub2-extras/
- install -d ${srcdir}/grub2_bios-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz \
- -C ${srcdir}/grub2_bios-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz \
- -C ${srcdir}/grub2_bios-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz \
- -C ${srcdir}/grub2_bios-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz \
- -C ${srcdir}/grub2_bios-${pkgver}/grub2-extras
-
- ## Need to use python2
- sed -i 's|python|python2|' ${srcdir}/grub2_bios-${pkgver}/autogen.sh
-
- # start the actual build process
- cd ${srcdir}/grub2_bios-${pkgver}
+ ## Requires python2
+ # sed 's|python |python2 |g' -i "${srcdir}/grub_bios-${_pkgver}/autogen.sh"
+
+ ## start the actual build process
+ cd "${srcdir}/grub_bios-${_pkgver}"
./autogen.sh
-
+
## fix unifont.bdf location so grub-mkfont can create *.pf2 files
- sed -i 's|/usr/share/fonts/unifont|/usr/share/fonts/misc|' ${srcdir}/grub2_bios-${pkgver}/configure
-
-# mkdir ${srcdir}/grub2_bios-${pkgver}/BUILD_BIOS
-# cd ${srcdir}/grub2_bios-${pkgver}/BUILD_BIOS
-
+ sed 's|/usr/share/fonts/unifont|/usr/share/fonts/misc|g' -i "${srcdir}/grub_bios-${_pkgver}/configure"
+
+ # install -d "${srcdir}/grub_bios-${_pkgver}/BUILD_BIOS"
+ # cd "${srcdir}/grub_bios-${_pkgver}/BUILD_BIOS"
+
CFLAGS="" ./configure \
- --with-platform=pc --enable-mm-debug \
- ${_EFIEMU} --host=${CARCH}-unknown-linux-gnu \
- --enable-grub-mkfont --prefix=/usr \
- --bindir=/bin --sbindir=/sbin \
- --mandir=/usr/share/man --infodir=/usr/share/info \
- --sysconfdir=/etc --enable-nls \
- --program-transform-name=s,grub,grub,
- CFLAGS="" make
+ --with-platform="pc" \
+ --target="i386" \
+ --host="${CARCH}-unknown-linux-gnu" \
+ "${_EFIEMU}" \
+ --enable-mm-debug \
+ --enable-nls \
+ --enable-device-mapper \
+ --enable-cache-stats \
+ --enable-grub-mkfont \
+ --enable-grub-mount \
+ --prefix="/usr" \
+ --bindir="/usr/bin" \
+ --sbindir="/usr/sbin" \
+ --mandir="/usr/share/man" \
+ --infodir="/usr/share/info" \
+ --datarootdir="/usr/share" \
+ --sysconfdir="/etc" \
+ --program-prefix="" \
+ --with-bootdir="/boot" \
+ --with-grubdir="grub" \
+ --disable-werror
+
+ CFLAGS="" make
+
}
-build_grub2-efi() {
- # copy the source for building the efi package
- cp -r ${srcdir}/grub-${pkgver} ${srcdir}/grub2_efi-${pkgver}
-
- # add the grub-extra sources
- export GRUB_CONTRIB=${srcdir}/grub2_efi-${pkgver}/grub2-extras/
- install -d ${srcdir}/grub2_efi-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz \
- -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz \
- -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
-
- ## Need to use python2
- sed -i 's|python|python2|' ${srcdir}/grub2_efi-${pkgver}/autogen.sh
-
- # start the actual build process
- cd ${srcdir}/grub2_efi-${pkgver}
+_build_grub2-efi-i386() {
+
+ ## copy the source for building the efi package
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub_efi-${_pkgver}"
+ cd "${srcdir}/grub_efi-${_pkgver}"
+
+ export GRUB_CONTRIB="${srcdir}/grub_efi-${_pkgver}/grub-extras/"
+ install -d "${srcdir}/grub_efi-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \
+ -C "${srcdir}/grub_efi-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_gpxe_r${_grub_gpxe_ver}.tar.xz" \
+ -C "${srcdir}/grub_efi-${_pkgver}/grub-extras"
+
+ ## Requires python2
+ # sed 's|python |python2 |g' -i "${srcdir}/grub_efi-${_pkgver}/autogen.sh"
+
+ cd "${srcdir}/grub_efi-${_pkgver}"
./autogen.sh
CFLAGS="" ./configure \
- --with-platform=efi --target=i386 \
- --enable-mm-debug --disable-efiemu \
- --host=${CARCH}-unknown-linux-gnu \
- --prefix=/usr --bindir=/bin \
- --sbindir=/sbin --mandir=/usr/share/man \
- --infodir=/usr/share/info --sysconfdir=/etc \
- --enable-nls --program-transform-name=s,grub,grub,
- CFLAGS="" make
+ --with-platform="efi" \
+ --target="i386" \
+ --host="${CARCH}-unknown-linux-gnu" \
+ --disable-efiemu \
+ --enable-mm-debug \
+ --enable-nls \
+ --enable-device-mapper \
+ --enable-cache-stats \
+ --enable-grub-mkfont \
+ --enable-grub-mount \
+ --prefix="/usr" \
+ --bindir="/usr/bin" \
+ --sbindir="/usr/sbin" \
+ --mandir="/usr/share/man" \
+ --infodir="/usr/share/info" \
+ --datarootdir="/usr/share" \
+ --sysconfdir="/etc" \
+ --program-prefix="" \
+ --with-bootdir="/boot" \
+ --with-grubdir="grub" \
+ --disable-werror
+
+ CFLAGS="" make
+}
+
+#_get_locale_files() {
+#
+# cd "${srcdir}/grub-${_pkgver}"
+# rsync -Lrtvz translationproject.org::tp/latest/grub/ "${srcdir}/grub-${_pkgver}/po" || true
+# (cd "${srcdir}/grub-${_pkgver}/po" && ls *.po | cut -d. -f1 | xargs) > "${srcdir}/grub-${_pkgver}/po/LINGUAS"
+#}
+
+build() {
+
+ ## set architecture dependent variables
+ if [[ "${CARCH}" == 'x86_64' ]]; then
+ _EFIEMU="--enable-efiemu"
+ else
+ _EFIEMU="--disable-efiemu"
+ fi
+
+ _HOST="${CARCH}"
+
+ cd "${srcdir}/grub-${_pkgver}"
+ # _get_locale_files
+
+ _build_grub2-common_and_bios
+ _build_grub2-efi-i386
+
}
package_grub2-common() {
+
pkgdesc="The GNU GRand Unified Bootloader version 2 - Files common for all platforms"
- install="grub2.install"
- depends=('xz' 'freetype2' 'device-mapper' 'gettext' 'texinfo')
+ depends=('xz' 'freetype2' 'gettext' 'device-mapper' 'fuse' 'sh')
conflicts=('grub')
backup=('boot/grub/grub.cfg' 'etc/default/grub' 'etc/grub.d/40_custom')
- cd ${srcdir}/grub2_bios-${pkgver}
- make DESTDIR=${pkgdir} install
-
- install -Dm755 ${pkgdir}/sbin/grub-install ${pkgdir}/sbin/grub_bios-install
- install -Dm755 ${pkgdir}/sbin/grub-install ${pkgdir}/sbin/grub_efi_x86_64-install
- install -Dm755 ${pkgdir}/sbin/grub-install ${pkgdir}/sbin/grub_efi_i386-install
-
- sed -i "s|^\(target_cpu\)=.*|\1=i386|; \
- s|^\(platform\)=.*|\1=pc|" \
- ${pkgdir}/sbin/grub_bios-install
-
- sed -i "s|^\(target_cpu\)=.*|\1=x86_64|; \
- s|^\(platform\)=.*|\1=efi|" \
- ${pkgdir}/sbin/grub_efi_x86_64-install
-
- sed -i "s|^\(target_cpu\)=.*|\1=i386|; \
- s|^\(platform\)=.*|\1=efi|" \
- ${pkgdir}/sbin/grub_efi_i386-install
-
+ optdepends=('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')
+ install="grub2.install"
+ options=('strip' 'purge' 'docs' 'zipman' '!emptydirs')
+
+ cd "${srcdir}/grub_bios-${_pkgver}"
+ make DESTDIR="${pkgdir}/" install
+
## install extra /etc/grub.d/ files
- install -Dm755 ${srcdir}/20_memtest86+ ${pkgdir}/etc/grub.d/20_memtest86+
-
+ install -D -m0755 "${srcdir}/20_memtest86+" "${pkgdir}/etc/grub.d/20_memtest86+"
+
## install /etc/default/grub (used by grub-mkconfig)
- install -Dm644 ${srcdir}/grub.default ${pkgdir}/etc/default/grub
+ install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub"
## install grub.cfg (needed so it doesn't get removed on upgrading because it was previously here)
- install -Dm644 ${srcdir}/grub.cfg ${pkgdir}/boot/grub/grub.cfg
+ install -D -m0644 "${srcdir}/grub.cfg" "${pkgdir}/boot/grub/grub.cfg"
# remove platform specific files
- rm -rf ${pkgdir}/usr/lib/grub/i386-pc/
+ rm -rf "${pkgdir}/usr/lib/grub/i386-pc/"
+
}
package_grub2-bios() {
- pkgdesc="The GNU GRand Unified Bootloader version 2 - Built for PC BIOS"
- depends=(grub2-common=${epoch}:${pkgver})
- replaces=('grub2' 'grub2-libre')
- provides=('grub2' 'grub2-libre')
-
- cd ${srcdir}/grub2_bios-${pkgver}
- make DESTDIR=${pkgdir} install
+
+ pkgdesc="The GNU GRand Unified Bootloader version 2 - Built for i386 PC BIOS"
+ depends=("grub2-common=${epoch}:${pkgver}")
+ options=('!strip' '!emptydirs')
+
+ cd "${srcdir}/grub_bios-${_pkgver}"
+ make DESTDIR="${pkgdir}/" install
## remove non platform-specific files
- rm -rf ${pkgdir}/{boot,bin,sbin,etc,usr/share}
- rm ${pkgdir}/usr/lib/grub/{grub-mkconfig_lib,update-grub_lib}
+ rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}}
+
+ ## remove gdb debugging related files
+ 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_grub2-efi-i386() {
pkgdesc="The GNU GRand Unified Bootloader version 2 - i386 UEFI version"
depends=("grub2-common=${epoch}:${pkgver}" 'dosfstools' 'efibootmgr')
- optdepends=('mtools')
-
- cd ${srcdir}/grub2_efi-${pkgver}
- make DESTDIR=${pkgdir} install
+ options=('!strip' '!emptydirs')
+
+ cd "${srcdir}/grub_efi-${_pkgver}"
+ make DESTDIR="${pkgdir}/" install
## remove non platform-specific files
- rm -rf ${pkgdir}/{boot,bin,sbin,etc,usr/share}
- rm ${pkgdir}/usr/lib/grub/{grub-mkconfig_lib,update-grub_lib}
+ rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}}
+
+ ## remove gdb debugging related files
+ rm -f "${pkgdir}/usr/lib/grub/i386-efi"/*.module || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-efi"/*.image || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true
+
}