summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeshav Amburay2013-07-15 19:14:29 +0530
committerKeshav Amburay2013-07-15 19:14:29 +0530
commit75dbe0b66be3a741fee61270b6b281cb29102037 (patch)
tree27c1ecc900f26bce2011c366cc16f70d92d5e468
parente9ed753fd81edd3a5618e81ee2cfd8b76bc61f12 (diff)
downloadaur-75dbe0b66be3a741fee61270b6b281cb29102037.tar.gz
Update PKGBUILD for prepare()
-rw-r--r--.SRCINFO5
-rw-r--r--PKGBUILD146
2 files changed, 90 insertions, 61 deletions
diff --git a/.SRCINFO b/.SRCINFO
index bb801c8b6816..d31b36d0055b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = ovmf-svn
- pkgdesc = UEFI Firmware (OVMF) with Secure Boot Support for Virtual Machines (QEMU) - from Tianocore EDK2 - SVN Version
- pkgver = 14466
+ pkgdesc = UEFI Firmware (OVMF) with Secure Boot Support - for Virtual Machines (QEMU) - from Tianocore EDK2 - SVN Version
+ pkgver = 14467
pkgrel = 1
url = http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF
install = ovmf.install
@@ -8,6 +8,7 @@ pkgbase = ovmf-svn
license = BSD
makedepends = subversion
makedepends = python2
+ makedepends = iasl
provides = ovmf
provides = ovmf-tianocore-edk2
provides = ovmf-tianocore-edk2-svn
diff --git a/PKGBUILD b/PKGBUILD
index 52d24cfd6e5d..915df63273f6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -20,14 +20,14 @@ _OPENSSL_VERSION="0.9.8w"
_pkgname="ovmf"
pkgname="${_pkgname}-svn"
-pkgver=14466
+pkgver=14467
pkgrel=1
-pkgdesc="UEFI Firmware (OVMF) with Secure Boot Support for Virtual Machines (QEMU) - from Tianocore EDK2 - SVN Version"
+pkgdesc="UEFI Firmware (OVMF) with Secure Boot Support - for Virtual Machines (QEMU) - from Tianocore EDK2 - SVN Version"
url="http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF"
arch=('x86_64')
license=('BSD')
-makedepends=('subversion' 'python2')
+makedepends=('subversion' 'python2' 'iasl')
options=('!strip' 'docs' '!makeflags')
@@ -68,106 +68,134 @@ pkgver() {
svnversion | tr -d [A-z]
}
-_setup_openssl_udk_dir() {
+_bail_out() {
- ## Download OpenSSL Sources
- bsdtar -C "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/" -xf "${srcdir}/openssl-${_OPENSSL_VERSION}.tar.gz"
- echo
+ if [[ "${CARCH}" != "x86_64" ]]; then
+ echo "${pkgname} package can be built only in a x86_64 system. Exiting."
+ exit 1
+ fi
- ## Apply EDK2 Patch for OpenSSL
- cd "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/openssl-${_OPENSSL_VERSION}/"
- patch -p0 -i "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/EDKII_openssl-${_OPENSSL_VERSION}.patch"
- echo
+}
+
+_setup_env_vars() {
- ## Setup OpenSSL headers in EDK2 dir
- cd "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/"
- chmod 0755 "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/Install.sh"
- "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/Install.sh"
+ msg "Setup UDK PATH ENV variables"
+ export _UDK_DIR="${srcdir}/${_TIANO_DIR_}_build"
+ export EDK_TOOLS_PATH="${_UDK_DIR}/BaseTools"
}
-_tianocore_makefile_fixes() {
+_prepare_tianocore_sources() {
+
+ _setup_env_vars
- ## UDK BaseTools requires python2
+ 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}/${_DIR_}" "${_UDK_DIR}/${_DIR_}"
+ done
+
+ for _DIR_ in PcAtChipsetPkg UefiCpuPkg OptionRomPkg CryptoPkg SecurityPkg ShellPkg FatBinPkg OvmfPkg ; do
+ mv "${srcdir}/${_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"
- ## Fix GCC Warning as error
+ 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
- ## Fix GCC >=4.7 error - gcc: error: unrecognized command line option '-melf_x86_64'
+ 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
- ## Remove GCC -g debug option and add -0s -mabi=ms
+ 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
- ## Fix UDK Target Platform
+ 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
+ sed "s|IA32|X64|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true
+
+ chmod 0755 "${_UDK_DIR}/BaseTools/BuildEnv"
}
-build() {
-
- if [[ "${CARCH}" != "x86_64" ]]; then
- echo "${pkgname} package can be built only in a x86_64 system. Exiting."
- exit 1
- fi
+_prepare_openssl_udk_dir() {
- ## Unset all FLAGS
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- ## Setup UDK Environment variables
- export _UDK_DIR="${srcdir}/${_TIANO_DIR_}"
- export EDK_TOOLS_PATH="${_UDK_DIR}/BaseTools"
+ cd "${_UDK_DIR}/"
- rm -rf "${_UDK_DIR}/" || true
- mkdir -p "${_UDK_DIR}/"
+ msg "Download OpenSSL ${_OPENSSL_VERSION} Sources"
+ bsdtar -C "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/" -xf "${srcdir}/openssl-${_OPENSSL_VERSION}.tar.gz"
+ echo
- for _DIR_ in BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg ; do
- mv "${srcdir}/${_DIR_}" "${_UDK_DIR}/${_DIR_}"
- done
+ msg "Apply EDK2 Patch for OpenSSL ${_OPENSSL_VERSION}"
+ cd "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/openssl-${_OPENSSL_VERSION}/"
+ patch -p0 -i "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/EDKII_openssl-${_OPENSSL_VERSION}.patch"
+ echo
- for _DIR_ in PcAtChipsetPkg UefiCpuPkg OptionRomPkg CryptoPkg SecurityPkg ShellPkg FatBinPkg OvmfPkg ; do
- mv "${srcdir}/${_DIR_}" "${_UDK_DIR}/${_DIR_}"
- done
+ msg "Setup OpenSSL ${_OPENSSL_VERSION} headers in EDK2 dir"
+ cd "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/"
+ chmod 0755 "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/Install.sh"
+ "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/Install.sh"
- cd "${_UDK_DIR}/"
+}
+
+prepare() {
- ## 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/"
+ _bail_out
- ## Setup OpenSSL libs in EDK2 dir for Secure Boot support
- _setup_openssl_udk_dir
+ msg "Prepare Tianocore Sources"
+ _prepare_tianocore_sources
echo
- _tianocore_makefile_fixes
+ msg "Prepare OpenSSL ${_OPENSSL_VERSION} Sources"
+ _prepare_openssl_udk_dir
echo
+}
+
+build() {
+
+ _bail_out
+
+ _setup_env_vars
+
cd "${_UDK_DIR}/"
- ## Setup UDK Environment
- chmod +x "${_UDK_DIR}/BaseTools/BuildEnv"
+ 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
- ## Compile UDK BaseTools
+ msg "Compile UDK BaseTools"
make -C "${EDK_TOOLS_PATH}"
echo
- ## Compile OVMF binary
+ msg "Compile OVMF binary"
"${_UDK_DIR}/OvmfPkg/build.sh" -a "X64" -b "${_TIANOCORE_TARGET}" -t "${_COMPILER}" -D "SECURE_BOOT_ENABLE=TRUE" -D "BUILD_NEW_SHELL"
echo
@@ -175,7 +203,7 @@ build() {
package() {
- ## Install the OVMF X64 image as bios.bin for QEMU
+ msg "Install the OVMF X64 image as bios.bin for QEMU"
install -d "${pkgdir}/usr/share/ovmf/x86_64"
install -D -m0644 "${_UDK_DIR}/Build/${_TIANOCORE_PKG}/${_TIANOCORE_TARGET}_${_COMPILER}/FV/OVMF.fd" "${pkgdir}/usr/share/ovmf/x86_64/bios.bin"