blob: 33a2dccb11cd923ea1a54c48ccd4796a06099741 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# Maintainer: Limao Luo <luolimao+AUR@gmail.com>
# Contributor: Luceo
# Contributor: Revellion
pkgname=xen
pkgver=4.2.0
pkgrel=12
pkgdesc="Xen Hypervisor & Tools"
arch=(i686 x86_64)
url=http://xen.org
license=(GPL)
depends=(bin86 bluez bridge-utils glib2 gnutls libaio libjpeg-turbo libpng lzo2 sdl wget vde2 yajl)
[[ "$CARCH" == "x86_64" ]] && depends+=(lib32-glibc)
makedepends=(dev86 git iasl markdown ocaml-findlib)
optdepends=('xen-docs: Official Xen Documentation')
conflicts=(xen-4.2{,-testing-hg} xen-{gdbsx,hg-unstable,rc})
backup=(etc/$pkgname/xend-{config,pci-{permissive,quirks}}.sxp etc/modules-load.d/$pkgname.conf)
options=(!buildflags !emptydirs !strip)
install=$pkgname.install
source=(http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.gz
09_xen
archinit.patch
texi2html.patch
proc-xen.mount
var-lib-xenstored.mount
xenconsoled.service
xendomains.service
xendomU@.service
xenstored.service
$pkgname.conf)
sha256sums=('43f4a086e4e0330145a27b7ace8365c42b5afbc95cefadafe067be91bd3e5cfb'
'e8dd740c0f18ea41bb80afad36ca981669e6ab86eb3848fbb40f0dff3b8aa3e6'
'35900d3ae2f2cc27834b8a7cb11f134b582f01bde033598c407c8e58ad58fdb9'
'08e5bf65c833a608470ad118ce369e32f9c267e1787f2900c06708af321225e6'
'139eed988bfaf8edc8ccdfd0b668382bd63db48ce17be91776182a7e28e9d88c'
'c19146931c6ab8e53092bd9b2ebbfda5c76fd22ad3b1d42dcda3dd1b61f123ff'
'ba8f1c10b3f3df1f9fda0782a691fed67661e36f49be74471c86850639fee3ba'
'0bd45d9de6456c4f9adf32e726f2db3a3cd0423c1d161b442e8a1666d2e68e3f'
'1862a14607582d14247b74435dfb16411fd68904aa19e2a93c5e6ac301169d3c'
'0a1960fd51a2f4e8e856c7392e33cc9607ac4a80e9d68b316b6a4281f34728e0'
'50a9b7fd19e8beb1dea09755f07318f36be0b7ec53d3c9e74f3266a63e682c0c')
sha512sums=('4fb56c79d722fb307bc657f16d02079c6636427e7650c4354193632d38d2d1db8e588f844ff0ca6e757c108ed639a528565ec9fc7c00bb4d5b6fbc9d122d8a70'
'23402f54e1a40c058566d6c0f18ac2e89ea85eea8bedf669f059e30ad76b3b90d81b7ff34d8e8c07ab4fea7f82ae32c80a66df2fd95fb3b296e982cdcc93d0b6'
'9ce0c009f055c9be42435be9eeeec980285cbef4fb52cbd8d81f76ae1e7760575b5c9f958e3d44612d2740eafa1e18ee48f30a5571f0c06bd031d4e102abb22f'
'562f12e723116c705fc9d0fd4a2afd382a93465be7f616d1e20e87daf39c11029fbc57ec46e38d3ff61c482fdc9ac4df9e07600a77515867d9da6f0faf3da7f9'
'6afdf16e32bb837faf6333334f86855a746f1f46fee9673a4fddc62eecf41f9856bc34397807203c6f5071f0b1ce74532214084042154585c0d39514450db25c'
'00e340f4d3635e3850ca24baea1da08467523c17815feb74161e18397b607fef904db2165fd9bf4632a6e8a6e37aeddad4e56965e1c99b5213c98b3f9afc6aad'
'27d7289a8bf6e15bddcb360287001429205b57ee4d791b0337328879ffd76b8e375e3c1dd0de0ab57dd4bd1e2a2bc1748c44cc05b2528632a3e6af60f626de9d'
'f00034f8b826b828659a0177f0a6454113c625e69a817dfe32e461767f6643e0288bfc2a22d23358504240df627af6e3b8f5ffa0077e241e590b33d3f252e74c'
'31fefc739f0f0e568df03dcf9aa02e0265ff4fbf77e7ae62d6a318fcc34e87a0ffd3fc4b84ff8c9cc95511e2e74b7b61e6b5471cd0b3cd47ee0da86b1ea90268'
'87aceb1c646e49940bfbc47da85d7e20c9436449b152c0842b357033f66aba68a590f1d56c4a3f437d093047a611f28fd67d381692d9b21a582e598ecf1a72a2'
'ccaa2ff82e4203b11e5dec9aeccac2e165721d8067e0094603ecaa7a70b78c9eb9e2287a32687883d26b6ceae6f8d2ad7636ddf949eb658637b3ceaa6999711b')
build() {
cd "$srcdir"/$pkgname-$pkgver/
patch -Np1 -i ../archinit.patch
patch -Np1 -i ../texi2html.patch
./autogen.sh
./configure PYTHON=/usr/bin/python2
}
package() {
cd "$srcdir"/$pkgname-$pkgver/
make PYTHON=python2 DESTDIR="$pkgdir" install-xen install-tools
# stubdom won't build with multiple makethreads
make -j1 PYTHON=python2 DESTDIR="$pkgdir" install-stubdom
cd ../
for f in ${source[@]}; do
[[ $f =~ .mount || $f =~ .service ]] && install -Dm644 $f "$pkgdir"/usr/lib/systemd/system/$f
done
install -Dm644 $pkgname.conf "$pkgdir"/etc/modules-load.d/$pkgname.conf
install -Dm755 09_xen "$pkgdir"/etc/grub.d/09_xen
cd "$pkgdir"
sed -i ':XENDOM_CONFIG=/etc/:s:sysconfig/xendomains:conf.d/xendomains:' etc/init.d/xendomains
sed -i 's:touch /var/lock/subsys/xend:mkdir -p /var/lock/subsys\n &:' etc/init.d/xend
if [[ -d usr/lib64 ]]; then
cd usr/
cp -r lib64/* lib/
rm -rf lib64
fi
mv etc/{init,rc}.d
mv usr/local/etc/qemu/ etc/
rm -rf usr/local/share/
mv etc/rc.d/xendomains etc/xen/scripts/xendomains
##### Kill unwanted stuff #####
# stubdom: newlib
rm -rf usr/*-xen-elf
# hypervisor symlinks
rm -f boot/xen{,-4,-4.2}.gz
# silly doc dir fun
rm -rf usr/share/doc/xen
rm -rf usr/share/doc/qemu
# Pointless helper
rm -f usr/sbin/xen-python-path
# qemu stuff (unused or available from upstream)
rm -rf usr/share/xen/man
rm -rf usr/bin/qemu-*-xen
for file in bios.bin openbios-sparc32 openbios-sparc64 ppc_rom.bin \
pxe-e1000.bin pxe-ne2k_pci.bin pxe-pcnet.bin pxe-rtl8139.bin \
vgabios.bin vgabios-cirrus.bin video.x openbios-ppc bamboo.dtb; do
rm -f usr/share/xen/qemu/$file
done
# adhere to Static Library Packaging Guidelines
rm -rf usr/lib/*.a
# Fix errors from deprecated xend
rm etc/udev/rules.d/xend.rules
}
|