APKBUILD 5.41 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
Natanael Copa's avatar
Natanael Copa committed
3
pkgver=1.0.5
4
_ver="${pkgver/_rc/-rc}"
5
pkgrel=1
Leonardo Arena's avatar
Leonardo Arena committed
6 7
pkgdesc="A virtualization API for several hypervisor and container systems"
url="http://libvirt.org/"
8
arch="all"
Leonardo Arena's avatar
Leonardo Arena committed
9
license="LGPL"
10
depends="bridge-utils dmidecode iptables netcat-openbsd pm-utils python"
11
makedepends="augeas-dev bridge-utils cyrus-sasl-dev device-mapper 
12
	e2fsprogs-dev gnutls-dev libcap-ng-dev libgpg-error-dev 
13
	netcf-dev libnl-dev libxml2-dev libxslt-dev libtasn1-dev 
14
	lvm2-dev lxc-dev gnutls-dev libgcrypt-dev parted-dev perl pkgconfig 
15
	udev-dev zlib-dev yajl-dev libpcap-dev curl-dev libpciaccess-dev"
Leonardo Arena's avatar
Leonardo Arena committed
16
install=
17
subpackages="$pkgname-client $pkgname-daemon $pkgname-dev $pkgname-doc $pkgname-lang
18
	$pkgname-lxc $pkgname-qemu $pkgname-uml"
19
source="http://libvirt.org/sources/$pkgname-$pkgver.tar.gz
Leonardo Arena's avatar
Leonardo Arena committed
20
	libvirt.confd
21
	libvirt.initd
22
	uclibc-physmem.patch
23
	remoteDispatchStoragePoolListAllVolumes.patch
24
	"
Leonardo Arena's avatar
Leonardo Arena committed
25

26 27 28 29 30
if [ "$ALPINE_LIBC" != "eglibc" ]; then
	subpackages="$subpackages $pkgname-xen"
	makedepends="$makedepends xen-dev"
fi

31
_builddir="$srcdir"/$pkgname-$pkgver
Leonardo Arena's avatar
Leonardo Arena committed
32

33
prepare() {
34
        cd "$_builddir" || return 1
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
        for patch in $source; do
                case $patch in
                # we concider patches with uclibc in its name
                # only usefull on uclibc install
                *uclibc*.patch)
                        if [ "$ALPINE_LIBC" != "eglibc" ]; then
                                msg "Applying patch $patch"
                                patch -p1 -i "$srcdir"/$patch || return 1
                        fi
                        ;;
                *.patch)
                        msg "Applying patch $patch"
                        patch -p1 -i "$srcdir"/$patch || return 1
                        ;;
                esac
        done
51
}
Leonardo Arena's avatar
Leonardo Arena committed
52 53 54

build() {
	cd "$_builddir"
55
	export LDFLAGS="$LDFLAGS -lm"
Leonardo Arena's avatar
Leonardo Arena committed
56 57 58 59
	./configure --prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
60 61 62
		--libexec=/usr/lib/"$pkgname" \
		--without-libxl \
		|| return 1
63
	make || return 1
Leonardo Arena's avatar
Leonardo Arena committed
64 65 66 67
}

package() {
	cd "$_builddir"
Natanael Copa's avatar
Natanael Copa committed
68
	make DESTDIR="$pkgdir" install || return 1
Natanael Copa's avatar
Natanael Copa committed
69
	find "$pkgdir" -name '*.la' -delete
Leonardo Arena's avatar
Leonardo Arena committed
70 71 72 73
	install -D -m755 $srcdir/$pkgname.initd $pkgdir/etc/init.d/libvirtd
	install -D -m755 $srcdir/$pkgname.confd $pkgdir/etc/conf.d/libvirtd
}

