# vim: syn=sh ft=sh et sw=2 sts=2 ts=2 tw=0: #Packager: Dimitris Tzemos pkgname=grub pkgver=2.02 _unifontver=9.0.06 _dejavuver=2.37 pkgrel=1dj source=( "grub-default" "salix.png" "update-grub" "windows_uefi" "setup.grubconfig" "grubconfig" "initrd_naming.patch.gz" "0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch.gz" "grub.dejavusansmono.gfxterm.font.diff.gz" "ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-$pkgver.tar.xz" "http://unifoundry.com/pub/unifont-$_unifontver/font-builds/unifont-$_unifontver.pcf.gz" "0002-intel-ucode.patch" "0004-add-GRUB_COLOR_variables.patch" "http://sourceforge.net/projects/dejavu/files/dejavu/$_dejavuver/dejavu-sans-ttf-$_dejavuver.zip" ) docs=("readme" "install" "copying" "changelog" "authors" "news" "todo") url=http://www.gnu.org/software/grub/ options=('noextract' 'nostrip' 'noautodotnew') dotnew=('etc/default/grub' 'etc/grub.d/00_header' 'etc/grub.d/10_linux' 'etc/grub.d/20_linux_xen' 'etc/grub.d/30_os-prober' 'etc/grub.d/40_custom' 'etc/grub.d/41_custom') slackdesc=\ ( #|-----handy-ruler------------------------------------------------------| "$pkgname (the second GNU GRand Unified Bootloader)" "GRUB 2 has been rewritten from scratch to clean up everything for" "modularity and portability." "Features are: Scripting support, Graphical interface, Rescue mode," "cross-platform and many more" "Briefly, boot loader is the first software program that runs when a" "computer starts. It is responsible for loading and transferring" "control to the operating system kernel software (such as the Hurd or" "the Linux). The kernel initializes the rest of the operating system." "* gettextvar, eval, getdate commands added." ) build() { # CFLAGS and CXXFLAGS should not contains fPIC or compile will fail export CFLAGS=$(echo "$CFLAGS"|sed 's/-fPIC/-fno-PIC/') export CXXFLAGS=$(echo "$CXXFLAGS"|sed 's/-fPIC/-fno-PIC/') cd $SRC || return 1 tar xf grub-$pkgver.tar.xz || return 1 unzip $SRC/dejavu-sans-ttf-$_dejavuver.zip || return 1 cd grub-$pkgver || return 1 # Use /boot/initrd.gz as a valid initrd name: zcat $SRC/initrd_naming.patch.gz | patch -p1 --verbose || return 1 # Fix security issue when reading username and password: zcat $SRC/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch.gz | patch -p1 --verbose || return 1 # Support DejaVuSansMono font (dejavusansmono.pf2) by default: zcat $SRC/grub.dejavusansmono.gfxterm.font.diff.gz | patch -p1 --verbose || return 1 patch -Np1 -i "${SRC}/0002-intel-ucode.patch" || return 1 patch -Np1 -i "${SRC}/0004-add-GRUB_COLOR_variables.patch" || return 1 cp $SRC/unifont-$_unifontver.pcf.gz unifont.pcf.gz || return 1 cp $SRC/dejavu-sans-ttf-$_dejavuver/ttf/DejaVuSans.ttf . || return 1 ./autogen.sh ./configure \ --with-platform="pc" \ --target="i386" \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --localstatedir=/var \ --sysconfdir=/etc \ --mandir=/usr/man \ --infodir=/usr/share/info \ --docdir=/usr/doc/$pkgname-$pkgver \ --program-prefix= \ --enable-cache-stats \ --enable-boot-time \ --enable-device-mapper \ $([ $ARCH = x86_64 ] && echo '--enable-efiemu' || echo '--disable-efiemu') \ --enable-grub-emu-usb \ --enable-grub-mkfont \ --enable-grub-mount \ --enable-nls \ --with-bootdir="/boot" \ --with-grubdir="grub" \ --disable-silent-rules \ --disable-werror \ --build=$arch-slackware-linux || return 1 make -j $numjobs || return 1 make install DESTDIR=$PKG || return 1 # EFI compilation ./configure \ --with-platform="efi" \ --target=$(echo $ARCH | grep -q "i.86" && echo "i386" || echo $ARCH) \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --localstatedir=/var \ --sysconfdir=/etc \ --mandir=/usr/man \ --infodir=/usr/share/info \ --docdir=/usr/doc/$pkgname-$pkgver \ --program-prefix= \ --disable-efiemu \ --enable-cache-stats \ --enable-boot-time \ --enable-device-mapper \ --enable-grub-emu-usb \ --enable-grub-mkfont \ --enable-grub-mount \ --enable-nls \ --with-bootdir="/boot" \ --with-grubdir="grub" \ --disable-silent-rules \ --disable-werror \ --build=$arch-slackware-linux || return 1 make clean || return 1 make -j $numjobs || return 1 make install DESTDIR=$PKG || return 1 install -D -m644 $SRC/grub-default $PKG/etc/default/grub || return 1 install -D -m644 $SRC/salix.png $PKG/boot/grub/salix.png || return 1 install -D -m755 $SRC/update-grub $PKG/usr/sbin/update-grub || return 1 install -D -m755 $SRC/windows_uefi $PKG/usr/sbin/windows_uefi || return 1 install -D -m755 $SRC/grubconfig $PKG/sbin/grubconfig || return 1 install -D -m755 $SRC/setup.grubconfig $PKG/var/log/setup/setup.grubconfig || return 1 }