summaryrefslogtreecommitdiff
path: root/pcr/xen/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/xen/PKGBUILD')
-rw-r--r--pcr/xen/PKGBUILD133
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"