1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
diff --git a/PKGBUILD b/PKGBUILD
index 0c7a612..6493383 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -19,8 +19,9 @@ _UNIFONT_VER="10.0.06"
[[ "${CARCH}" == "x86_64" ]] && _EMU_ARCH="x86_64"
[[ "${CARCH}" == "i686" ]] && _EMU_ARCH="i386"
-pkgname="grub"
-pkgdesc="GNU GRand Unified Bootloader (2)"
+_pkgname="grub"
+pkgname="grub-luks-keyfile"
+pkgdesc="GNU GRand Unified Bootloader (2) with crypto extensions to support for DMCrypt and LUKS volumes with detached headers and key files."
pkgver=2.02
pkgrel=5
epoch=2
@@ -30,12 +31,12 @@ license=('GPL3')
backup=('boot/grub/grub.cfg'
'etc/default/grub'
'etc/grub.d/40_custom')
-install="${pkgname}.install"
+install="${_pkgname}.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')
+replaces=('grub' 'grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}")
+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')
@@ -57,7 +58,7 @@ 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/${_pkgname}/${_pkgname}-${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}
'0003-10_linux-detect-archlinux-initramfs.patch'
@@ -66,6 +67,12 @@ source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}
'0006-tsc-Change-default-tsc-calibration-method-to-pmtimer-on-EFI-systems.patch'
'0007-grub-mkconfig_10_linux_Support_multiple_early_initrd_images.patch'
'0008-Fix-packed-not-aligned-error-on-GCC-8.patch'
+ 'https://grub.johnlane.ie/assets/0001-Cryptomount-support-LUKS-detached-header.patch'
+ 'https://grub.johnlane.ie/assets/0002-Cryptomount-support-key-files.patch'
+ 'https://grub.johnlane.ie/assets/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch'
+ 'https://grub.johnlane.ie/assets/0004-Cryptomount-support-plain-dm-crypt.patch'
+ 'https://grub.johnlane.ie/assets/0005-Cryptomount-support-for-hyphens-in-UUID.patch'
+ '0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch::https://github.com/johnlane/grub/pull/8.patch'
'grub.default'
'grub.cfg')
@@ -80,6 +87,12 @@ sha256sums=('810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f'
'c38f2b2caae33008b35a37d8293d8bf13bf6fd779a4504925da1837fd007aeb5'
'e43566c4fe3b1b87e677167323d4716b82ac0810410a9d8dc7fbf415c8db2b8a'
'e84b8de569c7e6b73263758c35cf95c6516fde85d4ed451991427864f6a4e5a8'
+ 'f7790e7fd4641eed8347039ebb44b67a3f517f2bc4de213fe34d2ae887c03b92'
+ 'c1d042ca83f6ac64414f1d5df82fe324a46eaa842768fff214091b177ad30191'
+ 'd2ad15610f5b683ca713329bbe25d43963af9386c9c8732b61cdc135843715f1'
+ 'e47409d04f740a71360775af25c53662386a49ea7f93ada39ed636b9ae8a0a22'
+ '7b9ff45ba6e6c1ad45e6984580393e3801ef86144e48dbe5fe97d4aa8b90706e'
+ 'b27d252cc9a25be424416897496d85fd1aa06ebca8c4cff9c916d90aadffb855'
'74e5dd2090a153c10a7b9599b73bb09e70fddc6a019dd41641b0f10b9d773d82'
'c5e4f3836130c6885e9273c21f057263eba53f4b7c0e2f111f6e5f2e487a47ad')
@@ -109,6 +122,15 @@ prepare() {
msg "Fix packed-not-aligned error on GCC 8"
patch -Np1 -i "${srcdir}/0008-Fix-packed-not-aligned-error-on-GCC-8.patch"
+ msg "Patch for adding support for DMCrypt and LUKS volumes with detached headers and key files"
+ patch -Np1 -i "${srcdir}/0001-Cryptomount-support-LUKS-detached-header.patch"
+ patch -Np1 -i "${srcdir}/0002-Cryptomount-support-key-files.patch"
+ patch -Np1 -i "${srcdir}/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch"
+ patch -Np1 -i "${srcdir}/0004-Cryptomount-support-plain-dm-crypt.patch"
+ patch -Np1 -i "${srcdir}/0005-Cryptomount-support-for-hyphens-in-UUID.patch"
+ patch -Np1 -i "${srcdir}/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch"
+ echo
+
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 "configure.ac"
|