Date: Thu, 26 Apr 2012 19:03:37 GMT From: Olivier Cochard-Labbe <olivier@cochard.me> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/167339: emulators/gns3 update to latest 0.8.2 Message-ID: <201204261903.q3QJ3b3Y065920@red.freebsd.org> Resent-Message-ID: <201204261910.q3QJAA48013660@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 167339 >Category: ports >Synopsis: emulators/gns3 update to latest 0.8.2 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Thu Apr 26 19:10:10 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Olivier Cochard-Labbe >Release: 9.0 >Organization: BSD Router Project >Environment: FreeBSD laptop.bsdrp.net 9.0-RELEASE FreeBSD 9.0-RELEASE #2: Sun Apr 22 11:59:27 CEST 2012 root@laptop.bsdrp.net:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Hi, here is a update to GNS3 0.8.2: Major change is the virtualbox suppport, then I've removed the mandatory qemu dependency (users can choose between qemu and/or virtualbox). GNS3 code is cleaner too: No more patchs needed. >How-To-Repeat: >Fix: Patch attached with submission follows: diff -ruN gns3.orig/Makefile gns3/Makefile --- gns3.orig/Makefile 2012-04-26 19:42:26.000000000 +0200 +++ gns3/Makefile 2012-04-26 20:55:54.000000000 +0200 @@ -6,7 +6,7 @@ # PORTNAME= gns3 -PORTVERSION= 0.7.4 +PORTVERSION= 0.8.2 CATEGORIES= emulators MASTER_SITES= SF/gns-3/GNS3/${PORTVERSION} DISTNAME= GNS3-${PORTVERSION}-src @@ -16,13 +16,12 @@ LICENSE= GPLv2 -BUILD_DEPENDS= qemu:${PORTSDIR}/emulators/qemu RUN_DEPENDS= ${PYTHON_SITELIBDIR}/PyQt4/QtGui.so:${PORTSDIR}/x11-toolkits/py-qt4-gui \ ${PYTHON_SITELIBDIR}/PyQt4/QtSvg.so:${PORTSDIR}/graphics/py-qt4-svg \ ${PYTHON_SITELIBDIR}/PyQt4/QtNetwork.so:${PORTSDIR}/net/py-qt4-network \ dynamips:${PORTSDIR}/emulators/dynamips-community \ dynagen:${PORTSDIR}/emulators/dynagen \ - qemu:${PORTSDIR}/emulators/qemu + xdotool:${PORTSDIR}/x11/xdotool USE_PYTHON= 2.6+ USE_PYDISTUTILS= yes @@ -31,20 +30,6 @@ .include <bsd.port.pre.mk> -post-patch: - ${REINPLACE_CMD} \ - "s|%%PREFIX%%|${PREFIX}|;s|%%LOCALBASE%%|${LOCALBASE}|" \ - ${WRKSRC}/src/GNS3/Ui/ConfigurationPages/*.py - -.if !defined(NO_IGNORE) -pre-configure: - @if qemu -help | ${GREP} -q -- "-net udp" >/dev/null 2>&1; then \ - : ; \ - else \ - ${ECHO_MSG} "===> ${PKGNAME} must be used with a gns3 patched qemu"; exit 1; \ - fi -.endif - post-install: .if !defined(NO_INSTALL_MANPAGES) ${INSTALL_MAN} ${WRKSRC}/docs/man/gns3.1 ${MANPREFIX}/man/man1 diff -ruN gns3.orig/distinfo gns3/distinfo --- gns3.orig/distinfo 2012-04-26 19:42:26.000000000 +0200 +++ gns3/distinfo 2012-04-26 19:49:04.000000000 +0200 @@ -1,2 +1,2 @@ -SHA256 (GNS3-0.7.4-src.tar.gz) = 77a2c9b251d199a435ba85936349a1f8b1760df14a2594b68f8c1fee36f9588d -SIZE (GNS3-0.7.4-src.tar.gz) = 4512420 +SHA256 (GNS3-0.8.2-src.tar.gz) = e72553afe0c919aff54bedb4b639ebfcee83725eef28128bbb5076e226628a86 +SIZE (GNS3-0.8.2-src.tar.gz) = 3992183 diff -ruN gns3.orig/files/patch-Page_PreferencesCapture.py gns3/files/patch-Page_PreferencesCapture.py --- gns3.orig/files/patch-Page_PreferencesCapture.py 2012-04-26 19:42:26.000000000 +0200 +++ gns3/files/patch-Page_PreferencesCapture.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ ---- src/GNS3/Ui/ConfigurationPages/Page_PreferencesCapture.py.orig 2011-07-03 00:10:04.000000000 +0200 -+++ src/GNS3/Ui/ConfigurationPages/Page_PreferencesCapture.py 2011-07-03 00:10:29.000000000 +0200 -@@ -52,7 +52,7 @@ - elif sys.platform.startswith('win'): - self.conf.cap_cmd = unicode("C:\Program Files\Wireshark\wireshark.exe %c") - else: -- self.conf.cap_cmd = unicode("/usr/bin/wireshark %c") -+ self.conf.cap_cmd = unicode("%%LOCALBASE%%/bin/wireshark %c") - - if self.conf.workdir == '': - if os.environ.has_key("TEMP"): diff -ruN gns3.orig/files/patch-Page_PreferencesDynamips.py gns3/files/patch-Page_PreferencesDynamips.py --- gns3.orig/files/patch-Page_PreferencesDynamips.py 2012-04-26 19:42:26.000000000 +0200 +++ gns3/files/patch-Page_PreferencesDynamips.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ ---- src/GNS3/Ui/ConfigurationPages/Page_PreferencesDynamips.py.orig 2011-07-03 00:11:46.000000000 +0200 -+++ src/GNS3/Ui/ConfigurationPages/Page_PreferencesDynamips.py 2011-07-03 00:32:42.000000000 +0200 -@@ -55,7 +55,9 @@ - # Default path to dynamips executable - if self.conf.path == '' and sys.platform.startswith('win'): - self.conf.path = unicode('dynamips-wxp.exe') -- -+ else: -+ self.conf.path = unicode('%%LOCALBASE%%/bin/dynamips') -+ - # Default path to working directory - if self.conf.workdir == '': - if os.environ.has_key("TEMP"): diff -ruN gns3.orig/files/patch-Page_PreferencesQemu.py gns3/files/patch-Page_PreferencesQemu.py --- gns3.orig/files/patch-Page_PreferencesQemu.py 2012-04-26 19:42:26.000000000 +0200 +++ gns3/files/patch-Page_PreferencesQemu.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ ---- src/GNS3/Ui/ConfigurationPages/Page_PreferencesQemu.py.orig 2011-07-03 00:06:36.000000000 +0200 -+++ src/GNS3/Ui/ConfigurationPages/Page_PreferencesQemu.py 2011-07-03 00:07:26.000000000 +0200 -@@ -97,7 +97,7 @@ - if sys.platform.startswith('win'): - self.conf.qemuwrapper_path = unicode('qemuwrapper.exe') - else: -- path = os.getcwd() + '/qemuwrapper/qemuwrapper.py' -+ path = '%%PREFIX%%/bin/qemuwrapper.py' - self.conf.qemuwrapper_path = unicode(path, errors='replace') - - # Default path to working directory diff -ruN gns3.orig/files/patch-qemuwrapper.py gns3/files/patch-qemuwrapper.py --- gns3.orig/files/patch-qemuwrapper.py 2012-04-26 19:42:26.000000000 +0200 +++ gns3/files/patch-qemuwrapper.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ ---- qemuwrapper/qemuwrapper.py.orig -+++ qemuwrapper/qemuwrapper.py -@@ -45,6 +45,7 @@ import SocketServer - import time - import random - import pemubin -+import ctypes - - - __author__ = 'Thomas Pani and Jeremy Grossmann' -@@ -118,6 +119,33 @@ class xEMUInstance(object): - def unbase_disk(self): - pass - -+ def preexec(self): -+ # FreeBSD preexec_fn hack to unblock signals in child processes -+ # to work around the bug in this PR: -+ # http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/153167 -+ # inspired by: -+ # http://stackoverflow.com/questions/3791398/how-to-stop-python-from-propagating-signals-to-subprocesses -+ -+ # Get the size of the array used to -+ # represent the signal mask -+ SIGSET_NWORDS = 1024 / (8 * ctypes.sizeof(ctypes.c_uint)) -+ -+ # Define the sigset_t structure -+ class SIGSET(ctypes.Structure): -+ _fields_ = [ -+ ('val', ctypes.c_uint * SIGSET_NWORDS) -+ ] -+ -+ # Create a new sigset_t to mask out SIGINT -+ sigs = (ctypes.c_uint * SIGSET_NWORDS)() -+ mask = SIGSET(sigs) -+ -+ SIG_SETMASK = 3 -+ libc = ctypes.CDLL('libc.so') -+ -+ # Unblock all signals -+ libc.sigprocmask(SIG_SETMASK, ctypes.pointer(mask), 0) -+ - def start(self): - command = self._build_command() - -@@ -125,6 +152,7 @@ class xEMUInstance(object): - try: - self.process = subprocess.Popen(command, - stdin=subprocess.PIPE, -+ preexec_fn=self.preexec, - cwd=self.workdir) - except OSError, e: - print >> sys.stderr, "Unable to start instance", self.name, "of", self.__class__ diff -ruN gns3.orig/pkg-plist gns3/pkg-plist --- gns3.orig/pkg-plist 2012-04-26 19:42:26.000000000 +0200 +++ gns3/pkg-plist 2012-04-26 20:49:04.000000000 +0200 @@ -30,6 +30,9 @@ %%PYTHON_SITELIBDIR%%/GNS3/Defaults/AnyEmuDefaults.py %%PYTHON_SITELIBDIR%%/GNS3/Defaults/AnyEmuDefaults.pyc %%PYTHON_SITELIBDIR%%/GNS3/Defaults/AnyEmuDefaults.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Defaults/AnyVBoxEmuDefaults.py +%%PYTHON_SITELIBDIR%%/GNS3/Defaults/AnyVBoxEmuDefaults.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Defaults/AnyVBoxEmuDefaults.pyo %%PYTHON_SITELIBDIR%%/GNS3/Defaults/IOSRouter1700Defaults.py %%PYTHON_SITELIBDIR%%/GNS3/Defaults/IOSRouter1700Defaults.pyc %%PYTHON_SITELIBDIR%%/GNS3/Defaults/IOSRouter1700Defaults.pyo @@ -67,6 +70,9 @@ %%PYTHON_SITELIBDIR%%/GNS3/Dynagen/dynagen.py %%PYTHON_SITELIBDIR%%/GNS3/Dynagen/dynagen.pyc %%PYTHON_SITELIBDIR%%/GNS3/Dynagen/dynagen.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Dynagen/dynagen_vbox_lib.py +%%PYTHON_SITELIBDIR%%/GNS3/Dynagen/dynagen_vbox_lib.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Dynagen/dynagen_vbox_lib.pyo %%PYTHON_SITELIBDIR%%/GNS3/Dynagen/dynamips_lib.py %%PYTHON_SITELIBDIR%%/GNS3/Dynagen/dynamips_lib.pyc %%PYTHON_SITELIBDIR%%/GNS3/Dynagen/dynamips_lib.pyo @@ -144,7 +150,6 @@ %%PYTHON_SITELIBDIR%%/GNS3/Langs/qt_pt_br.qm %%PYTHON_SITELIBDIR%%/GNS3/Langs/qt_ru.qm %%PYTHON_SITELIBDIR%%/GNS3/Langs/qt_sk.qm -%%PYTHON_SITELIBDIR%%/GNS3/Langs/qt_sl.qm %%PYTHON_SITELIBDIR%%/GNS3/Langs/qt_sr.qm %%PYTHON_SITELIBDIR%%/GNS3/Langs/qt_sv.qm %%PYTHON_SITELIBDIR%%/GNS3/Langs/qt_uk.qm @@ -181,6 +186,9 @@ %%PYTHON_SITELIBDIR%%/GNS3/Node/AnyEmuDevice.py %%PYTHON_SITELIBDIR%%/GNS3/Node/AnyEmuDevice.pyc %%PYTHON_SITELIBDIR%%/GNS3/Node/AnyEmuDevice.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Node/AnyVBoxEmuDevice.py +%%PYTHON_SITELIBDIR%%/GNS3/Node/AnyVBoxEmuDevice.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Node/AnyVBoxEmuDevice.pyo %%PYTHON_SITELIBDIR%%/GNS3/Node/Cloud.py %%PYTHON_SITELIBDIR%%/GNS3/Node/Cloud.pyc %%PYTHON_SITELIBDIR%%/GNS3/Node/Cloud.pyo @@ -280,18 +288,21 @@ %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_FRSWPage.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_FRSWPage.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_FRSWPage.pyo -%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_FWPage.py -%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_FWPage.pyc -%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_FWPage.pyo %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_IDSPage.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_IDSPage.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_IDSPage.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_IOSDialog.py +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_IOSDialog.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_IOSDialog.pyo %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_IOSRouterPage.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_IOSRouterPage.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_IOSRouterPage.pyo %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_JunOSPage.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_JunOSPage.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_JunOSPage.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PIXPage.py +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PIXPage.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PIXPage.pyo %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PreferencesCapture.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PreferencesCapture.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PreferencesCapture.pyo @@ -304,9 +315,15 @@ %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PreferencesQemu.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PreferencesQemu.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PreferencesQemu.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PreferencesVirtualBox.py +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PreferencesVirtualBox.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_PreferencesVirtualBox.pyo %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_QemuPage.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_QemuPage.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_QemuPage.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_VirtualBoxPage.py +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_VirtualBoxPage.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Form_VirtualBoxPage.pyo %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_ASA.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_ASA.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_ASA.pyo @@ -328,9 +345,6 @@ %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_FRSW.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_FRSW.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_FRSW.pyo -%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_FW.py -%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_FW.pyc -%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_FW.pyo %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_IDS.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_IDS.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_IDS.pyo @@ -340,6 +354,9 @@ %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_JunOS.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_JunOS.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_JunOS.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PIX.py +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PIX.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PIX.pyo %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PreferencesCapture.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PreferencesCapture.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PreferencesCapture.pyo @@ -352,9 +369,15 @@ %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PreferencesQemu.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PreferencesQemu.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PreferencesQemu.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PreferencesVirtualBox.py +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PreferencesVirtualBox.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_PreferencesVirtualBox.pyo %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_Qemu.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_Qemu.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_Qemu.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_VirtualBox.py +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_VirtualBox.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/Page_VirtualBox.pyo %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/__init__.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/__init__.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/ConfigurationPages/__init__.pyo @@ -415,12 +438,21 @@ %%PYTHON_SITELIBDIR%%/GNS3/Ui/svg_resources_rc.py %%PYTHON_SITELIBDIR%%/GNS3/Ui/svg_resources_rc.pyc %%PYTHON_SITELIBDIR%%/GNS3/Ui/svg_resources_rc.pyo +%%PYTHON_SITELIBDIR%%/GNS3/Uncompress.py +%%PYTHON_SITELIBDIR%%/GNS3/Uncompress.pyc +%%PYTHON_SITELIBDIR%%/GNS3/Uncompress.pyo %%PYTHON_SITELIBDIR%%/GNS3/UndoFramework.py %%PYTHON_SITELIBDIR%%/GNS3/UndoFramework.pyc %%PYTHON_SITELIBDIR%%/GNS3/UndoFramework.pyo %%PYTHON_SITELIBDIR%%/GNS3/Utils.py %%PYTHON_SITELIBDIR%%/GNS3/Utils.pyc %%PYTHON_SITELIBDIR%%/GNS3/Utils.pyo +%%PYTHON_SITELIBDIR%%/GNS3/VBoxManager.py +%%PYTHON_SITELIBDIR%%/GNS3/VBoxManager.pyc +%%PYTHON_SITELIBDIR%%/GNS3/VBoxManager.pyo +%%PYTHON_SITELIBDIR%%/GNS3/WindowManipulator.py +%%PYTHON_SITELIBDIR%%/GNS3/WindowManipulator.pyc +%%PYTHON_SITELIBDIR%%/GNS3/WindowManipulator.pyo %%PYTHON_SITELIBDIR%%/GNS3/Wizard.py %%PYTHON_SITELIBDIR%%/GNS3/Wizard.pyc %%PYTHON_SITELIBDIR%%/GNS3/Wizard.pyo >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204261903.q3QJ3b3Y065920>