grub: kernel hooks support.
This commit is contained in:
parent
9416d77890
commit
b0c153b9db
2 changed files with 43 additions and 4 deletions
31
srcpkgs/grub/files/kernel.d/grub.post
Normal file
31
srcpkgs/grub/files/kernel.d/grub.post
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Kernel hook for GRUB 2.
|
||||||
|
#
|
||||||
|
# Arguments passed to this script: $1 pkgname, $2 version.
|
||||||
|
#
|
||||||
|
PKGNAME="$1"
|
||||||
|
VERSION="$2"
|
||||||
|
|
||||||
|
[ -r /boot/grub/grub.cfg ] \
|
||||||
|
&& groot=$(awk '/^set root=/{print substr($2, 8, 3); exit}' \
|
||||||
|
/boot/grub/grub.cfg)
|
||||||
|
[ -e /boot/grub/device.map ] && [ -n "${groot}" ] \
|
||||||
|
&& dev=$(awk "/${groot}/{ print \$NF}" /boot/grub/device.map)
|
||||||
|
|
||||||
|
if [ -n "${dev}" -a -r "${dev}" ]; then
|
||||||
|
dd if="${dev}" bs=512 skip=0 count=1 2>/dev/null|grep -q GRUB
|
||||||
|
[ $? -eq 0 ] && grub_installed=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${dev}" -a -z "$grub_installed" ]; then
|
||||||
|
echo "WARNING: GRUB2 has not been installed into ${dev}."
|
||||||
|
echo "WARNING: please run 'grub-install ${dev}'."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if command -v grub-mkconfig >/dev/null 2>&1; then
|
||||||
|
grub-mkconfig -o /boot/grub/grub.cfg
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'grub'
|
# Template file for 'grub'
|
||||||
pkgname=grub
|
pkgname=grub
|
||||||
version=1.99
|
version=1.99
|
||||||
revision=2
|
revision=3
|
||||||
distfiles="http://ftp.gnu.org/gnu/grub/grub-$version.tar.xz"
|
distfiles="http://ftp.gnu.org/gnu/grub/grub-$version.tar.xz"
|
||||||
build_style=gnu_configure
|
build_style=gnu_configure
|
||||||
short_desc="GRand Unified Bootloader 2"
|
short_desc="GRand Unified Bootloader 2"
|
||||||
|
@ -24,7 +24,7 @@ Add_dependency run device-mapper
|
||||||
|
|
||||||
Add_dependency build xz
|
Add_dependency build xz
|
||||||
Add_dependency build flex
|
Add_dependency build flex
|
||||||
Add_dependency build bison
|
Add_dependency build texinfo
|
||||||
Add_dependency build zlib-devel
|
Add_dependency build zlib-devel
|
||||||
Add_dependency build libusb-compat-devel
|
Add_dependency build libusb-compat-devel
|
||||||
Add_dependency build ncurses-devel
|
Add_dependency build ncurses-devel
|
||||||
|
@ -36,6 +36,14 @@ Add_dependency full os-prober
|
||||||
|
|
||||||
post_install()
|
post_install()
|
||||||
{
|
{
|
||||||
install -d ${DESTDIR}/etc/default
|
# Required to compress info files.
|
||||||
install -m644 ${FILESDIR}/grub.default ${DESTDIR}/etc/default/grub
|
vmkdir usr/share/info
|
||||||
|
touch -f ${DESTDIR}/usr/share/info/dir
|
||||||
|
|
||||||
|
vinstall ${FILESDIR}/grub.default 644 etc/default grub
|
||||||
|
# Kernel hooks.
|
||||||
|
vinstall ${FILESDIR}/kernel.d/grub.post 750 \
|
||||||
|
etc/kernel.d/post-install 50-grub
|
||||||
|
vinstall ${FILESDIR}/kernel.d/grub.post 750 \
|
||||||
|
etc/kernel.d/post-remove 50-grub
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue