diff options
author | Martin Wilke <miwi@FreeBSD.org> | 2007-03-26 09:37:11 +0000 |
---|---|---|
committer | Martin Wilke <miwi@FreeBSD.org> | 2007-03-26 09:37:11 +0000 |
commit | 82ddba6e7c05b8da5d1ec6d96bcb9a135145eca3 (patch) | |
tree | 9b34c9a45a2b8def0d8db374d0acc899e5785b37 /emulators/dynamips-devel | |
parent | 6e3ad7831eaa62b80cb3be28d99675b34df4631c (diff) | |
download | ports-82ddba6e7c05b8da5d1ec6d96bcb9a135145eca3.tar.gz ports-82ddba6e7c05b8da5d1ec6d96bcb9a135145eca3.zip |
Notes
Diffstat (limited to 'emulators/dynamips-devel')
-rw-r--r-- | emulators/dynamips-devel/Makefile | 27 | ||||
-rw-r--r-- | emulators/dynamips-devel/distinfo | 6 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-Makefile | 25 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-README.hypervisor | 11 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-dynamips.1 | 11 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-dynamips.c | 53 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-hypervisor.c | 20 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-hypervisor.h | 10 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-hypervisor_mode.7 | 11 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-net.c | 38 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-net.h | 10 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-nojit_trans.c | 11 | ||||
-rw-r--r-- | emulators/dynamips-devel/files/patch-utils.h | 21 | ||||
-rw-r--r-- | emulators/dynamips-devel/pkg-descr | 2 |
14 files changed, 216 insertions, 40 deletions
diff --git a/emulators/dynamips-devel/Makefile b/emulators/dynamips-devel/Makefile index 497591cc9e33..96afc67314c4 100644 --- a/emulators/dynamips-devel/Makefile +++ b/emulators/dynamips-devel/Makefile @@ -1,17 +1,17 @@ # New ports collection makefile for: dynamips -# Date created: 31 Jan 2006 -# Whom: Max Khon <fjoe@FreeBSD.org> +# Date created: 21 Mar 2007 +# Whom: Pavel Volkov <pol@opk.ru> # # $FreeBSD$ # PORTNAME= dynamips -PORTVERSION= 0.2.5 -PORTREVISION= 2 +DISTVERSION= 0.2.7-RC1 CATEGORIES= emulators MASTER_SITES= http://www.ipflow.utc.fr/dynamips/ +PKGNAMESUFFIX= -devel -MAINTAINER= fjoe@FreeBSD.org +MAINTAINER= pol@opk.ru COMMENT= Cisco 3600/7200 Simulator LIB_DEPENDS= elf.0:${PORTSDIR}/devel/libelf @@ -19,22 +19,33 @@ LIB_DEPENDS= elf.0:${PORTSDIR}/devel/libelf USE_GMAKE= yes USE_GCC= 3.2+ USE_GETOPT_LONG=yes -ALL_TARGET= ${PORTNAME} +ALL_TARGET= ${PORTNAME} nvram_export MAKE_ENV= DYNAMIPS_ARCH=${DYNAMIPS_ARCH}\ PTHREAD_CFLAGS=${PTHREAD_CFLAGS}\ PTHREAD_LIBS=${PTHREAD_LIBS}\ LDFLAGS="${LDFLAGS}" -PLIST_FILES= bin/${PORTNAME} +PLIST_FILES= bin/${PORTNAME} bin/nvram_export .if !defined(NOPORTDOCS) -PORTDOCS= README +PORTDOCS= README README.hypervisor +.endif +.if !defined(NO_INSTALL_MANPAGES) +MAN1= ${PORTNAME}.1 nvram_export.1 +MAN7= hypervisor_mode.7 .endif do-install: ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/nvram_export ${PREFIX}/bin .if !defined(NOPORTDOCS) ${MKDIR} ${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/README.hypervisor ${DOCSDIR} +.endif +.if !defined(NO_INSTALL_MANPAGES) + ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${PREFIX}/man/man1 + ${INSTALL_MAN} ${WRKSRC}/nvram_export.1 ${PREFIX}/man/man1 + ${INSTALL_MAN} ${WRKSRC}/hypervisor_mode.7 ${PREFIX}/man/man7 .endif .include <bsd.port.pre.mk> diff --git a/emulators/dynamips-devel/distinfo b/emulators/dynamips-devel/distinfo index 39e9c46d415e..c57e6443dc0a 100644 --- a/emulators/dynamips-devel/distinfo +++ b/emulators/dynamips-devel/distinfo @@ -1,3 +1,3 @@ -MD5 (dynamips-0.2.5.tar.gz) = b87ef442f7537373ccbe69c3f6dca301 -SHA256 (dynamips-0.2.5.tar.gz) = eab3f45b0e040be5748523a4ae0f2fae28ee9dd3068b56663459c7e84451de75 -SIZE (dynamips-0.2.5.tar.gz) = 312130 +MD5 (dynamips-0.2.7-RC1.tar.gz) = 1e736add1285fef3bf7671f6217aee4c +SHA256 (dynamips-0.2.7-RC1.tar.gz) = 6ff4458853b07ac63c6f83dcbea687db2b97d38177e15701da7153cd037bf80a +SIZE (dynamips-0.2.7-RC1.tar.gz) = 480761 diff --git a/emulators/dynamips-devel/files/patch-Makefile b/emulators/dynamips-devel/files/patch-Makefile index 8f90939acbd7..18f63ba9e554 100644 --- a/emulators/dynamips-devel/files/patch-Makefile +++ b/emulators/dynamips-devel/files/patch-Makefile @@ -1,5 +1,5 @@ ---- Makefile.orig Thu Sep 14 17:59:13 2006 -+++ Makefile Tue Nov 14 10:27:26 2006 +--- Makefile.orig Thu Feb 8 15:23:36 2007 ++++ Makefile Thu Feb 8 15:34:39 2007 @@ -12,6 +12,9 @@ # (WinPcap is used for Cygwin) HAS_PCAP?=1 @@ -8,14 +8,14 @@ +HAS_POSIX_MEMALIGN?=0 + # Current dynamips release - VERSION=0.2.5 - VERSION_DEV=$(VERSION)-$(shell date +%Y%m%d-%H) -@@ -30,15 +33,16 @@ + VERSION_TRAIN=0.2.6 + VERSION_SUB=-RC5 +@@ -34,16 +37,17 @@ -DJIT_ARCH=\"$(DYNAMIPS_ARCH)\" \ -DARCH_INC_FILE=$(ARCH_INC_FILE) -DDYNAMIPS_VERSION=\"$(VERSION)\" \ - -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \ + -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \ - -DHAS_RFC2553=$(HAS_RFC2553) -+ -DHAS_RFC2553=$(HAS_RFC2553) -DHAS_POSIX_MEMALIGN=$(HAS_POSIX_MEMALIGN) ++ -DHAS_RFC2553=$(HAS_RFC2553) -DHAS_POSIX_MEMALIGN=$(HAS_POSIX_MEMALIGN) -PCAP_LIB=/usr/local/lib/libpcap.a -#PCAP_LIB=-lpcap @@ -24,11 +24,12 @@ ifeq ($(shell uname), FreeBSD) PTHREAD_LIBS?=-pthread -- CFLAGS+=-I/usr/local/include -I/usr/local/include/libelf $(PTHREAD_CFLAGS) -- LIBS=-L/usr/local/lib -L. -lelf $(PTHREAD_LIBS) +- CFLAGS+=-I/usr/local/include -I/usr/local/include/libelf $(PTHREAD_CFLAGS) \ + LOCALBASE?=/usr/local -+ CFLAGS+=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/libelf $(PTHREAD_CFLAGS) ++ CFLAGS+=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/libelf $(PTHREAD_CFLAGS) \ + -D_FILE_OFFSET_BITS=64 +- LIBS=-L/usr/local/lib -L. -lelf $(PTHREAD_LIBS) + LIBS=-L$(LOCALBASE)/lib -L. -lelf $(PTHREAD_LIBS) $(LDFLAGS) else - ifeq ($(shell uname -s), Darwin) - CFLAGS+=-I/usr/local/include -mdynamic-no-pic + ifeq ($(shell uname), Linux) + PTHREAD_LIBS?=-lpthread diff --git a/emulators/dynamips-devel/files/patch-README.hypervisor b/emulators/dynamips-devel/files/patch-README.hypervisor new file mode 100644 index 000000000000..6575388ea27d --- /dev/null +++ b/emulators/dynamips-devel/files/patch-README.hypervisor @@ -0,0 +1,11 @@ +--- README.hypervisor.orig Wed Mar 21 10:00:28 2007 ++++ README.hypervisor Wed Mar 21 10:01:22 2007 +@@ -8,7 +8,7 @@ + Running dynamips in hypervisor mode + =================================== + +-dynamips -H <tcp_port> ++dynamips -H [ip_address:]<tcp_port> + + Managing the hypervisor + ======================= diff --git a/emulators/dynamips-devel/files/patch-dynamips.1 b/emulators/dynamips-devel/files/patch-dynamips.1 new file mode 100644 index 000000000000..4a6ab8d1f1e6 --- /dev/null +++ b/emulators/dynamips-devel/files/patch-dynamips.1 @@ -0,0 +1,11 @@ +--- dynamips.1.orig Wed Mar 21 14:26:01 2007 ++++ dynamips.1 Wed Mar 21 14:26:30 2007 +@@ -44,7 +44,7 @@ + .SH OPTIONS + A summary of options is included below. + .TP +-.B -H <tcp_port> ++.B -H [ip_address:]<tcp_port> + Enable hypervisor mode. + .br + The hypervisor mode of dynamips allows you to run simultaneously diff --git a/emulators/dynamips-devel/files/patch-dynamips.c b/emulators/dynamips-devel/files/patch-dynamips.c new file mode 100644 index 000000000000..253c3dbb54b9 --- /dev/null +++ b/emulators/dynamips-devel/files/patch-dynamips.c @@ -0,0 +1,53 @@ +--- dynamips.c.orig Wed Mar 21 10:07:17 2007 ++++ dynamips.c Wed Mar 21 13:39:57 2007 +@@ -61,6 +61,7 @@ + /* Hypervisor */ + int hypervisor_mode = 0; + int hypervisor_tcp_port = 0; ++char hypervisor_ip_address[263]; /* 256(MAXHOSTNAMELEN)+1(:)+5(port)+NULL */ + + /* Log file */ + char *log_file_name = NULL; +@@ -227,7 +228,7 @@ + printf("Usage: %s [options] <ios_image>\n\n",argv[0]); + + printf("Available options:\n" +- " -H <tcp_port> : Run in hypervisor mode\n\n" ++ " -H [ip_address:]<tcp_port> : Run in hypervisor mode\n\n" + " -P <platform> : Platform to emulate (7200, 3600, " + "2691, 3725 or 3745) " + "(default: 7200)\n\n" +@@ -1061,6 +1062,7 @@ + static int run_hypervisor(int argc,char *argv[]) + { + char *options_list = "H:l:hN:"; ++ char *index; + int i,option; + + for(i=1;i<argc;i++) +@@ -1079,7 +1081,15 @@ + { + /* Hypervisor TCP port */ + case 'H': +- hypervisor_tcp_port = atoi(optarg); ++ strncpy(hypervisor_ip_address,optarg,sizeof(hypervisor_ip_address)); ++ index=strrchr(hypervisor_ip_address,':'); ++ if (index != NULL) { ++ *index++='\000'; ++ hypervisor_tcp_port = atoi(index); ++ } else { ++ hypervisor_tcp_port = atoi(hypervisor_ip_address); ++ hypervisor_ip_address[0]='\000'; ++ } + break; + + /* Log file */ +@@ -1244,7 +1254,7 @@ + /* Free resources used by instance */ + vm_release(vm); + } else { +- hypervisor_tcp_server(hypervisor_tcp_port); ++ hypervisor_tcp_server(hypervisor_ip_address,hypervisor_tcp_port); + } + + dynamips_reset(); diff --git a/emulators/dynamips-devel/files/patch-hypervisor.c b/emulators/dynamips-devel/files/patch-hypervisor.c new file mode 100644 index 000000000000..d3e5cbf09360 --- /dev/null +++ b/emulators/dynamips-devel/files/patch-hypervisor.c @@ -0,0 +1,20 @@ +--- hypervisor.c.orig Wed Mar 21 11:11:12 2007 ++++ hypervisor.c Wed Mar 21 11:29:55 2007 +@@ -535,7 +535,7 @@ + } + + /* Hypervisor TCP server */ +-int hypervisor_tcp_server(int tcp_port) ++int hypervisor_tcp_server(char* ip_address,int tcp_port) + { + int fd_array[HYPERVISOR_MAX_FD]; + struct sockaddr_storage remote_addr; +@@ -565,7 +565,7 @@ + if (!tcp_port) + tcp_port = HYPERVISOR_TCP_PORT; + +- fd_count = ip_listen(tcp_port,SOCK_STREAM,HYPERVISOR_MAX_FD,fd_array); ++ fd_count = ip_listen(ip_address,tcp_port,SOCK_STREAM,HYPERVISOR_MAX_FD,fd_array); + + if (fd_count <= 0) { + fprintf(stderr,"Hypervisor: unable to create TCP sockets.\n"); diff --git a/emulators/dynamips-devel/files/patch-hypervisor.h b/emulators/dynamips-devel/files/patch-hypervisor.h new file mode 100644 index 000000000000..2b7458bd5aaf --- /dev/null +++ b/emulators/dynamips-devel/files/patch-hypervisor.h @@ -0,0 +1,10 @@ +--- hypervisor.h.orig Wed Mar 21 10:58:06 2007 ++++ hypervisor.h Wed Mar 21 11:09:40 2007 +@@ -136,6 +136,6 @@ + int hypervisor_stopsig(void); + + /* Hypervisor TCP server */ +-int hypervisor_tcp_server(int tcp_port); ++int hypervisor_tcp_server(char *ip_address,int tcp_port); + + #endif diff --git a/emulators/dynamips-devel/files/patch-hypervisor_mode.7 b/emulators/dynamips-devel/files/patch-hypervisor_mode.7 new file mode 100644 index 000000000000..d11ced491f95 --- /dev/null +++ b/emulators/dynamips-devel/files/patch-hypervisor_mode.7 @@ -0,0 +1,11 @@ +--- hypervisor_mode.7.orig Wed Mar 21 11:02:14 2007 ++++ hypervisor_mode.7 Wed Mar 21 11:02:40 2007 +@@ -5,7 +5,7 @@ + or Frame-Relay networks. + .SH SYNOPSIS + .B dynamips -H +-\fItcp_port\fP ++\fI[ip_address:]tcp_port\fP + + .SH DESCRIPTION + You can connect directly to the TCP control port with telnet, or use diff --git a/emulators/dynamips-devel/files/patch-net.c b/emulators/dynamips-devel/files/patch-net.c new file mode 100644 index 000000000000..155b2c913433 --- /dev/null +++ b/emulators/dynamips-devel/files/patch-net.c @@ -0,0 +1,38 @@ +--- net.c.orig Wed Mar 21 11:34:17 2007 ++++ net.c Wed Mar 21 11:55:29 2007 +@@ -353,7 +353,7 @@ + + #if HAS_RFC2553 + /* Listen on the specified port */ +-int ip_listen(int port,int sock_type,int max_fd,int fd_array[]) ++int ip_listen(char *ip_address,int port,int sock_type,int max_fd,int fd_array[]) + { + struct addrinfo hints,*res,*res0; + char port_str[20]; +@@ -370,7 +370,7 @@ + + snprintf(port_str,sizeof(port_str),"%d",port); + +- if ((error = getaddrinfo(NULL,port_str,&hints,&res0)) != 0) { ++ if ((error = getaddrinfo((strlen(ip_address)==0)?NULL:ip_address,port_str,&hints,&res0)) != 0) { + fprintf(stderr,"ip_listen: %s", gai_strerror(error)); + return(-1); + } +@@ -405,7 +405,7 @@ + } + #else + /* Listen on the specified port */ +-int ip_listen(int port,int sock_type,int max_fd,int fd_array[]) ++int ip_listen(char *ip_address,int port,int sock_type,int max_fd,int fd_array[]) + { + struct sockaddr_in sin; + int i,sck,reuse=1; +@@ -422,6 +422,8 @@ + memset(&sin,0,sizeof(sin)); + sin.sin_family = PF_INET; + sin.sin_port = htons(port); ++ if (strlen(ip_address) != 0 && inet_addr(ip_address) != INADDR_NONE) ++ sin.sin_addr = inet_addr(ip_address); + + setsockopt(fd_array[0],SOL_SOCKET,SO_REUSEADDR,&reuse,sizeof(reuse)); + diff --git a/emulators/dynamips-devel/files/patch-net.h b/emulators/dynamips-devel/files/patch-net.h new file mode 100644 index 000000000000..c464eda2bac6 --- /dev/null +++ b/emulators/dynamips-devel/files/patch-net.h @@ -0,0 +1,10 @@ +--- net.h.orig Wed Mar 21 11:32:05 2007 ++++ net.h Wed Mar 21 11:33:28 2007 +@@ -218,6 +218,6 @@ + int udp_connect(int local_port,char *remote_host,int remote_port); + + /* Listen on the specified port */ +-int ip_listen(int port,int sock_type,int max_fd,int fd_array[]); ++int ip_listen(char *ip_address,int port,int sock_type,int max_fd,int fd_array[]); + + #endif diff --git a/emulators/dynamips-devel/files/patch-nojit_trans.c b/emulators/dynamips-devel/files/patch-nojit_trans.c deleted file mode 100644 index 83c0ef37d8cc..000000000000 --- a/emulators/dynamips-devel/files/patch-nojit_trans.c +++ /dev/null @@ -1,11 +0,0 @@ ---- nojit_trans.c.orig Tue Nov 14 04:12:11 2006 -+++ nojit_trans.c Tue Nov 14 04:12:21 2006 -@@ -51,7 +51,7 @@ - EMPTY(void mips64_set_pc(insn_block_t *b,m_uint64_t new_pc)); - EMPTY(void mips64_set_ra(insn_block_t *b,m_uint64_t ret_pc)); - EMPTY(void mips64_emit_breakpoint(insn_block_t *b)); --EMPTY(void mips64_emit_invalid_delay_slot(insn_block_t *b)); -+EMPTY(int mips64_emit_invalid_delay_slot(insn_block_t *b)); - EMPTY(void mips64_inc_cp0_count_reg(insn_block_t *b)); - EMPTY(void mips64_check_pending_irq(insn_block_t *b)); - EMPTY(void mips64_inc_perf_counter(insn_block_t *b)); diff --git a/emulators/dynamips-devel/files/patch-utils.h b/emulators/dynamips-devel/files/patch-utils.h index a8edbe606abf..f3219655f78b 100644 --- a/emulators/dynamips-devel/files/patch-utils.h +++ b/emulators/dynamips-devel/files/patch-utils.h @@ -1,11 +1,20 @@ ---- utils.h.orig Fri Feb 24 06:59:58 2006 -+++ utils.h Fri Feb 24 07:00:14 2006 -@@ -34,6 +34,8 @@ +--- utils.h.orig Wed Feb 14 20:37:58 2007 ++++ utils.h Tue Feb 20 18:56:54 2007 +@@ -12,6 +12,8 @@ + #include <sys/time.h> + #include <time.h> + #include <netinet/in.h> ++#include <pthread.h> ++#include <signal.h> + + /* True/False definitions */ + #ifndef FALSE +@@ -35,6 +37,8 @@ + #elif defined(__i386) || defined(__i386__) || defined(i386) #define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN #elif defined(__x86_64__) - #define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN -+#elif defined(__ia64__) +#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN ++#elif defined(__ia64__) + #define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN #endif - #ifndef ARCH_BYTE_ORDER diff --git a/emulators/dynamips-devel/pkg-descr b/emulators/dynamips-devel/pkg-descr index 6a3bb92dfde1..00fe7694fb96 100644 --- a/emulators/dynamips-devel/pkg-descr +++ b/emulators/dynamips-devel/pkg-descr @@ -1,3 +1,5 @@ Cisco 3600/7200 simulator. WWW: http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator + http://www.ipflow.utc.fr/blog/ + http://hacki.at/7200emu/index.php |