APKBUILD 4.57 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 zlib-dev yajl-dev libpcap-dev curl-dev"
Leonardo Arena's avatar
Leonardo Arena committed
18
install=
19
subpackages="$pkgname-client $pkgname-daemon $pkgname-dev $pkgname-doc $pkgname-lang
20
	$pkgname-lxc $pkgname-qemu $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 31 32 33 34
if [ "$ALPINE_LIBC" != "eglibc" ]; then
	subpackages="$subpackages $pkgname-xen"
	makedepends="$makedepends xen-dev"
fi

35
_builddir="$srcdir"/$pkgname-$vmajor
Leonardo Arena's avatar
Leonardo Arena committed
36

37
prepare() {
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
        cd "$_builddir"
        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
55
}
Leonardo Arena's avatar
Leonardo Arena committed
56 57 58

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

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

78 79 80
daemon() {
	cd "$_builddir"
	pkgdesc="libvirt daemon package"
81
	depends="libvirt-client logrotate"
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
	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"
119
	depends="libvirt-daemon logrotate"
120 121 122 123 124 125 126
	replaces="libvirt"
	_mv_driver qemu
	mv "$pkgdir"/etc/libvirt/qemu.conf "$subpkgdir"/etc/libvirt/
}

xen() {
	pkgdesc="XEN driver for libvirt"
127
	depends="libvirt-daemon"
128 129 130 131 132 133
	replaces="libvirt"
	_mv_driver xen
}

lxc() {
	pkgdesc="lxc driver for libvirt"
134
	depends="libvirt-daemon logrotate"
135 136 137 138 139 140
	replaces="libvirt"
	_mv_driver lxc
}

uml() {
	pkgdesc="UML driver for libvirt"
141
	depends="libvirt-daemon logrotate"
142 143 144 145
	replaces="libvirt"
	_mv_driver uml
}

146
md5sums="7c8b006de7338e30866bb56738803b21  libvirt-1.0.0.tar.gz
Leonardo Arena's avatar
Leonardo Arena committed
147
1c84a7baeafe0a7f4e9d7ae5180311b7  libvirt.confd
Leonardo Arena's avatar
Leonardo Arena committed
148
d897df38c7e7fa1a297aa551108633c9  libvirt.initd
149
df9cbfaf8a6e520a4822914a300add4d  uclibc-physmem.patch
150 151 152
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"
153