[arch-commits] Commit in grub2/trunk (PKGBUILD grub2.install grub2_bzr_export.sh)
Ronald van Haren
ronald at archlinux.org
Sun Jan 15 10:19:02 UTC 2012
Date: Sunday, January 15, 2012 @ 05:19:02
Author: ronald
Revision: 146645
upgpkg: grub2 1:1.99-6
update to current bzr checkout; cleanup PKGBUILD; add message to install file that grub-mkconfig may fail on some custom kernels; thanks Keshav
Modified:
grub2/trunk/PKGBUILD
grub2/trunk/grub2.install
grub2/trunk/grub2_bzr_export.sh
---------------------+
PKGBUILD | 151 ++++++++++++++++++++++++--------------------------
grub2.install | 6 +
grub2_bzr_export.sh | 96 +++++++++++++++++--------------
3 files changed, 133 insertions(+), 120 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2012-01-15 10:18:40 UTC (rev 146644)
+++ PKGBUILD 2012-01-15 10:19:02 UTC (rev 146645)
@@ -1,7 +1,7 @@
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
-_grub2_rev="3732"
+_grub2_rev="3750"
_grub2_lua_ver="20"
_grub2_gpxe_ver="12"
@@ -16,16 +16,15 @@
arch=('i686' 'x86_64')
license=('GPL3')
epoch=1
-makedepends=('rsync' 'xz' 'bdf-unifont' 'python2' 'autogen' 'texinfo'
- 'help2man' 'gettext' 'device-mapper' 'fuse'
- 'efibootmgr' 'dosfstools')
+makedepends=('rsync' 'xz' 'bdf-unifont' 'python2' 'autogen' 'texinfo'
+ 'help2man' 'gettext' 'device-mapper' 'fuse')
# source=("ftp://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
-source=("ftp://ftp.archlinux.org/other/grub2/grub2_r${_grub2_rev}.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"
+source=("ftp://ftp.archlinux.org/other/grub2/grub2_r${_grub2_rev}.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"
'grub2_automake_1.11.2_pkglib_to_pkgdata.patch'
'grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch'
'archlinux_grub2_mkconfig_fixes.patch'
@@ -39,7 +38,7 @@
"grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
"grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz")
-sha1sums=('3c52ea32bdd83fb7b5d3c408249672e7bc44fa03'
+sha1sums=('3fab3260a11756f2cfc39f13279a2a633b814d31'
'9f2dbf7a3faab24ca92266400aa513fecd3895c8'
'b04994c005910b4bf123f034b30109d5c8d6fd86'
'd2d6bf4af2a372aa1a3edeb5d5193084322b77a9'
@@ -50,63 +49,64 @@
'e1477db3700b27b5e5ad3d8fa43028555204759b'
'8948d89537c12a4202df7c001e65a77030bbe5a3'
'82a27eca5277218cf57c6c5767e0b17a72f62229'
- 'beb31419045db70fee7401aa6448c220a491e2a3')
-
+ 'b872ab94f506ea0d1587ebc3ef7d3d1d3652be7c')
+
_build_grub2-common_and_bios() {
-
+
## copy the source for building the common/bios package
cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub2_bios-${pkgver}"
cd "${srcdir}/grub2_bios-${pkgver}"
-
+
## Fix automake 1.11.2 autogen.sh pkglib_DATA and pkglib_SCRIPTS error
patch -Np1 -i "${srcdir}/grub2_automake_1.11.2_pkglib_to_pkgdata.patch"
-
+
## Use outside GRUB_PREFIX if defined, patch submitted upstream to grub-devel ML
## solves https://bugs.archlinux.org/task/26430 and https://bugs.archlinux.org/task/26463
patch -Np1 -i "${srcdir}/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch"
-
+
## Apply Archlinux specific fixes to enable grub2-mkconfig detect Arch kernels and initramfs
patch -Np1 -i "${srcdir}/archlinux_grub2_mkconfig_fixes.patch"
echo
-
+
## 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"
-
+
## ntldr-img compile fails - disable for now
# 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"
-
+
## The below step is not required as the script now executes with python3, hence makedepends change from python2 to python pkg
## Seems like python2 is required again as on 04-JAN-2012 - grub2 bzr mainline rev 3732
## Need to use python2
sed 's|python |python2 |g' -i "${srcdir}/grub2_bios-${pkgver}/autogen.sh"
echo
-
+
## start the actual build process
cd "${srcdir}/grub2_bios-${pkgver}"
./autogen.sh
echo
-
+
## fix unifont.bdf location so grub-mkfont can create *.pf2 files
sed 's|/usr/share/fonts/unifont|/usr/share/fonts/misc|g' -i "${srcdir}/grub2_bios-${pkgver}/configure"
-
+
# install -d "${srcdir}/grub2_bios-${pkgver}/BUILD_BIOS"
# cd "${srcdir}/grub2_bios-${pkgver}/BUILD_BIOS"
-
+
CFLAGS="" ./configure \
--with-platform="pc" \
--target="i386" \
--host="${CARCH}-unknown-linux-gnu" \
+ "${_EFIEMU}" \
--enable-mm-debug \
--enable-nls \
--enable-device-mapper \
@@ -121,49 +121,49 @@
--datadir="/usr/lib" \
--datarootdir="/usr/share" \
--sysconfdir="/etc" \
- --program-prefix="" \
- --disable-werror
+ --program-prefix=""
echo
-
+
CFLAGS="" make
echo
-
+
}
_build_grub2-efi-i386() {
-
+
## copy the source for building the efi package
cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub2_efi-${pkgver}"
cd "${srcdir}/grub2_efi-${pkgver}"
-
+
## Fix automake 1.11.2 autogen.sh pkglib_DATA and pkglib_SCRIPTS error
patch -Np1 -i "${srcdir}/grub2_automake_1.11.2_pkglib_to_pkgdata.patch"
-
+
## 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"
-
+
## The below step is not required as the script now executes with python3, hence makedepends change from python2 to python pkg
## Seems like python2 is required again - as on 04-JAN-2012 - grub2 bzr mainline rev 3732
## Need to use python2
sed 's|python |python2 |g' -i "${srcdir}/grub2_efi-${pkgver}/autogen.sh"
echo
-
+
## start the actual build process
cd "${srcdir}/grub2_efi-${pkgver}"
./autogen.sh
echo
-
+
CFLAGS="" ./configure \
--with-platform="efi" \
--target="i386" \
--host="${CARCH}-unknown-linux-gnu" \
+ --disable-efiemu \
--enable-mm-debug \
--enable-nls \
--enable-device-mapper \
@@ -178,131 +178,130 @@
--datadir="/usr/lib" \
--datarootdir="/usr/share" \
--sysconfdir="/etc" \
- --program-prefix="" \
- --disable-werror
+ --program-prefix=""
echo
-
+
CFLAGS="" make
echo
-
+
}
build() {
-
+
## set architecture dependent variables
if [[ "${CARCH}" == 'x86_64' ]]; then
_EFIEMU="--enable-efiemu"
else
_EFIEMU="--disable-efiemu"
fi
-
+
_HOST="${CARCH}"
-
+
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"
echo
-
+
_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"
depends=('xz' 'freetype2' 'gettext' 'device-mapper' 'fuse')
conflicts=('grub')
backup=('boot/grub/grub.cfg' 'etc/default/grub' 'etc/grub.d/40_custom')
optdepends=('libisoburn: provides xorriso for generating grub2 rescue iso using grub-mkrescue')
install="grub2.install"
- options=(strip purge docs zipman !emptydirs)
-
+ options=('strip' 'purge' 'docs' 'zipman' '!emptydirs')
+
cd "${srcdir}/grub2_bios-${pkgver}"
make DESTDIR="${pkgdir}/" install
echo
-
+
install -D -m0755 "${pkgdir}/usr/sbin/grub-install" "${pkgdir}/usr/sbin/grub_bios-install"
install -D -m0755 "${pkgdir}/usr/sbin/grub-install" "${pkgdir}/usr/sbin/grub_efi_x86_64-install"
install -D -m0755 "${pkgdir}/usr/sbin/grub-install" "${pkgdir}/usr/sbin/grub_efi_i386-install"
-
+
sed "s|^\(target_cpu\)=.*|\1=i386|; \
s|^\(platform\)=.*|\1=pc|; \
s|/boot/grub|/boot/grub|g" \
-i "${pkgdir}/usr/sbin/grub_bios-install"
-
+
sed "s|^\(target_cpu\)=.*|\1=x86_64|; \
s|^\(platform\)=.*|\1=efi|; \
s|/boot/grub|/boot/efi/efi/grub|g" \
-i "${pkgdir}/usr/sbin/grub_efi_x86_64-install"
-
+
sed "s|^\(target_cpu\)=.*|\1=i386|; \
s|^\(platform\)=.*|\1=efi|; \
s|/boot/grub|/boot/efi/efi/grub|g" \
-i "${pkgdir}/usr/sbin/grub_efi_i386-install"
-
+
# install -D -m0755 "${pkgdir}/usr/sbin/grub-mkconfig" "${pkgdir}/usr/sbin/grub_bios-mkconfig"
# install -D -m0755 "${pkgdir}/usr/sbin/grub-mkconfig" "${pkgdir}/usr/sbin/grub_efi-mkconfig"
-
+
# sed "s|/boot/grub|/boot/grub|g" -i "${pkgdir}/usr/sbin/grub_bios-mkconfig"
-
+
# sed "s|/boot/grub|/boot/efi/efi/grub|g" -i "${pkgdir}/usr/sbin/grub_efi-mkconfig"
-
+
## install extra /etc/grub.d/ files
install -D -m0755 "${srcdir}/20_memtest86+" "${pkgdir}/etc/grub.d/20_memtest86+"
-
+
## install /etc/default/grub (used by grub-mkconfig)
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 -D -m0644 "${srcdir}/grub.cfg" "${pkgdir}/boot/grub/grub.cfg"
-
+
# remove platform specific files
rm -rf "${pkgdir}/usr/lib/grub/i386-pc/"
-
+
# move grub2 fonts from /usr/lib/grub to /usr/share/grub - incorrect path due to grub2_automake_1.11.2_pkglib_to_pkgdata.patch
- install -d ${pkgdir}/usr/share/grub
+ install -d "${pkgdir}/usr/share/grub"
mv -f "${pkgdir}/usr/lib/grub"/{ascii,euro,unicode}.pf2 "${pkgdir}/usr/share/grub/"
mv -f "${pkgdir}/usr/lib/grub"/{ascii,widthspec}.h "${pkgdir}/usr/share/grub/"
-
+
}
package_grub2-bios() {
-
+
pkgdesc="The GNU GRand Unified Bootloader version 2 - Built for i386 PC BIOS"
depends=("grub2-common=${epoch}:${pkgver}" "sh")
optdepends=('os-prober: to detect other OSes when generating grub.cfg in BIOS systems')
replaces=('grub2')
provides=('grub2')
- options=(!strip purge docs zipman !emptydirs)
-
+ options=('!strip' '!emptydirs')
+
cd "${srcdir}/grub2_bios-${pkgver}"
make DESTDIR="${pkgdir}/" install
echo
-
+
## remove non platform-specific files
rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}}
rm -f "${pkgdir}/usr/lib/grub"/{grub-mkconfig_lib,update-grub_lib}
rm -f "${pkgdir}/usr/lib/grub"/{ascii,euro,unicode}.pf2
rm -f "${pkgdir}/usr/lib/grub"/{ascii,widthspec}.h
-
+
}
package_grub2-efi-i386() {
-
+
pkgdesc="The GNU GRand Unified Bootloader version 2 - i386 UEFI version"
- depends=("grub2-common=${epoch}:${pkgver}" 'dosfstools' 'efibootmgr')
+ depends=("grub2-common=${epoch}:${pkgver}" 'dosfstools' 'efibootmgr' 'sh')
optdepends=('mtools: for manipulating FAT fs image files')
- options=(!strip purge docs zipman !emptydirs)
-
+ options=('!strip' '!emptydirs')
+
cd "${srcdir}/grub2_efi-${pkgver}"
- make DESTDIR="${pkgdir}/" install
+ make DESTDIR="${pkgdir}/" install
echo
-
+
## remove non platform-specific files
rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}}
rm -f "${pkgdir}/usr/lib/grub"/{grub-mkconfig_lib,update-grub_lib}
rm -f "${pkgdir}/usr/lib/grub"/{ascii,euro,unicode}.pf2
rm -f "${pkgdir}/usr/lib/grub"/{ascii,widthspec}.h
-
+
}
Modified: grub2.install
===================================================================
--- grub2.install 2012-01-15 10:18:40 UTC (rev 146644)
+++ grub2.install 2012-01-15 10:19:02 UTC (rev 146645)
@@ -7,7 +7,11 @@
install -Dm644 /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg
fi
- echo -n "Generating grub.cfg.example config file... "
+ cat << 'EOM'
+Generating grub.cfg.example config file...
+This may fail on some machines running a custom kernel.
+EOM
+
grub-mkconfig -o /boot/grub/grub.cfg.example 2> /dev/null
echo "done."
Modified: grub2_bzr_export.sh
===================================================================
--- grub2_bzr_export.sh 2012-01-15 10:18:40 UTC (rev 146644)
+++ grub2_bzr_export.sh 2012-01-15 10:19:02 UTC (rev 146645)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
## For actual repos
@@ -9,65 +9,67 @@
## For launchpad mirror
-# bzr branch lp:~skodabenz/grub/grub2-extras-lua lua
-# bzr branch lp:~skodabenz/grub/grub2-extras-gpxe gpxe
-# bzr branch lp:~skodabenz/grub/grub2-extras-ntldr-img ntldr-img
-# bzr branch lp:~skodabenz/grub/grub2-extras-915resolution 915resolution
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-lua lua
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-gpxe gpxe
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-ntldr-img ntldr-img
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-915resolution 915resolution
## grub-extras zfs is integrated into grub2 bzr main repo and is no longer needed separately.
-wd=${PWD}/
-output_dir=${wd}/
+_WD="${PWD}/"
+_OUTPUT_DIR="${_WD}/"
-grub2_bzr_dir=${wd}/grub2_BZR/
-grub2_bzr_exp_dir=${wd}/grub2_experimental_BZR/
-grub2_extras_dir=${wd}/grub2_extras_BZR/
+_ACTUAL_PKGVER="1.99"
-main_snapshot() {
+_GRUB2_BZR_REPO_DIR="${_WD}/grub2_BZR/"
+_GRUB2_BZR_EXP_REPO_DIR="${_WD}/grub2_experimental_BZR/"
+_GRUB2_EXTRAS_REPOS_DIR="${_WD}/grub2_extras_BZR/"
+
+_MAIN_SNAPSHOT() {
- cd ${grub2_bzr_dir}/
+ cd "${_GRUB2_BZR_REPO_DIR}/"
echo
- revnum=$(bzr revno ${grub2_bzr_dir})
- bzr export --root=grub2 --format=tar ${output_dir}/grub2_r${revnum}.tar
+ _REVNUM="$(bzr revno ${_GRUB2_BZR_REPO_DIR})"
+ bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub2_r${_REVNUM}.tar"
echo
- cd ${output_dir}/
+ cd "${_OUTPUT_DIR}/"
- xz -9 ${output_dir}/grub2_r${revnum}.tar
+ xz -9 "${_OUTPUT_DIR}/grub2_r${_REVNUM}.tar"
echo
}
-exp_snapshot() {
+_EXP_SNAPSHOT() {
- cd ${grub2_bzr_exp_dir}/
+ cd "${_GRUB2_BZR_EXP_REPO_DIR}/"
echo
- revnum=$(bzr revno ${grub2_bzr_exp_dir})
- bzr export --root=grub2_exp --format=tar ${output_dir}/grub2_exp_r${revnum}.tar
+ _REVNUM="$(bzr revno ${_GRUB2_BZR_EXP_REPO_DIR})"
+ bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub2_exp_r${_REVNUM}.tar"
echo
- cd ${output_dir}/
+ cd "${_OUTPUT_DIR}/"
- xz -9 ${output_dir}/grub2_exp_r${revnum}.tar
+ xz -9 "${_OUTPUT_DIR}/grub2_exp_r${_REVNUM}.tar"
echo
}
-extras_snapshot() {
+_EXTRAS_SNAPSHOT() {
- cd ${grub2_extras_dir}/${grub2_extras_name}/
+ cd "${_GRUB2_EXTRAS_REPOS_DIR}/${_GRUB2_EXTRAS_NAME}/"
echo
- revnum=$(bzr revno ${grub2_extras_dir}/${grub2_extras_name})
- bzr export --root=${grub2_extras_name} --format=tar ${output_dir}/grub2_extras_${grub2_extras_name}_r${revnum}.tar
+ _REVNUM="$(bzr revno ${_GRUB2_EXTRAS_REPOS_DIR}/${_GRUB2_EXTRAS_NAME})"
+ bzr export --root="${_GRUB2_EXTRAS_NAME}" --format=tar "${_OUTPUT_DIR}/grub2_extras_${_GRUB2_EXTRAS_NAME}_r${_REVNUM}.tar"
echo
- cd ${output_dir}/
+ cd "${_OUTPUT_DIR}/"
echo
- xz -9 ${output_dir}/grub2_extras_${grub2_extras_name}_r${revnum}.tar
+ xz -9 "${_OUTPUT_DIR}/grub2_extras_${_GRUB2_EXTRAS_NAME}_r${_REVNUM}.tar"
echo
}
@@ -76,28 +78,36 @@
set -x -e
-# main_snapshot
+echo
-# exp_snapshot
+_MAIN_SNAPSHOT
-grub2_extras_name="lua"
-extras_snapshot
+echo
-grub2_extras_name="gpxe"
-extras_snapshot
+# _EXP_SNAPSHOT
-grub2_extras_name="ntldr-img"
-extras_snapshot
+echo
-grub2_extras_name="915resolution"
-extras_snapshot
+_GRUB2_EXTRAS_NAME="lua"
+_EXTRAS_SNAPSHOT
+_GRUB2_EXTRAS_NAME="gpxe"
+_EXTRAS_SNAPSHOT
+
+_GRUB2_EXTRAS_NAME="ntldr-img"
+_EXTRAS_SNAPSHOT
+
+_GRUB2_EXTRAS_NAME="915resolution"
+_EXTRAS_SNAPSHOT
+
+echo
+
set +x +e
echo
-unset wd
-unset output_dir
-unset grub2_bzr_dir
-unset grub2_extras_dir
-unset grub2_extras_name
+unset _WD
+unset _OUTPUT_DIR
+unset _GRUB2_BZR_REPO_DIR
+unset _GRUB2_EXTRAS_REPOS_DIR
+unset _GRUB2_EXTRAS_NAME
More information about the arch-commits
mailing list