Re: GNS3 port
On Tue, Feb 07, 2023 at 10:48:09PM +0300, Mikhail wrote: > > I'd like to port GNS3 (GUI for dynamips [Cisco hardware emulator]; dynamips > only mode for now, fancy QEMU things are untested) to OpenBSD, it requires one > port updates (emulators/dynamips) and two new ports as a dependencies > (devel/py-aiofiles and www/py-aiohttp-cors), not counting GNS3 suite itself, > which consists of gns3-server, gns3-gui, ubridge and vpcs. > > I plan to separate this to three steps in hope that it will be easier for > committers to review the patches and new ports: > > - update for emulators/dynamips > > - new port for devel/py-aiofiles > - new port for www/py-aiohttp-cors > > - new ports for the gns3 suite (gns3-server, gns3-gui, ubridge, vpcs) > > Link to the whole patch: https://freebsd.org/~misha/gns3.patch > > Testing and comments are appreciated. Ping (in hope interested parties use threaded view)
Re: GNS3 port [new port net/gns3-server]
$ pkg_info gns3-server Information for inst:gns3-server-2.2.37 Comment: GNS3 server Description: The GNS3 server manages emulators such as Dynamips, VirtualBox or Qemu/KVM. Clients like the GNS3 GUI and the GNS3 Web UI control the server using an HTTP REST API. Maintainer: The OpenBSD ports mailing-list WWW: https://github.com/GNS3/gns3-server gns3-server.tgz Description: application/tar-gz
Re: GNS3 port [new port net/gns3-gui]
$ pkg_info gns3-gui Information for inst:gns3-gui-2.2.37 Comment: GNS3 GUI Description: GNS3 GUI Maintainer: The OpenBSD ports mailing-list WWW: https://github.com/GNS3/gns3-gui gns3-gui.tgz Description: application/tar-gz
Re: GNS3 port [new port net/ubridge]
$ pkg_info ubridge Information for inst:ubridge-0.9.18 Comment: bridge for UDP tunnels, Ethernet, TAP and VMnet interfaces Description: uBridge is a simple application to create user-land bridges between various technologies. Currently, bridging between UDP tunnels, Ethernet and TAP interfaces is supported. Packet capture is also supported. Maintainer: The OpenBSD ports mailing-list WWW: https://github.com/GNS3/ubridge ubridge.tgz Description: application/tar-gz
Re: GNS3 port [new port net/vpcs]
Patches were upstreamed. $ pkg_info vpcs Information for inst:vpcs-0.8.2 Comment: simple Virtual PC Simulator Description: This is a continuation of VPCS, based on the last development version and improved with patches wrote by various people from the community. The original VPCS code, which is unfortunately not maintained anymore, can be viewed on https://sourceforge.net/p/vpcs/code/ Maintainer: The OpenBSD ports mailing-list WWW: https://github.com/GNS3/vpcs vpcs.tgz Description: application/tar-gz
Re: GNS3 port [new port www/py-aiohttp-cors]
Needed by gns3-server, fixes from sthen@ were taken into account. Tests are passed. $ pkg_info py3-aiohttp-cors Information for inst:py3-aiohttp-cors-0.7.0 Comment: CORS support for aiohttp Description: aiohttp_cors library implements Cross Origin Resource Sharing (CORS) support for aiohttp asyncio-powered asynchronous HTTP server Maintainer: The OpenBSD ports mailing-list WWW: https://pypi.python.org/pypi/aiohttp-cors py-aiohttp-cors.tgz Description: application/tar-gz
Re: GNS3 port [new port devel/py-aiofiles]
Needed by gns3-server, fixes from sthen@ were taken into account. $ pkg_info py3-aiofiles Information for inst:py3-aiofiles-22.1.0 Comment: handling local disk files in asyncio applications Description: aiofiles is an Apache2 licensed library, written in Python, for handling local disk files in asyncio applications. Ordinary local file IO is blocking, and cannot easily and portably made asynchronous. This means doing file IO may interfere with asyncio applications, which shouldn't block the executing thread. aiofiles helps with this by introducing asynchronous versions of files that support delegating operations to a separate thread pool. Maintainer: The OpenBSD ports mailing-list WWW: https://pypi.python.org/pypi/aiofiles py-aiofiles.tgz Description: application/tar-gz
Re: GNS3 port
Please send tars not diffs for new ports. Py-aiofiles should use MODPY_PYBUILD=poetry-core and drop the BUILD_DEPENDS. No need to list py-test as TEST_DEPENDS, it's added automatically for MODPY_PYBUILD ports unless MODPY_PYTEST=No. -- Sent from a phone, apologies for poor formatting. On 7 February 2023 19:48:32 Mikhail wrote: I'd like to port GNS3 (GUI for dynamips [Cisco hardware emulator]; dynamips only mode for now, fancy QEMU things are untested) to OpenBSD, it requires one port updates (emulators/dynamips) and two new ports as a dependencies (devel/py-aiofiles and www/py-aiohttp-cors), not counting GNS3 suite itself, which consists of gns3-server, gns3-gui, ubridge and vpcs. I plan to separate this to three steps in hope that it will be easier for committers to review the patches and new ports: - update for emulators/dynamips - new port for devel/py-aiofiles - new port for www/py-aiohttp-cors - new ports for the gns3 suite (gns3-server, gns3-gui, ubridge, vpcs) Link to the whole patch: https://freebsd.org/~misha/gns3.patch Testing and comments are appreciated.
Re: GNS3 port [dynamips update]
Update to the latest version and update for the patches, tested only on amd64. emulators/dynagen (depends on python2.7) briefly tested diff refs/heads/master refs/heads/gns3 commit - 37e0f4d6fac927ffe838b99ae6a1cd263e2d1b09 commit + dcaa6820e1d4cc6fecd85dcf2ec9dc05450ca695 blob - 3b1bdf0941e37e307178c1c617e2c0ebadcf4e19 blob + be5fa7166f110294be29bef9cc3797d66dd13864 --- emulators/dynamips/Makefile +++ emulators/dynamips/Makefile @@ -2,13 +2,13 @@ DISTNAME= dynamips-0.2.8-RC2 USE_WXNEEDED= Yes -DISTNAME= dynamips-0.2.8-RC2 -PKGNAME= ${DISTNAME:S/-RC/rc/} -REVISION= 9 +GH_ACCOUNT=GNS3 +GH_PROJECT=dynamips +GH_TAGNAME=v0.2.23 + CATEGORIES=emulators HOMEPAGE= http://www.gns3.net/dynamips/ -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=gns-3/} # GPL PERMIT_PACKAGE=Yes @@ -16,8 +16,8 @@ MAKE_ENV= DYNAMIPS_ARCH=${DYNAMIPS_ARCH} WANTLIB= c elf>=2 pcap pthread MAKE_ENV= DYNAMIPS_ARCH=${DYNAMIPS_ARCH} +MODULES= devel/cmake -USE_GMAKE= Yes NO_TEST= Yes .if ${MACHINE_ARCH} == "i386" @@ -28,9 +28,11 @@ post-install: DYNAMIPS_ARCH= "nojit" .endif +CONFIGURE_ARGS += -DDYNAMIPS_ARCH=${DYNAMIPS_ARCH} + post-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/dynamips -.for i in ChangeLog README README.hypervisor TODO +.for i in ChangeLog README.md README.hypervisor TODO ${INSTALL_DATA} ${WRKSRC}/$i ${PREFIX}/share/doc/dynamips .endfor blob - d3ccc77190bfc33262364943d97662c531d0c859 blob + b2913e7fd7237e89c613fd570c20eb5b5d977116 --- emulators/dynamips/distinfo +++ emulators/dynamips/distinfo @@ -1,2 +1,2 @@ -SHA256 (dynamips-0.2.8-RC2.tar.gz) = qLN3zmMRGeKFxAH9t8tNC8xgChVQi9/88zdUaVfiUt4= -SIZE (dynamips-0.2.8-RC2.tar.gz) = 578935 +SHA256 (dynamips-0.2.23.tar.gz) = UDu7UsA/kZAOqNvovQuAS3bi4o0LckJiTg08Ut2kQaE= +SIZE (dynamips-0.2.23.tar.gz) = 835736 blob - c0d41858e45dac99b393fc209a3048b14ed64a58 (mode 644) blob + /dev/null --- emulators/dynamips/patches/patch-Makefile +++ /dev/null @@ -1,116 +0,0 @@ -Index: Makefile Makefile.orig -+++ Makefile -@@ -35,8 +35,8 @@ LEX=flex - MIPS64_ARCH_INC_FILE=\"mips64_$(DYNAMIPS_ARCH)_trans.h\" - PPC32_ARCH_INC_FILE=\"ppc32_$(DYNAMIPS_ARCH)_trans.h\" - --CFLAGS+=-g -Wall -O3 -fomit-frame-pointer \ -- -DJIT_ARCH=\"$(DYNAMIPS_ARCH)\" -DJIT_CPU=CPU_$(DYNAMIPS_ARCH) \ -+CFLAGS?=-g -O3 -fomit-frame-pointer -+CFLAGS+=-Wall -DJIT_ARCH=\"$(DYNAMIPS_ARCH)\" -DJIT_CPU=CPU_$(DYNAMIPS_ARCH) \ - -DMIPS64_ARCH_INC_FILE=$(MIPS64_ARCH_INC_FILE) \ - -DPPC32_ARCH_INC_FILE=$(PPC32_ARCH_INC_FILE) \ - -DDYNAMIPS_VERSION=\"$(VERSION)\" \ -@@ -47,6 +47,12 @@ CFLAGS+=-g -Wall -O3 -fomit-frame-pointer \ - #PCAP_LIB=/usr/local/lib/libpcap.a - PCAP_LIB=-lpcap - -+ifeq ($(shell uname), OpenBSD) -+ PTHREAD_LIBS?=-pthread -+ PCAP_LIB=-lpcap -+ CFLAGS+=$(PTHREAD_CFLAGS) -+ LIBS=-L. -lelf $(PTHREAD_LIBS) -+else - ifeq ($(shell uname), FreeBSD) -PTHREAD_LIBS?=-pthread -LOCALBASE?=/usr/local -@@ -85,6 +91,7 @@ endif - endif - endif - endif -+endif - - PROG=dynamips$(BIN_EXT) - PACKAGE=$(PROG)-$(VERSION) -@@ -217,20 +224,20 @@ all: $(PROG) nvram_export - - $(PROG): mips64_microcode_dump.inc ppc32_microcode_dump.inc \ - $(LEX_C) $(C_OBJS) $(A_OBJS) -- @echo "Linking $@" -- @$(CC) -o $@ $(C_OBJS) $(A_OBJS) $(LIBS) -+ @#echo "Linking $@" -+ $(CC) -o $@ $(C_OBJS) $(A_OBJS) $(LIBS) - - udp_send$(BIN_EXT): udp_send.c net.c crc.c -- @echo "Linking $@" -- @$(CC) -Wall $(CFLAGS) -o $@ udp_send.c net.c crc.c $(LIBS) -+ @#echo "Linking $@" -+ $(CC) -Wall $(CFLAGS) -o $@ udp_send.c net.c crc.c $(LIBS) - - udp_recv$(BIN_EXT): udp_recv.c net.c crc.c -- @echo "Linking $@" -- @$(CC) -Wall $(CFLAGS) -o $@ udp_recv.c net.c crc.c $(LIBS) -+ @#echo "Linking $@" -+ $(CC) -Wall $(CFLAGS) -o $@ udp_recv.c net.c crc.c $(LIBS) - - rom2c$(BIN_EXT): rom2c.c -- @echo "Linking $@" -- @$(CC) -Wall $(CFLAGS) -o $@ rom2c.c $(LIBS) -+ @#echo "Linking $@" -+ $(CC) -Wall $(CFLAGS) -o $@ rom2c.c $(LIBS) - - mips64_microcode_dump.inc: rom2c$(BIN_EXT) mips64_microcode - @./rom2c mips64_microcode mips64_microcode_dump.inc 0xbfc0 -@@ -239,24 +246,24 @@ ppc32_microcode_dump.inc: rom2c$(BIN_EXT) ppc32_microc - @./rom2c ppc32_microcode ppc32_microcode_dump.inc 0xfff0 - - asmdefs$(BIN_EXT): asmdefs.c mips64.h -- @echo "Linking $@" -- @$(CC) -Wall $(CFLAGS) -o $@ asmdefs.c -+ @#echo "Linking $@" -+ $(CC) -Wall $(CFLAGS) -o $@ asmdefs.c - - asmdefs.h: asmdefs$(BIN_EXT) -- @echo "Building assembly definitions header file" -+ @#echo "Building assembly definitions header file" - @./asmdefs - - nvram_export$(BIN_EXT): nvram_export.c -- @echo "Linking $@" -- @$(CC) -Wall $(CFLAGS) -o $@ nvram_export.c -+