summaryrefslogtreecommitdiff
path: root/libre/grub
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2013-12-27 23:55:53 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2013-12-27 23:55:53 +0000
commit65eeff79fff8a1bfdf67ca51d147384f46f4d5c0 (patch)
treefbfdff322b28d9a3c37e6e31c94caf1d8e48dac1 /libre/grub
parentd53c44f055929b18d7d1b25f8367ee5836c435fc (diff)
Fri Dec 27 23:54:04 UTC 2013
Diffstat (limited to 'libre/grub')
-rw-r--r--libre/grub/PKGBUILD198
-rw-r--r--libre/grub/grub.cfg139
-rw-r--r--libre/grub/grub.default3
-rw-r--r--libre/grub/parabola_grub_mkconfig_fixes.patch64
4 files changed, 157 insertions, 247 deletions
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
index de9ebb452..a4a17b4c8 100644
--- a/libre/grub/PKGBUILD
+++ b/libre/grub/PKGBUILD
@@ -1,19 +1,22 @@
# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
# Maintainer : Ronald van Haren <ronald.archlinux.org>
-# Contributor: Keshav Padram (the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+# Contributor: Keshav Padram Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Contributor (Parabola): Márcio Silva <coadde@parabola.nu>
-_GRUB_BZR_REV="5086"
+_pkgver="2.00"
+_GRUB_GIT_COMMIT="5ae5c54c7e5cb048cdd78a53181cee0da698a953"
-## grub-extras lua and gpxe fail to build with grub bzr rev 5043
+## grub-extras gpxe is not needed
[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386"
-pkgname=grub
+pkgname="grub"
pkgdesc="GNU GRand Unified Bootloader (2), (Parabola rebranded)"
-pkgver=2.00.${_GRUB_BZR_REV}
-pkgrel=1
+pkgver=2.00.1282.g5ae5c54
+pkgrel=1.3
+epoch="1"
url="https://www.gnu.org/software/grub/"
arch=('x86_64' 'i686')
license=('GPL3')
@@ -25,8 +28,9 @@ conflicts=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}" 'grub-legacy')
replaces=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
provides=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
-makedepends=('xz' 'freetype2' 'bdf-unifont' 'ttf-dejavu' 'python' 'autogen'
- 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse' 'bzr' 'rsync')
+makedepends=('git' 'bzr' 'rsync' 'xz' 'freetype2' 'ttf-dejavu'
+ 'python2' 'autogen' 'texinfo' 'help2man'
+ 'gettext' 'device-mapper' 'fuse')
depends=('sh' 'xz' 'gettext' 'device-mapper')
optdepends=('freetype2: For grub-mkfont usage'
'fuse: For grub-mount usage'
@@ -37,52 +41,94 @@ optdepends=('freetype2: For grub-mkfont usage'
'mtools: For grub-mkrescue FAT FS support')
# source=("http://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
-source=("grub-${pkgver}::bzr+bzr://bzr.savannah.gnu.org/grub/trunk/grub/#revision=${_GRUB_BZR_REV}"
+source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#commit=${_GRUB_GIT_COMMIT}"
+ 'http://unifoundry.com/unifont-5.1.20080820.bdf.gz'
'parabola_grub_mkconfig_fixes.patch'
'60_memtest86+'
- 'grub.default'
- 'grub-2.00-mkinitcpio-0.15.patch'
- 'grub-2.00.5086-fix-lvm-parsing.patch')
+ 'grub.default')
+
md5sums=('SKIP'
- 'b3068b52b6f1dcd2850b5c7585bb185f'
+ '6b8263ceccef33bd633aa019d74b7943'
+ 'aec37e36ba7806217be33d12a7eed062'
'be55eabc102f2c60b38ed35c203686d6'
- '52d374e0194e3f2e39ff7c92ecd58a6c'
- 'd25d2dcf8ba708dcf768fcaea799f59c'
- 'b2bafd4aeb098580754e71991ab7eed8'
+ 'a9ef0067f6824944fa1ae22a5162d7d4'
+ 'SKIP'
'SKIP'
'SKIP')
-for _DIR_ in 915resolution ntldr-img ; do
+for _DIR_ in 915resolution lua ntldr-img ; do
source+=("grub-extras-${_DIR_}::bzr+bzr://bzr.savannah.gnu.org/grub-extras/${_DIR_}/#revision=")
done
+pkgver() {
+ cd "${srcdir}/grub-${_pkgver}/"
+ echo "$(git describe --tags)" | sed -e 's|-|\.|g'
+}
+
+prepare() {
+
+ cd "${srcdir}/grub-${_pkgver}/"
+
+ msg "Patch to enable grub-mkconfig detect Parabola kernels and initramfs"
+ patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch"
+
+ 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 "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"
+ sed 's|python |python2 |g' -i "${srcdir}/grub-${_pkgver}/autogen.sh"
+
+ msg "Pull in latest language files"
+ ./linguas.sh
+ echo
+
+ msg "Remove non 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"
+ cp "${srcdir}/unifont-5.1.20080820.bdf" "${srcdir}/grub-${_pkgver}/unifont.bdf"
+
+ msg "Fix freetype header path file"
+ sed 's|freetype/ftsynth[.]h|freetype2/ftsynth.h|g' -i "${srcdir}/grub-${_pkgver}/util/grub-"{gen-{asciih,widthspec},mkfont}.c
+}
_build_grub-common_and_bios() {
- ## Copy the source for building the common/bios package
- cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub-${pkgver}-bios"
- cd "${srcdir}/grub-${pkgver}-bios/"
+ msg "Set ARCH dependent variables for bios build"
+ if [[ "${CARCH}" == 'x86_64' ]]; then
+ _EFIEMU="--enable-efiemu"
+ else
+ _EFIEMU="--disable-efiemu"
+ fi
- ## Add the grub-extra sources
- export GRUB_CONTRIB="${srcdir}/grub-${pkgver}-bios/grub-extras/"
+ msg "Copy the source for building the bios package"
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-bios"
+ cd "${srcdir}/grub-${_pkgver}-bios/"
- install -d "${srcdir}/grub-${pkgver}-bios/grub-extras"
+ msg "Add the grub-extra sources for bios build"
+ install -d "${srcdir}/grub-${_pkgver}-bios/grub-extras"
for _DIR_ in 915resolution ntldr-img ; do
- cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${pkgver}-bios/grub-extras/${_DIR_}"
+ cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${_pkgver}-bios/grub-extras/${_DIR_}"
done
+ export GRUB_CONTRIB="${srcdir}/grub-bios/grub-extras/"
- ## Unset all compiler FLAGS for bios build
+ msg "Unset all compiler FLAGS for bios build"
unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
unset MAKEFLAGS
- ## Start the actual build process
- cd "${srcdir}/grub-${pkgver}-bios/"
+ cd "${srcdir}/grub-${_pkgver}-bios/"
+
+ msg "Run autogen.sh for bios build"
./autogen.sh
echo
+ msg "Run ./configure for bios build"
./configure \
--with-platform="pc" \
--target="i386" \
@@ -91,6 +137,7 @@ _build_grub-common_and_bios() {
--enable-nls \
--enable-device-mapper \
--enable-cache-stats \
+ --enable-boot-time \
--enable-grub-mkfont \
--enable-grub-mount \
--prefix="/usr" \
@@ -103,37 +150,42 @@ _build_grub-common_and_bios() {
--program-prefix="" \
--with-bootdir="/boot" \
--with-grubdir="grub" \
+ --disable-silent-rules \
--disable-werror
echo
+ msg "Run make for bios build"
make
echo
}
_build_grub-efi() {
- ## Copy the source for building the efi package
- cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub-${pkgver}-efi"
- cd "${srcdir}/grub-${pkgver}-efi/"
-
- # export GRUB_CONTRIB="${srcdir}/grub-${pkgver}-efi/grub-extras/"
+ msg "Copy the source for building the efi package"
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-efi"
+ cd "${srcdir}/grub-${_pkgver}-efi/"
- # install -d "${srcdir}/grub-${pkgver}-efi/grub-extras/"
- # for _DIR_ in lua gpxe ; do
- # cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${pkgver}-bios/grub-extras/${_DIR_}"
- # done
+ msg "Add the grub-extra sources for efi build"
+ install -d "${srcdir}/grub-${_pkgver}-efi/grub-extras/"
+ for _DIR_ in lua ; do
+ cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${_pkgver}-efi/grub-extras/${_DIR_}"
+ done
+ # export GRUB_CONTRIB="${srcdir}/grub-efi/grub-extras/"
- ## Unset all compiler FLAGS for efi build
+ msg "Unset all compiler FLAGS for efi build"
unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
unset MAKEFLAGS
- cd "${srcdir}/grub-${pkgver}-efi/"
+ cd "${srcdir}/grub-${_pkgver}-efi/"
+
+ msg "Run autogen.sh for efi build"
./autogen.sh
echo
+ msg "Run ./configure for efi build"
./configure \
--with-platform="efi" \
--target="${_EFI_ARCH}" \
@@ -142,6 +194,7 @@ _build_grub-efi() {
--enable-nls \
--enable-device-mapper \
--enable-cache-stats \
+ --enable-boot-time \
--enable-grub-mkfont \
--enable-grub-mount \
--prefix="/usr" \
@@ -154,97 +207,78 @@ _build_grub-efi() {
--program-prefix="" \
--with-bootdir="/boot" \
--with-grubdir="grub" \
+ --disable-silent-rules \
--disable-werror
echo
+ msg "Run make for efi build"
make
echo
}
-prepare() {
-
- ## Set ARCH dependent variables
- if [[ "${CARCH}" == 'x86_64' ]]; then
- _EFIEMU="--enable-efiemu"
- else
- _EFIEMU="--disable-efiemu"
- fi
-
- cd "${srcdir}/grub-${pkgver}/"
-
- ## Apply Parabola specific fixes to enable grub-mkconfig detect kernels and initramfs
- patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch"
- echo
-
- ## fix 10_linux
- patch -Np0 -i "${srcdir}/grub-2.00-mkinitcpio-0.15.patch"
- patch -Np1 -i "${srcdir}/grub-2.00.5086-fix-lvm-parsing.patch"
-
- ## fix unifont.bdf location so that grub-mkfont can create *.pf2 files
- sed 's|/usr/share/fonts/unifont|/usr/share/fonts/unifont /usr/share/fonts/misc|g' -i "${srcdir}/grub-${pkgver}/configure.ac"
+build() {
- ## 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"
+ cd "${srcdir}/grub-${_pkgver}/"
- ## Requires python2
- # sed 's|python |python2 |g' -i "${srcdir}/grub-${pkgver}/autogen.sh"
-
- ## pull in language files
- ./linguas.sh
-
-}
-
-build() {
-
- cd "${srcdir}/grub-${pkgver}/"
-
- # remove not working langs which need LC_ALL=C.UTF-8
- sed -i -e 's#en@cyrillic en@greek##g' po/LINGUAS
+ msg "Build grub bios stuff"
_build_grub-common_and_bios
echo
+ msg "Build grub efi stuff"
_build_grub-efi
echo
-
+
}
_package_grub-common_and_bios() {
- cd "${srcdir}/grub-${pkgver}-bios/"
+ cd "${srcdir}/grub-${_pkgver}-bios/"
+
+ msg "Run make install for bios build"
make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
echo
- ## remove gdb debugging related files
+ 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
- ## 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+"
- ## Install /etc/default/grub (used by grub-mkconfig)
+ msg "Install /etc/default/grub (used by grub-mkconfig)"
install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub"
+ msg "Add msdos.mod symlink"
+ ln -s "msdospart.mod" "${pkgdir}/usr/lib/grub/i386-pc/msdos.mod" || true
+
}
_package_grub-efi() {
- cd "${srcdir}/grub-${pkgver}-efi/"
+ cd "${srcdir}/grub-${_pkgver}-efi/"
+
+ msg "Run make install for efi build"
make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
echo
- ## remove gdb debugging related files
+ msg "Remove gdb debugging related files for 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
+ msg "Add msdos.mod symlink"
+ ln -s "msdospart.mod" "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi/msdos.mod" || true
+
}
package() {
+ msg "Package grub efi stuff"
_package_grub-efi
+ msg "Package grub bios stuff"
_package_grub-common_and_bios
}
diff --git a/libre/grub/grub.cfg b/libre/grub/grub.cfg
deleted file mode 100644
index 0d91ff6bc..000000000
--- a/libre/grub/grub.cfg
+++ /dev/null
@@ -1,139 +0,0 @@
-#
-# DO NOT EDIT THIS FILE
-#
-# It is automatically generated by grub-mkconfig using templates
-# from /etc/grub.d and settings from /etc/default/grub
-#
-
-### BEGIN /etc/grub.d/00_header ###
-insmod part_gpt
-insmod part_msdos
-if [ -s $prefix/grubenv ]; then
- load_env
-fi
-set default="0"
-
-if [ x"${feature_menuentry_id}" = xy ]; then
- menuentry_id_option="--id"
-else
- menuentry_id_option=""
-fi
-
-export menuentry_id_option
-
-if [ "${prev_saved_entry}" ]; then
- set saved_entry="${prev_saved_entry}"
- save_env saved_entry
- set prev_saved_entry=
- save_env prev_saved_entry
- set boot_once=true
-fi
-
-function savedefault {
- if [ -z "${boot_once}" ]; then
- saved_entry="${chosen}"
- save_env saved_entry
- fi
-}
-
-function load_video {
- if [ x$feature_all_video_module = xy ]; then
- insmod all_video
- else
- insmod efi_gop
- insmod efi_uga
- insmod ieee1275_fb
- insmod vbe
- insmod vga
- insmod video_bochs
- insmod video_cirrus
- fi
-}
-
-if [ x$feature_default_font_path = xy ] ; then
- font=unicode
-else
-insmod part_msdos
-insmod ext2
-set root='hd0,msdos5'
-if [ x$feature_platform_search_hint = xy ]; then
- search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 ad4103fa-d940-47ca-8506-301d8071d467
-else
- search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467
-fi
- font="/usr/share/grub/unicode.pf2"
-fi
-
-if loadfont $font ; then
- set gfxmode=auto
- load_video
- insmod gfxterm
- set locale_dir=$prefix/locale
- set lang=en_US
- insmod gettext
-fi
-terminal_input console
-terminal_output gfxterm
-set timeout=5
-### END /etc/grub.d/00_header ###
-
-### BEGIN /etc/grub.d/10_linux ###
-menuentry 'Parabola GNU/Linux-libre, with Linux libre kernel' --class parabola --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-ad4103fa-d940-47ca-8506-301d8071d467' {
- load_video
- set gfxpayload=keep
- insmod gzio
- insmod part_msdos
- insmod ext2
- set root='hd0,msdos5'
- if [ x$feature_platform_search_hint = xy ]; then
- search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 ad4103fa-d940-47ca-8506-301d8071d467
- else
- search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467
- fi
- echo 'Loading Linux libre core repo kernel ...'
- linux /boot/vmlinuz-linux-libre root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet
- echo 'Loading initial ramdisk ...'
- initrd /boot/initramfs-linux-libre.img
-}
-menuentry 'Parabola GNU/Linux-libre, with Linux libre kernel (Fallback initramfs)' --class parabola --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-ad4103fa-d940-47ca-8506-301d8071d467' {
- load_video
- set gfxpayload=keep
- insmod gzio
- insmod part_msdos
- insmod ext2
- set root='hd0,msdos5'
- if [ x$feature_platform_search_hint = xy ]; then
- search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 ad4103fa-d940-47ca-8506-301d8071d467
- else
- search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467
- fi
- echo 'Loading Linux libre core repo kernel ...'
- linux /boot/vmlinuz-linux-libre root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet
- echo 'Loading initial ramdisk ...'
- initrd /boot/initramfs-linux-libre-fallback.img
-}
-
-### END /etc/grub.d/10_linux ###
-
-### BEGIN /etc/grub.d/20_linux_xen ###
-### END /etc/grub.d/20_linux_xen ###
-
-### BEGIN /etc/grub.d/20_memtest86+ ###
-### END /etc/grub.d/20_memtest86+ ###
-
-### BEGIN /etc/grub.d/30_os-prober ###
-### END /etc/grub.d/30_os-prober ###
-
-### BEGIN /etc/grub.d/40_custom ###
-# This file provides an easy way to add custom menu entries. Simply type the
-# menu entries you want to add after this comment. Be careful not to change
-# the 'exec tail' line above.
-### END /etc/grub.d/40_custom ###
-
-### BEGIN /etc/grub.d/41_custom ###
-if [ -f ${config_directory}/custom.cfg ]; then
- source ${config_directory}/custom.cfg
-elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
- source $prefix/custom.cfg;
-fi
-### END /etc/grub.d/41_custom ###
diff --git a/libre/grub/grub.default b/libre/grub/grub.default
index 8455b67dd..38bb4a57f 100644
--- a/libre/grub/grub.default
+++ b/libre/grub/grub.default
@@ -45,3 +45,6 @@ GRUB_COLOR_HIGHLIGHT="white/magenta"
#GRUB_INIT_TUNE="480 440 1"
#GRUB_SAVEDEFAULT="true"
+
+# Disable advanced submenu, due 10_linux script file generates submenu without closing bracket with grub-mkconfig
+GRUB_DISABLE_SUBMENU="y"
diff --git a/libre/grub/parabola_grub_mkconfig_fixes.patch b/libre/grub/parabola_grub_mkconfig_fixes.patch
index fbcca19ec..6e3a524f0 100644
--- a/libre/grub/parabola_grub_mkconfig_fixes.patch
+++ b/libre/grub/parabola_grub_mkconfig_fixes.patch
@@ -1,8 +1,8 @@
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
-index 8decc1d..170047f 100644
+index 016ee82..2cdbdd8 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
-@@ -212,6 +212,8 @@ export GRUB_DEFAULT \
+@@ -214,6 +214,8 @@ export GRUB_DEFAULT \
GRUB_THEME \
GRUB_GFXPAYLOAD_LINUX \
GRUB_DISABLE_OS_PROBER \
@@ -12,7 +12,7 @@ index 8decc1d..170047f 100644
GRUB_SAVEDEFAULT \
GRUB_ENABLE_CRYPTODISK \
diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
-index 2c4bb0a..c7120d2 100644
+index d2e7252..8259f45 100644
--- a/util/grub.d/00_header.in
+++ b/util/grub.d/00_header.in
@@ -125,6 +125,14 @@ cat <<EOF
@@ -31,10 +31,10 @@ index 2c4bb0a..c7120d2 100644
gfxterm=0;
for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
-index 14402e8..e85f7d6 100644
+index e27d6f7..a946e71 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
-@@ -31,7 +31,13 @@ CLASS="--class gnu-linux --class gnu --class os"
+@@ -31,7 +31,25 @@ CLASS="--class gnu-linux --class gnu --class os"
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU/Linux
else
@@ -43,13 +43,25 @@ index 14402e8..e85f7d6 100644
+ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
+ elif [ "${GRUB_DISTRIBUTOR}" = "parabola" ] ; then
+ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Blag" ] ; then
++ OS="${GRUB_DISTRIBUTOR} Linux and GNU"
++ elif [ "${GRUB_DISTRIBUTOR}" = "blag" ] ; then
++ OS="${GRUB_DISTRIBUTOR} Linux and GNU"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Musix" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU+Linux"
++ elif [ "${GRUB_DISTRIBUTOR}" = "musix" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU+Linux"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Dragora" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "dragora" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
+ else
+ OS="${GRUB_DISTRIBUTOR} GNU/Linux"
+ fi
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
+ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
fi
-@@ -87,6 +93,8 @@ linux_entry ()
+@@ -87,6 +105,8 @@ linux_entry ()
case $type in
recovery)
title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;;
@@ -58,7 +70,7 @@ index 14402e8..e85f7d6 100644
*)
title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
esac
-@@ -100,7 +108,7 @@ linux_entry ()
+@@ -100,7 +120,7 @@ linux_entry ()
else
echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
fi
@@ -67,7 +79,7 @@ index 14402e8..e85f7d6 100644
save_default_entry | grub_add_tab
fi
-@@ -132,7 +140,8 @@ linux_entry ()
+@@ -132,7 +152,8 @@ linux_entry ()
fi
printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
fi
@@ -77,30 +89,30 @@ index 14402e8..e85f7d6 100644
sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)'
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
-@@ -190,7 +199,22 @@ while [ "x$list" != "x" ] ; do
+@@ -190,7 +211,22 @@ while [ "x$list" != "x" ] ; do
alt_version=`echo $version | sed -e "s,\.old$,,g"`
linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
-+ if test -e "/etc/arch-release" ; then
-+ if echo "${basename}" | grep -q 'vmlinuz-linux' ; then
-+ version="`echo "${basename}" | sed -e 's,vmlinuz-linux,,g'`"
++ if test -e "/etc/parabola-release" ; then
++ if echo "${basename}" | grep -q 'vmlinuz-linux-libre' ; then
++ version="`echo "${basename}" | sed -e 's,vmlinuz-linux-libre,,g'`"
+
+ if [ "x${version}" = "x" ] ; then
-+ version="core repo kernel"
++ version="libre kernel"
+ else
+ version="`echo "${version}" | sed -e 's,-,,g'`"
-+ version="${version} kernel"
++ version="libre ${version} kernel"
+ fi
+ fi
+ fi
-+
++
initrd=
+ initrd_arch="`echo "${basename}" | sed -e 's,vmlinuz,initramfs,g'`"
+
for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
"initrd-${version}" "initramfs-${version}.img" \
"initrd.img-${alt_version}" "initrd-${alt_version}.img" \
-@@ -198,7 +222,8 @@ while [ "x$list" != "x" ] ; do
+@@ -198,7 +234,8 @@ while [ "x$list" != "x" ] ; do
"initramfs-genkernel-${version}" \
"initramfs-genkernel-${alt_version}" \
"initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
@@ -110,11 +122,11 @@ index 14402e8..e85f7d6 100644
if test -e "${dirname}/${i}" ; then
initrd="$i"
break
-@@ -226,6 +251,22 @@ while [ "x$list" != "x" ] ; do
+@@ -226,6 +263,22 @@ while [ "x$list" != "x" ] ; do
linux_root_device_thisversion=${GRUB_DEVICE}
fi
-+ if test -e "/etc/arch-release" ; then
++ if test -e "/etc/parabola-release" ; then
+ is_first_entry="false"
+
+ linux_entry "${OS}" "${version}" true \
@@ -130,14 +142,14 @@ index 14402e8..e85f7d6 100644
+ done
+ fi
+
- if [ "x$is_first_entry" = xtrue ]; then
+ if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
linux_entry "${OS}" "${version}" simple \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
-@@ -239,8 +280,11 @@ while [ "x$list" != "x" ] ; do
- echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
+@@ -240,8 +293,11 @@ while [ "x$list" != "x" ] ; do
+ is_top_level=false
fi
-+ if ! test -e "/etc/arch-release" ; then
++ if ! test -e "/etc/parabola-release" ; then
linux_entry "${OS}" "${version}" advanced \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+ fi
@@ -145,12 +157,12 @@ index 14402e8..e85f7d6 100644
if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
linux_entry "${OS}" "${version}" recovery \
"single ${GRUB_CMDLINE_LINUX}"
-@@ -252,8 +296,10 @@ done
+@@ -252,8 +308,10 @@ done
# If at least one kernel was found, then we need to
# add a closing '}' for the submenu command.
-+if ! test -e "/etc/arch-release" ; then
- if [ x"$is_first_entry" != xtrue ]; then
++if ! test -e "/etc/parabola-release" ; then
+ if [ x"$is_top_level" != xtrue ]; then
echo '}'
fi
+fi