diff options
author | Mark Weiman | 2017-12-29 18:14:29 -0500 |
---|---|---|
committer | Mark Weiman | 2017-12-29 18:14:29 -0500 |
commit | b42b749f44fbe9e41504ad8280e742a9b2f09deb (patch) | |
tree | 5ea6db7a1e9261c4a6e3bc942fa243d06cafa8a1 | |
parent | c9593f90dcb1f1d2072f3db157b9aa6b9df65b95 (diff) | |
download | aur-b42b749f44fbe9e41504ad8280e742a9b2f09deb.tar.gz |
PKGBUILD cleanup
-rw-r--r-- | .SRCINFO | 32 | ||||
-rw-r--r-- | PKGBUILD | 235 | ||||
-rw-r--r-- | ovmf.install | 32 |
3 files changed, 57 insertions, 242 deletions
@@ -1,32 +1,22 @@ # Generated by mksrcinfo v8 -# Wed Apr 12 06:23:10 UTC 2017 +# Fri Dec 29 23:14:22 UTC 2017 pkgbase = ovmf-git - pkgdesc = UEFI Firmware (OVMF) with Secure Boot Support - for Virtual Machines (QEMU) - from Tianocore EDK2 - GIT Version - pkgver = 21562.d3e0c996d5 + pkgdesc = Tianocore UEFI firmware for qemu. + pkgver = r23046.f13f306b3b pkgrel = 1 - url = https://tianocore.github.io/ovmf/ - install = ovmf.install - arch = x86_64 - arch = i686 - license = BSD + epoch = 1 + url = http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK2 + arch = any + license = custom makedepends = git makedepends = python2 makedepends = iasl makedepends = nasm - provides = ovmf - provides = ovmf-bin - provides = ovmf-svn - conflicts = ovmf - conflicts = ovmf-bin - conflicts = ovmf-svn - noextract = openssl-1.1.0e.tar.gz - options = !strip - options = docs + makedepends = subversion + makedepends = perl-libwww options = !makeflags - source = edk2::git+https://github.com/tianocore/edk2.git#branch=master - source = https://www.openssl.org/source/openssl-1.1.0e.tar.gz - sha1sums = SKIP - sha1sums = 8bbbaf36feffadd3cb9110912a8192e665ebca4b + source = edk2::git+https://github.com/tianocore/edk2#branch=master + sha256sums = SKIP pkgname = ovmf-git @@ -1,202 +1,59 @@ -# Maintainer : Mark Weiman <mark dot weiman at markzz dot com> -# Contributor: David Hummel <dhummel at eml dot cc> -# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> -# Contributor: Andre Osku Schmidt (oskude) <(andre.osku.schmidt) (aatt) (gemmaeiil) (ddoott) (ccoomm)> - -################ -_TIANOCORE_GIT_URL="https://github.com/tianocore/edk2" -_TIANO_DIR_="edk2" -################ - -################ -_UDK_OVMF_X64_PKG="OvmfX64" -_UDK_OVMF_X64_DSC="OvmfPkg/OvmfPkgX64.dsc" - -_UDK_OVMF_IA32_PKG="OvmfIa32" -_UDK_OVMF_IA32_DSC="OvmfPkg/OvmfPkgIa32.dsc" - -_UDK_TARGET="RELEASE" -_COMPILER="GCC49" -################ - -################ -_OPENSSL_VERSION="1.1.0e" -################ - -_pkgname="ovmf" -pkgname="${_pkgname}-git" - -pkgver=21562.d3e0c996d5 +# Maintainer: Mark Weiman <mark.weiman@markzz.com> +pkgname=ovmf-git +pkgver=r23046.f13f306b3b +epoch=1 pkgrel=1 -pkgdesc="UEFI Firmware (OVMF) with Secure Boot Support - for Virtual Machines (QEMU) - from Tianocore EDK2 - GIT Version" -url="https://tianocore.github.io/ovmf/" -arch=('x86_64' 'i686') -license=('BSD') - -makedepends=('git' 'python2' 'iasl' 'nasm') - -options=('!strip' 'docs' '!makeflags') - -conflicts=('ovmf' 'ovmf-bin' 'ovmf-svn') -provides=('ovmf' 'ovmf-bin' 'ovmf-svn') - -install="${_pkgname}.install" - -source=("${_TIANO_DIR_}::git+https://github.com/tianocore/edk2.git#branch=master" - "https://www.openssl.org/source/openssl-${_OPENSSL_VERSION}.tar.gz" -) - -sha1sums=('SKIP' - '8bbbaf36feffadd3cb9110912a8192e665ebca4b') - -noextract=("openssl-${_OPENSSL_VERSION}.tar.gz") +arch=('any') +pkgdesc="Tianocore UEFI firmware for qemu." +url="http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK2" +license=('custom') +makedepends=('git' 'python2' 'iasl' 'nasm' 'subversion' 'perl-libwww') +source=('edk2::git+https://github.com/tianocore/edk2#branch=master') +sha256sums=('SKIP') +options=(!makeflags) +_toolchain_opt=GCC5 pkgver() { - - cd "${srcdir}/${_TIANO_DIR_}/" - echo "$(git rev-list --count HEAD).$(git describe --always)" | sed -e 's|-|\.|g' - -} - -_bail_out() { - - if [[ "${CARCH}" != "x86_64" ]]; then - echo "${pkgname} package can be built only in a x86_64 system. Exiting." - exit 1 - fi - -} - -_setup_env_vars() { - - msg "Setup UDK PATH ENV variables" - export _UDK_DIR="${srcdir}/${_TIANO_DIR_}" - export EDK_TOOLS_PATH="${_UDK_DIR}/BaseTools" - -} - -_prepare_tianocore_sources() { - - 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 "Remove GCC -g debug option and add -O0 -mabi=ms -maccumulate-outgoing-args" - sed 's|DEFINE GCC_ALL_CC_FLAGS = -g |DEFINE GCC_ALL_CC_FLAGS = -O0 -mabi=ms -maccumulate-outgoing-args |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true - sed 's|DEFINE GCC44_ALL_CC_FLAGS = -g |DEFINE GCC44_ALL_CC_FLAGS = -O0 -mabi=ms -maccumulate-outgoing-args |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_OVMF_X64_DSC}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true - sed "s|TARGET = DEBUG|TARGET = ${_UDK_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" - -} - -_prepare_openssl_udk_dir() { - - cd "${_UDK_DIR}/" - - msg "Download OpenSSL ${_OPENSSL_VERSION} Sources" - bsdtar -C "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/" -xf "${srcdir}/openssl-${_OPENSSL_VERSION}.tar.gz" - mv "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/openssl-${_OPENSSL_VERSION}" "${_UDK_DIR}/CryptoPkg/Library/OpensslLib/openssl" - echo + cd "${srcdir}"/edk2 + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" } prepare() { - _bail_out - - _setup_env_vars - - msg "Prepare Tianocore Sources" - _prepare_tianocore_sources - echo - - msg "Prepare OpenSSL ${_OPENSSL_VERSION} Sources" - _prepare_openssl_udk_dir - echo - + cd "${srcdir}" + # edk2 uses python everywhere, but expects python2 + mkdir bin + ln -s /usr/bin/python2 bin/python } build() { - - _bail_out - - _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 - - if [[ "${CARCH}" == "x86_64" ]]; then - msg "Unset all compiler FLAGS" - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - msg "Compile OVMF X64 binary" - "${_UDK_DIR}/OvmfPkg/build.sh" -a "X64" -b "${_UDK_TARGET}" -t "${_COMPILER}" -D "SECURE_BOOT_ENABLE=TRUE" -D "FD_SIZE_2MB" --enable-flash - echo - fi - - msg "Unset all compiler FLAGS" - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - msg "Compile OVMF IA32 binary" - "${_UDK_DIR}/OvmfPkg/build.sh" -a "IA32" -b "${_UDK_TARGET}" -t "${_COMPILER}" -D "SECURE_BOOT_ENABLE=TRUE" -D "FD_SIZE_2MB" --enable-flash - echo - + if [ "$CARCH" != "x86_64" ]; then + error "This package must be built under the x86_64 architecture." + false + fi + export PATH="${srcdir}/bin:$PATH" + cd "${srcdir}/"edk2 + make -C BaseTools + export EDK_TOOLS_PATH="${srcdir}"/edk2/BaseTools + . edksetup.sh BaseTools + + # Set RELEASE target, toolchain and number of build threads + sed "s|^TARGET[ ]*=.*|TARGET = RELEASE|; \ + s|TOOL_CHAIN_TAG[ ]*=.*|TOOL_CHAIN_TAG = ${_toolchain_opt}|; \ + s|MAX_CONCURRENT_THREAD_NUMBER[ ]*=.*|MAX_CONCURRENT_THREAD_NUMBER = $(nproc)|;" -i Conf/target.txt + # Build OVMF for ia32 + #sed "s|^TARGET_ARCH[ ]*=.*|TARGET_ARCH = IA32|; \ + # s|^ACTIVE_PLATFORM[ ]*=.*|ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc|;" -i Conf/target.txt + #./BaseTools/BinWrappers/PosixLike/build + # Build OVMF for x64 + sed "s|^TARGET_ARCH[ ]*=.*|TARGET_ARCH = X64|; \ + s|^ACTIVE_PLATFORM[ ]*=.*|ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc|;" -i Conf/target.txt + ./BaseTools/BinWrappers/PosixLike/build } package() { - - _setup_env_vars - - if [[ "${CARCH}" == "x86_64" ]]; then - msg "Install the OVMF X64 image" - install -d "${pkgdir}/usr/share/ovmf/x64/" - install -D -m0644 "${_UDK_DIR}/Build/${_UDK_OVMF_X64_PKG}/${_UDK_TARGET}_${_COMPILER}/FV/OVMF.fd" "${pkgdir}/usr/share/ovmf/x64/ovmf_x64.bin" - install -D -m0644 "${_UDK_DIR}/Build/${_UDK_OVMF_X64_PKG}/${_UDK_TARGET}_${_COMPILER}/FV/OVMF_CODE.fd" "${pkgdir}/usr/share/ovmf/x64/ovmf_code_x64.bin" - install -D -m0644 "${_UDK_DIR}/Build/${_UDK_OVMF_X64_PKG}/${_UDK_TARGET}_${_COMPILER}/FV/OVMF_VARS.fd" "${pkgdir}/usr/share/ovmf/x64/ovmf_vars_x64.bin" - fi - - msg "Install the OVMF IA32 image" - install -d "${pkgdir}/usr/share/ovmf/ia32/" - install -D -m0644 "${_UDK_DIR}/Build/${_UDK_OVMF_IA32_PKG}/${_UDK_TARGET}_${_COMPILER}/FV/OVMF.fd" "${pkgdir}/usr/share/ovmf/ia32/ovmf_ia32.bin" - install -D -m0644 "${_UDK_DIR}/Build/${_UDK_OVMF_IA32_PKG}/${_UDK_TARGET}_${_COMPILER}/FV/OVMF_CODE.fd" "${pkgdir}/usr/share/ovmf/ia32/ovmf_code_ia32.bin" - install -D -m0644 "${_UDK_DIR}/Build/${_UDK_OVMF_IA32_PKG}/${_UDK_TARGET}_${_COMPILER}/FV/OVMF_VARS.fd" "${pkgdir}/usr/share/ovmf/ia32/ovmf_vars_ia32.bin" - + #install -D -m644 "${srcdir}"/edk2/Build/OvmfIa32/RELEASE_${_toolchain_opt}/FV/OVMF_CODE.fd "${pkgdir}"/usr/share/ovmf/ovmf_code_ia32.bin + #install -D -m644 "${srcdir}"/edk2/Build/OvmfIa32/RELEASE_${_toolchain_opt}/FV/OVMF_VARS.fd "${pkgdir}"/usr/share/ovmf/ovmf_vars_ia32.bin + install -D -m644 "${srcdir}"/edk2/Build/OvmfX64/RELEASE_${_toolchain_opt}/FV/OVMF_CODE.fd "${pkgdir}"/usr/share/ovmf/ovmf_code_x64.bin + install -D -m644 "${srcdir}"/edk2/Build/OvmfX64/RELEASE_${_toolchain_opt}/FV/OVMF_VARS.fd "${pkgdir}"/usr/share/ovmf/ovmf_vars_x64.bin + install -D -m644 "${srcdir}"/edk2/OvmfPkg/License.txt "${pkgdir}"/usr/share/licenses/ovmf/License.txt } diff --git a/ovmf.install b/ovmf.install deleted file mode 100644 index 1ff47c6d9581..000000000000 --- a/ovmf.install +++ /dev/null @@ -1,32 +0,0 @@ -post_install() { - - cat << EOF - - NOTE: - The OVMF X64 UEFI image has been moved to /usr/share/ovmf/x64/ovmf_x64.bin - The OVMF IA32 UEFI image has been moved to /usr/share/ovmf/x64/ovmf_ia32.bin - - To test OVMF X64 in QEMU (use v1.5+) run: - - \$ cp /usr/share/ovmf/x64/ovmf_x64.bin ~/ovmf_x64.bin - \$ qemu-system-x86_64 -enable-kvm -net none -m 1500 -pflash ~/ovmf_x64.bin - - To test OVMF IA32 in QEMU (use v1.5+) run: - - \$ cp /usr/share/ovmf/ia32/ovmf_ia32.bin ~/ovmf_ia32.bin - \$ qemu-system-i386 -enable-kvm -net none -m 1024 -pflash ~/ovmf_ia32.bin - -EOF - -## TODO: Split OVMF_CODE.fd and OVMF_VARS.fd usage -## http://git.qemu.org/?p=qemu.git;a=commit;h=637a5acb46b36a25b506ba6545e9a53350585b03 - - -} - -post_upgrade() { - - post_install - -} - |