aboutsummaryrefslogtreecommitdiffstats
path: root/main/libvirt/APKBUILD
blob: d4778aaf9d41e9e77dd081722535b2a4eacc2525 (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
123
124
125
126
127
128
129
130
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=libvirt
vmajor="1.0.0"
vminor=""
pkgver="${vmajor}"
_ver="${pkgver/_rc/-rc}"
pkgrel=0
pkgdesc="A virtualization API for several hypervisor and container systems"
url="http://libvirt.org/"
arch="all"
license="LGPL"
depends="bridge-utils dmidecode iptables netcat-openbsd pm-utils python"
makedepends="augeas-dev bridge-utils cyrus-sasl-dev device-mapper 
	e2fsprogs-dev gnutls-dev libcap-ng-dev libgpg-error-dev 
	libnetcf-dev libnl-dev libxml2-dev libxslt-dev libtasn1-dev 
	lvm2-dev lxc-dev gnutls-dev libgcrypt-dev parted-dev perl pkgconfig 
	udev-dev xen-dev zlib-dev yajl-dev libpcap-dev curl-dev"
install=
subpackages="$pkgname-client $pkgname-daemon $pkgname-dev $pkgname-doc $pkgname-lang
	$pkgname-lxc $pkgname-qemu $pkgname-xen $pkgname-uml"
source="http://libvirt.org/sources/$pkgname-$pkgver.tar.gz
	libvirt.confd
	libvirt.initd
	uclibc-physmem.patch
	"

_builddir="$srcdir"/$pkgname-$vmajor

prepare() {
	cd "$_builddir"
	for patch in $(ls ../*.patch)
	do
		msg "Applying patch $patch"
		patch -p1 < ../$patch || return 1
	done	
}

build() {
	cd "$_builddir"
	export LDFLAGS="$LDFLAGS -lm"
	./configure --prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--libexec=/usr/lib/"$pkgname" \
		--without-libxl \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1
	find "$pkgdir" -name '*.la' -delete
	install -D -m755 $srcdir/$pkgname.initd $pkgdir/etc/init.d/libvirtd
	install -D -m755 $srcdir/$pkgname.confd $pkgdir/etc/conf.d/libvirtd
}

daemon() {
	cd "$_builddir"
	pkgdesc="libvirt daemon package"
	depends="libvirt-client logrotate"
	daemon="libvirtd"
	replaces="libvirt"
	mkdir -p "$subpkgdir"/etc/$pkgname \
	 "$subpkgdir"/etc/logrotate.d \
	 "$subpkgdir"/usr/sbin
	# mkdir -p "$subpkgdir"/usr/sbin
	mv "$pkgdir"/etc/init.d "$subpkgdir"/etc
	mv "$pkgdir"/etc/conf.d "$subpkgdir"/etc
	mv "$pkgdir"/etc/$pkgname/$daemon.conf "$subpkgdir"/etc/libvirt/
	mv "$pkgdir"/usr/sbin/$daemon "$subpkgdir"/usr/sbin/
	mv "$pkgdir"/etc/logrotate.d/libvirtd "$subpkgdir"/etc/logrotate.d/
}

client() {
	cd "$_builddir"
	pkgdesc="libvirt client package"
	depends="libvirt"
	replaces="libvirt"
	mkdir -p "$subpkgdir"/etc/$pkgname "$subpkgdir"/usr/bin
	# mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/etc/$pkgname/$pkgname.conf "$subpkgdir"/etc/libvirt/
	mv "$pkgdir"/usr/bin/* "$subpkgdir"/usr/bin/
}

_mv_driver() {
	mkdir -p "$subpkgdir"/usr/lib/libvirt/connection-driver \
	 "$subpkgdir"/etc/libvirt "$subpkgdir"/etc/logrotate.d
	mv "$pkgdir"/usr/lib/libvirt/connection-driver/libvirt_driver_$1.so \
	 "$subpkgdir"/usr/lib/libvirt/connection-driver/
	if [ "$1" != "xen" ]; then
		mv "$pkgdir"/etc/logrotate.d/libvirtd.$1 \
		 "$subpkgdir"/etc/logrotate.d/
	fi
}

qemu() {
	pkgdesc="QEMU driver for libvirt"
	depends="libvirt-daemon logrotate"
	replaces="libvirt"
	_mv_driver qemu
	mv "$pkgdir"/etc/libvirt/qemu.conf "$subpkgdir"/etc/libvirt/
}

xen() {
	pkgdesc="XEN driver for libvirt"
	depends="libvirt-daemon"
	replaces="libvirt"
	_mv_driver xen
}

lxc() {
	pkgdesc="lxc driver for libvirt"
	depends="libvirt-daemon logrotate"
	replaces="libvirt"
	_mv_driver lxc
}

uml() {
	pkgdesc="UML driver for libvirt"
	depends="libvirt-daemon logrotate"
	replaces="libvirt"
	_mv_driver uml
}

md5sums="7c8b006de7338e30866bb56738803b21  libvirt-1.0.0.tar.gz
1c84a7baeafe0a7f4e9d7ae5180311b7  libvirt.confd
d897df38c7e7fa1a297aa551108633c9  libvirt.initd
df9cbfaf8a6e520a4822914a300add4d  uclibc-physmem.patch"