summaryrefslogtreecommitdiff
path: root/kernels/xen/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'kernels/xen/PKGBUILD')
-rw-r--r--kernels/xen/PKGBUILD141
1 files changed, 64 insertions, 77 deletions
diff --git a/kernels/xen/PKGBUILD b/kernels/xen/PKGBUILD
index 7761893c4..0518ce19c 100644
--- a/kernels/xen/PKGBUILD
+++ b/kernels/xen/PKGBUILD
@@ -6,15 +6,15 @@
# Maintainer: André Silva <emulatorman@parabola.nu>
pkgname=xen
-pkgver=4.4.1
+pkgver=4.5.0
pkgrel=1.parabola1
pkgdesc="Virtual Machine Hypervisor & Tools (Parabola rebranded)"
arch=(i686 x86_64)
url="http://www.xenproject.org/"
license=(GPL2)
-depends=(bin86 bridge-utils curl gnutls iproute2 libaio libcap-ng libiscsi libjpeg-turbo libpng libseccomp lzo2 nss pixman pciutils python python2 sdl wget vde2 yajl)
+depends=(bridge-utils curl gnutls iproute2 libaio libcap-ng libiscsi libjpeg-turbo libpng libseccomp lzo2 nss pixman pciutils python python2 sdl yajl spice usbredir)
[[ "$CARCH" == "x86_64" ]] && depends+=(lib32-glibc)
-makedepends=(cmake dev86 git iasl markdown ocaml-findlib)
+makedepends=(bin86 cmake dev86 git iasl markdown ocaml-findlib figlet wget spice-protocol)
optdepends=('xen-docs: Official Xen Documentation' 'openvswitch: Optional Networking support')
conflicts=(xen-4.2{,-testing-hg} xen-{gdbsx,hg-unstable,rc,git} xen-4.3{,-testing-hg})
backup=(etc/modules-load.d/$pkgname.conf etc/$pkgname/xl.conf etc/conf.d/xen{stored,consoled,domains,commons} etc/$pkgname/grub.conf)
@@ -31,19 +31,15 @@ source=(http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.g
http://xenbits.xen.org/xen-extfiles/grub-0.97.tar.gz
http://xenbits.xen.org/xen-extfiles/tpm_emulator-0.7.4.tar.gz
http://xenbits.xen.org/xen-extfiles/gmp-4.3.2.tar.bz2
+ http://repo.parabola.nu/other/$pkgname/$pkgname-$pkgver.gz
xen.install
+ tmpfiles.d-$pkgname.conf
09_xen
ati-passthrough.patch
- disable-bluez.patch
- proc-xen.mount
- var-lib-xenstored.mount
- xenconsoled.service
- conf.d-xenconsoled
- xendomains.service
- xendomU@.service
- xenstored.service
- conf.d-xenstored
- tmpfiles.d-$pkgname.conf
+ ovmf.patch
+ ovmf-gcc4.9-basetools.patch
+ ovmf-gcc4.9-ovmfpkg.patch
+ efi-xen.cfg
grub.conf
$pkgname.conf)
noextract=(lwip-1.3.0.tar.gz
@@ -54,9 +50,10 @@ noextract=(lwip-1.3.0.tar.gz
grub-0.97.tar.gz
tpm_emulator-0.7.4.tar.gz
gmp-4.3.2.tar.bz2
- ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz)
+ ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz
+ $pkgname-$pkgver.gz)
-sha256sums=('55b49d3c4575d7791275125ff87c0f86f1d1e0f7f2718b6fd1c4f88a9bc7ea25'
+sha256sums=('5bdb40e2b28d2eeb541bd71a9777f40cbe2ae444b987521d33f099541a006f3b'
'632ce8c193ccacc3012bd354bdb733a4be126f7c098e111930aa41dad537405c'
'772e4d550e07826665ed0528c071dd5404ef7dbe1825a38c8adbc2a00bca948f'
'1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e'
@@ -66,19 +63,15 @@ sha256sums=('55b49d3c4575d7791275125ff87c0f86f1d1e0f7f2718b6fd1c4f88a9bc7ea25'
'4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b'
'4e48ea0d83dd9441cc1af04ab18cd6c961b9fa54d5cbf2c2feee038988dea459'
'936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775'
- 'b29b6529c84348bfaf86ff52fac3b3b49c8259741820a0edf056809bd7e65532'
+ 'bf636b3cbe01a3a8f348656c64ca08bdcbe6be602b53826952de22b90747f5e3'
+ 'bfee0c85c88fe331ad76cdc07b93b18da24c6c1ff2ea3f6f28ee727f8e3ee121'
+ '40e0760810a49f925f2ae9f986940b40eba477dc6d3e83a78baaae096513b3cf'
'b0a3cfe2d524371ee04a26a29ad04cd9f3dae8c5d4a18b6b41576c6c7547f946'
'd93c2d5bcdf0c3e4c6e8efb357cb4b9d618209025361f5ccd9d03651a8acd7a3'
- '0ba03980b4d300fea3f8bbe47b188a491ddf871246e5bd214b1ed15e971324d2'
- '139eed988bfaf8edc8ccdfd0b668382bd63db48ce17be91776182a7e28e9d88c'
- 'c19146931c6ab8e53092bd9b2ebbfda5c76fd22ad3b1d42dcda3dd1b61f123ff'
- 'e4af7891e816b9549ebeff766a78036626c0e278734e5625b8e7d68729530ded'
- '48d76cc6f25caa79b3f527c96a0883b1decb9012f6616f61336c8d43791bf007'
- '0bd45d9de6456c4f9adf32e726f2db3a3cd0423c1d161b442e8a1666d2e68e3f'
- '012cc60ffdcb0e061d04d404eb9232734554aef4dc4b551f66adf82a655e6e41'
- '633d334c55395fac3f16dbe56dd7b7524d560b513d1895b53c89943033a45f39'
- '0e1ad0a6a72b0c22025a556c23235a8f663427f1e769c45fe39d1c525bf82eff'
- '40e0760810a49f925f2ae9f986940b40eba477dc6d3e83a78baaae096513b3cf'
+ '1c44b9dc848bb6c3ef2ab76e4807a0b3ed360aea6b13b5b86d2bf5301d14247b'
+ '45aae7a1d48357e5f981c12870b5bcac0dd0f630f84e398160d8c9adb42a6674'
+ '8e16638d0cc366d1eaae7ccbcf43215853b4444a625478ec8f6e0a2c655370d9'
+ '592f9ed540adbe94095071e4c327aefe85ee5ca057a086a9935847f36aca3be8'
'3f0af16958c3e057b9baa5afc47050d9adf7dd553274dd97ae4f35938fefb568'
'50a9b7fd19e8beb1dea09755f07318f36be0b7ec53d3c9e74f3266a63e682c0c')
@@ -90,15 +83,20 @@ prepare() {
# Security Patches
# Compile Patches
- patch -Np1 -i $srcdir/disable-bluez.patch
+
+ # OVMF Compile support (Pulls from GIT repo, so patching to patch after pull request)
+ echo "Patching OVMF..."
+ patch -Np1 -i $srcdir/ovmf.patch
+ cp $srcdir/ovmf-gcc4.9-basetools.patch tools/firmware/
+ cp $srcdir/ovmf-gcc4.9-ovmfpkg.patch tools/firmware/
# Uncomment line below if you want to enable ATI Passthrough support (some reported successes, untested with 4.4)
#patch -Np1 -i ../ati-passthrough.patch
# Fix Install Paths
- sed -i 's:/sbin:/bin:' config/StdGNU.mk
- sed -i 's:/var/lock:/run/lock:' config/StdGNU.mk
- sed -i 's:/var/run:/run:' config/StdGNU.mk
+ 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
# Copy supporting tarballs into place
cp $srcdir/lwip-1.3.0.tar.gz stubdom/
@@ -114,48 +112,44 @@ prepare() {
}
build() {
- export CFLAGS+='-Wall -Wstrict-prototypes -Wno-unused-local-typedefs -Wno-sizeof-pointer-memaccess'
cd $pkgname-$pkgver/
./autogen.sh
- ./configure PYTHON=/usr/bin/python2 --prefix=/usr --localstatedir=/run --enable-xend
- make LANG=C PYTHON=python2 dist-{xen,tools,kernels}
+ ./configure PYTHON=/usr/bin/python2 --prefix=/usr --sbindir=/usr/bin --with-sysconfig-leaf-dir=conf.d --with-initddir=/etc/init.d \
+ --enable-systemd --disable-docs --enable-stubdom --enable-qemu-traditional --enable-rombios \
+ --with-extra-qemuu-configure-args="--disable-bluez --disable-gtk --enable-spice --enable-usb-redir" # --enable-ovmf
unset CFLAGS
- make LANG=C PYTHON=python2 dist-stubdom
+ make LANG=C PYTHON=python2
}
package() {
cd $pkgname-$pkgver/
- make DESTDIR="$pkgdir" LANG=C PYTHON=python2 install-{xen,tools,kernels,stubdom}
-
- # Install files
- cd ../
- for f in ${source[@]}; do
- [[ $f =~ .mount || $f =~ .service ]] && install -Dm644 $f "$pkgdir"/usr/lib/systemd/system/$f
- done
- install -Dm644 tmpfiles.d-$pkgname.conf "$pkgdir"/usr/lib/tmpfiles.d/$pkgname.conf
- install -Dm644 $pkgname.conf "$pkgdir"/etc/modules-load.d/$pkgname.conf
- install -Dm644 conf.d-xenstored "$pkgdir"/etc/conf.d/xenstored
- install -Dm644 conf.d-xenconsoled "$pkgdir"/etc/conf.d/xenconsoled
- install -Dm644 grub.conf "$pkgdir"/etc/xen/grub.conf
- install -Dm755 09_xen "$pkgdir"/etc/grub.d/09_xen
+ make DESTDIR="$pkgdir" LANG=C PYTHON=python2 install
cd "$pkgdir"
+ # Install files from Parabola package
+ install -Dm644 $srcdir/tmpfiles.d-$pkgname.conf usr/lib/tmpfiles.d/$pkgname.conf
+ #install -Dm644 $srcdir/conf.d-xenstored etc/conf.d/xenstored
+ #install -Dm644 $srcdir/conf.d-xenconsoled etc/conf.d/xenconsoled
+ install -Dm644 $srcdir/grub.conf etc/xen/grub.conf
+ install -Dm755 $srcdir/09_xen etc/grub.d/09_xen
+ install -Dm644 $srcdir/efi-xen.cfg etc/xen/efi-xen.cfg
+
+ # Fix bug #678 -> https://labs.parabola.nu/issues/678
+ if [[ $CARCH == i686 ]]; then
+ mkdir boot
+ cp $srcdir/$pkgname-$pkgver.gz boot
+ fi
+
# Fix paths in scripts, move to right locations and create missing directories
- sed -i 's:/etc/sysconfig:/etc/conf.d:' etc/init.d/xendomains
- sed -i 's:/var/lock:/run/lock:' etc/init.d/xendomains
- sed -i 's:/var/lock:/run/lock:' etc/xen/scripts/hotplugpath.sh
sed -i 's:/var/run:/run:' etc/init.d/xencommons
- sed -i 's:/var/run:/run:' etc/xen/scripts/hotplugpath.sh
+ sed -i 's:/var/lock:/run/lock:' etc/xen/scripts/hotplugpath.sh
sed -i 's:/var/run:/run:' etc/xen/scripts/locking.sh
+ sed -i 's:/var/run:/run:' usr/lib/systemd/system/xenstored.service
+ sed -i 's:/var/run:/run:' usr/lib/systemd/system/xenstored.socket
+ sed -i 's:/var/run:/run:' usr/lib/systemd/system/xenstored_ro.socket
- mv etc/init.d/xencommons etc/xen/scripts/xencommons
- mv etc/init.d/xendomains etc/xen/scripts/xendomains
- mv etc/init.d/xen-watchdog etc/xen/scripts/xen-watchdog
- mv etc/default/xencommons etc/conf.d/xencommons
- mv etc/default/xendomains etc/conf.d/xendomains
- mv var/xen/dump var/lib/xen/
mkdir var/log/xen/console
# Sanitize library path (if lib64 exists)
@@ -166,41 +160,34 @@ package() {
cd ../
fi
+ # If EFI binaries build, move to /boot
+ if [[ -f usr/lib/efi/xen.efi ]]; then
+ mv usr/lib/efi/xen-$pkgver.efi boot/xen-$pkgver.efi
+ rm -rf usr/lib/efi
+ fi
+
# Compress syms file and move to a share location
if [[ $CARCH == x86_64 ]]; then
- gzip boot/$pkgname-syms-*
- mv boot/$pkgname-syms-*.gz usr/share/xen
+ gzip boot/$pkgname-syms-*
+ mv boot/$pkgname-syms-*.gz usr/share/xen
fi
##### Kill unwanted stuff #####
# hypervisor symlinks
- rm -f boot/xen{,-4,-4.4}.gz
+ if [[ $CARCH == x86_64 ]]; then
+ rm -f boot/xen{,-4,-4.5,-4.5-rc}.gz
+ fi
# Documentation cleanup ( see xen-docs package )
rm -rf usr/share/doc
rm -rf usr/share/man
- # Pointless helper cleanup
- rm -f usr/bin/xen-python-path
-
# Unnecessary qemu support files
- rm -rf usr/bin/qemu-*-xen
- rm -rf usr/etc
- rm -rf usr/libexec
+# rm -rf usr/bin/qemu-*-xen
rm usr/share/qemu-xen/qemu/{palcode,openbios}-*
rm usr/share/xen/qemu/openbios-*
- # Clean up udev rules naming
- mv etc/udev/rules.d/xen-backend.rules etc/udev/rules.d/40-xen-backend.rules
-
- # Cleanup additional leftover files
- rm -rf usr/include/cacard
- rm -f usr/lib/libcacard*
- rm -f usr/lib/pkgconfig/libcacard.pc
-
- # Clean up left over empty directories
- rm -rf var/run var/lock var/xen etc/default etc/init.d
-
# adhere to Static Library Packaging Guidelines
rm -rf usr/lib/*.a
+
}