diff options
Diffstat (limited to 'kernels/xen/PKGBUILD')
-rw-r--r-- | kernels/xen/PKGBUILD | 141 |
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 + } |