aboutsummaryrefslogtreecommitdiffstats
path: root/main/xen/APKBUILD
blob: 169649b1e730a77bc3c81c02624c119e3cdcf865 (plain) (blame)
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Contributor: Roger Pau Monne <roger.pau@entel.upc.edu>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=xen
pkgver=4.2.5
pkgrel=0
pkgdesc="Xen hypervisor"
url="http://www.xen.org/"
arch="x86 x86_64"
license="GPL"
depends="syslinux bash screen iproute2 logrotate perl"
depends_dev="openssl-dev python-dev e2fsprogs-dev gettext zlib-dev ncurses-dev
	libiconv-dev dev86 texinfo perl iasl pciutils-dev glib-dev yajl-dev"
makedepends="$depends_dev"
install=""
subpackages="$pkgname-doc $pkgname-dev $pkgname-libs $pkgname-hypervisor $pkgname-xend"
source="http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.gz
	qemu_uclibc_configure.patch
	librt.patch
	qemu-xen_paths.patch
	docs-Fix-generating-qemu-doc.html-with-texinfo-5.patch

	xsa41.patch
	xsa41b.patch
	xsa41c.patch
	
	xsa104.patch
	xsa105.patch
	xsa106.patch
	xsa108.patch

	xenstored.initd
	xenstored.confd
	xenconsoled.initd
	xenconsoled.confd
	xend.initd
	xend.confd
	xendomains.initd
	xendomains.confd
	xen-consoles.logrotate
	xenqemu.confd
	xenqemu.initd
	"

_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
	local i
	cd "$_builddir"

	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done

	# remove all -Werror
	msg "Eradicating -Werror..."
	find -name '*.mk' -o -name 'Make*' | xargs sed -i -e 's/-Werror//g'

	unset CFLAGS
	unset LDFLAGS	

	msg "Running configure..."
	./configure || return 1
}

build() {
	cd "$_builddir"

	# Unset CFLAGS and LDFLAGS because the xen build system
	# doesn't support them. Instead use .config in xen root
	# folder if necessary.
	unset CFLAGS
	unset LDFLAGS

	msg "Building hypervisor..."
	make xen || return 1

	msg "Building tools..."
	make tools || return 1

	msg "Building documentation..."
	make docs || return 1

	msg "Building stub domains..."
	make stubdom || return 1
}

package() {
	cd "$_builddir"

	unset CFLAGS
	unset LDFLAGS

	make -j1 DESTDIR="$pkgdir" install-xen install-tools install-docs \
		install-stubdom || return 1

	# remove default xencommons
	rm -rf "$pkgdir"/etc/init.d/xencommons

	for i in $source; do
		case $i in
		*.initd) install -Dm755 "$srcdir"/$i \
				"$pkgdir"/etc/init.d/${i%.*};;
		*.confd) install -Dm644 "$srcdir"/$i \
				"$pkgdir"/etc/conf.d/${i%.*};;
		esac
	done
	install -Dm644 "$srcdir"/xen-consoles.logrotate \
		"$pkgdir"/etc/xen/xen-consoles.logrotate
}

libs() {
	pkgdesc="Libraries for Xen tools"
	replaces="xen"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/*.so.* \
		"$pkgdir"/usr/lib/fs \
		"$subpkgdir"/usr/lib/
}

hypervisor() {
	pkgdesc="Xen hypervisor"
	replaces="xen"
	mkdir -p "$subpkgdir"
	mv "$pkgdir"/boot "$subpkgdir"/
}

xend() {
	pkgdesc="Xend toolstack"
	replaces="xen"
	depends="udev xen python"
	mkdir -p "$subpkgdir"
	sitepackages=`python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"`
	mkdir -p "$subpkgdir"/"$sitepackages"/xen
	find "$pkgdir"/"$sitepackages"/xen -maxdepth 1 -mindepth 1 -type d -not -name lowlevel \
		-exec mv '{}' "$subpkgdir"/"$sitepackages"/xen \;
}

md5sums="d8a589be1558496f8c639f7c890bcffc  xen-4.2.5.tar.gz
506e7ab6f9482dc95f230978d340bcd9  qemu_uclibc_configure.patch
2dc5ddf47c53ea168729975046c3c1f9  librt.patch
1ccde6b36a6f9542a16d998204dc9a22  qemu-xen_paths.patch
6dcff640268d514fa9164b4c812cc52d  docs-Fix-generating-qemu-doc.html-with-texinfo-5.patch
8ad8942000b8a4be4917599cad9209cf  xsa41.patch
ed7d0399c6ca6aeee479da5d8f807fe0  xsa41b.patch
2f3dd7bdc59d104370066d6582725575  xsa41c.patch
1cc14dc8cc1a42aa93a6ea1508931d98  xsa104.patch
cdc40a86a58fc864ebb7b1dbf90d2352  xsa105.patch
f58b915ad62aef72bde99f8d04f9a7a4  xsa106.patch
1f66f6c52941309c825f60e1bf144987  xsa108.patch
95d8af17bf844d41a015ff32aae51ba1  xenstored.initd
b017ccdd5e1c27bbf1513e3569d4ff07  xenstored.confd
ed262f15fb880badb53575539468646c  xenconsoled.initd
ec2252c72050d7d5870a3a629b873ba6  xenconsoled.confd
1803ddf6877bdf254082365389a4efa9  xend.initd
9261ad0f285836c1b0ea07f306e4586e  xend.confd
fa8c72b42e0479d521a353386d8543ef  xendomains.initd
2c80e442cec6dd2a025b61852641834d  xendomains.confd
9df68ac65dc3f372f5d61183abdc83ff  xen-consoles.logrotate
6a2f777c16678d84039acf670d86fff6  xenqemu.confd
f9afbf39e2b5a7d9dde60ebbd249ea7d  xenqemu.initd"