aports/main/libvirt/APKBUILD
2016-04-27 09:33:59 +00:00

197 lines
7.1 KiB
Plaintext

# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=libvirt
pkgver=1.3.3
_ver="${pkgver/_rc/-rc}"
pkgrel=2
pkgdesc="A virtualization API for several hypervisor and container systems"
url="http://libvirt.org/"
arch="all"
license="LGPL"
_daemon_deps="bridge-utils dmidecode iptables"
_client_deps="pm-utils gnutls-utils netcat-openbsd"
depends=""
depends_dev="libtirpc-dev"
makedepends="augeas-dev bridge-utils cyrus-sasl-dev device-mapper
e2fsprogs-dev gnutls-dev libcap-ng-dev libgpg-error-dev
netcf-dev libnl3-dev libxml2-dev libxslt-dev libtasn1-dev
lvm2-dev lxc-dev gnutls-dev libgcrypt-dev parted-dev perl pkgconfig
eudev-dev zlib-dev yajl-dev libpcap-dev curl-dev libpciaccess-dev
polkit-dev readline-dev dnsmasq linux-headers $depends_dev
fuse-dev util-linux $_daemon_deps $_client_deps
automake autoconf libtool
"
install="$pkgname.post-install"
subpackages="$pkgname-dev $pkgname-doc $pkgname-client $pkgname-daemon
$pkgname-lang $pkgname-lxc $pkgname-qemu $pkgname-uml $pkgname-vbox"
source="http://libvirt.org/sources/$pkgname-$pkgver.tar.gz
libvirt.confd
libvirt.initd
virtlogd.initd
virtlockd.initd
musl-fix-includes.patch
fix-fortify-virnetlink.patch
"
if [ "$CARCH" = "x86_64" ]; then
subpackages="$subpackages $pkgname-xen"
makedepends="$makedepends xen-dev"
fi
subpackages="$subpackages $pkgname-common-drivers:_common_drivers"
_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
cd "$_builddir" || return 1
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
autoreconf -vif || return 1
}
build() {
cd "$_builddir"
export CFLAGS="$CFLAGS `pkgconf --cflags libtirpc`"
export LDFLAGS="$LDFLAGS -lm `pkgconf --libs libtirpc`"
local _xen_opt=
if [ "$CARCH" = x86_64 ]; then
_xen_opt="--with-libxl"
fi
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--libexec=/usr/lib/"$pkgname" \
$_xen_opt \
--with-polkit \
--with-storage-fs \
|| return 1
make || return 1
}
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
install -D -m755 $srcdir/$pkgname.initd $pkgdir/etc/init.d/libvirtd
install -D -m755 $srcdir/$pkgname.confd $pkgdir/etc/conf.d/libvirtd
install -D -m755 $srcdir/virtlogd.initd $pkgdir/etc/init.d/virtlogd
install -D -m755 $srcdir/virtlockd.initd $pkgdir/etc/init.d/virtlockd
rm -rf "$pkgdir"/usr/lib/charset.alias
rmdir -p "$pkgdir"/usr/lib 2>/dev/null
return 0
}
dev() {
default_dev
mkdir -p "$subpkgdir"/usr/share/libvirt
mv "$pkgdir"/usr/share/libvirt/api \
"$subpkgdir"/usr/share/libvirt/
}
daemon() {
cd "$_builddir"
pkgdesc="libvirt daemon package"
depends="libvirt-client $_daemon_deps"
replaces="libvirt"
mkdir -p "$subpkgdir"/etc/$pkgname \
"$subpkgdir"/etc/logrotate.d \
"$subpkgdir"/usr/sbin
mv "$pkgdir"/etc/init.d "$subpkgdir"/etc
mv "$pkgdir"/etc/conf.d "$subpkgdir"/etc
mv "$pkgdir"/etc/$pkgname/libvirtd.conf "$subpkgdir"/etc/libvirt/
mv "$pkgdir"/usr/sbin/libvirtd "$subpkgdir"/usr/sbin/
mv "$pkgdir"/etc/logrotate.d/libvirtd "$subpkgdir"/etc/logrotate.d/
}
client() {
cd "$_builddir"
pkgdesc="libvirt client package"
depends="libvirt $_client_deps"
replaces="libvirt"
mkdir -p "$subpkgdir"/etc/$pkgname "$subpkgdir"/usr/bin \
"$subpkgdir"/usr/lib
mv "$pkgdir"/etc/$pkgname/$pkgname.conf "$subpkgdir"/etc/libvirt/
mv "$pkgdir"/usr/bin/* "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/lib/lib*.so.* "$subpkgdir"/usr/lib/ || return 1
}
_mv_driver() {
local _name="$1" _drivers="$2" _pkg="$3"
pkgdesc="$_name driver for libvirt"
depends="$pkgname-daemon=$pkgver-r$pkgrel
$pkgname-common-drivers=$pkgver-r$pkgrel"
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
local _d
cd "$pkgdir"
for _d in $_drivers; do
find * -name "*$_d[.-]*" -o -name "*$_d" | while read _f; do
mkdir -p "$subpkgdir"/${_f%/*}
mv "$pkgdir"/$_f "$subpkgdir"/$_f || return 1
done
done
}
qemu() { _mv_driver "QEMU" qemu qemu; }
xen() { _mv_driver "XEN" "libxl xen" xen; }
lxc() { _mv_driver "LXC" lxc lxc; }
uml() { _mv_driver "UML" uml; }
vbox() { _mv_driver "VirtualBox" vbox; }
_common_drivers() {
pkgdesc="Common libvirt daemon drivers"
replaces="libvirt"
mkdir -p "$subpkgdir"/usr/lib/libvirt \
"$subpkgdir"/etc/libvirt/nwfilter
mv "$pkgdir"/usr/lib/libvirt/connection-driver \
"$subpkgdir"/usr/lib/libvirt/
mv "$pkgdir"/etc/libvirt/nwfilter \
"$subpkgdir"/etc/libvirt/
}
md5sums="698e0949a41a2b669dbe374759aaa64b libvirt-1.3.3.tar.gz
1c84a7baeafe0a7f4e9d7ae5180311b7 libvirt.confd
3e7f800197cad204e36274b54aba2be3 libvirt.initd
e979ad068888cc824be210bd51c82f82 virtlogd.initd
4fb24502be354972041b37186ef5406c virtlockd.initd
9da7723b114b2d87558e92828366fbcb musl-fix-includes.patch
bc6ed2ce739dcc40542bb4e6bc94c0d3 fix-fortify-virnetlink.patch"
sha256sums="99603b8dba574bc592673fdf5c77e96cf5221e21104ab0477efeb8aba133858f libvirt-1.3.3.tar.gz
851ab3f9678f0fa9c3ee03f7fc7bd00c4ee86d5f0777eecf9eb1ffe3243adfd1 libvirt.confd
d07461d86c4db3fb74e4d4af23ff7fb1ee9e7f0ec471d9a5f3fbf0dd9ca148ad libvirt.initd
51c030d7ba9a9dad1f927020592d7aef2dc2cd4abf38bd4ca97eee60943c7901 virtlogd.initd
552ba1f6edf92513a3041cbd3655ce782dc413c6f60995e77e6e3245ad1ef1f2 virtlockd.initd
8dfa9dbe71ee21dc53e44bd7cc0127adde1bf3371d6b393657b386bb83f8139b musl-fix-includes.patch
84132508aeb5a5946e07426337d6fbb0208b1181d51d3c4927ef9601562ce3d3 fix-fortify-virnetlink.patch"
sha512sums="79eeb2bb07429e76dbe06957494f71b6166dc4a1b78178d39dbc870eed0a19fa78297bcb1974219f1bfbbb54e678f88ce964f7678670b073ebc0866ded61a83f libvirt-1.3.3.tar.gz
9aba6ab73219a635c64a340ee8887356e644445c9128734cbce73f5d54778378da2f10a190365ad88a7db8bc95b1fb17f0c6ca41fc41bb786c09e1afe84d65dc libvirt.confd
6dadee33f6696182971d24028d6d4e1a3036f93305d54f9ae4919dcb93e813375d981037244900b6c533f46e5132dc053cf168020d1aa1c2545c28c811469553 libvirt.initd
36b85f473d292be8df415256d01a562131d8ae61450ba3893658090a12d589ca32215382f56f286a830b4e59ffd98fbe1d92004f2ce14ca0834451b943cd8f2f virtlogd.initd
a4c4d26e4111931acbe7594451bf963a36c8db33c64b1bc447ab4758bb92803510bebee0511d6bc16ba80c289ab6f87e74377d47bf560412f9adb9c161a206d9 virtlockd.initd
b6142256bf2700b9e5335c60fe5628e4095a24689c31d54afcab46f46a06b9c0ae676f87f77a487377eafbec11fb7afa9b994aef48a10a39e82f47c45df008ba musl-fix-includes.patch
0ef74be8c8f0e6c6ae6e3dcf6e83dc76c1371e1eaab123589f634c22f221cc26a8f0b0de6a9f5d36510b270d4a06fae42b51b749311f3e57953e65fbfc241911 fix-fortify-virnetlink.patch"