summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysutils/libvirt/DESCR24
-rw-r--r--sysutils/libvirt/Makefile78
-rw-r--r--sysutils/libvirt/PLIST253
-rw-r--r--sysutils/libvirt/distinfo8
-rw-r--r--sysutils/libvirt/patches/patch-aa175
-rw-r--r--sysutils/libvirt/patches/patch-ab15
-rw-r--r--sysutils/libvirt/patches/patch-ac23
7 files changed, 576 insertions, 0 deletions
diff --git a/sysutils/libvirt/DESCR b/sysutils/libvirt/DESCR
new file mode 100644
index 00000000000..b76eb6e1917
--- /dev/null
+++ b/sysutils/libvirt/DESCR
@@ -0,0 +1,24 @@
+libvirt is:
++ A toolkit to interact with the virtualization capabilities of recent
+ versions of operating systems, see our project goals for details.
++ A long term stable C API
++ A set of bindings for common languages
++ A CIM provider for the DMTF virtualization schema
++ A QMF agent for the AMQP/QPid messaging system
+libvirt supports:
++ The KVM/QEMU Linux hypervisor
++ The Xen hypervisor
++ The LXC Linux container system
++ The OpenVZ Linux container system
++ The User Mode Linux paravirtualized kernel
++ The VirtualBox hypervisor
++ The VMware ESX and GSX hypervisors
++ The VMware Workstation and Player hypervisors
++ Virtual networks using bridging, NAT, VEPA and VN-LINK.
++ Storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, NFS and filesystems
+libvirt provides:
++ Remote management using TLS encryption and x509 certificates
++ Remote management authenticating with Kerberos and SASL
++ Local access control using PolicyKit
++ Zero-conf discovery using Avahi multicast-DNS
++ Management of virtual machines, virtual networks and storage
diff --git a/sysutils/libvirt/Makefile b/sysutils/libvirt/Makefile
new file mode 100644
index 00000000000..da00bf56e11
--- /dev/null
+++ b/sysutils/libvirt/Makefile
@@ -0,0 +1,78 @@
+# $NetBSD: Makefile,v 1.1.1.1 2011/07/26 06:05:00 agc Exp $
+
+DISTNAME= libvirt-0.9.3
+CATEGORIES= sysutils
+MASTER_SITES= http://libvirt.org/sources/
+
+MAINTAINER= agc@NetBSD.org
+HOMEPAGE= http://libvirt.org/
+COMMENT= Virtualisation toolkit for host operating systems
+LICENSE= gnu-lgpl-v2
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --with-vbox=no --sysconfdir=${EGDIR}
+USE_TOOLS+= gmake pkg-config
+USE_LIBTOOL= yes
+
+PY_PATCHPLIST= yes
+PYTHON_PATCH_SCRIPTS+= examples/python/domstart.py
+PYTHON_PATCH_SCRIPTS+= examples/python/domrestore.py
+PYTHON_PATCH_SCRIPTS+= examples/python/dominfo.py
+PYTHON_PATCH_SCRIPTS+= examples/python/domsave.py
+PYTHON_PATCH_SCRIPTS+= examples/python/esxlist.py
+PYTHON_PATCH_SCRIPTS+= examples/domain-events/events-python/event-test.py
+PYTHON_PATCH_SCRIPTS+= python/tests/create.py
+PYTHON_PATCH_SCRIPTS+= python/tests/error.py
+PYTHON_PATCH_SCRIPTS+= python/tests/uuid.py
+PYTHON_PATCH_SCRIPTS+= python/tests/basic.py
+PYTHON_PATCH_SCRIPTS+= python/tests/node.py
+PYTHON_PATCH_SCRIPTS+= python/libvirt-override.py
+PYTHON_PATCH_SCRIPTS+= python/libvirt-override-virStream.py
+PYTHON_PATCH_SCRIPTS+= python/libvirt-override-virConnect.py
+PYTHON_PATCH_SCRIPTS+= python/generator.py
+PYTHON_PATCH_SCRIPTS+= python/libvirt.py
+PYTHON_PATCH_SCRIPTS+= src/esx/esx_vi_generator.py
+PYTHON_PATCH_SCRIPTS+= docs/apibuild.py
+
+EGDIR= ${PREFIX}/share/examples
+CONF_FILES+= ${EGDIR}/libvirt/libvirtd.conf ${PKG_SYSCONFDIR}/libvirt/libvirtd.conf
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/allow-arp.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/allow-arp.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/allow-dhcp-server.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/allow-dhcp-server.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/allow-dhcp.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/allow-dhcp.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/allow-incoming-ipv4.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/allow-incoming-ipv4.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/allow-ipv4.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/allow-ipv4.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/clean-traffic.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/clean-traffic.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/no-arp-spoofing.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/no-arp-spoofing.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/no-ip-multicast.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/no-ip-multicast.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/no-ip-spoofing.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/no-ip-spoofing.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/no-mac-broadcast.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/no-mac-broadcast.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/no-mac-spoofing.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/no-mac-spoofing.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/no-other-l2-traffic.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/no-other-l2-traffic.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/no-other-rarp-traffic.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/no-other-rarp-traffic.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/qemu-announce-self-rarp.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/qemu-announce-self-rarp.xml
+CONF_FILES+= ${EGDIR}/libvirt/nwfilter/qemu-announce-self.xml ${PKG_SYSCONFDIR}/libvirt/nwfilter/qemu-announce-self.xml
+CONF_FILES+= ${EGDIR}/libvirt/qemu/networks/autostart/default.xml ${PKG_SYSCONFDIR}/libvirt/qemu/networks/autostart/default.xml
+CONF_FILES+= ${EGDIR}/libvirt/qemu/networks/default.xml ${PKG_SYSCONFDIR}/libvirt/qemu/networks/default.xml
+CONF_FILES+= ${EGDIR}/logrotate.d/libvirtd ${PKG_SYSCONFDIR}/logrotate.d/libvirtd
+CONF_FILES+= ${EGDIR}/logrotate.d/libvirtd.lxc ${PKG_SYSCONFDIR}/logrotate.d/libvirtd.lxc
+CONF_FILES+= ${EGDIR}/logrotate.d/libvirtd.qemu ${PKG_SYSCONFDIR}/logrotate.d/libvirtd.qemu
+CONF_FILES+= ${EGDIR}/logrotate.d/libvirtd.uml ${PKG_SYSCONFDIR}/logrotate.d/libvirtd.uml
+CONF_FILES+= ${EGDIR}/sasl2/libvirt.conf ${PKG_SYSCONFDIR}/sasl2/libvirt.conf
+
+AUTO_MKDIRS= yes
+
+.include "../../lang/python/application.mk"
+.include "../../lang/python/extension.mk"
+
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../devel/readline/buildlink3.mk"
+.include "../../security/gnutls/buildlink3.mk"
+.include "../../security/cyrus-sasl/buildlink3.mk"
+.include "../../textproc/libxml2/buildlink3.mk"
+.include "../../textproc/py-xml/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/libvirt/PLIST b/sysutils/libvirt/PLIST
new file mode 100644
index 00000000000..dde13c98f06
--- /dev/null
+++ b/sysutils/libvirt/PLIST
@@ -0,0 +1,253 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2011/07/26 06:05:00 agc Exp $
+bin/virsh
+bin/virt-pki-validate
+bin/virt-xml-validate
+share/examples/libvirt/libvirtd.conf
+share/examples/libvirt/nwfilter/allow-arp.xml
+share/examples/libvirt/nwfilter/allow-dhcp-server.xml
+share/examples/libvirt/nwfilter/allow-dhcp.xml
+share/examples/libvirt/nwfilter/allow-incoming-ipv4.xml
+share/examples/libvirt/nwfilter/allow-ipv4.xml
+share/examples/libvirt/nwfilter/clean-traffic.xml
+share/examples/libvirt/nwfilter/no-arp-spoofing.xml
+share/examples/libvirt/nwfilter/no-ip-multicast.xml
+share/examples/libvirt/nwfilter/no-ip-spoofing.xml
+share/examples/libvirt/nwfilter/no-mac-broadcast.xml
+share/examples/libvirt/nwfilter/no-mac-spoofing.xml
+share/examples/libvirt/nwfilter/no-other-l2-traffic.xml
+share/examples/libvirt/nwfilter/no-other-rarp-traffic.xml
+share/examples/libvirt/nwfilter/qemu-announce-self-rarp.xml
+share/examples/libvirt/nwfilter/qemu-announce-self.xml
+share/examples/libvirt/qemu/networks/autostart/default.xml
+share/examples/libvirt/qemu/networks/default.xml
+share/examples/logrotate.d/libvirtd
+share/examples/logrotate.d/libvirtd.lxc
+share/examples/logrotate.d/libvirtd.qemu
+share/examples/logrotate.d/libvirtd.uml
+share/examples/sasl2/libvirt.conf
+include/libvirt/libvirt-qemu.h
+include/libvirt/libvirt.h
+include/libvirt/virterror.h
+lib/charset.alias
+lib/libvirt-qemu.la
+lib/libvirt.la
+lib/pkgconfig/libvirt.pc
+${PYSITELIB}/libvirt.py
+${PYSITELIB}/libvirtmod.la
+libexec/libvirt_iohelper
+man/man1/virsh.1
+man/man1/virt-pki-validate.1
+man/man1/virt-xml-validate.1
+man/man8/libvirtd.8
+sbin/libvirtd
+share/augeas/lenses/libvirtd.aug
+share/augeas/lenses/tests/test_libvirtd.aug
+share/doc/${PKGNAME}/html/32favicon.png
+share/doc/${PKGNAME}/html/api.html
+share/doc/${PKGNAME}/html/api_extension.html
+share/doc/${PKGNAME}/html/apps.html
+share/doc/${PKGNAME}/html/archdomain.html
+share/doc/${PKGNAME}/html/architecture.gif
+share/doc/${PKGNAME}/html/architecture.html
+share/doc/${PKGNAME}/html/archnetwork.html
+share/doc/${PKGNAME}/html/archnode.html
+share/doc/${PKGNAME}/html/archstorage.html
+share/doc/${PKGNAME}/html/auth.html
+share/doc/${PKGNAME}/html/bindings.html
+share/doc/${PKGNAME}/html/bugs.html
+share/doc/${PKGNAME}/html/command.html
+share/doc/${PKGNAME}/html/compiling.html
+share/doc/${PKGNAME}/html/contact.html
+share/doc/${PKGNAME}/html/csharp.html
+share/doc/${PKGNAME}/html/deployment.html
+share/doc/${PKGNAME}/html/devguide.html
+share/doc/${PKGNAME}/html/docs.html
+share/doc/${PKGNAME}/html/downloads.html
+share/doc/${PKGNAME}/html/drivers.html
+share/doc/${PKGNAME}/html/drvesx.html
+share/doc/${PKGNAME}/html/drvlxc.html
+share/doc/${PKGNAME}/html/drvopenvz.html
+share/doc/${PKGNAME}/html/drvqemu.html
+share/doc/${PKGNAME}/html/drvremote.html
+share/doc/${PKGNAME}/html/drvtest.html
+share/doc/${PKGNAME}/html/drvuml.html
+share/doc/${PKGNAME}/html/drvvbox.html
+share/doc/${PKGNAME}/html/drvvmware.html
+share/doc/${PKGNAME}/html/drvxen.html
+share/doc/${PKGNAME}/html/errors.html
+share/doc/${PKGNAME}/html/et.png
+share/doc/${PKGNAME}/html/firewall.html
+share/doc/${PKGNAME}/html/footer_corner.png
+share/doc/${PKGNAME}/html/footer_pattern.png
+share/doc/${PKGNAME}/html/format.html
+share/doc/${PKGNAME}/html/formatcaps.html
+share/doc/${PKGNAME}/html/formatdomain.html
+share/doc/${PKGNAME}/html/formatnetwork.html
+share/doc/${PKGNAME}/html/formatnode.html
+share/doc/${PKGNAME}/html/formatnwfilter.html
+share/doc/${PKGNAME}/html/formatsecret.html
+share/doc/${PKGNAME}/html/formatsnapshot.html
+share/doc/${PKGNAME}/html/formatstorage.html
+share/doc/${PKGNAME}/html/formatstorageencryption.html
+share/doc/${PKGNAME}/html/generic.css
+share/doc/${PKGNAME}/html/goals.html
+share/doc/${PKGNAME}/html/hacking.html
+share/doc/${PKGNAME}/html/hooks.html
+share/doc/${PKGNAME}/html/html/home.png
+share/doc/${PKGNAME}/html/html/index.html
+share/doc/${PKGNAME}/html/html/left.png
+share/doc/${PKGNAME}/html/html/libvirt-libvirt.html
+share/doc/${PKGNAME}/html/html/libvirt-virterror.html
+share/doc/${PKGNAME}/html/html/right.png
+share/doc/${PKGNAME}/html/html/up.png
+share/doc/${PKGNAME}/html/hvsupport.html
+share/doc/${PKGNAME}/html/index.html
+share/doc/${PKGNAME}/html/internals.html
+share/doc/${PKGNAME}/html/intro.html
+share/doc/${PKGNAME}/html/java.html
+share/doc/${PKGNAME}/html/libvirt-daemon-arch.png
+share/doc/${PKGNAME}/html/libvirt-driver-arch.png
+share/doc/${PKGNAME}/html/libvirt-header-bg.png
+share/doc/${PKGNAME}/html/libvirt-header-logo.png
+share/doc/${PKGNAME}/html/libvirt-net-logical.png
+share/doc/${PKGNAME}/html/libvirt-net-physical.png
+share/doc/${PKGNAME}/html/libvirt-object-model.png
+share/doc/${PKGNAME}/html/libvirt.css
+share/doc/${PKGNAME}/html/libvirtLogo.png
+share/doc/${PKGNAME}/html/locking.html
+share/doc/${PKGNAME}/html/logging.html
+share/doc/${PKGNAME}/html/madeWith.png
+share/doc/${PKGNAME}/html/main.css
+share/doc/${PKGNAME}/html/news.html
+share/doc/${PKGNAME}/html/node.gif
+share/doc/${PKGNAME}/html/php.html
+share/doc/${PKGNAME}/html/python.html
+share/doc/${PKGNAME}/html/relatedlinks.html
+share/doc/${PKGNAME}/html/remote.html
+share/doc/${PKGNAME}/html/sitemap.html
+share/doc/${PKGNAME}/html/storage.html
+share/doc/${PKGNAME}/html/testapi.html
+share/doc/${PKGNAME}/html/testsuites.html
+share/doc/${PKGNAME}/html/testtck.html
+share/doc/${PKGNAME}/html/todo.html
+share/doc/${PKGNAME}/html/uri.html
+share/doc/${PKGNAME}/html/virshcmdref.html
+share/doc/${PKGNAME}/html/windows.html
+share/doc/libvirt-python-${PKGVERSION}/TODO
+share/doc/libvirt-python-${PKGVERSION}/examples/basic.py
+share/doc/libvirt-python-${PKGVERSION}/examples/create.py
+share/doc/libvirt-python-${PKGVERSION}/examples/error.py
+share/doc/libvirt-python-${PKGVERSION}/examples/node.py
+share/doc/libvirt-python-${PKGVERSION}/examples/uuid.py
+share/gtk-doc/html/libvirt/general.html
+share/gtk-doc/html/libvirt/home.png
+share/gtk-doc/html/libvirt/index.html
+share/gtk-doc/html/libvirt/left.png
+share/gtk-doc/html/libvirt/libvirt-libvirt.html
+share/gtk-doc/html/libvirt/libvirt-virterror.html
+share/gtk-doc/html/libvirt/libvirt.devhelp
+share/gtk-doc/html/libvirt/right.png
+share/gtk-doc/html/libvirt/style.css
+share/gtk-doc/html/libvirt/up.png
+share/libvirt/cpu_map.xml
+share/libvirt/schemas/capability.rng
+share/libvirt/schemas/domain.rng
+share/libvirt/schemas/domainsnapshot.rng
+share/libvirt/schemas/interface.rng
+share/libvirt/schemas/network.rng
+share/libvirt/schemas/nodedev.rng
+share/libvirt/schemas/nwfilter.rng
+share/libvirt/schemas/secret.rng
+share/libvirt/schemas/storageencryption.rng
+share/libvirt/schemas/storagepool.rng
+share/libvirt/schemas/storagevol.rng
+share/locale/af/LC_MESSAGES/libvirt.mo
+share/locale/am/LC_MESSAGES/libvirt.mo
+share/locale/ar/LC_MESSAGES/libvirt.mo
+share/locale/as/LC_MESSAGES/libvirt.mo
+share/locale/be/LC_MESSAGES/libvirt.mo
+share/locale/bg/LC_MESSAGES/libvirt.mo
+share/locale/bn/LC_MESSAGES/libvirt.mo
+share/locale/bn_IN/LC_MESSAGES/libvirt.mo
+share/locale/bs/LC_MESSAGES/libvirt.mo
+share/locale/ca/LC_MESSAGES/libvirt.mo
+share/locale/cs/LC_MESSAGES/libvirt.mo
+share/locale/cy/LC_MESSAGES/libvirt.mo
+share/locale/da/LC_MESSAGES/libvirt.mo
+share/locale/de/LC_MESSAGES/libvirt.mo
+share/locale/el/LC_MESSAGES/libvirt.mo
+share/locale/en_GB/LC_MESSAGES/libvirt.mo
+share/locale/es/LC_MESSAGES/libvirt.mo
+share/locale/et/LC_MESSAGES/libvirt.mo
+share/locale/eu_ES/LC_MESSAGES/libvirt.mo
+share/locale/fa/LC_MESSAGES/libvirt.mo
+share/locale/fi/LC_MESSAGES/libvirt.mo
+share/locale/fr/LC_MESSAGES/libvirt.mo
+share/locale/gl/LC_MESSAGES/libvirt.mo
+share/locale/gu/LC_MESSAGES/libvirt.mo
+share/locale/he/LC_MESSAGES/libvirt.mo
+share/locale/hi/LC_MESSAGES/libvirt.mo
+share/locale/hr/LC_MESSAGES/libvirt.mo
+share/locale/hu/LC_MESSAGES/libvirt.mo
+share/locale/hy/LC_MESSAGES/libvirt.mo
+share/locale/id/LC_MESSAGES/libvirt.mo
+share/locale/is/LC_MESSAGES/libvirt.mo
+share/locale/it/LC_MESSAGES/libvirt.mo
+share/locale/ja/LC_MESSAGES/libvirt.mo
+share/locale/ka/LC_MESSAGES/libvirt.mo
+share/locale/kn/LC_MESSAGES/libvirt.mo
+share/locale/ko/LC_MESSAGES/libvirt.mo
+share/locale/ku/LC_MESSAGES/libvirt.mo
+share/locale/lo/LC_MESSAGES/libvirt.mo
+share/locale/lt/LC_MESSAGES/libvirt.mo
+share/locale/lv/LC_MESSAGES/libvirt.mo
+share/locale/mk/LC_MESSAGES/libvirt.mo
+share/locale/ml/LC_MESSAGES/libvirt.mo
+share/locale/mr/LC_MESSAGES/libvirt.mo
+share/locale/ms/LC_MESSAGES/libvirt.mo
+share/locale/my/LC_MESSAGES/libvirt.mo
+share/locale/nb/LC_MESSAGES/libvirt.mo
+share/locale/nl/LC_MESSAGES/libvirt.mo
+share/locale/nn/LC_MESSAGES/libvirt.mo
+share/locale/nso/LC_MESSAGES/libvirt.mo
+share/locale/or/LC_MESSAGES/libvirt.mo
+share/locale/pa/LC_MESSAGES/libvirt.mo
+share/locale/pl/LC_MESSAGES/libvirt.mo
+share/locale/pt/LC_MESSAGES/libvirt.mo
+share/locale/pt_BR/LC_MESSAGES/libvirt.mo
+share/locale/ro/LC_MESSAGES/libvirt.mo
+share/locale/ru/LC_MESSAGES/libvirt.mo
+share/locale/si/LC_MESSAGES/libvirt.mo
+share/locale/sk/LC_MESSAGES/libvirt.mo
+share/locale/sl/LC_MESSAGES/libvirt.mo
+share/locale/sq/LC_MESSAGES/libvirt.mo
+share/locale/sr/LC_MESSAGES/libvirt.mo
+share/locale/sr@latin/LC_MESSAGES/libvirt.mo
+share/locale/sv/LC_MESSAGES/libvirt.mo
+share/locale/ta/LC_MESSAGES/libvirt.mo
+share/locale/te/LC_MESSAGES/libvirt.mo
+share/locale/th/LC_MESSAGES/libvirt.mo
+share/locale/tr/LC_MESSAGES/libvirt.mo
+share/locale/uk/LC_MESSAGES/libvirt.mo
+share/locale/ur/LC_MESSAGES/libvirt.mo
+share/locale/vi/LC_MESSAGES/libvirt.mo
+share/locale/vi_VN/LC_MESSAGES/libvirt.mo
+share/locale/zh_CN/LC_MESSAGES/libvirt.mo
+share/locale/zh_TW/LC_MESSAGES/libvirt.mo
+share/locale/zu/LC_MESSAGES/libvirt.mo
+@pkgdir var/run/libvirt/network
+@pkgdir var/log/libvirt/uml
+@pkgdir var/log/libvirt/qemu
+@pkgdir var/log/libvirt/lxc
+@pkgdir var/lib/libvirt/network
+@pkgdir var/lib/libvirt/images
+@pkgdir var/lib/libvirt/dnsmasq
+@pkgdir var/lib/libvirt/boot
+@pkgdir var/cache/libvirt
+@pkgdir lib/libvirt/connection-driver
+@pkgdir etc/sasl2
+@pkgdir etc/logrotate.d
+@pkgdir etc/libvirt/qemu/networks/autostart
+@pkgdir etc/libvirt/qemu/networks
+@pkgdir etc/libvirt/nwfilter
+@pkgdir etc/libvirt
diff --git a/sysutils/libvirt/distinfo b/sysutils/libvirt/distinfo
new file mode 100644
index 00000000000..094f332e724
--- /dev/null
+++ b/sysutils/libvirt/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1.1.1 2011/07/26 06:05:00 agc Exp $
+
+SHA1 (libvirt-0.9.3.tar.gz) = e25850d270a24441305dd92935209efa993b479d
+RMD160 (libvirt-0.9.3.tar.gz) = a01dbe29e23225706afcff74146aa3b224ba04bb
+Size (libvirt-0.9.3.tar.gz) = 15958983 bytes
+SHA1 (patch-aa) = 12269e5e0dd650423df5e31dd6f8069af04532c3
+SHA1 (patch-ab) = 66757963d769cc7a12c5dfa4fe035ec9417a0512
+SHA1 (patch-ac) = af670f3e9af0dc4053c3e8584ed815f03bb7bb56
diff --git a/sysutils/libvirt/patches/patch-aa b/sysutils/libvirt/patches/patch-aa
new file mode 100644
index 00000000000..9dcf4e37412
--- /dev/null
+++ b/sysutils/libvirt/patches/patch-aa
@@ -0,0 +1,175 @@
+$NetBSD: patch-aa,v 1.1.1.1 2011/07/26 06:05:00 agc Exp $
+
+bridge is only compilable on Linux right now
+
+--- src/util/bridge.c 2011/07/17 17:36:59 1.1
++++ src/util/bridge.c 2011/07/17 17:37:20
+@@ -39,10 +39,21 @@
+ # include <paths.h>
+ # include <sys/wait.h>
+
++#if defined(__linux__)
+ # include <linux/param.h> /* HZ */
+ # include <linux/sockios.h> /* SIOCBRADDBR etc. */
+ # include <linux/if_bridge.h> /* SYSFS_BRIDGE_ATTR */
+ # include <linux/if_tun.h> /* IFF_TUN, IFF_NO_PI */
++#elif defined(__NetBSD__)
++# include <sys/param.h>
++# include <sys/sockio.h>
++# include <net/if.h>
++# include <net/if_tap.h>
++# include <net/if_ether.h>
++# include <net/if_bridgevar.h>
++# include <net/if_tun.h>
++#endif
++
+ # include <net/if_arp.h> /* ARPHRD_ETHER */
+
+ # include "internal.h"
+@@ -309,6 +320,7 @@
+ if (virStrcpyStatic(ifr.ifr_name, ifname) == NULL)
+ return EINVAL;
+
++#ifdef __linux__
+ /* To fill ifr.ifr_hdaddr.sa_family field */
+ if (ioctl(ctl->fd, SIOCGIFHWADDR, &ifr) != 0)
+ return errno;
+@@ -316,6 +328,15 @@
+ memcpy(ifr.ifr_hwaddr.sa_data, macaddr, VIR_MAC_BUFLEN);
+
+ return ioctl(ctl->fd, SIOCSIFHWADDR, &ifr) == 0 ? 0 : errno;
++#elif defined(__NetBSD__)
++ /* To fill ifr.ifr_hdaddr.sa_family field */
++ if (ioctl(ctl->fd, SIOCGIFADDR, &ifr) != 0)
++ return errno;
++
++ memcpy(ifr.ifr_addr.sa_data, macaddr, VIR_MAC_BUFLEN);
++
++ return ioctl(ctl->fd, SIOCSIFADDR, &ifr) == 0 ? 0 : errno;
++#endif
+ }
+
+ /**
+@@ -459,6 +480,10 @@
+ }
+ # endif
+
++#ifndef USE_ARG
++#define USE_ARG(x) /*LINTED*/(void)&(x)
++#endif
++
+ /**
+ * brAddTap:
+ * @ctl: bridge control pointer
+@@ -487,6 +512,7 @@
+ bool up,
+ int *tapfd)
+ {
++#if defined(__linux__)
+ int fd;
+ struct ifreq ifr;
+
+@@ -549,11 +575,68 @@
+ VIR_FORCE_CLOSE(fd);
+
+ return errno;
++#elif defined(__NetBSD__)
++ int fd;
++ struct ifreq ifr;
++
++ USE_ARG(vnet_hdr);
++ if (!ctl || !ctl->fd || !bridge || !ifname)
++ return EINVAL;
++
++ if ((fd = open("/dev/tun", O_RDWR)) < 0)
++ return errno;
++
++ memset(&ifr, 0, sizeof(ifr));
++
++ if (ioctl(fd, TAPGIFNAME, &ifr) < 0)
++ goto error;
++
++ if (virStrcpyStatic(ifr.ifr_name, *ifname) == NULL) {
++ errno = EINVAL;
++ goto error;
++ }
++
++ if (ioctl(fd, TUNSIFHEAD, &ifr) < 0)
++ goto error;
++
++ /* We need to set the interface MAC before adding it
++ * to the bridge, because the bridge assumes the lowest
++ * MAC of all enslaved interfaces & we don't want it
++ * seeing the kernel allocate random MAC for the TAP
++ * device before we set our static MAC.
++ */
++ if ((errno = ifSetInterfaceMac(ctl, ifr.ifr_name, macaddr)))
++ goto error;
++ /* We need to set the interface MTU before adding it
++ * to the bridge, because the bridge will have its
++ * MTU adjusted automatically when we add the new interface.
++ */
++ if ((errno = brSetInterfaceMtu(ctl, bridge, ifr.ifr_name)))
++ goto error;
++ if ((errno = brAddInterface(ctl, bridge, ifr.ifr_name)))
++ goto error;
++ if (up && ((errno = brSetInterfaceUp(ctl, ifr.ifr_name, 1))))
++ goto error;
++ VIR_FREE(*ifname);
++ if (!(*ifname = strdup(ifr.ifr_name)))
++ goto error;
++ if (tapfd)
++ *tapfd = fd;
++ else
++ VIR_FORCE_CLOSE(fd);
++ return 0;
++
++ error:
++ VIR_FORCE_CLOSE(fd);
++
++ return errno;
++#endif
+ }
+
+ int brDeleteTap(brControl *ctl,
+ const char *ifname)
+ {
++#if defined(__linux__)
+ struct ifreq try;
+ int fd;
+
+@@ -580,6 +663,34 @@
+ VIR_FORCE_CLOSE(fd);
+
+ return errno;
++#elif defined(__NetBSD__)
++ struct ifreq try;
++ int fd;
++
++ if (!ctl || !ctl->fd || !ifname)
++ return EINVAL;
++
++ if ((fd = open("/dev/tun", O_RDWR)) < 0)
++ return errno;
++
++ memset(&try, 0, sizeof(try));
++ if (ioctl(fd, TAPGIFNAME, &try) < 0)
++ goto error;
++
++
++ if (virStrcpyStatic(try.ifr_name, ifname) == NULL) {
++ errno = EINVAL;
++ goto error;
++ }
++
++ if (ioctl(fd, TUNSIFHEAD, &try) < 0)
++ goto error;
++
++ error:
++ VIR_FORCE_CLOSE(fd);
++
++ return errno;
++#endif
+ }
+
+
diff --git a/sysutils/libvirt/patches/patch-ab b/sysutils/libvirt/patches/patch-ab
new file mode 100644
index 00000000000..4954b42a95f
--- /dev/null
+++ b/sysutils/libvirt/patches/patch-ab
@@ -0,0 +1,15 @@
+$NetBSD: patch-ab,v 1.1.1.1 2011/07/26 06:05:00 agc Exp $
+
+There is a problem expanding the macro in base64.h, so we'll do it here
+
+--- tools/virsh.c 2011/07/17 21:47:08 1.1
++++ tools/virsh.c 2011/07/17 21:48:19
+@@ -8862,7 +8862,7 @@
+ if (vshCommandOptString(cmd, "base64", &base64) <= 0)
+ goto cleanup;
+
+- if (!base64_decode_alloc(base64, strlen(base64), &value, &value_size)) {
++ if (!base64_decode_alloc_ctx(NULL, base64, strlen(base64), &value, &value_size)) {
+ vshError(ctl, "%s", _("Invalid base64 data"));
+ goto cleanup;
+ }
diff --git a/sysutils/libvirt/patches/patch-ac b/sysutils/libvirt/patches/patch-ac
new file mode 100644
index 00000000000..d276884a9d8
--- /dev/null
+++ b/sysutils/libvirt/patches/patch-ac
@@ -0,0 +1,23 @@
+$NetBSD: patch-ac,v 1.1.1.1 2011/07/26 06:05:00 agc Exp $
+
+Make sure the header inclusion guard is unique
+
+--- gnulib/lib/base64.h 2011/07/17 21:51:19 1.1
++++ gnulib/lib/base64.h 2011/07/17 21:52:04
+@@ -18,8 +18,8 @@
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+-#ifndef BASE64_H
+-# define BASE64_H
++#ifndef GNULIB_LIB_BASE64_H
++# define GNULIB_LIB_BASE64_H
+
+ /* Get size_t. */
+ # include <stddef.h>
+@@ -60,4 +60,4 @@
+ #define base64_decode_alloc(in, inlen, out, outlen) \
+ base64_decode_alloc_ctx (NULL, in, inlen, out, outlen)
+
+-#endif /* BASE64_H */
++#endif /* GNULIB_LIB_BASE64_H */