# Maintainer: Leonardo Arena pkgname=libvirt vmajor="1.0.0" vminor="" pkgver="${vmajor}" _ver="${pkgver/_rc/-rc}" pkgrel=2 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 libnetcf-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" install= subpackages="$pkgname-client $pkgname-daemon $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-lxc $pkgname-qemu $pkgname-uml" source="http://libvirt.org/sources/$pkgname-$pkgver.tar.gz libvirt.confd libvirt.initd uclibc-physmem.patch libvirt-1.0.0-remove-uclibc-mkostemp-redefine.patch 0001-util-refactor-iptables-command-construction-into-mul.patch 0001-net-support-set-public-ip-for-forward-mode-nat.patch " if [ "$ALPINE_LIBC" != "eglibc" ]; then subpackages="$subpackages $pkgname-xen" makedepends="$makedepends xen-dev" fi _builddir="$srcdir"/$pkgname-$vmajor prepare() { 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 } 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() { 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" depends="libvirt-daemon logrotate" replaces="libvirt" _mv_driver qemu mv "$pkgdir"/etc/libvirt/qemu.conf "$subpkgdir"/etc/libvirt/ } xen() { pkgdesc="XEN driver for libvirt" depends="libvirt-daemon" replaces="libvirt" _mv_driver xen } lxc() { pkgdesc="lxc driver for libvirt" depends="libvirt-daemon logrotate" replaces="libvirt" _mv_driver lxc } uml() { pkgdesc="UML driver for libvirt" depends="libvirt-daemon logrotate" replaces="libvirt" _mv_driver uml } md5sums="7c8b006de7338e30866bb56738803b21 libvirt-1.0.0.tar.gz 1c84a7baeafe0a7f4e9d7ae5180311b7 libvirt.confd d897df38c7e7fa1a297aa551108633c9 libvirt.initd df9cbfaf8a6e520a4822914a300add4d uclibc-physmem.patch 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"