diff options
-rw-r--r-- | libre/syslinux/PKGBUILD | 64 | ||||
-rw-r--r-- | libre/syslinux/syslinux-install_update | 2 | ||||
-rw-r--r-- | libre/syslinux/syslinux.install | 53 |
3 files changed, 71 insertions, 48 deletions
diff --git a/libre/syslinux/PKGBUILD b/libre/syslinux/PKGBUILD index ad30022df..345523b0f 100644 --- a/libre/syslinux/PKGBUILD +++ b/libre/syslinux/PKGBUILD @@ -1,11 +1,11 @@ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Maintainer: Thomas Bächler <thomas@archlinux.org> -# Contributor: Keshav Padram (the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> +# Contributor: Keshav Padram Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> # Maintainer (Parabola): André Silva <emulatorman@parabola.nu> pkgname="syslinux" pkgver="6.02" -pkgrel="4" +pkgrel="6" arch=('x86_64' 'i686') pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE (Parabola rebranded)" url="http://syslinux.zytor.com/" @@ -30,9 +30,30 @@ source=("https://www.kernel.org/pub/linux/utils/boot/syslinux/${pkgname}-${pkgve 'splash.png') md5sums=('6f275813a1b08cf852e55c0a3f8fbc78' 'f048880b57e2c5a7017ff8804bfda327' - '9da2b8b25ea8d628887f11749dc3fffa' - '9dbede6b71a4de9e46aac4aad65334d7' + '9376f18fa3e42fc36cffa4cff0a84c09' + '9dbede6b71a4de9e46aac4aad65334d7 'cb46ca47c6b6323127d908440057d98f') +prepare() { + + cd "${srcdir}/${pkgname}-${pkgver}/" + + ## Do not try to build the Windows or DOS installers and DIAG files + sed 's|diag libinstaller dos win32 win64 dosutil txt|libinstaller txt|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + sed 's|win32/syslinux.exe win64/syslinux64.exe||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + sed 's|dosutil/*.com dosutil/*.sys||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + sed 's|dos/syslinux.com||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + sed 's|INSTALLSUBDIRS = com32 utils dosutil|INSTALLSUBDIRS = com32 utils|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + sed 's|install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|# install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + + ## Fix FHS manpage path + sed 's|/usr/man|/usr/share/man|g' -i "${srcdir}/${pkgname}-${pkgver}/mk/syslinux.mk" || true + + # fix chainloading + # http://bugzilla.syslinux.org/show_bug.cgi?id=31 + # http://www.syslinux.org/archives/2013-October/020971.html + patch -Np1 -i "${srcdir}/syslinux-6.02-fix-chainloading.patch" + +} _build_syslinux_bios() { @@ -43,7 +64,8 @@ _build_syslinux_bios() { ## Do not try to build syslinux with our default LDFLAGS, it will fail unset LDFLAGS make PYTHON="python2" bios - make PYTHON="python2" bios installer + make PYTHON="python2" bios installer + } _build_syslinux_efi64() { @@ -60,7 +82,8 @@ _build_syslinux_efi64() { unset MAKEFLAGS make PYTHON="python2" efi64 - make PYTHON="python2" efi64 installer + make PYTHON="python2" efi64 installer + } _build_syslinux_efi32() { @@ -77,29 +100,14 @@ _build_syslinux_efi32() { unset MAKEFLAGS make PYTHON="python2" efi32 - make PYTHON="python2" efi32 installer + make PYTHON="python2" efi32 installer + } build() { cd "${srcdir}/${pkgname}-${pkgver}/" - ## Do not try to build the Windows or DOS installers and DIAG files - sed 's|diag libinstaller dos win32 win64 dosutil txt|libinstaller txt|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - sed 's|win32/syslinux.exe win64/syslinux64.exe||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - sed 's|dosutil/*.com dosutil/*.sys||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - sed 's|dos/syslinux.com||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - sed 's|INSTALLSUBDIRS = com32 utils dosutil|INSTALLSUBDIRS = com32 utils|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - sed 's|install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|# install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - - ## Fix FHS manpage path - sed 's|/usr/man|/usr/share/man|g' -i "${srcdir}/${pkgname}-${pkgver}/mk/syslinux.mk" || true - - # fix chainloading - # http://bugzilla.syslinux.org/show_bug.cgi?id=31 - # http://www.syslinux.org/archives/2013-October/020971.html - patch -Np1 -i "${srcdir}/syslinux-6.02-fix-chainloading.patch" - ## Build syslinux-efi if [[ "${CARCH}" == "x86_64" ]]; then _build_syslinux_efi64 @@ -151,7 +159,7 @@ _package_syslinux_bios() { install -D -m644 "${srcdir}/splash.png" "${pkgdir}/boot/syslinux/splash.png" } -package() { +_package_syslinux_efi() { cd "${srcdir}/${pkgname}-${pkgver}/" @@ -165,6 +173,14 @@ package() { make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/" efi32 install fi +} + +package() { + + cd "${srcdir}/${pkgname}-${pkgver}/" + + _package_syslinux_efi + _package_syslinux_bios } diff --git a/libre/syslinux/syslinux-install_update b/libre/syslinux/syslinux-install_update index 251b9c482..e278904e2 100644 --- a/libre/syslinux/syslinux-install_update +++ b/libre/syslinux/syslinux-install_update @@ -334,7 +334,7 @@ update() { install_modules if device_is_raid "$bootpart" ; then - echo "Detected RAID on /boot - installing Syslinux with --raid" + echo "Detected RAID on /boot - updating Syslinux with --raid" "$EXTLINUX" --update "$bios_bootpath" --raid &> /dev/null else "$EXTLINUX" --update "$bios_bootpath" &> /dev/null diff --git a/libre/syslinux/syslinux.install b/libre/syslinux/syslinux.install index 7dc7a43c1..ed8387773 100644 --- a/libre/syslinux/syslinux.install +++ b/libre/syslinux/syslinux.install @@ -1,36 +1,43 @@ post_install() { - echo "==> If you want to use syslinux as your BIOS bootloader" - echo "==> edit /boot/syslinux/syslinux.cfg and run" - echo "==> # /usr/bin/syslinux-install_update -i -a -m" - echo "==> to install it." cat << EOF -Syslinux efi64 and efi32 files have been installed at -/usr/lib/syslinux/{efi64,efi32}/ respectively. -To install, copy /usr/lib/syslinux/efi64 to (ESP)/EFI/syslinux and -syslinux.cfg to (ESP)/EFI/syslinux/syslinux.cfg and add a boot entry -using efibootmgr for (ESP)/EFI/syslinux/syslinux.efi +==> For setting up Syslinux BIOS using the syslinux-install_update script follow + https://wiki.parabolagnulinux.org/index.php/Syslinux#Automatic_Install EOF + + ## Message specific to Syslinux 4.xx (or 5.xx) to 6.xx upgrade + if [ "$(vercmp $2 6.00)" -lt 0 ]; then + + cat << EOF + +==> If you are upgrading from Syslinux 4.xx or 5.xx, please re-install + (not update) Syslinux BIOS manually (not using the install script) once + by following https://wiki.parabolagnulinux.org/index.php/Syslinux#Manual_install + +==> The install script may not properly upgrade Syslinux to 6.xx version +EOF + + fi + + cat << EOF + +==> For setting up Syslinux EFI follow + https://wiki.parabolagnulinux.org/index.php/Syslinux#UEFI_Systems +==> The syslinux-install_update script does not currently support EFI install + +EOF + } post_upgrade() { - # auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists + + ## auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists /usr/bin/syslinux-install_update -s - # update to 5.01 message - if [ "$(vercmp $2 5.01)" -lt 0 ]; then - echo "If you used syslinux-install_update to install syslinux:" - echo "==> If you want to use syslinux with menu and all modules please rerun" - echo "==> # /usr/bin/syslinux-install_update -i -a -m" - echo "" - echo "If you manually installed syslinux:" - echo "==> Please copy or symlink all .c32 modules to your /boot/syslinux directory." - echo "==> If (/ and /boot on separate fs):" - echo "==> # cp /usr/lib/syslinux/bios/*.c32 /boot/syslinux" - echo "==> If (/ and /boot on same fs):" - echo "==> # ln -s /usr/lib/syslinux/bios/*.c32 /boot/syslinux" - fi + + post_install + } # vim:set ts=2 sw=2 et: |