Index: head/emulators/qemu-devel/Makefile =================================================================== --- head/emulators/qemu-devel/Makefile (revision 291643) +++ head/emulators/qemu-devel/Makefile (revision 291644) @@ -1,237 +1,225 @@ # New ports collection makefile for: qemu # Date created: 2004/05/31 # Whom: Juergen Lock # # $FreeBSD$ # PORTNAME= qemu -PORTVERSION= 1.0 -PORTREVISION= 2 +PORTVERSION= 1.0.1 CATEGORIES= emulators -MASTER_SITES= http://wiki.qemu.org/download/qemu/:release \ - LOCAL/nox:release \ +MASTER_SITES= http://wiki.qemu.org/download/:release \ LOCAL/nox:snapshot PKGNAMESUFFIX= -devel -DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release \ - sgabios-read-only-r8${EXTRACT_SUFX}:snapshot +DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release DIST_SUBDIR= qemu/${PORTVERSION} -PATCH_SITES= http://code.gns3.net/qemu-patches/raw-file/0b69b9be6a8e/ -PATCH_DIST_STRIP= -p1 - MAINTAINER= nox@FreeBSD.org COMMENT= QEMU CPU Emulator - development version HAS_CONFIGURE= yes USE_GMAKE= yes USE_PERL5_BUILD= yes USE_GNOME+= glib20 PATCH_STRIP= -p1 MAKE_ENV+= BSD_MAKE="${MAKE}" MAN1= qemu.1 qemu-img.1 MAN8= qemu-nbd.8 ONLY_FOR_ARCHS= amd64 i386 powerpc # XXX someone wants to debug sparc64 hosts? CONFLICTS_INSTALL= qemu-[0-9]* MAKE_JOBS_SAFE= yes OPTIONS= SAMBA "samba dependency (for -smb)" Off \ SDL "SDL/X dependency (graphical output)" On \ OPENGL "OpenGL dependency" On \ GNUTLS "gnutls dependency (vnc encryption)" On \ SASL "cyrus-sasl dependency (vnc encryption)" On \ JPEG "jpeg dependency (vnc lossy compression)" On \ PNG "png dependency (vnc compression)" On \ GA "python build dependency (guest agent)" On \ CURL "libcurl dependency (remote images)" On \ CDROM_DMA "IDE CDROM DMA" On \ PCAP "pcap dependency (networking with bpf)" On \ SEABIOS_GIT "add seabios snapshot (-bios bios.bin-1.6.3.1)" On \ USBREDIR "usb device network redirection (experimental!)" Off \ GNS3 "gns3 patches (udp, promiscuous multicast)" Off \ ADD_AUDIO "Emulate more audio hardware (experimental!)" Off \ ALL_TARGETS "Also build bsd-user targets (for testing)" Off .include CONFIGURE_ARGS+= --extra-ldflags=-L${LOCALBASE}/lib PORTDOCS= docs qemu-doc.html qemu-tech.html .if defined(WITHOUT_ALL_TARGETS) CONFIGURE_ARGS+= --disable-bsd-user PLIST_SUB+= ALLTARGETS="@comment " .else PLIST_SUB+= ALLTARGETS="" .if ${ARCH} == "sparc64" IGNORE= bsd-user targets not tested on sparc64 .endif .endif .if defined(WITH_GNS3) -PATCHFILES+= hw_e1000_c.patch -#PATCHFILES+= net_c.patch -#PATCHFILES+= net_h.patch -EXTRA_PATCHES+= ${FILESDIR}/net_c.patch -EXTRA_PATCHES+= ${FILESDIR}/net_h.patch -PATCHFILES+= net_udp_c.patch -PATCHFILES+= net_udp_h.patch -PATCHFILES+= Makefile_objs.patch -EXTRA_PATCHES+= ${FILESDIR}/gns3-qemu-options.hx.patch +EXTRA_PATCHES+= ${FILESDIR}/hw_e1000_c.patch \ + ${FILESDIR}/net_c.patch \ + ${FILESDIR}/net_h.patch \ + ${FILESDIR}/net_udp_c.patch \ + ${FILESDIR}/net_udp_h.patch \ + ${FILESDIR}/Makefile_objs.patch \ + ${FILESDIR}/gns3-qemu-options.hx.patch .endif WITHOUT_CPU_CFLAGS=yes #to avoid problems with register allocation CFLAGS:= ${CFLAGS:C/-fno-tree-vrp//} CONFIGURE_ARGS+= --prefix=${PREFIX} --cc=${CC} --enable-docs \ --disable-linux-user --disable-linux-aio \ --disable-darwin-user --disable-kvm --disable-xen \ --smbd=${LOCALBASE}/sbin/smbd \ --extra-cflags=-I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"${PREFIX}\\\" .if defined(WITHOUT_SDL) CONFIGURE_ARGS+= --disable-sdl .else USE_SDL= sdl .endif .if defined(WITHOUT_GNUTLS) CONFIGURE_ARGS+= --disable-vnc-tls .else LIB_DEPENDS+= gnutls:${PORTSDIR}/security/gnutls .endif .if defined(WITHOUT_SASL) CONFIGURE_ARGS+= --disable-vnc-sasl .else LIB_DEPENDS+= sasl2:${PORTSDIR}/security/cyrus-sasl2 .endif .if defined(WITHOUT_JPEG) CONFIGURE_ARGS+= --disable-vnc-jpeg .else LIB_DEPENDS+= jpeg:${PORTSDIR}/graphics/jpeg .endif .if defined(WITHOUT_PNG) CONFIGURE_ARGS+= --disable-vnc-png .else LIB_DEPENDS+= png.6:${PORTSDIR}/graphics/png .endif .if defined(WITHOUT_GA) CONFIGURE_ARGS+= --disable-guest-agent --python="${NONEXISTENT}" PLIST_SUB+= GA="@comment " .else USE_PYTHON_BUILD= yes PLIST_SUB+= GA="" .endif .if defined(WITHOUT_CURL) CONFIGURE_ARGS+= --disable-curl .else LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl .endif .if defined(WITHOUT_OPENGL) CONFIGURE_ARGS+= --disable-opengl .else USE_GL= yes .endif .if defined(WITHOUT_USBREDIR) CONFIGURE_ARGS+= --disable-usb-redir .else LIB_DEPENDS+= usbredirparser:${PORTSDIR}/net/usbredir .endif .if defined(WITH_PCAP) CONFIGURE_ARGS+= --enable-pcap .endif .if defined(WITH_ADD_AUDIO) CONFIGURE_ARGS+= --audio-card-list=ac97,es1370,sb16,cs4231a,adlib,gus,hda .endif .if defined(WITH_SAMBA) RUN_DEPENDS+= ${LOCALBASE}/sbin/smbd:${PORTSDIR}/net/samba35 .endif .if defined(WITH_SEABIOS_GIT) RUN_DEPENDS+= seabios-devel>=1.6.3.1:${PORTSDIR}/emulators/seabios-devel .endif .if defined(NOPORTDOCS) MAKE_ARGS+= NOPORTDOCS=1 .else BUILD_DEPENDS+= texi2html:${PORTSDIR}/textproc/texi2html .endif .if !defined(STRIP) || ${STRIP} == "" CONFIGURE_ARGS+=--disable-strip .endif .if ${ARCH} == "amd64" MAKE_ARGS+= ARCH=x86_64 .endif .if ${ARCH} == "powerpc" MAKE_ARGS+= ARCH=ppc .endif .if ${ARCH} == "sparc64" CONFIGURE_ARGS+= --sparc_cpu=v9 .endif .if ${OSVERSION} < 900033 BUILD_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin .endif post-patch: .if defined(WITH_PCAP) @cd ${WRKSRC} && ${PATCH} --quiet < ${FILESDIR}/pcap-patch @${REINPLACE_CMD} -f ${FILESDIR}/pcap-client-type.sed ${WRKSRC}/net.h .endif .if defined(WITHOUT_CDROM_DMA) @cd ${WRKSRC} && ${PATCH} --quiet < ${FILESDIR}/cdrom-dma-patch .endif @${REINPLACE_CMD} -E \ -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing|" \ -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \ ${WRKSRC}/Makefile.target @${REINPLACE_CMD} -E \ -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing -I.|" \ -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \ ${WRKSRC}/Makefile @${REINPLACE_CMD} -E \ -e "1s|^(#! )/usr/bin/perl|\1${PERL}|" \ ${WRKSRC}/scripts/texi2pod.pl .if ${OSVERSION} >= 800091 # XXX need to disable usb host code on head while it's not ported to the # new usb stack yet post-configure: @${REINPLACE_CMD} -E \ -e "s|^(HOST_USB=)bsd|\1stub|" \ ${WRKSRC}/config-host.mak .endif -post-build: - @${MAKE_ENV} ${GMAKE} -C${WRKDIR}/sgabios-read-only - post-install: .if !defined(NOPORTDOCS) @(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${DOCSDIR}/) .endif - @${INSTALL_DATA} ${WRKDIR}/sgabios-read-only/sgabios.bin ${DATADIR} @${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifup.sample ${PREFIX}/etc @${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifdown.sample ${PREFIX}/etc @if [ ! -f ${PREFIX}/etc/qemu-ifup ]; then \ ${CP} -p ${PREFIX}/etc/qemu-ifup.sample ${PREFIX}/etc/qemu-ifup ; \ fi @if [ ! -f ${PREFIX}/etc/qemu-ifdown ]; then \ ${CP} -p ${PREFIX}/etc/qemu-ifdown.sample ${PREFIX}/etc/qemu-ifdown ; \ fi @${CAT} ${PKGMESSAGE} .include Property changes on: head/emulators/qemu-devel/Makefile ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.134 \ No newline at end of property +1.135 \ No newline at end of property Index: head/emulators/qemu-devel/distinfo =================================================================== --- head/emulators/qemu-devel/distinfo (revision 291643) +++ head/emulators/qemu-devel/distinfo (revision 291644) @@ -1,12 +1,2 @@ -SHA256 (qemu/1.0/qemu-1.0.tar.gz) = 47674b7da559d5e1b44cc401af9ac5ad962d14e9eede12567b13e4b841989737 -SIZE (qemu/1.0/qemu-1.0.tar.gz) = 10848714 -SHA256 (qemu/1.0/sgabios-read-only-r8.tar.gz) = b5a511f237f9e3fbceb8d406b818253c1661773fc12c3ec14f0580ab15151384 -SIZE (qemu/1.0/sgabios-read-only-r8.tar.gz) = 31201 -SHA256 (qemu/1.0/hw_e1000_c.patch) = a9c8f29b8493ac62526b2ed4078b3e69c8e9c709a049f4fa11765ce37067e5a5 -SIZE (qemu/1.0/hw_e1000_c.patch) = 407 -SHA256 (qemu/1.0/net_udp_c.patch) = 6cbe5b229381db94fb6865bb53741217f914749723eea734917143f6db457a51 -SIZE (qemu/1.0/net_udp_c.patch) = 4115 -SHA256 (qemu/1.0/net_udp_h.patch) = e43853ba86689cb9ace6a177f891ab8536f6fbce21c7e9fa3ee0d5b25c47b463 -SIZE (qemu/1.0/net_udp_h.patch) = 1518 -SHA256 (qemu/1.0/Makefile_objs.patch) = 7bfed73dfa87b78fd9b3231c1664ff9c871e8b38009b82bf9311573cbb679d58 -SIZE (qemu/1.0/Makefile_objs.patch) = 371 +SHA256 (qemu/1.0.1/qemu-1.0.1.tar.gz) = 198902e10782517f607c9ed9e629b5e7708ea39eb373ed3ec3f1c8a169d98378 +SIZE (qemu/1.0.1/qemu-1.0.1.tar.gz) = 10853005 Property changes on: head/emulators/qemu-devel/distinfo ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.62 \ No newline at end of property +1.63 \ No newline at end of property Index: head/emulators/qemu-devel/files/patch-sgabios-read-only-rom16.ld =================================================================== --- head/emulators/qemu-devel/files/patch-sgabios-read-only-rom16.ld (revision 291643) +++ head/emulators/qemu-devel/files/patch-sgabios-read-only-rom16.ld (nonexistent) @@ -1,15 +0,0 @@ -Index: a/../sgabios-read-only/rom16.ld -=================================================================== ---- sgabios-read-only/rom16.ld (revision 8) -+++ sgabios-read-only/rom16.ld (working copy) -@@ -3,8 +3,8 @@ - */ - - /* Script for -z combreloc: combine and sort reloc sections */ --OUTPUT_FORMAT("elf32-i386", "elf32-i386", -- "elf32-i386") -+OUTPUT_FORMAT("elf32-i386-freebsd", "elf32-i386-freebsd", -+ "elf32-i386-freebsd") - OUTPUT_ARCH(i386) - EXTERN(_start) - ENTRY(_start) Property changes on: head/emulators/qemu-devel/files/patch-sgabios-read-only-rom16.ld ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/emulators/qemu-devel/files/Makefile_objs.patch =================================================================== --- head/emulators/qemu-devel/files/Makefile_objs.patch (nonexistent) +++ head/emulators/qemu-devel/files/Makefile_objs.patch (revision 291644) @@ -0,0 +1,10 @@ +--- qemu-0.14.1/Makefile.objs.orig Thu Jun 23 17:44:50 2011 ++++ qemu-0.14.1/Makefile.objs Thu Jun 23 17:45:01 2011 +@@ -34,6 +34,7 @@ + net-nested-y = queue.o checksum.o util.o + net-nested-y += socket.o + net-nested-y += dump.o ++net-nested-y += udp.o + net-nested-$(CONFIG_POSIX) += tap.o + net-nested-$(CONFIG_LINUX) += tap-linux.o + net-nested-$(CONFIG_WIN32) += tap-win32.o Property changes on: head/emulators/qemu-devel/files/Makefile_objs.patch ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/emulators/qemu-devel/files/hw_e1000_c.patch =================================================================== --- head/emulators/qemu-devel/files/hw_e1000_c.patch (nonexistent) +++ head/emulators/qemu-devel/files/hw_e1000_c.patch (revision 291644) @@ -0,0 +1,11 @@ +--- qemu-0.14.1/hw/e1000.c.orig Thu Jun 23 17:01:19 2011 ++++ qemu-0.14.1/hw/e1000.c Thu Jun 23 17:02:30 2011 +@@ -573,7 +573,7 @@ + if (rctl & E1000_RCTL_UPE) // promiscuous + return 1; + +- if ((buf[0] & 1) && (rctl & E1000_RCTL_MPE)) // promiscuous mcast ++ if (buf[0] & 1) // promiscuous mcast + return 1; + + if ((rctl & E1000_RCTL_BAM) && !memcmp(buf, bcast, sizeof bcast)) Property changes on: head/emulators/qemu-devel/files/hw_e1000_c.patch ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/emulators/qemu-devel/files/net_udp_c.patch =================================================================== --- head/emulators/qemu-devel/files/net_udp_c.patch (nonexistent) +++ head/emulators/qemu-devel/files/net_udp_c.patch (revision 291644) @@ -0,0 +1,141 @@ +--- qemu-0.14.1/net/udp.c.orig Thu Jun 23 17:09:02 2011 ++++ qemu-0.14.1/net/udp.c Thu Jun 23 17:10:17 2011 +@@ -0,0 +1,138 @@ ++/* ++ * QEMU System Emulator ++ * ++ * Copyright (c) 2003-2008 Fabrice Bellard ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++ * THE SOFTWARE. ++ */ ++#include "net/udp.h" ++ ++#include "config-host.h" ++ ++#ifndef _WIN32 ++#include ++#include ++#include ++#endif ++ ++#include "net.h" ++#include "qemu-char.h" ++#include "qemu-common.h" ++#include "qemu-option.h" ++#include "qemu_socket.h" ++#include "sysemu.h" ++ ++ ++typedef struct UDPState { ++ VLANClientState nc; ++ int rfd; ++ struct sockaddr_in sender; ++} UDPState; ++ ++static void udp_to_qemu(void *opaque) ++{ ++ UDPState *s = opaque; ++ uint8_t buf[4096]; ++ int size; ++ ++ size = recvfrom(s->rfd, (char *)buf, sizeof(buf), 0, NULL, NULL); ++ if (size > 0) { ++ qemu_send_packet(&s->nc, buf, size); ++ } ++} ++ ++static ssize_t udp_receive(VLANClientState *nc, const uint8_t *buf, size_t size) ++{ ++ UDPState *s = DO_UPCAST(UDPState, nc, nc); ++ int ret; ++ ++ do { ++ ret = sendto(s->rfd, (const char *)buf, size, 0, (struct sockaddr *)&s->sender, sizeof (s->sender)); ++ } while (ret < 0 && errno == EINTR); ++ ++ return ret; ++} ++ ++static void udp_cleanup(VLANClientState *nc) ++{ ++ UDPState *s = DO_UPCAST(UDPState, nc, nc); ++ qemu_set_fd_handler(s->rfd, NULL, NULL, NULL); ++ close(s->rfd); ++} ++ ++static NetClientInfo net_udp_info = { ++ .type = NET_CLIENT_TYPE_UDP, ++ .size = sizeof(UDPState), ++ .receive = udp_receive, ++ .cleanup = udp_cleanup, ++}; ++ ++static int net_udp_init(VLANState *vlan, const char *model, ++ const char *name, int sport, ++ const char *daddr, int dport) ++{ ++ VLANClientState *nc; ++ UDPState *s; ++ struct sockaddr_in receiver; ++ int ret; ++ ++ nc = qemu_new_net_client(&net_udp_info, vlan, NULL, model, name); ++ ++ snprintf(nc->info_str, sizeof(nc->info_str),"udp: %i->%s:%i", ++ sport, daddr, dport); ++ ++ s = DO_UPCAST(UDPState, nc, nc); ++ ++ s->rfd = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); ++ receiver.sin_family = AF_INET; ++ receiver.sin_addr.s_addr = INADDR_ANY; ++ receiver.sin_port = htons(sport); ++ ret = bind(s->rfd, (struct sockaddr *)&receiver, sizeof(receiver)); ++ ++ if (ret == -1) { ++ fprintf (stderr, "bind error:%s\n", strerror(errno)); ++ return ret; ++ } ++ ++ memset((char*)&s->sender, 0,sizeof(s->sender)); ++ s->sender.sin_family = AF_INET; ++ s->sender.sin_port = htons(dport); ++ inet_aton(daddr, &s->sender.sin_addr); ++ ++ qemu_set_fd_handler(s->rfd, udp_to_qemu, NULL, s); ++ ++ return 0; ++} ++ ++int net_init_udp(QemuOpts *opts, Monitor *mon, const char *name, VLANState *vlan) ++{ ++ const char *daddr; ++ int sport, dport; ++ ++ daddr = qemu_opt_get(opts, "daddr"); ++ ++ sport = qemu_opt_get_number(opts, "sport", 0); ++ dport = qemu_opt_get_number(opts, "dport", 0); ++ ++ if (net_udp_init(vlan, "udp", name, sport, daddr, dport) == -1) { ++ return -1; ++ } ++ ++ return 0; ++} Property changes on: head/emulators/qemu-devel/files/net_udp_c.patch ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/emulators/qemu-devel/files/net_udp_h.patch =================================================================== --- head/emulators/qemu-devel/files/net_udp_h.patch (nonexistent) +++ head/emulators/qemu-devel/files/net_udp_h.patch (revision 291644) @@ -0,0 +1,35 @@ +--- qemu-0.14.1/net/udp.h.orig Thu Jun 23 17:12:45 2011 ++++ qemu-0.14.1/net/udp.h Thu Jun 23 17:12:28 2011 +@@ -0,0 +1,32 @@ ++/* ++ * QEMU System Emulator ++ * ++ * Copyright (c) 2003-2008 Fabrice Bellard ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++ * THE SOFTWARE. ++ */ ++#ifndef QEMU_NET_UDP_H ++#define QEMU_NET_UDP_H ++ ++#include "qemu-common.h" ++#include "qemu-option.h" ++ ++int net_init_udp(QemuOpts *opts, Monitor *mon, const char *name, VLANState *vlan); ++ ++#endif /* QEMU_NET_UDP_H */ Property changes on: head/emulators/qemu-devel/files/net_udp_h.patch ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property