diff options
author | Maik Broemme | 2018-04-11 23:14:54 +0200 |
---|---|---|
committer | Maik Broemme | 2018-04-11 23:14:54 +0200 |
commit | 72e62a94dcbc746ee42b33ac49457948384b9803 (patch) | |
tree | 75d3f7a6529a337df5bdd8b7cb260b391f42a819 | |
parent | cc61713a1092641ea34405916af603be3d3bd83a (diff) | |
download | aur-72e62a94dcbc746ee42b33ac49457948384b9803.tar.gz |
PKGBUILD cleanup, updated ipxe to latest version, aligned dependencies between qemu-xen and qemu-xen-traditional
-rw-r--r-- | .SRCINFO | 89 | ||||
-rw-r--r-- | PKGBUILD | 683 | ||||
-rw-r--r-- | tmpfiles.conf | 4 |
3 files changed, 348 insertions, 428 deletions
@@ -1,53 +1,57 @@ pkgbase = xen - pkgdesc = Virtual Machine Hypervisor & Tools pkgver = 4.10.0 - pkgrel = 1 + pkgrel = 4 url = http://www.xenproject.org/ changelog = ChangeLog arch = x86_64 license = GPL2 makedepends = bin86 + makedepends = bridge-utils + makedepends = brltty makedepends = cmake + makedepends = curl makedepends = dev86 makedepends = fig2dev makedepends = figlet makedepends = ghostscript makedepends = git - makedepends = iasl - makedepends = markdown - makedepends = mingw-w64-binutils - makedepends = nasm - makedepends = ocaml-findlib - makedepends = pandoc - makedepends = perl - makedepends = spice-protocol - makedepends = spice-glib - makedepends = wget - makedepends = bridge-utils - makedepends = curl makedepends = gnutls + makedepends = iasl makedepends = iproute2 makedepends = lib32-glibc makedepends = libaio makedepends = libcap-ng + makedepends = libepoxy makedepends = libiscsi makedepends = libnl makedepends = libpng makedepends = lzo + makedepends = markdown + makedepends = mingw-w64-binutils + makedepends = nasm + makedepends = ocaml-findlib + makedepends = pandoc makedepends = pciutils + makedepends = perl makedepends = python2 - makedepends = sdl2 + makedepends = sdl makedepends = spice + makedepends = spice-glib + makedepends = spice-protocol makedepends = usbredir + makedepends = vde2 + makedepends = wget makedepends = yajl - noextract = ipxe-git-827dd1bfee67daa683935ce65316f7e0f057fe1c.tar.gz + noextract = ipxe-git.tar.gz options = !buildflags options = !strip source = https://downloads.xenproject.org/release/xen/4.10.0/xen-4.10.0.tar.gz source = https://downloads.xenproject.org/release/xen/4.10.0/xen-4.10.0.tar.gz.sig - source = http://xenbits.xen.org/xen-extfiles/ipxe-git-827dd1bfee67daa683935ce65316f7e0f057fe1c.tar.gz - source = https://xenbits.xen.org/xsa/xsa253.patch - source = xsa254-diff-release410-comet1.1.patch::https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff_plain;hp=refs/tags/RELEASE-4.10.0;h=refs/heads/4.10.0-shim-comet + source = ipxe-git.tar.gz::http://xenbits.xen.org/xen-extfiles/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz + source = xsa253-xsa254-diff-release410-comet1.1.patch::https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff_plain;hp=refs/tags/RELEASE-4.10.0;h=refs/heads/4.10.0-shim-comet + source = https://xenbits.xen.org/xsa/xsa255-1.patch + source = https://xenbits.xen.org/xsa/xsa255-2.patch + source = https://xenbits.xen.org/xsa/xsa256.patch source = grub-mkconfig-helper source = efi-xen.cfg source = grub.conf @@ -57,55 +61,46 @@ pkgbase = xen validpgpkeys = 23E3222C145F4475FA8060A783FE14C957E82BD9 sha256sums = 0262a7023f8b12bcacfb0b25e69b2a63291f944f7683d54d8f33d4b2ca556844 sha256sums = SKIP - sha256sums = 36deacb946c59ad1d6600f6e5b89d6a7a8961e65eb000900e184075920120f49 - sha256sums = bba1abb5e4368421de29385e37f8477bf3534d3ba3ff7e2aae9c9d3da53f1393 - sha256sums = 5276d63e3b2ffc5217981e7b683c28d75b81793af8d2ffc75566db39aaabbaef - sha256sums = 7dd6f1d6c10d4e8793412175b964df2477633cd988810df71e2040bf79e4d56c + sha256sums = 251e5516d7de470c434ae5c393aacca2b61fb24d93770592a4a20add60b785c4 + sha256sums = fa8cd07b85a8ff29cba8d891f12f9be4b173dd91a58404aabbf49c3f83152af9 + sha256sums = 05a5570ecf4354f7aad35bb77a4c2f5f556bcabf3555829a98c94dcfb6dd4696 + sha256sums = df43a147f1e1a2b7d59588bc91cdaac05d4e45bcfc4e2c8cb5e8de840d44b43d + sha256sums = 3e45cc3f2ea516e7470083592041e238c0dfe32324790b2fba0e47c9efe38865 + sha256sums = 23c3b0eab4cb06260bd07324d2060356560c9bc52270aaaf6130e1c130fc6e5e sha256sums = ceaff798a92a7aef1465a0a0b27b1817aedd2c857332b456aaa6dd78dc72438f sha256sums = 3f0af16958c3e057b9baa5afc47050d9adf7dd553274dd97ae4f35938fefb568 sha256sums = 50a9b7fd19e8beb1dea09755f07318f36be0b7ec53d3c9e74f3266a63e682c0c - sha256sums = 80227f8daa62a49c08fb7ffcc7de8cabbd0645396e46c04f7caaa71b04f446f0 + sha256sums = 40e0760810a49f925f2ae9f986940b40eba477dc6d3e83a78baaae096513b3cf sha256sums = 7c76b116ce09a53708306682f04e1460a788fe66f832091b7003a5d8e1fee312 pkgname = xen + pkgdesc = Virtual Machine Hypervisor & Tools install = xen.install depends = bridge-utils + depends = brltty depends = curl depends = gnutls depends = iproute2 depends = lib32-glibc depends = libaio depends = libcap-ng + depends = libepoxy depends = libiscsi depends = libnl depends = libpng depends = lzo depends = pciutils depends = python2 - depends = sdl2 + depends = sdl depends = spice depends = usbredir + depends = vde2 depends = yajl optdepends = xen-docs: Official Xen Documentation optdepends = openvswitch: Optional Networking support optdepends = seabios: Boot VMs with BIOS optdepends = ovmf: Boot VMs with UEFI provides = xen-4.10.0 - conflicts = xen-4.2 - conflicts = xen-4.2-testing-hg - conflicts = xen-gdbsx - conflicts = xen-hg-unstable - conflicts = xen-rc - conflicts = xen-git - conflicts = xen-igvtg - conflicts = xen-4.3 - conflicts = xen-4.3-testing-hg - conflicts = xen-4.4 - conflicts = xen-4.5 - conflicts = xen-4.6 - conflicts = xen-4.7 - conflicts = xen-4.8 - conflicts = xen-4.9 backup = etc/conf.d/xencommons backup = etc/conf.d/xendomains backup = etc/xen/efi-xen.cfg @@ -118,18 +113,4 @@ pkgname = xen-docs pkgdesc = Virtual Machine Hypervisor documentation arch = any provides = xen-docs-4.10.0 - conflicts = xen-docs-4.2 - conflicts = xen-docs-4.2-testing-hg - conflicts = xen-docs-gdbsx - conflicts = xen-docs-hg-unstable - conflicts = xen-docs-rc - conflicts = xen-docs-git - conflicts = xen-docs-igvtg - conflicts = xen-docs-4.3 - conflicts = xen-docs-4.3-testing-hg - conflicts = xen-docs-4.4 - conflicts = xen-docs-4.5 - conflicts = xen-docs-4.6 - conflicts = xen-docs-4.7 - conflicts = xen-docs-4.8 @@ -1,4 +1,4 @@ -# Maintainer: Maik Broemme <mbroemme@libmpq.org> +# Maintainer: Maik Broemme <mbroemme@libmpq.org> # Contributor: Janne Heß <jannehess@gmail.com> # Contributor: Arthur Borsboom <arthurborsboom@gmail.com> # Contributor: Shanmu Thiagaraja <sthiagaraja+AUR@prshanmu.com> @@ -7,400 +7,339 @@ # Contributor: Revellion # Contributor: John Thomson -# linux-4.7 EFI boot panic issue (patch linux) -#http://lkml.iu.edu/hypermail/linux/kernel/1608.2/03448.html - -##### -# Settings -##### - +# Build variables to enable certain optional features. _build_stubdom=${build_stubdom:-false} -# use _build_stubdom=true to build xen with stubdom - -##### -# Versions -##### - -_xen_version='4.10.0' -_xen_major_version='4' -_xen_minor_version='10' -# grep -R IPXE_GIT_TAG src/xen-*/tools/firmware/etherboot -_git_tag_ipxe='827dd1bfee67daa683935ce65316f7e0f057fe1c' -# grep '_VERSION=' src/xen-*/stubdom/configure -if [ "${_build_stubdom}" = true ]; then - _zlib_version='1.2.3' - _libpci_version='2.2.9' - _newlib_version='1.16.0' - _lwip_version='1.3.0' - _grub_version='0.97' - _ocaml_version='3.11.0' - _ocaml_short_version='3.11' - _gmp_version='4.3.2' - _polarssl_version='1.1.4' - _tpmemu_version='0.7.4' -fi -##### -# Package metadata -##### - -pkgbase=xen -pkgname=(xen xen-docs) -pkgver="${_xen_version}" -pkgrel=3 -pkgdesc='Virtual Machine Hypervisor & Tools' -url='http://www.xenproject.org/' -license=('GPL2') -arch=('x86_64') # TODO What about ARM? -changelog='ChangeLog' -validpgpkeys=('23E3222C145F4475FA8060A783FE14C957E82BD9') # Xen.org Xen tree code signing +pkgbase="xen" +pkgname=("xen" "xen-docs") +pkgver="4.10.0" +pkgrel="4" +arch=("x86_64") # TODO What about ARM? +url="http://www.xenproject.org/" +license=("GPL2") +changelog="ChangeLog" +validpgpkeys=("23E3222C145F4475FA8060A783FE14C957E82BD9") options=(!buildflags !strip) makedepends=( - bin86 - cmake - dev86 - fig2dev - figlet - ghostscript - git - iasl - markdown - mingw-w64-binutils - nasm - ocaml-findlib - pandoc - perl - spice-protocol - spice-glib - wget - # Dependencies from xen - bridge-utils - curl - gnutls - iproute2 - lib32-glibc - libaio - libcap-ng - libepoxy - libiscsi - libnl - libpng - lzo - pciutils - python2 - sdl2 - spice - usbredir - yajl + "bin86" + "bridge-utils" + "brltty" + "cmake" + "curl" + "dev86" + "fig2dev" + "figlet" + "ghostscript" + "git" + "gnutls" + "iasl" + "iproute2" + "lib32-glibc" + "libaio" + "libcap-ng" + "libepoxy" + "libiscsi" + "libnl" + "libpng" + "lzo" + "markdown" + "mingw-w64-binutils" + "nasm" + "ocaml-findlib" + "pandoc" + "pciutils" + "perl" + "python2" + "sdl" + "spice" + "spice-glib" + "spice-protocol" + "usbredir" + "vde2" + "wget" + "yajl" ) - -# Sources source=( - "https://downloads.xenproject.org/release/xen/${pkgver}/${pkgbase}-${pkgver}.tar.gz" - "https://downloads.xenproject.org/release/xen/${pkgver}/${pkgbase}-${pkgver}.tar.gz.sig" - "http://xenbits.xen.org/xen-extfiles/ipxe-git-${_git_tag_ipxe}.tar.gz" - - # XSA patches - xsa253-xsa254-diff-release410-comet1.1.patch::'https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff_plain;hp=refs/tags/RELEASE-4.10.0;h=refs/heads/4.10.0-shim-comet' - 'https://xenbits.xen.org/xsa/xsa255-1.patch' - 'https://xenbits.xen.org/xsa/xsa255-2.patch' - 'https://xenbits.xen.org/xsa/xsa256.patch' - - # Files - 'grub-mkconfig-helper' - 'efi-xen.cfg' - 'grub.conf' - "${pkgbase}.conf" - 'tmpfiles.conf' - - # Compile fixes. - 'ocaml-unsafe-string.patch' + "https://downloads.xenproject.org/release/xen/${pkgver}/${pkgbase}-${pkgver}.tar.gz" + "https://downloads.xenproject.org/release/xen/${pkgver}/${pkgbase}-${pkgver}.tar.gz.sig" + "ipxe-git.tar.gz::http://xenbits.xen.org/xen-extfiles/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz" + + # XSA patches. + "xsa253-xsa254-diff-release410-comet1.1.patch::https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff_plain;hp=refs/tags/RELEASE-4.10.0;h=refs/heads/4.10.0-shim-comet" + "https://xenbits.xen.org/xsa/xsa255-1.patch" + "https://xenbits.xen.org/xsa/xsa255-2.patch" + "https://xenbits.xen.org/xsa/xsa256.patch" + + # Helper and config files. + "grub-mkconfig-helper" + "efi-xen.cfg" + "grub.conf" + "${pkgbase}.conf" + "tmpfiles.conf" + + # Compile fixes. + "ocaml-unsafe-string.patch" ) - -if [ "${_build_stubdom}" = true ] ; then - source+=( - "http://xenbits.xen.org/xen-extfiles/zlib-${_zlib_version}.tar.gz" - "http://xenbits.xen.org/xen-extfiles/pciutils-${_libpci_version}.tar.bz2" - "http://xenbits.xen.org/xen-extfiles/newlib-${_newlib_version}.tar.gz" - "http://xenbits.xen.org/xen-extfiles/lwip-${_lwip_version}.tar.gz" - "http://xenbits.xen.org/xen-extfiles/grub-${_grub_version}.tar.gz" - "http://caml.inria.fr/pub/distrib/ocaml-${_ocaml_short_version}/ocaml-${_ocaml_version}.tar.gz" - "http://xenbits.xen.org/xen-extfiles/gmp-${_gmp_version}.tar.bz2" - "http://xenbits.xen.org/xen-extfiles/polarssl-${_polarssl_version}-gpl.tgz" - "http://xenbits.xen.org/xen-extfiles/tpm_emulator-${_tpmemu_version}.tar.gz" - ) -fi - sha256sums=( - '0262a7023f8b12bcacfb0b25e69b2a63291f944f7683d54d8f33d4b2ca556844' - 'SKIP' - '36deacb946c59ad1d6600f6e5b89d6a7a8961e65eb000900e184075920120f49' - - # XSA patches (Last checked: XSA-256) - 'fa8cd07b85a8ff29cba8d891f12f9be4b173dd91a58404aabbf49c3f83152af9' - '05a5570ecf4354f7aad35bb77a4c2f5f556bcabf3555829a98c94dcfb6dd4696' - 'df43a147f1e1a2b7d59588bc91cdaac05d4e45bcfc4e2c8cb5e8de840d44b43d' - '3e45cc3f2ea516e7470083592041e238c0dfe32324790b2fba0e47c9efe38865' - - # PKGBUILD files - '23c3b0eab4cb06260bd07324d2060356560c9bc52270aaaf6130e1c130fc6e5e' - 'ceaff798a92a7aef1465a0a0b27b1817aedd2c857332b456aaa6dd78dc72438f' - '3f0af16958c3e057b9baa5afc47050d9adf7dd553274dd97ae4f35938fefb568' - '50a9b7fd19e8beb1dea09755f07318f36be0b7ec53d3c9e74f3266a63e682c0c' - '80227f8daa62a49c08fb7ffcc7de8cabbd0645396e46c04f7caaa71b04f446f0' - - # Compile fixes. - '7c76b116ce09a53708306682f04e1460a788fe66f832091b7003a5d8e1fee312' + "0262a7023f8b12bcacfb0b25e69b2a63291f944f7683d54d8f33d4b2ca556844" + "SKIP" + "251e5516d7de470c434ae5c393aacca2b61fb24d93770592a4a20add60b785c4" + + # XSA patches. + "fa8cd07b85a8ff29cba8d891f12f9be4b173dd91a58404aabbf49c3f83152af9" + "05a5570ecf4354f7aad35bb77a4c2f5f556bcabf3555829a98c94dcfb6dd4696" + "df43a147f1e1a2b7d59588bc91cdaac05d4e45bcfc4e2c8cb5e8de840d44b43d" + "3e45cc3f2ea516e7470083592041e238c0dfe32324790b2fba0e47c9efe38865" + + # Helper and config files. + "23c3b0eab4cb06260bd07324d2060356560c9bc52270aaaf6130e1c130fc6e5e" + "ceaff798a92a7aef1465a0a0b27b1817aedd2c857332b456aaa6dd78dc72438f" + "3f0af16958c3e057b9baa5afc47050d9adf7dd553274dd97ae4f35938fefb568" + "50a9b7fd19e8beb1dea09755f07318f36be0b7ec53d3c9e74f3266a63e682c0c" + "40e0760810a49f925f2ae9f986940b40eba477dc6d3e83a78baaae096513b3cf" + + # Compile fixes. + "7c76b116ce09a53708306682f04e1460a788fe66f832091b7003a5d8e1fee312" ) - - -if [ "$_build_stubdom" = true ] ; then - sha256sums+=( - '1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e' - 'f60ae61cfbd5da1d849d0beaa21f593c38dac9359f0b3ddc612f447408265b24' - 'db426394965c48c1d29023e1cc6d965ea6b9a9035d8a849be2750ca4659a3d07' - '772e4d550e07826665ed0528c071dd5404ef7dbe1825a38c8adbc2a00bca948f' - '4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b' - 'ecdd4f8473ab0dee5d3acb5c0a31a4c1dd6aa12179895cf1903dd0f455c43a4f' - '936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775' - '2d29fd04a0d0ba29dae6bd29fb418944c08d3916665dcca74afb297ef37584b6' - '4e48ea0d83dd9441cc1af04ab18cd6c961b9fa54d5cbf2c2feee038988dea459' - ) -fi - noextract=( - "ipxe-git-${_git_tag_ipxe}.tar.gz" + "ipxe-git.tar.gz" ) -if [ "$_build_stubdom" = true ] ; then - noextract+=( - "zlib-${_zlib_version}.tar.gz" - "pciutils-${_libci_version}.tar.bz2" - "newlib-${_newlib_version}.tar.gz" - "lwip-${_lwip_version}.tar.gz" - "grub-${_grub_version}.tar.gz" - "ocaml-${_ocaml_version}.tar.gz" - "gmp-${_gmp_version}.tar.bz2" - "polarssl-${_polarssl_version}-gpl.tgz" - "tpm_emulator-${_tpmemu_version}.tar.gz" - ) +# Stub Domain files (grep '_VERSION=' stubdom/configure). +if [ "${_build_stubdom}" = true ] ; then + source+=( + "zlib.tar.gz::http://xenbits.xen.org/xen-extfiles/zlib-1.2.3.tar.gz" + "pciutils.tar.bz2::http://xenbits.xen.org/xen-extfiles/pciutils-2.2.9.tar.bz2" + "newlib.tar.gz::http://xenbits.xen.org/xen-extfiles/newlib-1.16.0.tar.gz" + "lwip.tar.gz::http://xenbits.xen.org/xen-extfiles/lwip-1.3.0.tar.gz" + "grub.tar.gz::http://xenbits.xen.org/xen-extfiles/grub-0.97.tar.gz" + "ocaml.tar.gz::http://caml.inria.fr/pub/distrib/ocaml-3.11/ocaml-3.11.0.tar.gz" + "gmp.tar.bz2::http://xenbits.xen.org/xen-extfiles/gmp-4.3.2.tar.bz2" + "polarssl-gpl.tgz::http://xenbits.xen.org/xen-extfiles/polarssl-1.1.4-gpl.tgz" + "tpm_emulator.tar.gz::http://xenbits.xen.org/xen-extfiles/tpm_emulator-0.7.4.tar.gz" + ) + sha256sums+=( + "1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e" + "f60ae61cfbd5da1d849d0beaa21f593c38dac9359f0b3ddc612f447408265b24" + "db426394965c48c1d29023e1cc6d965ea6b9a9035d8a849be2750ca4659a3d07" + "772e4d550e07826665ed0528c071dd5404ef7dbe1825a38c8adbc2a00bca948f" + "4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b" + "ecdd4f8473ab0dee5d3acb5c0a31a4c1dd6aa12179895cf1903dd0f455c43a4f" + "936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775" + "2d29fd04a0d0ba29dae6bd29fb418944c08d3916665dcca74afb297ef37584b6" + "4e48ea0d83dd9441cc1af04ab18cd6c961b9fa54d5cbf2c2feee038988dea459" + ) + noextract+=( + "zlib.tar.gz" + "pciutils.tar.bz2" + "newlib.tar.gz" + "lwip.tar.gz" + "grub.tar.gz" + "ocaml.tar.gz" + "gmp.tar.bz2" + "polarssl-gpl.tgz" + "tpm_emulator.tar.gz" + ) fi prepare() { - cd "${srcdir}/${pkgbase}-${pkgver}" - - msg2 'Copying downloaded files...' - cp "${srcdir}/ipxe-git-${_git_tag_ipxe}.tar.gz" tools/firmware/etherboot/ipxe.tar.gz - - # XSA Patches - msg2 'Applying XSA Patches...' - patch -Np1 -i "${srcdir}/xsa253-xsa254-diff-release410-comet1.1.patch" - patch -Np1 -i "${srcdir}/xsa255-1.patch" - patch -Np1 -i "${srcdir}/xsa255-2.patch" - patch -Np1 -i "${srcdir}/xsa256.patch" - - # XSA 253 and XSA 254 fix to keep version number. - sed 's,1-pre,0,g' -i xen/Makefile - - # qemu-xen-traditional - pushd 'tools/qemu-xen-traditional' >/dev/null - # None yet. Example: - #patch -Np1 -i "${srcdir}/xsa211-qemut.patch" - popd >/dev/null >/dev/null - # qemu-xen upstream - pushd 'tools/qemu-xen' >/dev/null - # None yet. Example: - #patch -Np1 -i "${srcdir}/xsa211-qemuu-4.8.patch" - popd >/dev/null - - # Patch EFI binary build with mingw - msg2 'Patching EFI build...' - sed -i.bak '/ EFI_LD/s/LD/LD_EFI/' xen/arch/x86/Makefile - sed -i.bak 's/LD/LD_EFI/' xen/arch/x86/efi/Makefile - sed -i.bak '/EFI_MOUNTPOINT .*/aLD_EFI ?= $(LD)' xen/Makefile - - # Fix Install Paths - msg2 'Fixing installation paths...' - sed -i 's:\$localstatedir/run/xen:/run/xen:' m4/paths.m4 - sed -i 's:/var/run:/run:' tools/ocaml/xenstored/define.ml - sed -i 's:/var/run:/run:' tools/ocaml/xenstored/systemd_stubs.c - - if [ "${_build_stubdom}" = true ] ; then - msg2 'Copying stubdom files...' - # Copy supporting tarballs into place - cp "${srcdir}/zlib-${_zlib_version}.tar.gz" stubdom/ - cp "${srcdir}/pciutils-${_libpci_version}.tar.bz2" stubdom/ - cp "${srcdir}/newlib-${_newlib_version}.tar.gz" stubdom/ - cp "${srcdir}/lwip-${_lwip_version}.tar.gz" stubdom/ - cp "${srcdir}/grub-${_grub_version}.tar.gz" stubdom/ - cp "${srcdir}/ocaml-${_ocaml_version}.tar.gz" stubdom/ - cp "${srcdir}/gmp-${_gmp_version}.tar.bz2" stubdom/ - cp "${srcdir}/polarssl-${_polarssl_version}-gpl.tgz" stubdom/ - cp "${srcdir}/tpm_emulator-${_tpmemu_version}.tar.gz" stubdom/ - fi - - # Patch out Werror - msg2 'Patching out Werror...' - # Copied from Gentoo's xen 4.8.1-r2 ebuild - find . \( -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' \) -exec sed -i 's/ *-Werror */ /' '{}' ';' - sed -i 's/, "-Werror"//' 'tools/python/setup.py' - - # Patch ocaml for 4.06 unsafe string - patch -Np1 -i "${srcdir}/ocaml-unsafe-string.patch" + cd "${srcdir}/${pkgbase}-${pkgver}" + + # Preparing downloads. + msg2 'Copying downloaded files...' + cp "${srcdir}/ipxe-git.tar.gz" tools/firmware/etherboot/ipxe.tar.gz + + # XSA Patches + msg2 'Applying XSA Patches...' + patch -Np1 -i "${srcdir}/xsa253-xsa254-diff-release410-comet1.1.patch" + patch -Np1 -i "${srcdir}/xsa255-1.patch" + patch -Np1 -i "${srcdir}/xsa255-2.patch" + patch -Np1 -i "${srcdir}/xsa256.patch" + + # XSA 253 and XSA 254 fix to keep version number. + sed 's,1-pre,0,g' -i xen/Makefile + + # Security Patches (qemu-xen-traditional). + msg2 'Applying tools patches (qemu-xen-traditional)...' + cd tools/qemu-xen-traditional + cd ../.. + + # Security Patches (qemu-xen). + msg2 'Applying tools patches (qemu-xen)...' + cd tools/qemu-xen + cd ../.. + + # Misc compile fixes (removed in future versions if not needed anymore). + msg2 'Applying misc compile fixes...' + patch -Np1 -i "${srcdir}/ocaml-unsafe-string.patch" + + # Patch EFI binary build with mingw. + msg2 'Patching EFI build...' + sed -i.bak '/ EFI_LD/s/LD/LD_EFI/' xen/arch/x86/Makefile + sed -i.bak 's/LD/LD_EFI/' xen/arch/x86/efi/Makefile + sed -i.bak '/EFI_MOUNTPOINT .*/aLD_EFI ?= $(LD)' xen/Makefile + + # Fix Install Paths. + msg2 'Fixing installation paths...' + sed 's,/var/run,/run,g' -i tools/hotplug/Linux/locking.sh + sed 's,/var/run,/run,g' -i tools/misc/xenpvnetboot + sed 's,/var/run,/run,g' -i tools/xenmon/xenbaked.c + sed 's,/var/run,/run,g' -i tools/xenmon/xenmon.py + sed 's,/var/run,/run,g' -i tools/pygrub/src/pygrub + + # Copy supporting tarballs into place. + if [ "${_build_stubdom}" = true ] ; then + msg2 'Copying stubdom files...' + cp "${srcdir}/zlib.tar.gz" stubdom/ + cp "${srcdir}/pciutils.tar.bz2" stubdom/ + cp "${srcdir}/newlib.tar.gz" stubdom/ + cp "${srcdir}/lwip.tar.gz" stubdom/ + cp "${srcdir}/grub.tar.gz" stubdom/ + cp "${srcdir}/ocaml.tar.gz" stubdom/ + cp "${srcdir}/gmp.tar.bz2" stubdom/ + cp "${srcdir}/polarssl-gpl.tgz" stubdom/ + cp "${srcdir}/tpm_emulator.tar.gz" stubdom/ + fi } build() { - cd "${srcdir}/${pkgbase}-${pkgver}" - export LD_EFI='/usr/x86_64-w64-mingw32/bin/ld' - if [ "${_build_stubdom}" = true ] ; then - local _config_stubdom='--enable-stubdom' - fi - - msg2 'Configuring...' - ./autogen.sh - ./configure \ - PYTHON=/usr/bin/python2 \ - --prefix=/usr \ - --sbindir=/usr/bin \ - --with-sysconfig-leaf-dir=conf.d \ - --with-initddir=/etc/init.d \ - --enable-systemd \ - --enable-ovmf \ - --with-system-ovmf \ - --with-system-seabios=/usr/share/qemu/bios-256k.bin \ - "${_config_stubdom:---disable-stubdom}" \ - --with-extra-qemuu-configure-args=" \ - --disable-bluez \ - --disable-gtk \ - --disable-vte \ - --disable-werror \ - --disable-virglrenderer \ - --disable-libnfs \ - --disable-glusterfs \ - --disable-numa \ - --disable-smartcard \ - --disable-fdt \ - --disable-vde \ - --disable-brlapi \ - --enable-spice \ - --enable-usb-redir \ - --with-sdlabi=2.0" - - msg2 'Building Xen...' - # NO_WERROR is required for iPXE, as the sources are not extracted before the build - # and the Werror cannot be patched out - make LANG=C PYTHON=python2 NO_WERROR=1 dist + cd "${srcdir}/${pkgbase}-${pkgver}" + export LD_EFI='/usr/x86_64-w64-mingw32/bin/ld' + if [ "${_build_stubdom}" = true ] ; then + _config_stubdom='--enable-stubdom' + else + _config_stubdom='--disable-stubdom' + fi + + # Configure Xen. + msg2 'Configuring...' + ./autogen.sh + PYTHON=/usr/bin/python2 ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --with-sysconfig-leaf-dir=conf.d \ + --with-rundir=/run \ + --enable-systemd \ + --enable-ovmf \ + --with-system-ovmf \ + --with-system-seabios=/usr/share/qemu/bios-256k.bin \ + "${_config_stubdom}" \ + --with-extra-qemuu-configure-args=" \ + --disable-bluez \ + --disable-gtk \ + --disable-vte \ + --disable-werror \ + --disable-virglrenderer \ + --disable-libnfs \ + --disable-glusterfs \ + --disable-numa \ + --disable-smartcard \ + --disable-fdt \ + --enable-spice \ + --enable-usb-redir \ + --with-sdlabi=1.2" + + msg2 'Building Xen...' + make LANG=C PYTHON=python2 dist } package_xen() { - depends=( - bridge-utils - curl - gnutls - iproute2 - lib32-glibc - libaio - libcap-ng - libiscsi - libnl - libpng - lzo - pciutils - python2 - sdl2 - spice - usbredir - yajl - ) - optdepends=( - 'xen-docs: Official Xen Documentation' - 'openvswitch: Optional Networking support' - 'seabios: Boot VMs with BIOS' - 'ovmf: Boot VMs with UEFI' - ) - backup=( - etc/conf.d/xen{commons,domains} - "etc/${pkgbase}/efi-xen.cfg" - "etc/${pkgbase}/cpupool" - "etc/${pkgbase}/grub.conf" - "etc/${pkgbase}/oxenstored.conf" - "etc/${pkgbase}/xl.conf" - ) - install="${pkgbase}.install" - conflicts=(xen-4.2{,-testing-hg} xen-{gdbsx,hg-unstable,rc,git,igvtg} xen-4.3{,-testing-hg} xen-4.{4..9}) - provides=("xen-${pkgver}") - - cd "${srcdir}/${pkgbase}-${pkgver}" - - msg2 'Installing Xen...' - make DESTDIR="${pkgdir}" LANG=C PYTHON=python2 install - - cd "${pkgdir}" - - # Install files for Arch - msg2 'Installing Arch-specific files...' - install -Dm644 "${srcdir}/tmpfiles.conf" "usr/lib/tmpfiles.d/${pkgbase}.conf" - install -Dm644 "${srcdir}/grub.conf" etc/xen/grub.conf - install -Dm755 "${srcdir}/grub-mkconfig-helper" etc/grub.d/09_xen - install -Dm644 "${srcdir}/efi-xen.cfg" etc/xen/efi-xen.cfg - install -Dm644 "${srcdir}/xen.conf" usr/lib/modules-load.d/xen.conf - - # Fix paths in scripts, move to right locations and create missing directories - msg2 'Fixing paths...' - sed -i 's:/var/run:/run:' usr/lib/xen/bin/xenpvnetboot - sed -i 's:/var/run:/run:' usr/lib/xen/bin/pygrub - sed -i 's:/var/run:/run:' usr/bin/xenmon.py - - mkdir -p var/log/xen/console - - # Sanitize library path (if lib64 exists) - if [ -d usr/lib64 ]; then - msg2 'Sanatizing library paths...' - cd usr/ - mv lib64/* lib/ - rmdir lib64 - cd ../ - fi - - # If EFI binaries build, move to /boot - if [ -f usr/lib/efi/xen.efi ]; then - msg2 'Moving efi binary...' - mv usr/lib/efi/xen*.efi "boot/" - rm -rf usr/lib/efi - fi - - # Clean up - msg2 'Cleaning up...' - - # Hypervisor symlinks - rm -f boot/xen{,-${_xen_major_version}{,.${_xen_minor_version}}}.{gz,efi} - - # sysvinit files - rm -r etc/init.d - - # Documentation cleanup ( see xen-docs package ) - rm -rf usr/share/doc - rm -rf usr/share/man - - # Temporary directories - rmdir var/run/xen var/run/xenstored var/run - - # Unnecessary qemu support files - rm usr/share/qemu-xen/qemu/{palcode,openbios}-* - rm usr/share/xen/qemu/openbios-* - - # adhere to Static Library Packaging Guidelines - rm -f usr/lib/*.a + pkgdesc="Virtual Machine Hypervisor & Tools" + depends=( + "bridge-utils" + "brltty" + "curl" + "gnutls" + "iproute2" + "lib32-glibc" + "libaio" + "libcap-ng" + "libepoxy" + "libiscsi" + "libnl" + "libpng" + "lzo" + "pciutils" + "python2" + "sdl" + "spice" + "usbredir" + "vde2" + "yajl" + ) + optdepends=( + "xen-docs: Official Xen Documentation" + "openvswitch: Optional Networking support" + "seabios: Boot VMs with BIOS" + "ovmf: Boot VMs with UEFI" + ) + provides=("xen-${pkgver}") + install="${pkgbase}.install" + backup=( + "etc/conf.d/xencommons" + "etc/conf.d/xendomains" + "etc/${pkgbase}/efi-xen.cfg" + "etc/${pkgbase}/cpupool" + "etc/${pkgbase}/grub.conf" + "etc/${pkgbase}/oxenstored.conf" + "etc/${pkgbase}/xl.conf" + ) + + cd "${srcdir}/${pkgbase}-${pkgver}" + msg2 'Installing Xen...' + make DESTDIR="${pkgdir}" LANG=C PYTHON=python2 install + + # Install files for Arch Linux. + msg2 'Installing Arch-specific files...' + install -D -m 0644 "${srcdir}/grub.conf" "${pkgdir}/etc/xen/grub.conf" + install -D -m 0755 "${srcdir}/grub-mkconfig-helper" "${pkgdir}/etc/grub.d/09_xen" + install -D -m 0644 "${srcdir}/efi-xen.cfg" "${pkgdir}/etc/xen/efi-xen.cfg" + install -D -m 0644 "${srcdir}/xen.conf" "${pkgdir}/usr/lib/modules-load.d/xen.conf" + install -D -m 0644 "${srcdir}/tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/${pkgbase}.conf" + + # Create missing directories. + msg2 'Create missing directories...' + mkdir -p "${pkgdir}/var/log/xen/console" + + # Move EFI binaries to right location. + msg2 'Moving efi binary...' + mv "${pkgdir}/usr/lib64/efi/xen"*.efi "${pkgdir}/boot" + rmdir "${pkgdir}/usr/lib64/efi" + rmdir "${pkgdir}/usr/lib64" + + # Clean up. + msg2 'Cleaning up...' + + # Remove hypervisor symlinks. + find "${pkgdir}/boot" -type l -delete + + # Remove syms. + find "${pkgdir}/usr/lib/debug" -type f \( -name '*-syms*' -or -name '*\.map' \) -delete + rmdir "${pkgdir}/usr/lib/debug" + + # Remove SysVinit files. + rm -r "${pkgdir}/etc/init.d" + + # Remove temporary directories. + rm -r "${pkgdir}/run" + + # Remove documentation (included in separate xen-docs package). + rm -r "${pkgdir}/usr/share/doc" + rm -r "${pkgdir}/usr/share/man" + + # Remove unnecessary qemu support files. + rm "${pkgdir}/usr/share/qemu-xen/qemu/palcode-clipper" + rm "${pkgdir}/usr/share/qemu-xen/qemu/openbios-ppc" + rm "${pkgdir}/usr/share/qemu-xen/qemu/openbios-sparc32" + rm "${pkgdir}/usr/share/qemu-xen/qemu/openbios-sparc64" } package_xen-docs() { - pkgdesc='Virtual Machine Hypervisor documentation' - arch=('any') - conflicts=(xen-docs-4.2{,-testing-hg} xen-docs-{gdbsx,hg-unstable,rc,git,igvtg} xen-docs-4.3{,-testing-hg} xen-docs-4.{4..8}) - provides=("xen-docs-${pkgver}") - - cd "${srcdir}/${pkgbase}-${pkgver}" + pkgdesc="Virtual Machine Hypervisor documentation" + arch=("any") + provides=("xen-docs-${pkgver}") - msg2 'Installing documentation...' - make DESTDIR="${pkgdir}" LANG=C PYTHON=python2 install-docs + cd "${srcdir}/${pkgbase}-${pkgver}" + msg2 'Installing documentation...' + make DESTDIR="${pkgdir}" LANG=C PYTHON=python2 install-docs } diff --git a/tmpfiles.conf b/tmpfiles.conf index f0fe8de6edc9..a55258b0feae 100644 --- a/tmpfiles.conf +++ b/tmpfiles.conf @@ -1,2 +1,2 @@ -d /var/run/xen 0755 root root - -d /var/run/xenstored 0755 root root - +d /run/xen 0755 root root - +d /run/xenstored 0755 root root - |