diff options
-rw-r--r-- | .SRCINFO | 15 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | 0000-default-kernel.patch | 25 | ||||
-rw-r--r-- | PKGBUILD | 26 | ||||
-rwxr-xr-x | update-branch.sh | 26 |
5 files changed, 81 insertions, 17 deletions
@@ -1,5 +1,5 @@ -pkgbase = grub - pkgdesc = GNU GRand Unified Bootloader (2) +pkgbase = grub-linux-default + pkgdesc = GNU GRand Unified Bootloader (2) with linux as the default kernel pkgver = 2.02 pkgrel = 8 epoch = 2 @@ -19,6 +19,7 @@ pkgbase = grub makedepends = gettext makedepends = device-mapper makedepends = fuse2 + depends = linux depends = sh depends = xz depends = gettext @@ -30,19 +31,17 @@ pkgbase = grub optdepends = libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue optdepends = os-prober: To detect other OSes when generating grub.cfg in BIOS systems optdepends = mtools: For grub-mkrescue FAT FS support + provides = grub provides = grub-common provides = grub-bios provides = grub-emu provides = grub-efi-x86_64 + conflicts = grub conflicts = grub-common conflicts = grub-bios conflicts = grub-emu conflicts = grub-efi-x86_64 conflicts = grub-legacy - replaces = grub-common - replaces = grub-bios - replaces = grub-emu - replaces = grub-efi-x86_64 options = !makeflags backup = etc/default/grub backup = etc/grub.d/40_custom @@ -51,6 +50,7 @@ pkgbase = grub source = https://git.savannah.nongnu.org/cgit/grub-extras.git/snapshot/grub-extras-f2a079441939eee7251bf141986cdd78946e1d20.tar.gz source = https://ftp.gnu.org/gnu/unifont/unifont-11.0.02/unifont-11.0.02.bdf.gz source = https://ftp.gnu.org/gnu/unifont/unifont-11.0.02/unifont-11.0.02.bdf.gz.sig + source = 0000-default-kernel.patch source = 0003-10_linux-detect-archlinux-initramfs.patch source = 0004-add-GRUB_COLOR_variables.patch source = 0005-Allow_GRUB_to_mount_ext234_filesystems_that_have_the_encryption_feature.patch @@ -67,6 +67,7 @@ pkgbase = grub sha256sums = 2844601914cea6b1231eca0104853a93c4d67a5209933a0766f1475953300646 sha256sums = a7ea9ca4f6dcb59377d978194835ede669457069256184f86d46ab5b863c56e6 sha256sums = SKIP + sha256sums = 55e383e6693f47c0951806e76397d4da5f5a77c3b77f8b84479bf67b0bfb0017 sha256sums = b41e4438319136b5e74e0abdfcb64ae115393e4e15207490272c425f54026dd3 sha256sums = a5198267ceb04dceb6d2ea7800281a42b3f91fd02da55d2cc9ea20d47273ca29 sha256sums = 535422c510a050d41efe7720dbe54de29e04bdb8f86fd5aea5feb0b24f7abe46 @@ -77,5 +78,5 @@ pkgbase = grub sha256sums = 51562fa1016c54567dbf42a86c0cfc902372ab579bbee17879a81aff09b76b99 sha256sums = 74e5dd2090a153c10a7b9599b73bb09e70fddc6a019dd41641b0f10b9d773d82 -pkgname = grub +pkgname = grub-linux-default diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..d5f660113c52 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.tar.xz +*.tar.xz.sig +*.gz +*.gz.sig +pkg/ +src/ diff --git a/0000-default-kernel.patch b/0000-default-kernel.patch new file mode 100644 index 000000000000..f5d1d67799fc --- /dev/null +++ b/0000-default-kernel.patch @@ -0,0 +1,25 @@ +diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in +index de9044c7f..a9087da35 100644 +--- a/util/grub.d/10_linux.in ++++ b/util/grub.d/10_linux.in +@@ -178,8 +178,20 @@ title_correction_code= + submenu_indentation="" + + is_top_level=true ++default_kernel_grabbed=false ++default_kernel_name="/boot/vmlinuz-linux" + while [ "x$list" != "x" ] ; do + linux=`version_find_latest $list` ++ if ! $default_kernel_grabbed; then ++ for i in $list; do ++ if [ $i == $default_kernel_name ] ++ then ++ linux=$default_kernel_name ++ break ++ fi ++ done ++ default_kernel_grabbed=true ++ fi + gettext_printf "Found linux image: %s\n" "$linux" >&2 + basename=`basename $linux` + dirname=`dirname $linux` @@ -1,5 +1,6 @@ -# Maintainer : Christian Hesse <mail@eworm.de> -# Maintainer : Ronald van Haren <ronald.archlinux.org> +# Maintainer: Denton Liu <liu.denton@gmail.com> +# Contributor: Christian Hesse <mail@eworm.de> +# Contributor: Ronald van Haren <ronald.archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> @@ -19,8 +20,9 @@ _UNIFONT_VER="11.0.02" [[ "${CARCH}" == "x86_64" ]] && _EMU_ARCH="x86_64" [[ "${CARCH}" == "i686" ]] && _EMU_ARCH="i386" -pkgname='grub' -pkgdesc='GNU GRand Unified Bootloader (2)' +_basepkgname="grub" +pkgname="${_basepkgname}-linux-default" +pkgdesc='GNU GRand Unified Bootloader (2) with linux as the default kernel' pkgver=2.02 pkgrel=8 epoch=2 @@ -29,16 +31,15 @@ arch=('x86_64') license=('GPL3') backup=('etc/default/grub' 'etc/grub.d/40_custom') -install="${pkgname}.install" +install="${_basepkgname}.install" options=('!makeflags') -conflicts=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}" 'grub-legacy') -replaces=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") -provides=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") +conflicts=('grub' 'grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}" 'grub-legacy') +provides=('grub' 'grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") makedepends=('git' 'rsync' 'xz' 'freetype2' 'ttf-dejavu' 'python' 'autogen' 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse2') -depends=('sh' 'xz' 'gettext' 'device-mapper') +depends=('linux' 'sh' 'xz' 'gettext' 'device-mapper') optdepends=('freetype2: For grub-mkfont usage' 'fuse2: For grub-mount usage' 'dosfstools: For grub-mkrescue FAT FS and EFI support' @@ -56,9 +57,10 @@ fi validpgpkeys=('E53D497F3FA42AD8C9B4D1E835A93B74E82E4209' # Vladimir 'phcoder' Serbinenko <phcoder@gmail.com> '95D2E9AB8740D8046387FD151A09227B1F435A33') # Paul Hardy <unifoundry@unifoundry.com> -source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig} +source=("https://ftp.gnu.org/gnu/${_basepkgname}/${_basepkgname}-${pkgver}.tar.xz"{,.sig} "https://git.savannah.nongnu.org/cgit/grub-extras.git/snapshot/grub-extras-${_GRUB_EXTRAS_COMMIT}.tar.gz" "https://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz"{,.sig} + '0000-default-kernel.patch' '0003-10_linux-detect-archlinux-initramfs.patch' '0004-add-GRUB_COLOR_variables.patch' '0005-Allow_GRUB_to_mount_ext234_filesystems_that_have_the_encryption_feature.patch' @@ -74,6 +76,7 @@ sha256sums=('810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f' '2844601914cea6b1231eca0104853a93c4d67a5209933a0766f1475953300646' 'a7ea9ca4f6dcb59377d978194835ede669457069256184f86d46ab5b863c56e6' 'SKIP' + '55e383e6693f47c0951806e76397d4da5f5a77c3b77f8b84479bf67b0bfb0017' 'b41e4438319136b5e74e0abdfcb64ae115393e4e15207490272c425f54026dd3' 'a5198267ceb04dceb6d2ea7800281a42b3f91fd02da55d2cc9ea20d47273ca29' '535422c510a050d41efe7720dbe54de29e04bdb8f86fd5aea5feb0b24f7abe46' @@ -110,6 +113,9 @@ _configure_options=( prepare() { cd "${srcdir}/grub-${pkgver}/" + echo "Patch to make GRUB use linux as the default kernel" + patch -Np1 -i "${srcdir}/0000-default-kernel.patch" + echo "Patch to detect of Arch Linux initramfs images by grub-mkconfig..." patch -Np1 -i "${srcdir}/0003-10_linux-detect-archlinux-initramfs.patch" diff --git a/update-branch.sh b/update-branch.sh new file mode 100755 index 000000000000..5c26decb7718 --- /dev/null +++ b/update-branch.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +REMOTE_BRANCH=packages/grub +LOCAL_BRANCH=upstream +CURRENT_BRANCH=`git rev-parse --abbrev-ref HEAD` + +git checkout "$REMOTE_BRANCH" +git pull +git branch -f "$LOCAL_BRANCH" "$REMOTE_BRANCH" +git checkout "$LOCAL_BRANCH" +git filter-branch -f --subdirectory-filter trunk \ + --tree-filter 'makepkg --printsrcinfo > .SRCINFO || rm .SRCINFO' \ + --commit-filter ' + if [ -e .SRCINFO ] + then + git commit-tree "$@" + else + shift + while [ -n "$1" ] + do + shift + map "$1" + shift + done + fi' +git checkout "$CURRENT_BRANCH" |