Import of pkgsrc-2014Q1
This commit is contained in:
@@ -1,175 +0,0 @@
|
||||
$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
|
||||
}
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
$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;
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
$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 */
|
||||
15
sysutils/libvirt/patches/patch-configure
Normal file
15
sysutils/libvirt/patches/patch-configure
Normal file
@@ -0,0 +1,15 @@
|
||||
$NetBSD: patch-configure,v 1.1 2014/01/28 18:00:41 agc Exp $
|
||||
|
||||
Portability bug - test should use '=' for string equality
|
||||
|
||||
--- configure 2014/01/25 02:05:59 1.1
|
||||
+++ configure 2014/01/25 02:06:27
|
||||
@@ -62681,7 +62681,7 @@
|
||||
if test "x$with_firewalld" = "xcheck" ; then
|
||||
with_firewalld=$with_dbus
|
||||
fi
|
||||
-if test "x$with_firewalld" == "xyes" ; then
|
||||
+if test "x$with_firewalld" = "xyes" ; then
|
||||
if test "x$with_dbus" != "xyes" ; then
|
||||
as_fn_error $? "You must have dbus enabled for firewalld support" "$LINENO" 5
|
||||
fi
|
||||
23
sysutils/libvirt/patches/patch-gnulib-lib-base64.h
Normal file
23
sysutils/libvirt/patches/patch-gnulib-lib-base64.h
Normal file
@@ -0,0 +1,23 @@
|
||||
$NetBSD: patch-gnulib-lib-base64.h,v 1.1 2014/01/25 02:54:27 agc Exp $
|
||||
|
||||
Avoid native header definitions
|
||||
|
||||
--- gnulib/lib/base64.h.orig 2014-01-07 19:14:57.000000000 -0800
|
||||
+++ gnulib/lib/base64.h 2014-01-24 18:03:33.000000000 -0800
|
||||
@@ -15,8 +15,8 @@
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
-#ifndef BASE64_H
|
||||
-# define BASE64_H
|
||||
+#ifndef GNULIB_LIB_BASE64_H
|
||||
+# define GNULIB_LIB_BASE64_H
|
||||
|
||||
/* Get size_t. */
|
||||
# include <stddef.h>
|
||||
@@ -65,4 +65,4 @@
|
||||
}
|
||||
# endif
|
||||
|
||||
-#endif /* BASE64_H */
|
||||
+#endif /* GNULIB_LIB_BASE64_H */
|
||||
@@ -1,13 +1,15 @@
|
||||
$NetBSD: patch-gnulib-lib-fflush.c,v 1.1 2012/03/08 01:12:52 joerg Exp $
|
||||
$NetBSD: patch-gnulib-lib-fflush.c,v 1.2 2014/01/25 02:54:27 agc Exp $
|
||||
|
||||
--- gnulib/lib/fflush.c.orig 2011-05-17 06:12:57.000000000 +0000
|
||||
+++ gnulib/lib/fflush.c
|
||||
@@ -93,7 +93,7 @@ static inline void
|
||||
update_fpos_cache (FILE *fp, off_t pos)
|
||||
fix for fpos_t/fgetpos/fsetpos from joerg
|
||||
|
||||
--- gnulib/lib/fflush.c 2014/01/25 02:18:50 1.1
|
||||
+++ gnulib/lib/fflush.c 2014/01/25 02:19:22
|
||||
@@ -96,7 +96,7 @@
|
||||
off_t pos _GL_UNUSED_PARAMETER)
|
||||
{
|
||||
#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
|
||||
-# if defined __CYGWIN__
|
||||
+# if defined(__CYGWIN__) || defined(__NetBSD__)
|
||||
# if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
|
||||
-# if defined __CYGWIN__
|
||||
+# if defined(__CYGWIN__) || defined(__NetBSD__)
|
||||
/* fp_->_offset is typed as an integer. */
|
||||
fp_->_offset = pos;
|
||||
# else
|
||||
# else
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
$NetBSD: patch-gnulib-lib-fseeko.c,v 1.1 2012/03/08 01:12:52 joerg Exp $
|
||||
$NetBSD: patch-gnulib-lib-fseeko.c,v 1.2 2014/01/25 02:54:27 agc Exp $
|
||||
|
||||
--- gnulib/lib/fseeko.c.orig 2011-03-01 07:54:21.000000000 +0000
|
||||
+++ gnulib/lib/fseeko.c
|
||||
@@ -111,7 +111,7 @@ fseeko (FILE *fp, off_t offset, int when
|
||||
#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||
Fix for fpos_t from joerg
|
||||
|
||||
--- gnulib/lib/fseeko.c 2014/01/25 02:09:09 1.1
|
||||
+++ gnulib/lib/fseeko.c 2014/01/25 02:17:10
|
||||
@@ -125,7 +125,7 @@
|
||||
fp->_flags &= ~_IO_EOF_SEEN;
|
||||
#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
|
||||
fp->_offset = pos;
|
||||
#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
|
||||
-# if defined __CYGWIN__
|
||||
+# if defined(__CYGWIN__) || defined(__NetBSD__)
|
||||
/* fp_->_offset is typed as an integer. */
|
||||
|
||||
30
sysutils/libvirt/patches/patch-src-rpc-virnetmessage.c
Normal file
30
sysutils/libvirt/patches/patch-src-rpc-virnetmessage.c
Normal file
@@ -0,0 +1,30 @@
|
||||
$NetBSD: patch-src-rpc-virnetmessage.c,v 1.1 2014/01/25 02:54:27 agc Exp $
|
||||
|
||||
fix for # of args in xdrproc_t on NetBSD
|
||||
|
||||
--- src/rpc/virnetmessage.c 2014/01/25 02:27:37 1.1
|
||||
+++ src/rpc/virnetmessage.c 2014/01/25 02:30:04
|
||||
@@ -345,7 +345,11 @@
|
||||
msg->bufferLength - msg->bufferOffset, XDR_ENCODE);
|
||||
|
||||
/* Try to encode the payload. If the buffer is too small increase it. */
|
||||
+#ifdef __NetBSD__
|
||||
+ while (!(*filter)(&xdr, data)) {
|
||||
+#else
|
||||
while (!(*filter)(&xdr, data, 0)) {
|
||||
+#endif
|
||||
unsigned int newlen = (msg->bufferLength - VIR_NET_MESSAGE_LEN_MAX) * 4;
|
||||
|
||||
if (newlen > VIR_NET_MESSAGE_MAX) {
|
||||
@@ -402,7 +406,11 @@
|
||||
xdrmem_create(&xdr, msg->buffer + msg->bufferOffset,
|
||||
msg->bufferLength - msg->bufferOffset, XDR_DECODE);
|
||||
|
||||
+#ifdef __NetBSD__
|
||||
+ if (!(*filter)(&xdr, data)) {
|
||||
+#else
|
||||
if (!(*filter)(&xdr, data, 0)) {
|
||||
+#endif
|
||||
virReportError(VIR_ERR_RPC, "%s", _("Unable to decode message payload"));
|
||||
goto error;
|
||||
}
|
||||
20
sysutils/libvirt/patches/patch-src-util-virutil.c
Normal file
20
sysutils/libvirt/patches/patch-src-util-virutil.c
Normal file
@@ -0,0 +1,20 @@
|
||||
$NetBSD: patch-src-util-virutil.c,v 1.1 2014/01/25 02:54:27 agc Exp $
|
||||
|
||||
Only use uselocale() if we have it
|
||||
|
||||
--- src/util/virutil.c 2014/01/25 02:40:22 1.1
|
||||
+++ src/util/virutil.c 2014/01/25 02:41:41
|
||||
@@ -428,9 +428,13 @@
|
||||
if (virLocaleInitialize() < 0)
|
||||
goto error;
|
||||
|
||||
+#ifdef HAVE_USELOCALE
|
||||
old_loc = uselocale(virLocale);
|
||||
+#endif
|
||||
ret = virAsprintf(strp, "%lf", number);
|
||||
+#ifdef HAVE_USELOCALE
|
||||
uselocale(old_loc);
|
||||
+#endif
|
||||
|
||||
#else
|
||||
|
||||
16
sysutils/libvirt/patches/patch-tools--virsh-secret.c
Normal file
16
sysutils/libvirt/patches/patch-tools--virsh-secret.c
Normal file
@@ -0,0 +1,16 @@
|
||||
$NetBSD: patch-tools--virsh-secret.c,v 1.1 2014/01/25 02:54:27 agc Exp $
|
||||
|
||||
bring forward previous patch to allocate the context with the correct args
|
||||
"There is a problem expanding the macro in base64.h, so we'll do it here"
|
||||
|
||||
--- tools/virsh-secret.c 2014/01/25 01:56:56 1.1
|
||||
+++ tools/virsh-secret.c 2014/01/25 01:57:41
|
||||
@@ -212,7 +212,7 @@
|
||||
if (vshCommandOptStringReq(ctl, 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;
|
||||
}
|
||||
Reference in New Issue
Block a user