diff options
Diffstat (limited to 'pcr/xen/PKGBUILD')
-rw-r--r-- | pcr/xen/PKGBUILD | 133 |
1 files changed, 58 insertions, 75 deletions
diff --git a/pcr/xen/PKGBUILD b/pcr/xen/PKGBUILD index 6636b6993..2e0dd94d8 100644 --- a/pcr/xen/PKGBUILD +++ b/pcr/xen/PKGBUILD @@ -1,4 +1,4 @@ -# current version adapted from https://gitlab.com/johnth/aur-xen/blob/ea6a7a5938eb8bb4fbcd5de11220b2a7bbe12121/PKGBUILD +# current version adapted from https://gitlab.com/archlinux-packages-johnth/xen/tree/xen-4.10 # Maintainer (AUR): John Thomson <aur.xen at j0aur.mm.st> # Contributor (Arch): David Sutton <kantras - gmail.com> @@ -34,10 +34,10 @@ _build_livepatch="${build_livepatch:-false}" pkgbase=xen pkgname=(xen{,-docs,-syms}) _pkgname=xen -pkgver=4.9.0 +pkgver=4.10.0 _pkgver=${pkgver/rc/-rc} -pkgrel=1.parabola2 -pkgdesc="Virtual Machine Hypervisor & Tools (Parabola rebranded)" +pkgrel=1 +pkgdesc='Virtual Machine Hypervisor & Tools (Parabola rebranded)' arch=(x86_64 armv7h) depends=( bridge-utils @@ -45,6 +45,7 @@ depends=( gnutls iproute2 libaio + libcacard libcap-ng libiscsi libnl @@ -86,6 +87,11 @@ makedepends=( gcc-multilib iasl ) +[[ "$CARCH" == 'i686' ]] && makedepends+=( + bin86 + dev86 + iasl +) ## For building Xen EFI boot file. ## mingw-w64-binutils only needed if @@ -93,15 +99,19 @@ makedepends=( _binutils_efi=false if [[ "$CARCH" == 'x86_64' ]]; then - _binutils_emulations="$(ld -V)" - if [[ "$_binutils_emulations" == *'i386pep'* ]]; then - _binutils_efi=true - #ld has efi support + if which ld 2>&1 > /dev/null; then + _binutils_emulations="$(ld -V)" + if [[ "$_binutils_emulations" == *'i386pep'* ]]; then + _binutils_efi=true + msg '#ld has efi support' + else + makedepends+=( + mingw-w64-binutils + ) + msg '#ld does not have efi support, using mingw' + fi else - makedepends+=( - mingw-w64-binutils - ) - #ld does not have efi support, using mingw + true fi fi @@ -111,9 +121,9 @@ changelog=ChangeLog ##SeaBIOS & OVMF tags are in src/xen-*/tools/Config.mk ##grep -rE '_(REVISION|VERSION|TAG)( \?| :){0,1}=' src/xen**/{Config.mk,stubdom/configure,tools/firmware/etherboot/Makefile} -_git_tag_seabios='#tag=rel-1.10.0' -_git_tag_ovmf='#tag=5920a9d16b1ab887c2858224316a98e961d71b05' -_git_tag_ipxe='827dd1bfee67daa683935ce65316f7e0f057fe1c' +_git_tag_seabios='#tag=rel-1.10.2' +_git_tag_ovmf='#tag=947f3737abf65fda63f3ffd97fddfa6986986868' +_git_tag_ipxe='356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d' if [[ "$_build_stubdom" == true ]]; then if [[ "$CARCH" == *'arm'* ]]; then @@ -135,18 +145,6 @@ source=( ## Compile patches ati-passthrough.patch patch-ovmf-use-python2.patch - patch-ovmf-apply-inbuild-patches.patch - patch-ovmf-patches-series.patch - #patch-build-efi-with-mingw.patch::https://github.com/jakogut/xen-igvtg-aur/raw/28c81072e419d72a100ada9c393e37fae35ad263/xen_efi_build.patch - patch-inbuild-ovmf-5-hiilib.c-pointer-zero.patch::'https://github.com/tianocore/edk2/commit/fe4a28ccbfd33cae9e1f56b174d46b4eb2329efd.patch' - patch-inbuild-ipxe-gcc7-implicit-fallthrough.patch::'https://github.com/ipxe/ipxe/commit/5f85cbb9ee1c00cec81a848a9e871ad5d1e7f53f.patch' - patch-inbuild-ipxe-gcc7-implicit-fallthrough-ath5k.patch::'https://github.com/ipxe/ipxe/commit/45f2265bfcbbf2afd7fac24372ae26e453f2b52d.patch' - patch-inbuild-ipxe-gcc7-implicit-fallthrough-curses.patch::'https://github.com/ipxe/ipxe/commit/28e26dd2503e6006fabb26f8c33050ba93a99623.patch' - patch-ipxe-patches-series.patch - patch-gcc7-vtpm-implicit-fallthrough.patch - patch-gcc7-vtpmmgr-make-inline-static.patch - patch-gcc7-minios-udivmod.patch - patch-gcc7-rombios.patch::'https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff_plain;h=672949d6c61d9cba01c5b414eed9d522082f04d3' ## Files xen.install @@ -155,10 +153,11 @@ source=( "tmpfiles.d-$_pkgname.conf" ## XSA patches + https://xenbits.xen.org/xsa/xsa253.patch ) if [[ "$_build_stubdom" == true ]]; then - echo '#building with stubdom' + msg '#building with stubdom' source+=( http://xenbits.xen.org/xen-extfiles/lwip-1.3.0.tar.gz http://xenbits.xen.org/xen-extfiles/zlib-1.2.3.tar.gz @@ -193,37 +192,18 @@ fi validpgpkeys=('23E3222C145F4475FA8060A783FE14C957E82BD9') #gpg --keyserver pgp.mit.edu --recv-key 23E3222C145F4475FA8060A783FE14C957E82BD9 -sha256sums=( - 'cade643fe3310d4d6f97d0c215c6fa323bc1130d7e64d7e2043ffaa73a96f33b' - 'SKIP' - '36deacb946c59ad1d6600f6e5b89d6a7a8961e65eb000900e184075920120f49' - - 'SKIP' - 'SKIP' - - 'd93c2d5bcdf0c3e4c6e8efb357cb4b9d618209025361f5ccd9d03651a8acd7a3' - '5fb65130f96d1728368a09042e55f622c14117572030ce2141bff4ae150e4a01' - 'a853a38b8fd661d6b99979831cdae014cd23d831b57a90a467400660343f23f6' - '81b93e8c9e0ecb0d8c0555892b27b7e6c39d961af33cdea53ac72070e3e741b2' - #'a8ce42777e22af49080131e174b6b89c6e7597539838fb8b17a12280fd10b10b' - '79d8ce76bdeb72a1583254f1fb80309e56428d7406a6605a5ec860dc5a1beb3d' - 'e042b0161d76ee9af7b113c46703dde2663f762d696f4290585be36d907e97a5' - '2be4efb8be044c9b2459d09f5a6390fecb218ed4cb38964bce0674882817b91a' - 'db21442e38be53d342c7574c7c17fb8ce45e57c11dd1ad99e60641ea4061653b' - '9135c1ca7aed28a86afc7a0feb2930bd95b4fabf865dd368e8912cc77d38fb33' - '0ce9de822712e2b538dc144ba23b584970ac73b327277917b4afaa321c5b4b0c' - '5727d42575dfac1870d235fab23b8a230857cfdf44372bc1d98bb6384b752367' - 'b6fa5bff89242719b20747d7eb197d0aeb59f8a89e841137f0b0cab17de20686' - '70b41197cde89d71e37d0c0d2af7087f4ec0a85db3f3e01f22cd2f91bf68b3c8' - - #pkgbuild files - '330bcc5ab22e982d37495b57176d306353c220fec7c2b6c4a78a9133382a623e' - '9b2e6880d6345d1029317d7d65c85e07039b795c988b6852159d2ad673b13930' - '95f09bccc104d98c14559000823cb50f0d076f6a65b9f3b4e7725762b84ab5c7' - '40e0760810a49f925f2ae9f986940b40eba477dc6d3e83a78baaae096513b3cf' - - ## XSA patches -) +sha256sums=('0262a7023f8b12bcacfb0b25e69b2a63291f944f7683d54d8f33d4b2ca556844' + 'SKIP' + '251e5516d7de470c434ae5c393aacca2b61fb24d93770592a4a20add60b785c4' + 'SKIP' + 'SKIP' + 'd93c2d5bcdf0c3e4c6e8efb357cb4b9d618209025361f5ccd9d03651a8acd7a3' + '5fb65130f96d1728368a09042e55f622c14117572030ce2141bff4ae150e4a01' + '55145ff9c1570257478842e4001b0dafe007d90f5b06db17231bc5bf20f3b23d' + '8101316cfdf4b59e9c39b7372d4240a4552971c0fa53a4719bbb7a22f5622f4e' + 'efb3c5713d556aa4890136ebf61502060cf90234fbd2e85701ad7a7ed2524fb1' + '40e0760810a49f925f2ae9f986940b40eba477dc6d3e83a78baaae096513b3cf' + 'bba1abb5e4368421de29385e37f8477bf3534d3ba3ff7e2aae9c9d3da53f1393') if [[ "$_build_stubdom" == true ]]; then @@ -270,8 +250,9 @@ prepare() { ### Patching # XSA Patches - echo 'XSA patches' + msg 'XSA patches' # Security Patches - Base + patch -Np1 -i "$srcdir/xsa253.patch" # Security Patches - qemu-xen-traditional cd 'tools/qemu-xen-traditional/' @@ -283,13 +264,11 @@ prepare() { # Compile Patches - echo 'Compile patches' - patch -Np1 -i "$srcdir/patch-gcc7-rombios.patch" + msg 'Compile patches' # Build EFI binary with mingw if [[ "$_binutils_efi" != true ]]; then if $(stat /usr/x86_64-w64-mingw32/bin/ld >/dev/null 2>&1); then - #patch -Np1 -i "$srcdir/patch-build-efi-with-mingw.patch" 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 @@ -302,10 +281,8 @@ prepare() { # OVMF Compile support (Pulls from GIT repo, so patching to patch after pull request) patch -Np1 -i "$srcdir/patch-ovmf-use-python2.patch" - patch -Np1 -i "$srcdir/patch-ovmf-apply-inbuild-patches.patch" - mkdir -p tools/firmware/ovmf-patches - patch -Np1 -i "$srcdir/patch-ovmf-patches-series.patch" - cp "$srcdir"/patch-inbuild-ovmf*.patch tools/firmware/ovmf-patches/ + #mkdir -p tools/firmware/ovmf-patches + #cp "$srcdir"/patch-inbuild-ovmf*.patch tools/firmware/ovmf-patches/ # Uncomment line below if you want to enable ATI Passthrough support (some reported successes, untested with 4.4) #patch -Np1 -i "$srcdir/ati-passthrough.patch" @@ -321,10 +298,20 @@ prepare() { sed -i 's:/var/run:/run:' ${_var_run_fixed_paths[@]} ## Fix python version in shebang - echo 'Fix python shebang to python2' + msg 'Fix python shebang to python2' _python_files=( $(grep -Rlse '^#!/usr/bin/.*python$' || : ) ) sed -Ei 's|(^#!.*/usr/bin/(env ){0,1})python$|\1python2|' ${_python_files[@]} + ## Fix systemd-modules-load.d/xen.conf + ## remove nonexistent modules + find tools -iname 'configure*' -exec sed -i -E -e ' + /^LINUX_BACKEND_MODULES="$/,/^"$/ { + #Address range where this variable is set + /"/b; #Do noting if the line contains " + /^xen-/!d; #Delete if does not start with xen + s/scsibk/scsiback/; #Change scsibk to scsiback + };' {} \; + if [[ "$_build_stubdom" == true ]]; then # Copy supporting tarballs into place ln -s "$srcdir/lwip-1.3.0.tar.gz" stubdom/ @@ -339,18 +326,14 @@ prepare() { ## Stubdom patches cd 'extras/mini-os' - patch -Np1 -i "$srcdir/patch-gcc7-minios-udivmod.patch" cd '../../' #vtpm - patch -Np1 -i "$srcdir/patch-gcc7-vtpmmgr-make-inline-static.patch" - patch -Np1 -i "$srcdir/patch-gcc7-vtpm-implicit-fallthrough.patch" fi #etherboot ln -s "$srcdir/ipxe-git-$_git_tag_ipxe.tar.gz" tools/firmware/etherboot/ipxe.tar.gz - patch -Np1 -i "$srcdir/patch-ipxe-patches-series.patch" - cp "$srcdir"/patch-inbuild-ipxe*.patch tools/firmware/etherboot/patches/ + #cp "$srcdir"/patch-inbuild-ipxe*.patch tools/firmware/etherboot/patches/ } build() { @@ -412,9 +395,9 @@ package_xen() { 'openvswitch: Optional advanced networking support' 'urlgrabber: Required for xenpvnetboot' ) - conflicts=(xen-{git,rc,igvtg,4.{5,6,7}} xenstore) + conflicts=(xen-{git,rc,igvtg,4.{8,9}} xenstore) provides=(xenstore) - replaces=(xen-{git,rc,4.{5,6,7}}) + replaces=(xen-{git,rc,4.{8,9}}) backup=( etc/conf.d/xen{domains,commons} "etc/$_pkgname/grub.conf" |