summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO15
-rw-r--r--.gitignore6
-rw-r--r--0000-default-kernel.patch25
-rw-r--r--PKGBUILD26
-rwxr-xr-xupdate-branch.sh26
5 files changed, 81 insertions, 17 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a79a43c0e619..a8b2d5b8bb95 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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`
diff --git a/PKGBUILD b/PKGBUILD
index 1bd8b4847129..7b308a5db63a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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"