Date: Monday, November 18, 2013 @ 08:55:53 Author: tpowa Revision: 199893
archrelease: copy trunk to testing-x86_64, testing-i686 Added: refind-efi/repos/testing-i686/ refind-efi/repos/testing-i686/PKGBUILD (from rev 199892, refind-efi/trunk/PKGBUILD) refind-efi/repos/testing-i686/refind-efi.install (from rev 199892, refind-efi/trunk/refind-efi.install) refind-efi/repos/testing-i686/refind_linux.conf (from rev 199892, refind-efi/trunk/refind_linux.conf) refind-efi/repos/testing-x86_64/ refind-efi/repos/testing-x86_64/PKGBUILD (from rev 199892, refind-efi/trunk/PKGBUILD) refind-efi/repos/testing-x86_64/refind-efi.install (from rev 199892, refind-efi/trunk/refind-efi.install) refind-efi/repos/testing-x86_64/refind_linux.conf (from rev 199892, refind-efi/trunk/refind_linux.conf) -----------------------------------+ testing-i686/PKGBUILD | 254 ++++++++++++++++++++++++++++++++++++ testing-i686/refind-efi.install | 32 ++++ testing-i686/refind_linux.conf | 5 testing-x86_64/PKGBUILD | 254 ++++++++++++++++++++++++++++++++++++ testing-x86_64/refind-efi.install | 32 ++++ testing-x86_64/refind_linux.conf | 5 6 files changed, 582 insertions(+) Copied: refind-efi/repos/testing-i686/PKGBUILD (from rev 199892, refind-efi/trunk/PKGBUILD) =================================================================== --- testing-i686/PKGBUILD (rev 0) +++ testing-i686/PKGBUILD 2013-11-18 07:55:53 UTC (rev 199893) @@ -0,0 +1,254 @@ +# $Id$ +# Maintainer: Tobias Powalowski <tp...@archlinux.org> +# Contributor: Keshav Padram Amburay <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> + +####### +_TIANOCORE_SVN_URL="https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1" +# BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg +_TIANO_DIR_="tianocore-udk-svn" +_TIANO_SVN_REV_="14641" +####### + +####### +_TIANOCORE_PKG="Mde" +_TIANOCORE_TARGET="RELEASE" +_UDK_TARGET="${_TIANOCORE_PKG}Pkg/${_TIANOCORE_PKG}Pkg.dsc" +_COMPILER="GCC47" +####### + +pkgname="refind-efi" +pkgver="0.7.5" +pkgrel="1" +pkgdesc="Rod Smith's fork of rEFIt UEFI Boot Manager - built with Tianocore UDK libs" +url="http://www.rodsbooks.com/refind/index.html" +arch=('x86_64' 'i686') +license=('GPL3' 'custom') + +makedepends=('subversion' 'python2') +depends=('bash' 'dosfstools' 'efibootmgr') +optdepends=('mactel-boot: For bless command in Apple Mac systems' + 'imagemagick: For refind-mkfont script') + +options=('!strip' 'docs' '!makeflags') + +install="${pkgname}.install" + +source=("http://downloads.sourceforge.net/refind/refind-src-${pkgver}.zip" + 'refind_linux.conf') + +for _DIR_ in BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg ; do + source+=("${_TIANO_DIR_}_${_DIR_}::svn+${_TIANOCORE_SVN_URL}/${_DIR_}#revision=${_TIANO_SVN_REV_}") +done + +sha1sums=('1084147266be8d69f1a199d02049b71a50c830de' + '3d53eb615c3363d45feb95b9bfbf1d5491bf1c24' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +[[ "${CARCH}" == "x86_64" ]] && _TIANO_ARCH="X64" +[[ "${CARCH}" == "i686" ]] && _TIANO_ARCH="IA32" + +[[ "${CARCH}" == "x86_64" ]] && _TIANO_S_ARCH="x64" +[[ "${CARCH}" == "i686" ]] && _TIANO_S_ARCH="ia32" + +_setup_env_vars() { + + msg "Setup UDK PATH ENV variables" + export _UDK_DIR="${srcdir}/${_TIANO_DIR_}_build" + export EDK_TOOLS_PATH="${_UDK_DIR}/BaseTools" + +} + +_prepare_tianocore_sources() { + + msg "Delete old UDK BUILD dir" + rm -rf "${_UDK_DIR}/" || true + + msg "Create UDK BUILD dir" + mkdir -p "${_UDK_DIR}/" + + for _DIR_ in BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg ; do + mv "${srcdir}/${_TIANO_DIR_}_${_DIR_}" "${_UDK_DIR}/${_DIR_}" + done + + cd "${_UDK_DIR}/" + + msg "Cleanup UDK config files" + rm -rf "${_UDK_DIR}/Build/" || true + rm -rf "${_UDK_DIR}/Conf/" || true + mkdir -p "${_UDK_DIR}/Conf/" + mkdir -p "${_UDK_DIR}/Build/" + + msg "Use python2 for UDK BaseTools" + sed 's|python |python2 |g' -i "${EDK_TOOLS_PATH}/BinWrappers/PosixLike"/* || true + sed 's|python |python2 |g' -i "${EDK_TOOLS_PATH}/Tests/GNUmakefile" + + msg "Fix GCC Warning as error" + sed 's|-Werror |-Wno-error -Wno-unused-but-set-variable |g' -i "${EDK_TOOLS_PATH}/Source/C/Makefiles/header.makefile" || true + sed 's|-Werror |-Wno-error -Wno-unused-but-set-variable |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Fix GCC >=4.7 error - gcc: error: unrecognized command line option '-melf_x86_64'" + sed 's| -m64 --64 -melf_x86_64| -m64|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + sed 's|--64 | |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + sed 's| -m64 -melf_x86_64| -m64|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Remove GCC -g debug option and add -0s -mabi=ms" + sed 's|DEFINE GCC_ALL_CC_FLAGS = -g |DEFINE GCC_ALL_CC_FLAGS = -Os -mabi=ms |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + sed 's|DEFINE GCC44_ALL_CC_FLAGS = -g |DEFINE GCC44_ALL_CC_FLAGS = -Os -mabi=ms |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Fix GenFw: ERROR 3000: Invalid, refind_x64.dll bad symbol definition" + ## http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg03625.html + sed -e 's|_OBJCOPY_FLAGS =|_OBJCOPY_FLAGS = -R .eh_frame|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Fix UDK Target Platform" + sed "s|ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc|ACTIVE_PLATFORM = ${_UDK_TARGET}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + sed "s|TARGET = DEBUG|TARGET = ${_TIANOCORE_TARGET}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + sed "s|TOOL_CHAIN_TAG = MYTOOLS|TOOL_CHAIN_TAG = ${_COMPILER}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + + msg "Fix UDK Target ARCH for rEFInd" + sed "s|X64|${_TIANO_ARCH}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + sed "s|IA32|${_TIANO_ARCH}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + + chmod 0755 "${_UDK_DIR}/BaseTools/BuildEnv" + +} + +_prepare_refind_sources() { + + cd "${srcdir}/refind-${pkgver}/" + + msg "Fix UDK Path in rEFInd Makefiles" + sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/Make.tiano" || true + sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano" || true + sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true + + msg "Fix GenFw: ERROR 3000: Invalid, refind_x64.dll bad symbol definition" + sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/refind/Make.tiano" || true + sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano" + sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true + +} + +prepare() { + + _setup_env_vars + + msg "Prepare Tianocore Sources" + _prepare_tianocore_sources + + msg "Prepare rEFInd Sources" + _prepare_refind_sources + +} + +build() { + + _setup_env_vars + + cd "${_UDK_DIR}/" + + msg "Unset all compiler FLAGS" + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + msg "Setup UDK Environment" + source "${_UDK_DIR}/BaseTools/BuildEnv" BaseTools + echo + + msg "Compile UDK BaseTools" + make -C "${EDK_TOOLS_PATH}" + echo + + msg "Compile UDK Libraries" + "${EDK_TOOLS_PATH}/BinWrappers/PosixLike/build" -p "${_UDK_TARGET}" -a "${_TIANO_ARCH}" -b "${_TIANOCORE_TARGET}" -t "${_COMPILER}" + echo + + cd "${srcdir}/refind-${pkgver}/" + + msg "Unset all compiler FLAGS" + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + msg "Compile rEFInd UEFI application" + make tiano + echo + + msg "Compile UEFI FS drivers" + make fs + echo + +} + +package() { + + msg "Install the rEFInd UEFI application" + install -d "${pkgdir}/usr/share/refind/" + install -D -m0644 "${srcdir}/refind-${pkgver}/refind/refind_${_TIANO_S_ARCH}.efi" "${pkgdir}/usr/share/refind/refind_${_TIANO_S_ARCH}.efi" + + msg "Install UEFI drivers built from rEFInd" + install -d "${pkgdir}/usr/share/refind/drivers_${_TIANO_S_ARCH}/" + install -D -m0644 "${srcdir}/refind-${pkgver}/drivers_${_TIANO_S_ARCH}"/*.efi "${pkgdir}/usr/share/refind/drivers_${_TIANO_S_ARCH}/" + + msg "Install UEFI applications built from rEFInd" + install -d "${pkgdir}/usr/share/refind/tools_${_TIANO_S_ARCH}" + install -D -m0644 "${srcdir}/refind-${pkgver}/gptsync/gptsync_${_TIANO_S_ARCH}.efi" "${pkgdir}/usr/share/refind/tools_${_TIANO_S_ARCH}/gptsync_${_TIANO_S_ARCH}.efi" + + msg "Install rEFInd helper scripts" + install -d "${pkgdir}/usr/bin/" + install -D -m0755 "${srcdir}/refind-${pkgver}/install.sh" "${pkgdir}/usr/bin/refind-install" + install -D -m0755 "${srcdir}/refind-${pkgver}/mkrlconf.sh" "${pkgdir}/usr/bin/refind-mkrlconf" + install -D -m0755 "${srcdir}/refind-${pkgver}/mvrefind.sh" "${pkgdir}/usr/bin/refind-mvrefind" + install -D -m0755 "${srcdir}/refind-${pkgver}/fonts/mkfont.sh" "${pkgdir}/usr/bin/refind-mkfont" + + msg "Install the rEFInd sample config files" + install -D -m0644 "${srcdir}/refind-${pkgver}/refind.conf-sample" "${pkgdir}/usr/share/refind/refind.conf-sample" + install -D -m0644 "${srcdir}/refind_linux.conf" "${pkgdir}/usr/share/refind/refind_linux.conf-sample" + + msg "Install the rEFInd docs" + install -d "${pkgdir}/usr/share/refind/docs/html/" + install -d "${pkgdir}/usr/share/refind/docs/Styles/" + install -D -m0644 "${srcdir}/refind-${pkgver}/docs/refind"/* "${pkgdir}/usr/share/refind/docs/html/" + install -D -m0644 "${srcdir}/refind-${pkgver}/docs/Styles"/* "${pkgdir}/usr/share/refind/docs/Styles/" + install -D -m0644 "${srcdir}/refind-${pkgver}/README.txt" "${pkgdir}/usr/share/refind/docs/README.txt" + install -D -m0644 "${srcdir}/refind-${pkgver}/NEWS.txt" "${pkgdir}/usr/share/refind/docs/NEWS.txt" + rm -f "${pkgdir}/usr/share/refind/docs/html/.DS_Store" || true + + msg "Install the rEFInd fonts" + install -d "${pkgdir}/usr/share/refind/fonts/" + install -D -m0644 "${srcdir}/refind-${pkgver}/fonts"/* "${pkgdir}/usr/share/refind/fonts/" + rm -f "${pkgdir}/usr/share/refind/fonts/mkfont.sh" + + msg "Install the rEFInd icons" + install -d "${pkgdir}/usr/share/refind/icons/" + install -D -m0644 "${srcdir}/refind-${pkgver}/icons"/* "${pkgdir}/usr/share/refind/icons/" + + msg "Install the rEFInd images" + install -d "${pkgdir}/usr/share/refind/images/" + install -D -m0644 "${srcdir}/refind-${pkgver}/images"/*.{png,bmp} "${pkgdir}/usr/share/refind/images/" + + msg "Install the rEFInd keys" + install -d "${pkgdir}/usr/share/refind/keys/" + install -D -m0644 "${srcdir}/refind-${pkgver}/keys"/* "${pkgdir}/usr/share/refind/keys/" + + msg "Install the rEFIt license file, since rEFInd is a fork of rEFIt" + install -d "${pkgdir}/usr/share/licenses/refind/" + install -D -m0644 "${srcdir}/refind-${pkgver}/LICENSE.txt" "${pkgdir}/usr/share/licenses/refind/LICENSE" + + msg "Use '#!/usr/bin/env bash' in all scripts" + sed 's|#!/bin/bash|#!/usr/bin/env bash|g' -i "${pkgdir}/usr/bin"/refind-* || true + + msg "Point refind dir paths to /usr/share/refind/ in refind-install script" + sed 's|^ThisDir=.*|ThisDir="/usr/share/refind/"|g' -i "${pkgdir}/usr/bin/refind-install" + sed 's|^RefindDir=.*|RefindDir="/usr/share/refind/"|g' -i "${pkgdir}/usr/bin/refind-install" + sed 's|^ThisScript=.*|ThisScript="/usr/bin/refind-install"|g' -i "${pkgdir}/usr/bin/refind-install" + +} Copied: refind-efi/repos/testing-i686/refind-efi.install (from rev 199892, refind-efi/trunk/refind-efi.install) =================================================================== --- testing-i686/refind-efi.install (rev 0) +++ testing-i686/refind-efi.install 2013-11-18 07:55:53 UTC (rev 199893) @@ -0,0 +1,32 @@ +post_install() { + + cat << EOF + +rEFInd UEFI application has been installed at /usr/share/refind/refind_*.efi + +Other UEFI applications have been installed at /usr/share/refind/tools_*/ + +UEFI drivers have been installed at /usr/share/refind/drivers_*/ + +Copy the efi application (according to your UEFI ARCH) +and /usr/share/refind/refind.conf-sample to a sub-directory of <EFISYS>/EFI/ +as refind.conf and add an entry to firmware boot menu using efibootmgr +or mactel-boot (for Macs) + +rEFInd Icons have been installed at /usr/share/refind/icons/ +rEFInd Fonts have been installed at /usr/share/refind/fonts/ + +HTML Documentation is available at /usr/share/doc/refind/html/ + +More info: https://wiki.archlinux.org/index.php/UEFI_Bootloaders#Using_rEFInd + +EOF + +} + +post_upgrade() { + + post_install + +} + Copied: refind-efi/repos/testing-i686/refind_linux.conf (from rev 199892, refind-efi/trunk/refind_linux.conf) =================================================================== --- testing-i686/refind_linux.conf (rev 0) +++ testing-i686/refind_linux.conf 2013-11-18 07:55:53 UTC (rev 199893) @@ -0,0 +1,5 @@ +## This file should be present in the same directory as the EFISTUB kernel and initramfs files +## More info at http://www.rodsbooks.com/refind/linux.html , http://www.rodsbooks.com/efi-bootloaders/efistub.html + +"Boot with defaults" "root=PARTUUID=XXXXXXXX rootfstype=XXXX ro" +"Boot to terminal" "root=PARTUUID=XXXXXXXX rootfstype=XXXX ro systemd.unit=multi-user.target" Copied: refind-efi/repos/testing-x86_64/PKGBUILD (from rev 199892, refind-efi/trunk/PKGBUILD) =================================================================== --- testing-x86_64/PKGBUILD (rev 0) +++ testing-x86_64/PKGBUILD 2013-11-18 07:55:53 UTC (rev 199893) @@ -0,0 +1,254 @@ +# $Id$ +# Maintainer: Tobias Powalowski <tp...@archlinux.org> +# Contributor: Keshav Padram Amburay <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> + +####### +_TIANOCORE_SVN_URL="https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1" +# BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg +_TIANO_DIR_="tianocore-udk-svn" +_TIANO_SVN_REV_="14641" +####### + +####### +_TIANOCORE_PKG="Mde" +_TIANOCORE_TARGET="RELEASE" +_UDK_TARGET="${_TIANOCORE_PKG}Pkg/${_TIANOCORE_PKG}Pkg.dsc" +_COMPILER="GCC47" +####### + +pkgname="refind-efi" +pkgver="0.7.5" +pkgrel="1" +pkgdesc="Rod Smith's fork of rEFIt UEFI Boot Manager - built with Tianocore UDK libs" +url="http://www.rodsbooks.com/refind/index.html" +arch=('x86_64' 'i686') +license=('GPL3' 'custom') + +makedepends=('subversion' 'python2') +depends=('bash' 'dosfstools' 'efibootmgr') +optdepends=('mactel-boot: For bless command in Apple Mac systems' + 'imagemagick: For refind-mkfont script') + +options=('!strip' 'docs' '!makeflags') + +install="${pkgname}.install" + +source=("http://downloads.sourceforge.net/refind/refind-src-${pkgver}.zip" + 'refind_linux.conf') + +for _DIR_ in BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg ; do + source+=("${_TIANO_DIR_}_${_DIR_}::svn+${_TIANOCORE_SVN_URL}/${_DIR_}#revision=${_TIANO_SVN_REV_}") +done + +sha1sums=('1084147266be8d69f1a199d02049b71a50c830de' + '3d53eb615c3363d45feb95b9bfbf1d5491bf1c24' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +[[ "${CARCH}" == "x86_64" ]] && _TIANO_ARCH="X64" +[[ "${CARCH}" == "i686" ]] && _TIANO_ARCH="IA32" + +[[ "${CARCH}" == "x86_64" ]] && _TIANO_S_ARCH="x64" +[[ "${CARCH}" == "i686" ]] && _TIANO_S_ARCH="ia32" + +_setup_env_vars() { + + msg "Setup UDK PATH ENV variables" + export _UDK_DIR="${srcdir}/${_TIANO_DIR_}_build" + export EDK_TOOLS_PATH="${_UDK_DIR}/BaseTools" + +} + +_prepare_tianocore_sources() { + + msg "Delete old UDK BUILD dir" + rm -rf "${_UDK_DIR}/" || true + + msg "Create UDK BUILD dir" + mkdir -p "${_UDK_DIR}/" + + for _DIR_ in BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg ; do + mv "${srcdir}/${_TIANO_DIR_}_${_DIR_}" "${_UDK_DIR}/${_DIR_}" + done + + cd "${_UDK_DIR}/" + + msg "Cleanup UDK config files" + rm -rf "${_UDK_DIR}/Build/" || true + rm -rf "${_UDK_DIR}/Conf/" || true + mkdir -p "${_UDK_DIR}/Conf/" + mkdir -p "${_UDK_DIR}/Build/" + + msg "Use python2 for UDK BaseTools" + sed 's|python |python2 |g' -i "${EDK_TOOLS_PATH}/BinWrappers/PosixLike"/* || true + sed 's|python |python2 |g' -i "${EDK_TOOLS_PATH}/Tests/GNUmakefile" + + msg "Fix GCC Warning as error" + sed 's|-Werror |-Wno-error -Wno-unused-but-set-variable |g' -i "${EDK_TOOLS_PATH}/Source/C/Makefiles/header.makefile" || true + sed 's|-Werror |-Wno-error -Wno-unused-but-set-variable |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Fix GCC >=4.7 error - gcc: error: unrecognized command line option '-melf_x86_64'" + sed 's| -m64 --64 -melf_x86_64| -m64|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + sed 's|--64 | |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + sed 's| -m64 -melf_x86_64| -m64|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Remove GCC -g debug option and add -0s -mabi=ms" + sed 's|DEFINE GCC_ALL_CC_FLAGS = -g |DEFINE GCC_ALL_CC_FLAGS = -Os -mabi=ms |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + sed 's|DEFINE GCC44_ALL_CC_FLAGS = -g |DEFINE GCC44_ALL_CC_FLAGS = -Os -mabi=ms |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Fix GenFw: ERROR 3000: Invalid, refind_x64.dll bad symbol definition" + ## http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg03625.html + sed -e 's|_OBJCOPY_FLAGS =|_OBJCOPY_FLAGS = -R .eh_frame|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Fix UDK Target Platform" + sed "s|ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc|ACTIVE_PLATFORM = ${_UDK_TARGET}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + sed "s|TARGET = DEBUG|TARGET = ${_TIANOCORE_TARGET}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + sed "s|TOOL_CHAIN_TAG = MYTOOLS|TOOL_CHAIN_TAG = ${_COMPILER}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + + msg "Fix UDK Target ARCH for rEFInd" + sed "s|X64|${_TIANO_ARCH}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + sed "s|IA32|${_TIANO_ARCH}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + + chmod 0755 "${_UDK_DIR}/BaseTools/BuildEnv" + +} + +_prepare_refind_sources() { + + cd "${srcdir}/refind-${pkgver}/" + + msg "Fix UDK Path in rEFInd Makefiles" + sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/Make.tiano" || true + sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano" || true + sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true + + msg "Fix GenFw: ERROR 3000: Invalid, refind_x64.dll bad symbol definition" + sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/refind/Make.tiano" || true + sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano" + sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true + +} + +prepare() { + + _setup_env_vars + + msg "Prepare Tianocore Sources" + _prepare_tianocore_sources + + msg "Prepare rEFInd Sources" + _prepare_refind_sources + +} + +build() { + + _setup_env_vars + + cd "${_UDK_DIR}/" + + msg "Unset all compiler FLAGS" + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + msg "Setup UDK Environment" + source "${_UDK_DIR}/BaseTools/BuildEnv" BaseTools + echo + + msg "Compile UDK BaseTools" + make -C "${EDK_TOOLS_PATH}" + echo + + msg "Compile UDK Libraries" + "${EDK_TOOLS_PATH}/BinWrappers/PosixLike/build" -p "${_UDK_TARGET}" -a "${_TIANO_ARCH}" -b "${_TIANOCORE_TARGET}" -t "${_COMPILER}" + echo + + cd "${srcdir}/refind-${pkgver}/" + + msg "Unset all compiler FLAGS" + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + msg "Compile rEFInd UEFI application" + make tiano + echo + + msg "Compile UEFI FS drivers" + make fs + echo + +} + +package() { + + msg "Install the rEFInd UEFI application" + install -d "${pkgdir}/usr/share/refind/" + install -D -m0644 "${srcdir}/refind-${pkgver}/refind/refind_${_TIANO_S_ARCH}.efi" "${pkgdir}/usr/share/refind/refind_${_TIANO_S_ARCH}.efi" + + msg "Install UEFI drivers built from rEFInd" + install -d "${pkgdir}/usr/share/refind/drivers_${_TIANO_S_ARCH}/" + install -D -m0644 "${srcdir}/refind-${pkgver}/drivers_${_TIANO_S_ARCH}"/*.efi "${pkgdir}/usr/share/refind/drivers_${_TIANO_S_ARCH}/" + + msg "Install UEFI applications built from rEFInd" + install -d "${pkgdir}/usr/share/refind/tools_${_TIANO_S_ARCH}" + install -D -m0644 "${srcdir}/refind-${pkgver}/gptsync/gptsync_${_TIANO_S_ARCH}.efi" "${pkgdir}/usr/share/refind/tools_${_TIANO_S_ARCH}/gptsync_${_TIANO_S_ARCH}.efi" + + msg "Install rEFInd helper scripts" + install -d "${pkgdir}/usr/bin/" + install -D -m0755 "${srcdir}/refind-${pkgver}/install.sh" "${pkgdir}/usr/bin/refind-install" + install -D -m0755 "${srcdir}/refind-${pkgver}/mkrlconf.sh" "${pkgdir}/usr/bin/refind-mkrlconf" + install -D -m0755 "${srcdir}/refind-${pkgver}/mvrefind.sh" "${pkgdir}/usr/bin/refind-mvrefind" + install -D -m0755 "${srcdir}/refind-${pkgver}/fonts/mkfont.sh" "${pkgdir}/usr/bin/refind-mkfont" + + msg "Install the rEFInd sample config files" + install -D -m0644 "${srcdir}/refind-${pkgver}/refind.conf-sample" "${pkgdir}/usr/share/refind/refind.conf-sample" + install -D -m0644 "${srcdir}/refind_linux.conf" "${pkgdir}/usr/share/refind/refind_linux.conf-sample" + + msg "Install the rEFInd docs" + install -d "${pkgdir}/usr/share/refind/docs/html/" + install -d "${pkgdir}/usr/share/refind/docs/Styles/" + install -D -m0644 "${srcdir}/refind-${pkgver}/docs/refind"/* "${pkgdir}/usr/share/refind/docs/html/" + install -D -m0644 "${srcdir}/refind-${pkgver}/docs/Styles"/* "${pkgdir}/usr/share/refind/docs/Styles/" + install -D -m0644 "${srcdir}/refind-${pkgver}/README.txt" "${pkgdir}/usr/share/refind/docs/README.txt" + install -D -m0644 "${srcdir}/refind-${pkgver}/NEWS.txt" "${pkgdir}/usr/share/refind/docs/NEWS.txt" + rm -f "${pkgdir}/usr/share/refind/docs/html/.DS_Store" || true + + msg "Install the rEFInd fonts" + install -d "${pkgdir}/usr/share/refind/fonts/" + install -D -m0644 "${srcdir}/refind-${pkgver}/fonts"/* "${pkgdir}/usr/share/refind/fonts/" + rm -f "${pkgdir}/usr/share/refind/fonts/mkfont.sh" + + msg "Install the rEFInd icons" + install -d "${pkgdir}/usr/share/refind/icons/" + install -D -m0644 "${srcdir}/refind-${pkgver}/icons"/* "${pkgdir}/usr/share/refind/icons/" + + msg "Install the rEFInd images" + install -d "${pkgdir}/usr/share/refind/images/" + install -D -m0644 "${srcdir}/refind-${pkgver}/images"/*.{png,bmp} "${pkgdir}/usr/share/refind/images/" + + msg "Install the rEFInd keys" + install -d "${pkgdir}/usr/share/refind/keys/" + install -D -m0644 "${srcdir}/refind-${pkgver}/keys"/* "${pkgdir}/usr/share/refind/keys/" + + msg "Install the rEFIt license file, since rEFInd is a fork of rEFIt" + install -d "${pkgdir}/usr/share/licenses/refind/" + install -D -m0644 "${srcdir}/refind-${pkgver}/LICENSE.txt" "${pkgdir}/usr/share/licenses/refind/LICENSE" + + msg "Use '#!/usr/bin/env bash' in all scripts" + sed 's|#!/bin/bash|#!/usr/bin/env bash|g' -i "${pkgdir}/usr/bin"/refind-* || true + + msg "Point refind dir paths to /usr/share/refind/ in refind-install script" + sed 's|^ThisDir=.*|ThisDir="/usr/share/refind/"|g' -i "${pkgdir}/usr/bin/refind-install" + sed 's|^RefindDir=.*|RefindDir="/usr/share/refind/"|g' -i "${pkgdir}/usr/bin/refind-install" + sed 's|^ThisScript=.*|ThisScript="/usr/bin/refind-install"|g' -i "${pkgdir}/usr/bin/refind-install" + +} Copied: refind-efi/repos/testing-x86_64/refind-efi.install (from rev 199892, refind-efi/trunk/refind-efi.install) =================================================================== --- testing-x86_64/refind-efi.install (rev 0) +++ testing-x86_64/refind-efi.install 2013-11-18 07:55:53 UTC (rev 199893) @@ -0,0 +1,32 @@ +post_install() { + + cat << EOF + +rEFInd UEFI application has been installed at /usr/share/refind/refind_*.efi + +Other UEFI applications have been installed at /usr/share/refind/tools_*/ + +UEFI drivers have been installed at /usr/share/refind/drivers_*/ + +Copy the efi application (according to your UEFI ARCH) +and /usr/share/refind/refind.conf-sample to a sub-directory of <EFISYS>/EFI/ +as refind.conf and add an entry to firmware boot menu using efibootmgr +or mactel-boot (for Macs) + +rEFInd Icons have been installed at /usr/share/refind/icons/ +rEFInd Fonts have been installed at /usr/share/refind/fonts/ + +HTML Documentation is available at /usr/share/doc/refind/html/ + +More info: https://wiki.archlinux.org/index.php/UEFI_Bootloaders#Using_rEFInd + +EOF + +} + +post_upgrade() { + + post_install + +} + Copied: refind-efi/repos/testing-x86_64/refind_linux.conf (from rev 199892, refind-efi/trunk/refind_linux.conf) =================================================================== --- testing-x86_64/refind_linux.conf (rev 0) +++ testing-x86_64/refind_linux.conf 2013-11-18 07:55:53 UTC (rev 199893) @@ -0,0 +1,5 @@ +## This file should be present in the same directory as the EFISTUB kernel and initramfs files +## More info at http://www.rodsbooks.com/refind/linux.html , http://www.rodsbooks.com/efi-bootloaders/efistub.html + +"Boot with defaults" "root=PARTUUID=XXXXXXXX rootfstype=XXXX ro" +"Boot to terminal" "root=PARTUUID=XXXXXXXX rootfstype=XXXX ro systemd.unit=multi-user.target"