import dynagen:

Dynagen is a text-based front-end, using an INI-like configuration
file to provision Dynamips emulator networks.

It takes care of specifying the right port adapters, generating
and matching up NIO descriptors, specifying bridges, frame-relay,
ATM switches, etc.

It also provides a management CLI for listing devices, suspending
and reloading instances, determining and managing idle-pc values, etc.

feedback and ok ajacoutot
This commit is contained in:
sthen 2008-01-18 09:12:12 +00:00
parent 60bf79475b
commit d855fd313d
6 changed files with 147 additions and 0 deletions

View File

@ -0,0 +1,48 @@
# $OpenBSD: Makefile,v 1.1.1.1 2008/01/18 09:12:12 sthen Exp $
COMMENT= front-end for dynamips cisco emulator
DISTNAME= dynagen-0.10.1
CATEGORIES= emulators
HOMEPAGE= http://dyna-gen.sourceforge.net/
MAINTAINER= Stuart Henderson <sthen@openbsd.org>
# GPL
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=dyna-gen/}
MODULES= lang/python
RUN_DEPENDS= ::emulators/dynamips
NO_BUILD= Yes
NO_REGRESS= Yes
PKG_ARCH= *
post-extract:
@find ${WRKSRC} -type f -exec perl -pi -e 's:\x0d::' {} \;
do-install:
@perl -pi -e 's:%%PREFIX%%:${TRUEPREFIX}:;' -e \
's:%%SYSCONFDIR%%:${SYSCONFDIR}:;' -e \
's:/usr/bin/env python:${MODPY_BIN}:' ${WRKSRC}/dynagen
${INSTALL_SCRIPT} ${WRKSRC}/dynagen ${PREFIX}/bin/
${INSTALL_DATA_DIR} ${DESTDIR}${MODPY_SITEPKG}/dynagen
${INSTALL_SCRIPT} ${WRKSRC}/*.py* ${DESTDIR}${MODPY_SITEPKG}/dynagen
${INSTALL_SCRIPT} ${FILESDIR}/*.py* ${DESTDIR}${MODPY_SITEPKG}/dynagen
${INSTALL_DATA_DIR} ${PREFIX}/share/dynagen
${INSTALL_DATA} ${WRKSRC}/configspec ${PREFIX}/share/dynagen
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/dynagen/tutorial_files
${INSTALL_DATA} ${WRKSRC}/docs/*htm* ${PREFIX}/share/doc/dynagen
${INSTALL_DATA} ${WRKSRC}/docs/tutorial_files/* \
${PREFIX}/share/doc/dynagen/tutorial_files
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/dynagen
${INSTALL_DATA} ${WRKSRC}/dynagen.ini ${PREFIX}/share/examples/dynagen
@cp -R ${WRKSRC}/sample_labs/* ${PREFIX}/share/examples/dynagen
.include <bsd.port.mk>

View File

@ -0,0 +1,5 @@
MD5 (dynagen-0.10.1.tar.gz) = TKJuS0uL7mGnf5LqzoQE0A==
RMD160 (dynagen-0.10.1.tar.gz) = JNomIWjGrQvjS9xG85bLbh5Gb2M=
SHA1 (dynagen-0.10.1.tar.gz) = bZY+1WxSwngE5VWl9HrTgH5n9lQ=
SHA256 (dynagen-0.10.1.tar.gz) = wfl7UptXAgmArF4W2fi4iyDfEoQhTDiR7Rxq9cVdhqY=
SIZE (dynagen-0.10.1.tar.gz) = 614999

View File

@ -0,0 +1 @@
__all__ = ['configobj', 'console', 'dynamips_lib', 'validate']

View File

@ -0,0 +1,34 @@
$OpenBSD: patch-dynagen,v 1.1.1.1 2008/01/18 09:12:12 sthen Exp $
--- dynagen.orig Tue Jan 15 21:42:17 2008
+++ dynagen Tue Jan 15 21:47:05 2008
@@ -20,8 +20,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Bos
"""
import sys, os, re, traceback
-from console import Console
-from dynamips_lib import Dynamips, PA_C7200_IO_FE, PA_A1, PA_FE_TX, PA_4T, PA_8T, \
+from dynagen.console import Console
+from dynagen.dynamips_lib import Dynamips, PA_C7200_IO_FE, PA_A1, PA_FE_TX, PA_4T, PA_8T, \
PA_4E, PA_8E, PA_POS_OC3, Router, C7200, C3600, Leopard_2FE, NM_1FE_TX, NM_1E, NM_4E, \
NM_16ESW, NM_4T, DynamipsError, DynamipsWarning, Bridge, FRSW, ATMSW, ETHSW, \
NIO_udp, NIO_linux_eth, NIO_gen_eth, NIO_tap, NIO_unix, NIO_vde, nosend, setdebug, \
@@ -29,15 +29,15 @@ from dynamips_lib import Dynamips, PA_C7200_IO_FE, PA_
CISCO2600_MB_1E, CISCO2600_MB_2E, CISCO2600_MB_1FE, CISCO2600_MB_2FE, PA_2FE_TX, \
PA_GE, PA_C7200_IO_2FE, PA_C7200_IO_GE_E, C1700, CISCO1710_MB_1FE_1E, C1700_MB_1ETH, \
DEVICETUPLE, DynamipsVerError, DynamipsErrorHandled, WICS, NM_CIDS, NM_NAM
-from validate import Validator
-from configobj import ConfigObj, flatten_errors
+from dynagen.validate import Validator
+from dynagen.configobj import ConfigObj, flatten_errors
from optparse import OptionParser
# Constants
VERSION = '0.10.1.090807'
-CONFIGSPECPATH = [ "/usr/share/dynagen", "/usr/local/share" ]
+CONFIGSPECPATH = [ "%%PREFIX%%/share/dynagen" ]
CONFIGSPEC = 'configspec'
-INIPATH = [ "/etc", "/usr/local/etc" ]
+INIPATH = [ "%%SYSCONFDIR%%" ]
INIFILE = 'dynagen.ini'
MODELTUPLE = (C1700, C2600, C2691, C3725, C3745, C3600, C7200) # A tuple of known model objects
ADAPTER_TRANSFORM = {

View File

@ -0,0 +1,9 @@
Dynagen is a text-based front-end, using an INI-like configuration
file to provision Dynamips emulator networks.
It takes care of specifying the right port adapters, generating
and matching up NIO descriptors, specifying bridges, frame-relay,
ATM switches, etc.
It also provides a management CLI for listing devices, suspending
and reloading instances, determining and managing idle-pc values, etc.

View File

@ -0,0 +1,50 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2008/01/18 09:12:12 sthen Exp $
bin/dynagen
lib/python${MODPY_VERSION}/site-packages/dynagen/
lib/python${MODPY_VERSION}/site-packages/dynagen/__init__.py
lib/python${MODPY_VERSION}/site-packages/dynagen/configobj.py
lib/python${MODPY_VERSION}/site-packages/dynagen/console.py
lib/python${MODPY_VERSION}/site-packages/dynagen/dynamips_lib.py
lib/python${MODPY_VERSION}/site-packages/dynagen/validate.py
share/doc/dynagen/
share/doc/dynagen/tutorial.htm
share/doc/dynagen/tutorial_files/
share/doc/dynagen/tutorial_files/image001.jpg
share/doc/dynagen/tutorial_files/image002.gif
share/doc/dynagen/tutorial_files/image003.gif
share/doc/dynagen/tutorial_files/image004.gif
share/doc/dynagen/tutorial_files/image005.jpg
share/doc/dynagen/tutorial_files/image006.jpg
share/doc/dynagen/tutorial_files/image007.jpg
share/doc/dynagen/tutorial_files/image008.jpg
share/doc/dynagen/tutorial_files/image009.jpg
share/doc/dynagen/tutorial_files/image010.jpg
share/doc/dynagen/tutorial_files/image011.gif
share/doc/dynagen/tutorial_files/image012.gif
share/doc/dynagen/tutorial_files/image013.gif
share/doc/dynagen/tutorial_files/image014.gif
share/doc/dynagen/tutorial_files/image015.gif
share/doc/dynagen/tutorial_files/image016.gif
share/doc/dynagen/tutorial_files/image017.gif
share/doc/dynagen/tutorial_files/image018.gif
share/doc/dynagen/tutorial_files/image019.gif
share/doc/dynagen/tutorial_files/image020.gif
share/doc/dynagen/tutorial_files/image021.gif
share/doc/dynagen/tutorial_files/image022.jpg
share/doc/dynagen/tutorial_files/image023.jpg
share/dynagen/
share/dynagen/configspec
share/examples/dynagen/
share/examples/dynagen/all_config_options.txt
share/examples/dynagen/dynagen.ini
@sample ${SYSCONFDIR}/dynagen.ini
share/examples/dynagen/ethernet_switch/
share/examples/dynagen/ethernet_switch/ethsw1.net
share/examples/dynagen/frame_relay/
share/examples/dynagen/frame_relay/frame_relay1.net
share/examples/dynagen/multiserver/
share/examples/dynagen/multiserver/multiserver.net
share/examples/dynagen/simple1/
share/examples/dynagen/simple1/simple1.net
share/examples/dynagen/simple2/
share/examples/dynagen/simple2/simple2.net