diff options
-rw-r--r-- | sysutils/libvirt/DESCR | 24 | ||||
-rw-r--r-- | sysutils/libvirt/Makefile | 78 | ||||
-rw-r--r-- | sysutils/libvirt/PLIST | 253 | ||||
-rw-r--r-- | sysutils/libvirt/distinfo | 8 | ||||
-rw-r--r-- | sysutils/libvirt/patches/patch-aa | 175 | ||||
-rw-r--r-- | sysutils/libvirt/patches/patch-ab | 15 | ||||
-rw-r--r-- | sysutils/libvirt/patches/patch-ac | 23 |
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 */ |