1 # Contributor: Maloy <daniel.go.mon@gmail.com>
2 # Contributor: Check <i.like.webm@gmail.com>
4 # Well, Arch rocks, if it's configured right!
11 pkgname='grub2-efi-ubuntu'
12 pkgbase="grub2-ubuntu"
15 (( 1 )) && pkgname=("grub2-common-ubuntu" "grub2-efi-ubuntu")
19 pkgdesc="A less verbose GRUB2 with Ubuntu patches for UEFI Systems, you can compile automake 1.11 from abs, through changing version-number and md5sum"
20 url="http://www.gnu.org/software/grub/"
23 makedepends=('bdf-unifont' 'python2' 'xz' 'autogen' 'texinfo' 'help2man' 'gettext' 'device-mapper' 'automake<=1.11.1')
24 options=(strip purge docs zipman !emptydirs)
25 replaces=('grub2-common' 'grub2-efi-x86_64')
27 source=("http://archive.ubuntu.com/ubuntu/pool/main/g/grub2/grub2_1.99.orig.tar.gz"
28 "ftp://ftp.archlinux.org/other/grub2/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz"
29 "ftp://ftp.archlinux.org/other/grub2/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz"
30 "ftp://ftp.archlinux.org/other/grub2/grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
31 "ftp://ftp.archlinux.org/other/grub2/grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz"
36 "ubuntu_linux_quiet.patch"
37 "ubuntu_normal_quiet.patch"
38 "ubuntu_quick_boot.patch"
39 "ubuntu_quiet_grub_loading.patch"
40 "ubuntu_really_quiet.patch"
41 "ubuntu_crashkernel.patch")
43 noextract=("grub2_extras_lua_r${_grub2_lua_ver}.tar.xz"
44 "grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz"
45 "grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
46 "grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz")
48 sha1sums=('6d0536da38224e7caf94cf2531a5f921ac057b9b'
49 '9f2dbf7a3faab24ca92266400aa513fecd3895c8'
50 'b04994c005910b4bf123f034b30109d5c8d6fd86'
51 'e0c1a97770cc23226cf4535c029ef50b17f67974'
52 '8bcaed545956bb33581e1b97ac96a2c3717ec793'
53 '8f2bd9939cb4865ad91e61167c6828585e51dbbb'
54 '8948d89537c12a4202df7c001e65a77030bbe5a3'
55 '82a27eca5277218cf57c6c5767e0b17a72f62229'
56 'beb31419045db70fee7401aa6448c220a491e2a3'
57 '49d3e2901473e343449ed9dfc5f73f803fb952be'
58 '3e43de881928884bf2395be97309cc8fb709d481'
59 '83eccf691480df07bb9f3bbbc8de86462cf697de'
60 '58d06e86303d58b24cd284c02585c958d89d8f21'
61 'c1001640a40be7f047b7a6bcab1a1fadbbc85950'
62 'b0554a97089f4bd57c9a349f63a7ee0030551078')
65 # set architecture dependent variables
66 if [ "${CARCH}" = "x86_64" ] ; then
69 echo "Sorry, i686 not supported :("
75 cd ${srcdir}/grub-${pkgver}
77 patch -p1 -i ${srcdir}/ubuntu_crashkernel.patch
78 patch -p1 -i ${srcdir}/ubuntu_quick_boot.patch
79 patch -p1 -i ${srcdir}/ubuntu_normal_quiet.patch
80 patch -p1 -i ${srcdir}/ubuntu_really_quiet.patch
81 patch -p1 -i ${srcdir}/ubuntu_linux_quiet.patch
82 patch -p1 -i ${srcdir}/ubuntu_quiet_grub_loading.patch
84 cp -r ${srcdir}/grub-${pkgver} ${srcdir}/grub2_efi-${pkgver}
86 export GRUB_CONTRIB=${srcdir}/grub2_efi-${pkgver}/grub2-extras/
87 install -d ${srcdir}/grub2_efi-${pkgver}/grub2-extras
89 bsdtar xf ${srcdir}/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz \
90 -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
91 bsdtar xf ${srcdir}/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz \
92 -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
93 bsdtar xf ${srcdir}/grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz \
94 -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
95 bsdtar xf ${srcdir}/grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz \
96 -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
97 sed -i 's|python|python2|' ${srcdir}/grub2_efi-${pkgver}/autogen.sh
99 cd ${srcdir}/grub2_efi-${pkgver}
101 # No suitable mode fix see archwiki/grub2
102 sed -i 's|/usr/share/fonts/unifont|/usr/share/fonts/misc|' ${srcdir}/grub2_efi-${pkgver}/configure
106 CFLAGS="" ./configure --with-platform=efi \
107 --target=x86_64 --host=${CARCH}-unknown-linux-gnu \
108 --program-transform-name=s,grub,grub, \
109 --enable-mm-debug --disable-efiemu \
110 --enable-grub-mkfont --enable-nls \
111 --prefix=/usr --bindir=/bin --sbindir=/sbin \
112 --mandir=/usr/share/man --infodir=/usr/share/info \
117 package_grub2-common-ubuntu() {
118 pkgdesc="A less verbose GRUB2 with Ubuntu patches"
119 install="grub2.install"
120 depends=('xz' 'freetype2' 'device-mapper' 'gettext' 'texinfo')
122 backup=('boot/grub/grub.cfg' 'etc/default/grub' 'etc/grub.d/40_custom')
123 cd ${srcdir}/grub2_efi-${pkgver}
124 make DESTDIR=${pkgdir} install
126 install -Dm755 ${pkgdir}/sbin/grub-install ${pkgdir}/sbin/grub_efi_x86_64-install
128 sed -i "s|^\(target_cpu\)=.*|\1=x86_64|; \
129 s|^\(platform\)=.*|\1=efi|" \
130 ${pkgdir}/sbin/grub_efi_x86_64-install
133 ## install extra /etc/grub.d/ files
134 install -Dm755 ${srcdir}/20_memtest86+ ${pkgdir}/etc/grub.d/20_memtest86+
136 ## install /etc/default/grub (used by grub-mkconfig)
137 install -Dm644 ${srcdir}/grub.default ${pkgdir}/etc/default/grub
139 ## install grub.cfg (needed so it doesn't get removed on upgrading because it was previously here)
140 install -Dm644 ${srcdir}/grub.cfg ${pkgdir}/boot/grub/grub.cfg
142 # remove platform specific files
143 rm -rf ${pkgdir}/usr/lib/grub/i386-pc/
145 rm -rf ${pkgdir}/usr/lib/grub/x86_64-efi/
148 package_grub2-efi-ubuntu() {
149 pkgdesc="A less verbose GRUB2 with Ubuntu patches"
153 cd ${srcdir}/grub2_efi-${pkgver}
154 make DESTDIR=${pkgdir} install
156 ## remove non platform-specific files
157 rm -rf ${pkgdir}/{boot,bin,sbin,etc,usr/share}
158 rm ${pkgdir}/usr/lib/grub/{grub-mkconfig_lib,update-grub_lib}
160 post_install_grub2-common-ubuntu(){
161 echo "SEE https://wiki.archlinux.org/index.php/GRUB2"