# Maintainer: Leonardo Arena pkgname=libvirt pkgver=1.0.5.9 _ver="${pkgver/_rc/-rc}" pkgrel=1 pkgdesc="A virtualization API for several hypervisor and container systems" url="http://libvirt.org/" arch="all" license="LGPL" depends="bridge-utils dmidecode iptables netcat-openbsd pm-utils python" makedepends="augeas-dev bridge-utils cyrus-sasl-dev device-mapper e2fsprogs-dev gnutls-dev libcap-ng-dev libgpg-error-dev netcf-dev libnl-dev libxml2-dev libxslt-dev libtasn1-dev lvm2-dev lxc-dev gnutls-dev libgcrypt-dev parted-dev perl pkgconfig udev-dev zlib-dev yajl-dev libpcap-dev curl-dev libpciaccess-dev" install= subpackages="$pkgname-client $pkgname-daemon $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-lxc $pkgname-qemu $pkgname-uml" source="http://libvirt.org/sources/stable_updates/libvirt-$pkgver.tar.gz libvirt.confd libvirt.initd uclibc-physmem.patch CVE-2013-6456.patch CVE-2014-0179.patch " if [ "$ALPINE_LIBC" != "eglibc" ]; then subpackages="$subpackages $pkgname-xen" makedepends="$makedepends xen-dev" fi _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 } build() { cd "$_builddir" export LDFLAGS="$LDFLAGS -lm" ./configure --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --libexec=/usr/lib/"$pkgname" \ --without-libxl \ || return 1 make || return 1 } package() { cd "$_builddir" make DESTDIR="$pkgdir" install || return 1 find "$pkgdir" -name '*.la' -delete install -D -m755 $srcdir/$pkgname.initd $pkgdir/etc/init.d/libvirtd install -D -m755 $srcdir/$pkgname.confd $pkgdir/etc/conf.d/libvirtd } daemon() { cd "$_builddir" pkgdesc="libvirt daemon package" depends="libvirt-client logrotate" 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() { 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/ fi } qemu() { _mv_driver "QEMU" qemu qemu mv "$pkgdir"/etc/libvirt/qemu.conf "$subpkgdir"/etc/libvirt/ } xen() { _mv_driver "XEN" xen xen } lxc() { _mv_driver "LXC" lxc lxc } uml() { _mv_driver "UML" uml } md5sums="afa29733960ea46fd0c1294d87298923 libvirt-1.0.5.9.tar.gz 1c84a7baeafe0a7f4e9d7ae5180311b7 libvirt.confd d897df38c7e7fa1a297aa551108633c9 libvirt.initd df9cbfaf8a6e520a4822914a300add4d uclibc-physmem.patch 756acbfea1530a174c1bb3c055ab7f52 CVE-2013-6456.patch 5ddae4cc18f85d83033054ac6bd6a071 CVE-2014-0179.patch" sha256sums="40dae4eef28fe9cba7abef100474ee58ec7e489a4980b31ed33b73d958585b79 libvirt-1.0.5.9.tar.gz 851ab3f9678f0fa9c3ee03f7fc7bd00c4ee86d5f0777eecf9eb1ffe3243adfd1 libvirt.confd e9fad203434ffaa6afe524e42a9fb6594edad61cb02b1ca60a68d1a7fe0c31ab libvirt.initd 807005a8669b7396c9af43ddb2534bb0f073f1e97a5c8b1d9eefc1949f3c2df8 uclibc-physmem.patch 066107c9d163957c21ffe19f9a0c084b8af934ce9b734019a2482c0a02bd898c CVE-2013-6456.patch 5189d498c4d0b148d6643d4cdbc4f462a70603b82e02201f7ead0c47053800a6 CVE-2014-0179.patch" sha512sums="ba96e0089e18999c86f8834113957f5ee5ed17f8a3ffb91287cecafc149fb14133ac02c99015ca9c0a33138e9fb5914a495f6189a46a0e779bf38a544894407d libvirt-1.0.5.9.tar.gz 9aba6ab73219a635c64a340ee8887356e644445c9128734cbce73f5d54778378da2f10a190365ad88a7db8bc95b1fb17f0c6ca41fc41bb786c09e1afe84d65dc libvirt.confd f48c97f93ef4509a86eda6200b3aae5b2c0c6263403bde933b770fd62240dca27bc439bd29b440ea6a47c8337f8b4511230ed915cb5ff54d9a1cf311863f6fa1 libvirt.initd 4c885e72dcb11f8523a267917315d4874812eee289fb00075334c1728d0da9bd0e5db6c52d6e3c39bd3fe66d5ccadf9e26ec9dcaa855397e211b9bd1173ac72d uclibc-physmem.patch 59997b844d2fafd31d424a5491d6935e138319a87a3def86d58e464bc8378c3eace3cdfaeadec6de8d5a3589562a2ddf789fcc493e3bb69c7737349a47162803 CVE-2013-6456.patch 387262831ba74211634f9e6baad3d321904d773f38e55f09255a42e704bfdf8710eb5476c265e08e6a993c9a81e551588859cc10fc61993c715099c45e104411 CVE-2014-0179.patch"