APKBUILD 3.96 KB
Newer Older
Leonardo Arena's avatar
Leonardo Arena committed
1
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
Leonardo Arena's avatar
Leonardo Arena committed
2
pkgname=libvirt
3
vmajor="1.0.0"
4 5
vminor=""
pkgver="${vmajor}"
6
_ver="${pkgver/_rc/-rc}"
7
pkgrel=2
Leonardo Arena's avatar
Leonardo Arena committed
8 9
pkgdesc="A virtualization API for several hypervisor and container systems"
url="http://libvirt.org/"
10
arch="all"
Leonardo Arena's avatar
Leonardo Arena committed
11
license="LGPL"
12
depends="bridge-utils dmidecode iptables netcat-openbsd pm-utils python"
13
makedepends="augeas-dev bridge-utils cyrus-sasl-dev device-mapper 
14 15
	e2fsprogs-dev gnutls-dev libcap-ng-dev libgpg-error-dev 
	libnetcf-dev libnl-dev libxml2-dev libxslt-dev libtasn1-dev 
16
	lvm2-dev lxc-dev gnutls-dev libgcrypt-dev parted-dev perl pkgconfig 
17
	udev-dev xen-dev zlib-dev yajl-dev libpcap-dev curl-dev"
Leonardo Arena's avatar
Leonardo Arena committed
18
install=
19 20
subpackages="$pkgname-client $pkgname-daemon $pkgname-dev $pkgname-doc $pkgname-lang
	$pkgname-lxc $pkgname-qemu $pkgname-xen $pkgname-uml"
21
source="http://libvirt.org/sources/$pkgname-$pkgver.tar.gz
Leonardo Arena's avatar
Leonardo Arena committed
22
	libvirt.confd
23
	libvirt.initd
24
	uclibc-physmem.patch
25
	libvirt-1.0.0-remove-uclibc-mkostemp-redefine.patch
26 27
	0001-util-refactor-iptables-command-construction-into-mul.patch
	0001-net-support-set-public-ip-for-forward-mode-nat.patch
28
	"
Leonardo Arena's avatar
Leonardo Arena committed
29

30
_builddir="$srcdir"/$pkgname-$vmajor
Leonardo Arena's avatar
Leonardo Arena committed
31

32 33
prepare() {
	cd "$_builddir"
34 35 36 37 38 39 40 41
	for patch in $source; do
		case $patch in
		*.patch)
			msg "Applying patch $patch"
			patch -p1 -i "$srcdir"/$patch || return 1
			;;
		esac
	done
42
}
Leonardo Arena's avatar
Leonardo Arena committed
43 44 45

build() {
	cd "$_builddir"
46
	export LDFLAGS="$LDFLAGS -lm"
Leonardo Arena's avatar
Leonardo Arena committed
47 48 49 50
	./configure --prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
51 52 53
		--libexec=/usr/lib/"$pkgname" \
		--without-libxl \
		|| return 1
54
	make || return 1
Leonardo Arena's avatar
Leonardo Arena committed
55 56 57 58
}

package() {
	cd "$_builddir"
Natanael Copa's avatar
Natanael Copa committed
59
	make DESTDIR="$pkgdir" install || return 1
Natanael Copa's avatar
Natanael Copa committed
60
	find "$pkgdir" -name '*.la' -delete
Leonardo Arena's avatar
Leonardo Arena committed
61 62 63 64
	install -D -m755 $srcdir/$pkgname.initd $pkgdir/etc/init.d/libvirtd
	install -D -m755 $srcdir/$pkgname.confd $pkgdir/etc/conf.d/libvirtd
}

65 66 67
daemon() {
	cd "$_builddir"
	pkgdesc="libvirt daemon package"
68
	depends="libvirt-client logrotate"
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
	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"
106
	depends="libvirt-daemon logrotate"
107 108 109 110 111 112 113
	replaces="libvirt"
	_mv_driver qemu
	mv "$pkgdir"/etc/libvirt/qemu.conf "$subpkgdir"/etc/libvirt/
}

xen() {
	pkgdesc="XEN driver for libvirt"
114
	depends="libvirt-daemon"
115 116 117 118 119 120
	replaces="libvirt"
	_mv_driver xen
}

lxc() {
	pkgdesc="lxc driver for libvirt"
121
	depends="libvirt-daemon logrotate"
122 123 124 125 126 127
	replaces="libvirt"
	_mv_driver lxc
}

uml() {
	pkgdesc="UML driver for libvirt"
128
	depends="libvirt-daemon logrotate"
129 130 131 132
	replaces="libvirt"
	_mv_driver uml
}

133
md5sums="7c8b006de7338e30866bb56738803b21  libvirt-1.0.0.tar.gz
Leonardo Arena's avatar
Leonardo Arena committed
134
1c84a7baeafe0a7f4e9d7ae5180311b7  libvirt.confd
Leonardo Arena's avatar
Leonardo Arena committed
135
d897df38c7e7fa1a297aa551108633c9  libvirt.initd
136
df9cbfaf8a6e520a4822914a300add4d  uclibc-physmem.patch
137 138 139
e992133db641b20cb43dda704518984d  libvirt-1.0.0-remove-uclibc-mkostemp-redefine.patch
671eb364f071e67f58ab2c01ec357567  0001-util-refactor-iptables-command-construction-into-mul.patch
20ef9eab94e9a52aa401ddbcb066aeb2  0001-net-support-set-public-ip-for-forward-mode-nat.patch"