74 75 76
daemon() {
	cd "$_builddir"
	pkgdesc="libvirt daemon package"
77
	depends="libvirt-client logrotate"
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
	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() {
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
	local _name="$1" _driver="$2" _pkg="$3"
	pkgdesc="$_name driver for libvirt"
	depends="libvirt-daemon logrotate"
	replaces="libvirt"
	if [ -n "$_pkg" ]; then
		install_if="$pkgname-daemon=$pkgver-r$pkgrel $_pkg"
	else
		install_if=
	fi
	local _dir=/usr/lib/libvirt/connection-driver
	mkdir -p "$subpkgdir"/$_dir \
		"$subpkgdir"/etc/libvirt \
		"$subpkgdir"/etc/logrotate.d

	mv "$pkgdir"/$_dir/libvirt_driver_$_driver.so "$subpkgdir"/$_dir/ \
		|| return 1

	if [ -e "$pkgdir"/etc/logrotate.d/libvirtd.$_driver ]; then
		mv "$pkgdir"/etc/logrotate.d/libvirtd.$_driver \
			"$subpkgdir"/etc/logrotate.d/
123 124 125 126
	fi
}

qemu() {
127
	_mv_driver "QEMU" qemu qemu
128 129 130 131
	mv "$pkgdir"/etc/libvirt/qemu.conf "$subpkgdir"/etc/libvirt/
}

xen() {
132
	_mv_driver "XEN" xen xen
133 134 135
}

lxc() {
136
	_mv_driver "LXC" lxc lxc
137 138 139
}

uml() {
140
	_mv_driver "UML" uml
141 142
}

Natanael Copa's avatar
Natanael Copa committed
143
md5sums="91c4145f49bcf92e89470fa3fb28fff6  libvirt-1.0.5.tar.gz
Leonardo Arena's avatar
Leonardo Arena committed
144
1c84a7baeafe0a7f4e9d7ae5180311b7  libvirt.confd
Leonardo Arena's avatar
Leonardo Arena committed
145
d897df38c7e7fa1a297aa551108633c9  libvirt.initd
146 147
df9cbfaf8a6e520a4822914a300add4d  uclibc-physmem.patch
25d31e5965f90ac8c50483305d5f3d12  remoteDispatchStoragePoolListAllVolumes.patch"
Natanael Copa's avatar
Natanael Copa committed
148
sha256sums="337f1cd6611462b6e3cdf94541c49477df678074321fb7923274e4e30398209f  libvirt-1.0.5.tar.gz
Natanael Copa's avatar
Natanael Copa committed
149 150
851ab3f9678f0fa9c3ee03f7fc7bd00c4ee86d5f0777eecf9eb1ffe3243adfd1  libvirt.confd
e9fad203434ffaa6afe524e42a9fb6594edad61cb02b1ca60a68d1a7fe0c31ab  libvirt.initd
151 152
807005a8669b7396c9af43ddb2534bb0f073f1e97a5c8b1d9eefc1949f3c2df8  uclibc-physmem.patch
de912a18bcf62a11b4c7e25c13f42d3f10d5f6597bd2787cb20a97b7af39dfc0  remoteDispatchStoragePoolListAllVolumes.patch"
Natanael Copa's avatar
Natanael Copa committed
153
sha512sums="ee069f6047bad26b59cc14f7811725801d96525e7943e7abc31d33d256c77ae6024cf5ff841af9441a6853a3c24ba6aa5e0f437dcf2c5b2cfe860364b01719fc  libvirt-1.0.5.tar.gz
Natanael Copa's avatar
Natanael Copa committed
154 155
9aba6ab73219a635c64a340ee8887356e644445c9128734cbce73f5d54778378da2f10a190365ad88a7db8bc95b1fb17f0c6ca41fc41bb786c09e1afe84d65dc  libvirt.confd
f48c97f93ef4509a86eda6200b3aae5b2c0c6263403bde933b770fd62240dca27bc439bd29b440ea6a47c8337f8b4511230ed915cb5ff54d9a1cf311863f6fa1  libvirt.initd
156 157
4c885e72dcb11f8523a267917315d4874812eee289fb00075334c1728d0da9bd0e5db6c52d6e3c39bd3fe66d5ccadf9e26ec9dcaa855397e211b9bd1173ac72d  uclibc-physmem.patch
cd31b3a68fe29f7e506068806f2854902319d0fd4506c02da39a8e4d29eec7fd18a7a4ea2ee85be64ef3795cb199446ad0d2f342d5e7995bb48f0a4cd7ec925a  remoteDispatchStoragePoolListAllVolumes.patch"