aports/main/libvirt/APKBUILD
2016-12-12 08:07:58 +00:00

176 lines
6.5 KiB
Plaintext

# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=libvirt
pkgver=2.5.0
_ver="${pkgver/_rc/-rc}"
pkgrel=1
pkgdesc="A virtualization API for several hypervisor and container systems"
url="http://libvirt.org/"
arch="all"
license="LGPL"
_daemon_deps="bridge-utils dmidecode dnsmasq ebtables ip6tables 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
"
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.xz
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
build() {
cd "$builddir"
# qemu sets libexec dir to /usr/lib/qemu
export ac_cv_path_QEMU_BRIDGE_HELPER="/usr/lib/qemu/qemu-bridge-helper"
[ "$CARCH" = x86_64 ] && local _xen_opt="--with-libxl"
./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
install -d "$pkgdir"/etc/modules-load.d
echo "tun" > "$pkgdir"/etc/modules-load.d/libvirt.conf
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/modules-load.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="001af1ca2545971c6b46628678fd4afa libvirt-2.5.0.tar.xz
1c84a7baeafe0a7f4e9d7ae5180311b7 libvirt.confd
bb94cd55d0029de387e6cb41e41f9167 libvirt.initd
e979ad068888cc824be210bd51c82f82 virtlogd.initd
4fb24502be354972041b37186ef5406c virtlockd.initd
9da7723b114b2d87558e92828366fbcb musl-fix-includes.patch
bc6ed2ce739dcc40542bb4e6bc94c0d3 fix-fortify-virnetlink.patch"
sha256sums="819dffefbfd6ae95dfe1b28cfdee15ebcf9f91bbd732157488a57705bf81cb1e libvirt-2.5.0.tar.xz
851ab3f9678f0fa9c3ee03f7fc7bd00c4ee86d5f0777eecf9eb1ffe3243adfd1 libvirt.confd
e198935231f34601f1aafccdda132ca6ef22ea1bcc376446e2ceb04e6cd89800 libvirt.initd
51c030d7ba9a9dad1f927020592d7aef2dc2cd4abf38bd4ca97eee60943c7901 virtlogd.initd
552ba1f6edf92513a3041cbd3655ce782dc413c6f60995e77e6e3245ad1ef1f2 virtlockd.initd
8dfa9dbe71ee21dc53e44bd7cc0127adde1bf3371d6b393657b386bb83f8139b musl-fix-includes.patch
84132508aeb5a5946e07426337d6fbb0208b1181d51d3c4927ef9601562ce3d3 fix-fortify-virnetlink.patch"
sha512sums="256d6cae635851d710ffa3bdfd6b4d744687610b899a65821829af0f66a65e9c4ae287c8651534b40fc04f6525920b3704e90028a6f906af141cd61f2e79d10c libvirt-2.5.0.tar.xz
9aba6ab73219a635c64a340ee8887356e644445c9128734cbce73f5d54778378da2f10a190365ad88a7db8bc95b1fb17f0c6ca41fc41bb786c09e1afe84d65dc libvirt.confd
734afb83b7a4703dd238f1d89dbc853a8c73bcf1994af648c41ab01ae4088e5c7a423f0cb91e5e31f2ae5e60c66d08a6e1583a1e3b88bb5554e0f9fd15ecc15c libvirt.initd
36b85f473d292be8df415256d01a562131d8ae61450ba3893658090a12d589ca32215382f56f286a830b4e59ffd98fbe1d92004f2ce14ca0834451b943cd8f2f virtlogd.initd
a4c4d26e4111931acbe7594451bf963a36c8db33c64b1bc447ab4758bb92803510bebee0511d6bc16ba80c289ab6f87e74377d47bf560412f9adb9c161a206d9 virtlockd.initd
b6142256bf2700b9e5335c60fe5628e4095a24689c31d54afcab46f46a06b9c0ae676f87f77a487377eafbec11fb7afa9b994aef48a10a39e82f47c45df008ba musl-fix-includes.patch
0ef74be8c8f0e6c6ae6e3dcf6e83dc76c1371e1eaab123589f634c22f221cc26a8f0b0de6a9f5d36510b270d4a06fae42b51b749311f3e57953e65fbfc241911 fix-fortify-virnetlink.patch"