diff options
author | Nicolás Reynolds <fauno@endefensadelsl.org> | 2013-12-27 23:55:53 +0000 |
---|---|---|
committer | Nicolás Reynolds <fauno@endefensadelsl.org> | 2013-12-27 23:55:53 +0000 |
commit | 65eeff79fff8a1bfdf67ca51d147384f46f4d5c0 (patch) | |
tree | fbfdff322b28d9a3c37e6e31c94caf1d8e48dac1 /libre/grub | |
parent | d53c44f055929b18d7d1b25f8367ee5836c435fc (diff) |
Fri Dec 27 23:54:04 UTC 2013
Diffstat (limited to 'libre/grub')
-rw-r--r-- | libre/grub/PKGBUILD | 198 | ||||
-rw-r--r-- | libre/grub/grub.cfg | 139 | ||||
-rw-r--r-- | libre/grub/grub.default | 3 | ||||
-rw-r--r-- | libre/grub/parabola_grub_mkconfig_fixes.patch | 64 |
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 |