aboutsummaryrefslogtreecommitdiffstats
path: root/net/gnomenettool
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2004-07-06 03:36:26 +0800
committermarcus <marcus@FreeBSD.org>2004-07-06 03:36:26 +0800
commit34f9f23cff3cd578862ca9a1fe4d2a33022fbb9c (patch)
treeec05a162fc707a3d7318813f9d22090e76a84c12 /net/gnomenettool
parentc34f6f675bdf62bf4451b9cfe3267d5c3a0be918 (diff)
downloadfreebsd-ports-gnome-34f9f23cff3cd578862ca9a1fe4d2a33022fbb9c.tar.gz
freebsd-ports-gnome-34f9f23cff3cd578862ca9a1fe4d2a33022fbb9c.tar.zst
freebsd-ports-gnome-34f9f23cff3cd578862ca9a1fe4d2a33022fbb9c.zip
Add gnomenettool after a repo-copy from gnomenetwork. Gnome-nettool is the
netinfo piece of gnome-network broken out into its own distribution. Gnome-nettool is a MacOS X-like Network Utility that disaplys interface information as well as front-ends many useful network tools like ping, netstat, traceroute, host, finger, and whois.
Diffstat (limited to 'net/gnomenettool')
-rw-r--r--net/gnomenettool/Makefile23
-rw-r--r--net/gnomenettool/distinfo4
-rw-r--r--net/gnomenettool/files/patch-configure49
-rw-r--r--net/gnomenettool/files/patch-gnome-netinfo::info.c63
-rw-r--r--net/gnomenettool/files/patch-gnome-netinfo_callbacks.c10
-rw-r--r--net/gnomenettool/files/patch-gnome-netinfo_netinfo.c41
-rw-r--r--net/gnomenettool/files/patch-gnome-netinfo_netstat.c136
-rw-r--r--net/gnomenettool/files/patch-gnome-netinfo_netstat.h14
-rw-r--r--net/gnomenettool/files/patch-gnome-netinfo_ping.c11
-rw-r--r--net/gnomenettool/files/patch-gnome-netinfo_ping.h11
-rw-r--r--net/gnomenettool/files/patch-gnome-netinfo_util-mii.c15
-rw-r--r--net/gnomenettool/files/patch-network-utilities_gnome-remote-shell.c12
-rw-r--r--net/gnomenettool/files/patch-src_info.c191
-rw-r--r--net/gnomenettool/files/patch-src_netstat.c20
-rw-r--r--net/gnomenettool/files/patch-src_nettool.c10
-rw-r--r--net/gnomenettool/files/patch-src_utils.c11
-rw-r--r--net/gnomenettool/pkg-descr13
-rw-r--r--net/gnomenettool/pkg-plist104
18 files changed, 340 insertions, 398 deletions
diff --git a/net/gnomenettool/Makefile b/net/gnomenettool/Makefile
index 75eec38b0530..5d49f0c0725c 100644
--- a/net/gnomenettool/Makefile
+++ b/net/gnomenettool/Makefile
@@ -5,29 +5,28 @@
# $FreeBSD$
#
-PORTNAME= gnomenetwork
-PORTVERSION= 1.99.5
-PORTREVISION= 3
+PORTNAME= gnomenettool
+PORTVERSION= 0.99.1
CATEGORIES= net gnome
MASTER_SITES= ${MASTER_SITE_GNOME}
-MASTER_SITE_SUBDIR= sources/gnome-network/1.99
-DISTNAME= gnome-network-${PORTVERSION}
+MASTER_SITE_SUBDIR= sources/gnome-nettool/0.99
+DISTNAME= gnome-nettool-${PORTVERSION}
DIST_SUBDIR= gnome2
MAINTAINER= gnome@FreeBSD.org
-COMMENT= A library for writing networked servers & clients
+COMMENT= A GNOME utility that provides network information statistics
USE_X_PREFIX= yes
USE_BZIP2= yes
-USE_GNOME= gnomehack gnomeprefix libgnomeui
+USE_GNOME= gnomehack intlhack lthack gnomeprefix libgnomeui
USE_GMAKE= yes
USE_LIBTOOL_VER=13
-CONFIGURE_ARGS= CPPFLAGS="-I${LOCALBASE}/include" \
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
-post-patch:
- ${FIND} ${WRKSRC} -name "intltool-merge.in" | ${XARGS} ${REINPLACE_CMD} -e \
- 's|mkdir $$lang or|mkdir $$lang, 0777 or| ; \
- s|^push @INC, "/.*|push @INC, "${LOCALBASE}/share/intltool";|'
+post-install:
+ ${MKDIR} ${PREFIX}/share/gnome/pixmaps
+ ${LN} -sf ${PREFIX}/share/gnome/gnome-nettool/pixmaps/gnome-nettool.png \
+ ${PREFIX}/share/gnome/pixmaps/gnome-nettool.png
.include <bsd.port.mk>
diff --git a/net/gnomenettool/distinfo b/net/gnomenettool/distinfo
index 10a870525cae..67cc3f2009a2 100644
--- a/net/gnomenettool/distinfo
+++ b/net/gnomenettool/distinfo
@@ -1,2 +1,2 @@
-MD5 (gnome2/gnome-network-1.99.5.tar.bz2) = 77532442a106d06ed2fe015f87d9b522
-SIZE (gnome2/gnome-network-1.99.5.tar.bz2) = 660804
+MD5 (gnome2/gnome-nettool-0.99.1.tar.bz2) = 090c425dc85415e1525298c7014c95a2
+SIZE (gnome2/gnome-nettool-0.99.1.tar.bz2) = 498036
diff --git a/net/gnomenettool/files/patch-configure b/net/gnomenettool/files/patch-configure
index f195f07b43c6..d2759248b4d6 100644
--- a/net/gnomenettool/files/patch-configure
+++ b/net/gnomenettool/files/patch-configure
@@ -1,10 +1,49 @@
---- configure.orig Wed Dec 11 18:31:51 2002
-+++ configure Thu Dec 12 12:07:17 2002
-@@ -7414,6 +7414,7 @@
+--- configure.orig Sun Jul 4 16:00:33 2004
++++ configure Sun Jul 4 16:02:31 2004
+@@ -20269,7 +20269,7 @@
+
# This can be used to rebuild libtool when needed
- LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-+$ac_aux_dir/ltconfig $LIBTOOL_DEPS
+-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"; $ac_aux_dir/ltconfig $LIBTOOL_DEPS;
++LIBTOOL_DEPS="--disable-ltlibs /usr/local/share/libtool13/ltmain.sh"; /usr/local/share/libtool13/ltconfig13 $LIBTOOL_DEPS;
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+@@ -22038,13 +22038,13 @@
+ if test "x${prefix}" = "xNONE"; then
+
+ cat >>confdefs.h <<_ACEOF
+-#define GNOME_ICONDIR "${ac_default_prefix}/share/pixmaps"
++#define GNOME_ICONDIR "${ac_default_prefix}/share/gnome/pixmaps"
+ _ACEOF
+
+ else
+
+ cat >>confdefs.h <<_ACEOF
+-#define GNOME_ICONDIR "${prefix}/share/pixmaps"
++#define GNOME_ICONDIR "${prefix}/share/gnome/pixmaps"
+ _ACEOF
+
+ fi
+@@ -22052,17 +22052,17 @@
+ if test "x${prefix}" = "xNONE"; then
+
+ cat >>confdefs.h <<_ACEOF
+-#define PIXMAPS_DIR "${ac_default_prefix}/${DATADIRNAME}/${PACKAGE}/pixmaps"
++#define PIXMAPS_DIR "${ac_default_prefix}/${DATADIRNAME}/gnome/${PACKAGE}/pixmaps"
+ _ACEOF
+
+- pixmapsdir="${ac_default_prefix}/${DATADIRNAME}/${PACKAGE}/pixmaps"
++ pixmapsdir="${ac_default_prefix}/${DATADIRNAME}/gnome/${PACKAGE}/pixmaps"
+ else
+
+ cat >>confdefs.h <<_ACEOF
+-#define PIXMAPS_DIR "${prefix}/${DATADIRNAME}/${PACKAGE}/pixmaps"
++#define PIXMAPS_DIR "${prefix}/${DATADIRNAME}/gnome/${PACKAGE}/pixmaps"
+ _ACEOF
+
+- pixmapsdir="${prefix}/${DATADIRNAME}/${PACKAGE}/pixmaps"
++ pixmapsdir="${prefix}/${DATADIRNAME}/gnome/${PACKAGE}/pixmaps"
+ fi
+
+
diff --git a/net/gnomenettool/files/patch-gnome-netinfo::info.c b/net/gnomenettool/files/patch-gnome-netinfo::info.c
deleted file mode 100644
index 54c795546c31..000000000000
--- a/net/gnomenettool/files/patch-gnome-netinfo::info.c
+++ /dev/null
@@ -1,63 +0,0 @@
---- gnome-netinfo/info.c.orig Mon Nov 24 18:29:43 2003
-+++ gnome-netinfo/info.c Wed Dec 17 22:27:46 2003
-@@ -27,6 +27,7 @@
- #endif
-
-
-+#include <netinet/in.h>
- #include <sys/socket.h> /* basic socket definitions */
- #include <arpa/inet.h> /* inet(3) functions */
- #include <sys/un.h> /* for Unix domain sockets */
-@@ -173,7 +174,7 @@
- for (ptr = buf; ptr < buf + ifc.ifc_len;) {
- ifr = (struct ifreq *) ptr;
- len = sizeof (struct sockaddr);
--#ifdef HAVE_SOCKADDR_SA_LEN
-+#if defined(HAVE_SOCKADDR_SA_LEN) || defined(__FreeBSD__)
- if (ifr->ifr_addr.sa_len > len)
- len = ifr->ifr_addr.sa_len; /* length > 16 */
- #endif
-@@ -182,8 +183,12 @@
- if (strcmp (ifr->ifr_name, nic) != 0) {
- continue;
- }
-+
-+ memset (&data, 0, sizeof(data));
-
-+#ifdef __linux__
- data = mii_get_basic (nic);
-+#endif
-
- switch (ifr->ifr_addr.sa_family) {
- case AF_INET:
-@@ -306,7 +311,6 @@
- break;
- }
- }
-- g_free (ifr);
- }
-
- static GList *
-@@ -321,6 +325,8 @@
-
- sockfd = socket (AF_INET, SOCK_DGRAM, 0);
-
-+ memset (&ifc, 0, sizeof (struct ifconf));
-+ memset (&buf, 0, sizeof (buf));
- ifc.ifc_len = sizeof (buf);
- ifc.ifc_req = (struct ifreq *) buf;
-
-@@ -331,9 +337,11 @@
- len = sizeof (struct sockaddr);
-
- iface = g_strdup (ifr->ifr_name);
-- items = g_list_append (items, iface);
-+ if (g_list_find_custom (items, iface, (GCompareFunc) g_ascii_strcasecmp) == NULL) {
-+ items = g_list_append (items, iface);
-+ }
-
--#ifdef HAVE_SOCKADDR_SA_LEN
-+#if defined(HAVE_SOCKADDR_SA_LEN) || defined(__FreeBSD__)
- if (ifr->ifr_addr.sa_len > len)
- len = ifr->ifr_addr.sa_len; /* length > 16 */
- #endif
diff --git a/net/gnomenettool/files/patch-gnome-netinfo_callbacks.c b/net/gnomenettool/files/patch-gnome-netinfo_callbacks.c
deleted file mode 100644
index 32d818c6f24a..000000000000
--- a/net/gnomenettool/files/patch-gnome-netinfo_callbacks.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- gnome-netinfo/callbacks.c.orig Sat Dec 6 23:20:05 2003
-+++ gnome-netinfo/callbacks.c Sat Dec 6 23:20:14 2003
-@@ -27,6 +27,7 @@
- #include <sys/wait.h>
- #include <unistd.h>
- #include <sys/types.h>
-+#include <signal.h>
-
- #include "callbacks.h"
- #include "traceroute.h"
diff --git a/net/gnomenettool/files/patch-gnome-netinfo_netinfo.c b/net/gnomenettool/files/patch-gnome-netinfo_netinfo.c
deleted file mode 100644
index 4048c43b48ab..000000000000
--- a/net/gnomenettool/files/patch-gnome-netinfo_netinfo.c
+++ /dev/null
@@ -1,41 +0,0 @@
---- gnome-netinfo/netinfo.c.orig Mon Nov 24 18:29:43 2003
-+++ gnome-netinfo/netinfo.c Sun Dec 7 01:00:52 2003
-@@ -20,6 +20,7 @@
-
- #include <gnome.h>
- #include <sys/types.h>
-+#include <sys/socket.h>
- #include <signal.h>
- #include <errno.h>
- #include <sys/wait.h>
-@@ -253,14 +254,16 @@
- if (condition & G_IO_IN) {
- g_io_channel_read_line (channel, &text, &len, NULL, NULL);
-
-- if (netinfo->process_line != NULL) {
-- (netinfo->process_line) ((gpointer) netinfo, text,
-- len, NULL);
-- }
-+ if (text != NULL) {
-+ if (netinfo->process_line != NULL) {
-+ (netinfo->process_line) ((gpointer) netinfo, text,
-+ len, NULL);
-+ }
-
-- g_free (text);
-+ g_free (text);
-
-- return TRUE;
-+ return TRUE;
-+ }
- }
-
- /* The condition is not G_IO_HUP | G_IO_ERR | G_IO_NVAL, so
-@@ -285,6 +288,7 @@
- }
- return FALSE;
- }
-+
-
- void
- netinfo_stop_process_command (Netinfo * netinfo)
diff --git a/net/gnomenettool/files/patch-gnome-netinfo_netstat.c b/net/gnomenettool/files/patch-gnome-netinfo_netstat.c
deleted file mode 100644
index 4f0a7240ba9c..000000000000
--- a/net/gnomenettool/files/patch-gnome-netinfo_netstat.c
+++ /dev/null
@@ -1,136 +0,0 @@
---- gnome-netinfo/netstat.c.orig Mon Nov 24 18:29:43 2003
-+++ gnome-netinfo/netstat.c Sun Dec 7 01:34:51 2003
-@@ -113,7 +113,11 @@
- }
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (netinfo->protocol))) {
- /* Only works for Solaris */
-+#ifdef __FreeBSD__
-+ option = g_strdup ("-a -f inet -ln");
-+#else
- option = g_strdup ("-A inet -ln");
-+#endif
- }
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (netinfo->multicast))) {
- /* It works for Solaris and Linux */
-@@ -266,7 +270,11 @@
- g_return_if_fail (line != NULL);
-
- count = strip_protocol_line (line, &data);
-+#ifdef __FreeBSD__
-+ if (count == 5 || count == 6 || count == 9 || count == 10) {
-+#else
- if (count == 7 || count == 8) {
-+#endif
- #ifdef DEBUG
- g_print ("%s\t%s:%s\t%s\n", data.protocol,
- data.ip_src, data.port_src, data.state);
-@@ -331,11 +339,42 @@
- strip_protocol_line (gchar * line, netstat_protocol_data *data)
- {
- gint count = 0;
-+#ifdef __FreeBSD__
-+ gint a1, a2, a3, a4;
-+ gchar s9[30];
-+#else
- gchar s6[30], s7[30];
-+#endif
- gint n2, n3;
-
- line = g_strdelimit (line, ":", ' ');
-
-+#ifdef __FreeBSD__
-+ count = sscanf (line, NETSTAT_PROTOCOL_FORMAT,
-+ data->protocol, &n2, &n3,
-+ &a1, &a2, &a3, &a4, data->port_src,
-+ s9, data->state);
-+ g_snprintf (data->ip_src, 30, "%d.%d.%d.%d", a1, a2, a3, a4);
-+
-+ if (count == 9) {
-+ bzero (&(data)->state, 30);
-+ }
-+
-+ if (count == 3) {
-+ /* Handle the *.* entries. */
-+ gchar s5[30];
-+ count = sscanf (line, ALT_NETSTAT_PROTOCOL_FORMAT,
-+ data->protocol, &n2, &n3,
-+ data->port_src, s5,
-+ data->state);
-+ g_snprintf (data->ip_src, 30, "*");
-+
-+ if (count == 5) {
-+ bzero (&(data)->state, 30);
-+ }
-+ }
-+
-+#else
- count = sscanf (line, NETSTAT_PROTOCOL_FORMAT,
- data->protocol, &n2, &n3,
- data->ip_src, data->port_src,
-@@ -344,6 +383,7 @@
- if (count == 7) {
- bzero (&(data)->state, 30);
- }
-+#endif
-
- return count;
- }
-@@ -405,7 +445,11 @@
- g_return_if_fail (line != NULL);
-
- count = strip_route_line (line, &data);
-+#ifdef __FreeBSD__
-+ if (count == 6) {
-+#else
- if (count == 8) {
-+#endif
- #ifdef DEBUG
- g_print ("%s\t%s:%s\t%d\t%s\n", data.destination,
- data.gateway, data.netmask, data.metric,
-@@ -474,11 +518,19 @@
- gchar flags[30];
- gint ref, use;
-
-+#ifdef __FreeBSD__
-+ count = sscanf (line, NETSTAT_ROUTE_FORMAT,
-+ data->destination,
-+ data->gateway, flags,
-+ &ref, &use, data->iface);
-+#else
-+
- count = sscanf (line, NETSTAT_ROUTE_FORMAT,
- data->destination,
- data->gateway, data->netmask,
- flags, &(data)->metric, &ref, &use,
- data->iface);
-+#endif
-
- return count;
- }
-@@ -493,7 +545,11 @@
- renderer = gtk_cell_renderer_text_new ();
- column =
- gtk_tree_view_column_new_with_attributes
-+#ifdef __FreeBSD__
-+ (_("Destination/Prefix"), renderer, "text", 0, NULL);
-+#else
- (_("Destination"), renderer, "text", 0, NULL);
-+#endif
- gtk_tree_view_append_column (widget, column);
-
- renderer = gtk_cell_renderer_text_new ();
-@@ -503,12 +559,14 @@
- gtk_tree_view_column_set_alignment (column, 0.5);
- gtk_tree_view_append_column (widget, column);
-
-+#ifndef __FreeBSD__
- renderer = gtk_cell_renderer_text_new ();
- column =
- gtk_tree_view_column_new_with_attributes
- (_("Netmask"), renderer, "text", 2, NULL);
-
- gtk_tree_view_append_column (widget, column);
-+#endif
-
- renderer = gtk_cell_renderer_text_new ();
- column =
diff --git a/net/gnomenettool/files/patch-gnome-netinfo_netstat.h b/net/gnomenettool/files/patch-gnome-netinfo_netstat.h
deleted file mode 100644
index 6e00ba018f0b..000000000000
--- a/net/gnomenettool/files/patch-gnome-netinfo_netstat.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- gnome-netinfo/netstat.h.orig Sun Jul 20 22:31:57 2003
-+++ gnome-netinfo/netstat.h Sun Dec 7 01:32:10 2003
-@@ -28,6 +28,11 @@
- # define NETSTAT_PROTOCOL_FORMAT "%s %d %d %s %s %s %s %s"
- # define NETSTAT_ROUTE_FORMAT "%s %s %s %s %d %d %d %s"
- # define NETSTAT_MULTICAST_FORMAT "%s %d %s"
-+#elif defined(__FreeBSD__)
-+# define NETSTAT_PROTOCOL_FORMAT "%s %d %d %d.%d.%d.%d.%s %s %s"
-+# define ALT_NETSTAT_PROTOCOL_FORMAT "%s %d %d *.%s %s %s"
-+# define NETSTAT_ROUTE_FORMAT "%s %s %s %d %d %s"
-+# define NETSTAT_MULTICAST_FORMAT "%s %d %s"
-
- #endif
-
diff --git a/net/gnomenettool/files/patch-gnome-netinfo_ping.c b/net/gnomenettool/files/patch-gnome-netinfo_ping.c
deleted file mode 100644
index 40f2b83fa6b1..000000000000
--- a/net/gnomenettool/files/patch-gnome-netinfo_ping.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- gnome-netinfo/ping.c.orig Sat Dec 6 23:08:52 2003
-+++ gnome-netinfo/ping.c Sat Dec 6 23:17:35 2003
-@@ -330,6 +330,8 @@
-
- if (netinfo_get_ip_version (netinfo) == IPV4)
- line = g_strdelimit (line, ":", ' ');
-+ else
-+ line = g_strdelimit (line, ",", ' ');
-
- #ifdef PING_PARAMS_5
- count = sscanf (line, PING_FORMAT,
diff --git a/net/gnomenettool/files/patch-gnome-netinfo_ping.h b/net/gnomenettool/files/patch-gnome-netinfo_ping.h
deleted file mode 100644
index debf4603d263..000000000000
--- a/net/gnomenettool/files/patch-gnome-netinfo_ping.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- gnome-netinfo/ping.h.orig Sat Dec 6 23:11:01 2003
-+++ gnome-netinfo/ping.h Sat Dec 6 23:17:53 2003
-@@ -25,7 +25,7 @@
-
- /* The ping usage and output is different between Unix flavours */
- /* FIXME: Add BSD support */
--#if defined(__linux__) || defined(__OSF__)
-+#if defined(__linux__) || defined(__OSF__) || defined(__FreeBSD__)
- # define PING_PROGRAM_FORMAT "%s ping -c %d -n %s"
- # define PING_PROGRAM_FORMAT_6 "%s ping6 -c %d -n %s"
- # define PING_FORMAT "%d bytes from %s icmp_seq=%d ttl=%d time=%s %s"
diff --git a/net/gnomenettool/files/patch-gnome-netinfo_util-mii.c b/net/gnomenettool/files/patch-gnome-netinfo_util-mii.c
deleted file mode 100644
index 9d38a3d3daa6..000000000000
--- a/net/gnomenettool/files/patch-gnome-netinfo_util-mii.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- gnome-netinfo/util-mii.c.orig Sat Dec 6 23:30:50 2003
-+++ gnome-netinfo/util-mii.c Sat Dec 6 23:38:14 2003
-@@ -39,6 +39,7 @@
- * http://www.national.com/pf/DP/DP83840.html
- */
-
-+#ifdef __linux__
- #include <glib.h>
-
- #include <errno.h>
-@@ -237,3 +238,4 @@
- close (sock);
- return data;
- }
-+#endif
diff --git a/net/gnomenettool/files/patch-network-utilities_gnome-remote-shell.c b/net/gnomenettool/files/patch-network-utilities_gnome-remote-shell.c
deleted file mode 100644
index 0ac22218e1ab..000000000000
--- a/net/gnomenettool/files/patch-network-utilities_gnome-remote-shell.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- network-utilities/gnome-remote-shell.c.orig Mon Sep 1 01:56:21 2003
-+++ network-utilities/gnome-remote-shell.c Mon Sep 1 01:58:11 2003
-@@ -23,6 +23,9 @@
- #endif
-
- #include <netdb.h>
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
- #include <gconf/gconf-client.h>
- #include <gtk/gtkdialog.h>
- #include <gtk/gtkentry.h>
diff --git a/net/gnomenettool/files/patch-src_info.c b/net/gnomenettool/files/patch-src_info.c
new file mode 100644
index 000000000000..7b6e43a5fcf4
--- /dev/null
+++ b/net/gnomenettool/files/patch-src_info.c
@@ -0,0 +1,191 @@
+--- src/info.c.orig Fri Jun 11 07:14:17 2004
++++ src/info.c Mon Jul 5 15:25:09 2004
+@@ -37,6 +37,9 @@
+ #include <sys/ioctl.h>
+ #include <stdlib.h>
+ #include <net/if.h>
++#ifdef __FreeBSD__
++#include <net/if_media.h>
++#endif
+
+ #include "info.h"
+ #include "utils.h"
+@@ -57,10 +60,11 @@
+ { N_("Ethernet Interface"), INFO_INTERFACE_ETH, "16_ethernet.xpm", "eth", NULL },
+ { N_("Wireless Interface"), INFO_INTERFACE_WLAN, "wavelan-16.png", "wlan", NULL },
+ { N_("Modem Interface"), INFO_INTERFACE_PPP, "16_ppp.xpm", "ppp", NULL },
++ { N_("Modem Interface"), INFO_INTERFACE_PPP, "16_ppp.xpm", "tun", NULL },
+ { N_("Parallel Line Interface"), INFO_INTERFACE_PLIP, "16_plip.xpm", "plip", NULL },
+ { N_("Infrared Interface"), INFO_INTERFACE_IRLAN, "irda-16.png", "irlan", NULL },
+ { N_("Loopback Interface"), INFO_INTERFACE_LO, "16_loopback.xpm", "lo", NULL },
+- { N_("Unknown Interface"), INFO_INTERFACE_UNKNOWN, "network.png", NULL, NULL },
++ { N_("Unknown Interface"), INFO_INTERFACE_UNKNOWN, "network.png", "", NULL },
+ { NULL, INFO_INTERFACE_UNKNOWN, NULL, NULL, NULL }
+ };
+
+@@ -97,9 +101,39 @@
+ {
+ gint i;
+ gchar *path;
+-
++ gchar *dev_type = NULL;
++#if defined(__FreeBSD__)
++ int s;
++ struct ifmediareq ifmr;
++
++ if ((s = socket (AF_INET, SOCK_DGRAM, 0)) > -1) {
++
++ (void) memset (&ifmr, 0, sizeof (ifmr));
++ (void) strncpy (ifmr.ifm_name, dev_name, sizeof (ifmr.ifm_name));
++
++ if (ioctl (s, SIOCGIFMEDIA, (caddr_t) &ifmr) > -1) {
++ switch (IFM_TYPE (ifmr.ifm_active)) {
++ case IFM_ETHER:
++ dev_type = "eth";
++ break;
++ case IFM_FDDI:
++ case IFM_TOKEN:
++ dev_type = "other_type";
++ break;
++ case IFM_IEEE80211:
++ dev_type = "wlan";
++ break;
++ }
++ }
++ close (s);
++ }
++#endif /* defined(__FreeBSD__) */
++
++ if (!dev_type)
++ dev_type = (gchar *) dev_name;
++
+ for (i = 0; info_iface_desc[i].name; i++)
+- if (strstr (dev_name, info_iface_desc[i].prefix) == dev_name) {
++ if (strstr (dev_type, info_iface_desc[i].prefix) == dev_type) {
+ (*iface) = g_strdup_printf ("%s (%s)", info_iface_desc[i].name, dev_name);
+ if (info_iface_desc[i].pixbuf == NULL) {
+ path = g_build_filename (PIXMAPS_DIR, info_iface_desc[i].icon, NULL);
+@@ -187,17 +221,26 @@
+ gchar tx[10], tx_error[10], tx_drop[10], tx_ovr[10];
+ */
+ gchar iface[30]; /*, flags[30]; */
+- gchar rx_bytes[16], rx_pkt[10], rx_error[10], rx_drop[10], rx_fifo[10];
+- gchar frame[10], compressed[10], multicast[10];
+- gchar tx_bytes[16], tx_pkt[10], tx_error[10], tx_drop[10], tx_fifo[10];
++ gchar rx_bytes[16], rx_pkt[10], rx_error[10];
++ gchar tx_bytes[16], tx_pkt[10], tx_error[10];
+ gchar collissions[10];
++#if defined(__linux__)
++ gchar rx_drop[10], rx_fifo[10];
++ gchar frame[10], compressed[10], multicast[10];
++ gchar tx_drop[10], tx_fifo[10];
++#elif defined(__FreeBSD__)
++ char *p;
++ gchar **tokens, **argv;
++ int i;
++ int pipe_out;
++#endif
+
+ GIOChannel *io = NULL;
+ gchar *line;
+ gboolean title = TRUE;
+ const gchar *text;
+ gchar *text_tx_bytes, *text_rx_bytes;
+-
++
+ g_return_val_if_fail (info != NULL, FALSE);
+
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX (info->combo));
+@@ -206,21 +249,61 @@
+ else
+ return FALSE;
+ /*text = gtk_entry_get_text (GTK_ENTRY (info->nic));*/
+-
++
+ #if defined(__linux__)
+ io = g_io_channel_new_file ("/proc/net/dev", "r", NULL);
+-
++#elif defined(__FreeBSD__)
++ if (!g_shell_parse_argv ("/usr/bin/netstat -in -b -f link", NULL, &argv, NULL)) {
++ return FALSE;
++ }
++ if (!g_spawn_async_with_pipes (NULL, argv, NULL, 0, NULL, NULL, NULL, NULL, &pipe_out, NULL, NULL)) {
++ g_strfreev (argv);
++ return FALSE;
++ }
++
++ g_strfreev (argv);
++
++ io = g_io_channel_unix_new (pipe_out);
++#endif /* defined(__linux__) */
++
+ while (g_io_channel_read_line (io, &line, NULL, NULL, NULL) == G_IO_STATUS_NORMAL) {
+ if (title) {
+ title = FALSE;
+ g_free (line);
+ continue;
+ }
++#if defined(__linux__)
+ line = g_strdelimit (line, ":", ' ');
+ sscanf (line, "%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s", iface,
+ rx_bytes, rx_pkt, rx_error, rx_drop, rx_fifo, frame,
+ compressed, multicast,
+ tx_bytes, tx_pkt, tx_error, tx_drop, tx_fifo, collissions);
++#elif defined(__FreeBSD__)
++ tokens = (gchar **) g_malloc0 ((sizeof (char)) * (strlen (line) + 2));
++ p = strtok (line, " \t\n");
++ /* We only care about 11 fields for now */
++ for (i = 0; i < 11 && p; i++, p = strtok (NULL, " \t\n")) {
++ tokens[i] = g_strdup (p);
++ }
++
++ if (i == 0 || i < 10) {
++ g_free (line);
++ g_strfreev (tokens);
++ continue;
++ }
++
++ g_strlcpy (iface, tokens[0], sizeof (iface));
++
++ g_strlcpy (collissions, tokens[--i], sizeof (collissions));
++ g_strlcpy (tx_bytes, tokens[--i], sizeof (tx_bytes));
++ g_strlcpy (tx_error, tokens[--i], sizeof (tx_error));
++ g_strlcpy (tx_pkt, tokens[--i], sizeof (tx_pkt));
++ g_strlcpy (rx_bytes, tokens[--i], sizeof (rx_bytes));
++ g_strlcpy (rx_error, tokens[--i], sizeof (rx_error));
++ g_strlcpy (rx_pkt, tokens[--i], sizeof (rx_pkt));
++
++ g_strfreev (tokens);
++#endif /* defined(__linux__) */
+
+ if (g_ascii_strcasecmp (iface, text) == 0) {
+ /*
+@@ -248,7 +331,9 @@
+ }
+
+ g_io_channel_unref (io);
+-#endif /* defined(__linux__) */
++#if defined(__FreeBSD__)
++ close (pipe_out);
++#endif /* defined(__FreeBSD__) */
+
+ return TRUE;
+ }
+@@ -384,6 +469,7 @@
+ mii_data_result data;
+
+ getifaddrs (&ifa0);
++ memset (&data, 0, sizeof (data));
+
+ for (ifr6 = ifa0; ifr6; ifr6 = ifr6->ifa_next) {
+ if (strcmp (ifr6->ifa_name, nic) != 0) {
+@@ -425,7 +511,9 @@
+ ifc.ifc_req = (struct ifreq *) buf;
+ ioctl (sockfd, SIOCGIFCONF, &ifc);
+
++#if defined(__linux__)
+ data = mii_get_basic (nic);
++#endif /* defined(__linux__) */
+
+ for (ptr = buf; ptr < buf + ifc.ifc_len;) {
+ ifr = (struct ifreq *) ptr;
diff --git a/net/gnomenettool/files/patch-src_netstat.c b/net/gnomenettool/files/patch-src_netstat.c
new file mode 100644
index 000000000000..eed0a328c47c
--- /dev/null
+++ b/net/gnomenettool/files/patch-src_netstat.c
@@ -0,0 +1,20 @@
+--- src/netstat.c.orig Sun Jul 4 17:57:03 2004
++++ src/netstat.c Sun Jul 4 17:57:48 2004
+@@ -108,12 +108,17 @@
+ g_return_val_if_fail (netinfo != NULL, NULL);
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (netinfo->routing))) {
++#ifdef __FreeBSD__
++ /* XXX We only support ipv4 now */
++ option = g_strdup ("-rn -f inet");
++#else
+ /* Works for Solaris and Linux */
+ if (netinfo_is_ipv6_enable ()) {
+ option = g_strdup ("-rn -A inet -A inet6");
+ } else {
+ option = g_strdup ("-rn -A inet");
+ }
++#endif
+ }
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (netinfo->protocol))) {
+ /* Only works for Solaris */
diff --git a/net/gnomenettool/files/patch-src_nettool.c b/net/gnomenettool/files/patch-src_nettool.c
new file mode 100644
index 000000000000..3319e36a70ae
--- /dev/null
+++ b/net/gnomenettool/files/patch-src_nettool.c
@@ -0,0 +1,10 @@
+--- src/nettool.c.orig Sun Jul 4 15:52:03 2004
++++ src/nettool.c Sun Jul 4 15:53:11 2004
+@@ -21,6 +21,7 @@
+ #include <gnome.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
++#include <netinet/in.h>
+ #include <signal.h>
+ #include <errno.h>
+ #include <sys/wait.h>
diff --git a/net/gnomenettool/files/patch-src_utils.c b/net/gnomenettool/files/patch-src_utils.c
new file mode 100644
index 000000000000..0c8111ade4bf
--- /dev/null
+++ b/net/gnomenettool/files/patch-src_utils.c
@@ -0,0 +1,11 @@
+--- src/utils.c.orig Sun Jul 4 20:11:49 2004
++++ src/utils.c Sun Jul 4 20:12:14 2004
+@@ -240,7 +240,7 @@
+ const gchar *unit = "B";
+ gchar *result;
+
+- sscanf (bytes, "%lld", &rx);
++ rx = strtoull (bytes, (char **)NULL, 10);
+ short_rx = rx * 10;
+
+ if (rx > 1125899906842624ull) {
diff --git a/net/gnomenettool/pkg-descr b/net/gnomenettool/pkg-descr
index 1362640b6f11..5619126feab9 100644
--- a/net/gnomenettool/pkg-descr
+++ b/net/gnomenettool/pkg-descr
@@ -1,10 +1,3 @@
-gnome-network is a set of network oriented user tools. It includes the
-following tools:
-
- * gnome-remote-shell: a remote shell (Telnet/SSH) client.
- * gnome-remote-desktop: a remote desktop (X11/VNC) client.
- * gnome-netinfo: a network information tool, for getting info on
- network cards, DNS, etc.
- * gnome-backup: a backup client tool.
-
-WWW: http://www.gnome.org/
+Gnome-nettool is a utility for getting network information such as interface
+statistics, and for front-ending commands like ping and traceroute. It
+is very similar to the MacOS X Network Utility.
diff --git a/net/gnomenettool/pkg-plist b/net/gnomenettool/pkg-plist
index 5c7e7394dfcc..3823c7ebffd5 100644
--- a/net/gnomenettool/pkg-plist
+++ b/net/gnomenettool/pkg-plist
@@ -1,56 +1,48 @@
-bin/gnome-remote-shell
-bin/gnome-remote-desktop
-bin/gnome-netinfo
-share/gnome/application-registry/gnome-remote-desktop.applications
-share/gnome/applications/gnome-network-utilities.desktop
-share/gnome/applications/gnome-netinfo.desktop
-share/gnome/apps/Internet/gnome-remote-desktop.desktop
-share/gnome/gnome-network/dialogs/gnome-netinfo.glade
-share/gnome/gnome-network/dialogs/gnome-remote-shell.glade
-share/gnome/mime-info/gnome-remote-desktop.keys
-share/gnome/mime-info/gnome-remote-desktop.mime
-share/gnome/pixmaps/gnome-netinfo.png
-share/gnome/pixmaps/gnome-network/colors.png
-share/gnome/pixmaps/gnome-network/computer.png
-share/gnome/pixmaps/gnome-network/gnome-remote-desktop.png
-share/gnome/pixmaps/gnome-network/keyboard.png
-share/gnome/pixmaps/gnome-network/perform.png
-share/gnome/pixmaps/gnome-network/program.png
-share/gnome/pixmaps/gnome-network/size.png
-share/gnome/pixmaps/gnome-network/sound.png
-share/gnome/pixmaps/gnome-remote-desktop.png
-share/gnome/pixmaps/gnome-remote-shell.png
-share/locale/az/LC_MESSAGES/gnome-network.mo
-share/locale/ca/LC_MESSAGES/gnome-network.mo
-share/locale/cs/LC_MESSAGES/gnome-network.mo
-share/locale/da/LC_MESSAGES/gnome-network.mo
-share/locale/de/LC_MESSAGES/gnome-network.mo
-share/locale/el/LC_MESSAGES/gnome-network.mo
-share/locale/es/LC_MESSAGES/gnome-network.mo
-share/locale/fr/LC_MESSAGES/gnome-network.mo
-share/locale/ga/LC_MESSAGES/gnome-network.mo
-share/locale/gl/LC_MESSAGES/gnome-network.mo
-share/locale/he/LC_MESSAGES/gnome-network.mo
-share/locale/hu/LC_MESSAGES/gnome-network.mo
-share/locale/it/LC_MESSAGES/gnome-network.mo
-share/locale/ja/LC_MESSAGES/gnome-network.mo
-share/locale/ko/LC_MESSAGES/gnome-network.mo
-share/locale/ms/LC_MESSAGES/gnome-network.mo
-share/locale/nl/LC_MESSAGES/gnome-network.mo
-share/locale/no/LC_MESSAGES/gnome-network.mo
-share/locale/pl/LC_MESSAGES/gnome-network.mo
-share/locale/pt/LC_MESSAGES/gnome-network.mo
-share/locale/pt_BR/LC_MESSAGES/gnome-network.mo
-share/locale/ru/LC_MESSAGES/gnome-network.mo
-share/locale/sr/LC_MESSAGES/gnome-network.mo
-share/locale/sr@Latn/LC_MESSAGES/gnome-network.mo
-share/locale/sv/LC_MESSAGES/gnome-network.mo
-share/locale/tr/LC_MESSAGES/gnome-network.mo
-share/locale/uk/LC_MESSAGES/gnome-network.mo
-share/locale/vi/LC_MESSAGES/gnome-network.mo
-share/locale/wa/LC_MESSAGES/gnome-network.mo
-share/locale/zh_CN/LC_MESSAGES/gnome-network.mo
-share/locale/zh_TW/LC_MESSAGES/gnome-network.mo
-@dirrm share/gnome/pixmaps/gnome-network
-@dirrm share/gnome/gnome-network/dialogs
-@dirrm share/gnome/gnome-network
+bin/gnome-nettool
+share/gnome/applications/gnome-nettool.desktop
+share/gnome/gnome-nettool/dialogs/gnome-nettool.glade
+share/gnome/gnome-nettool/pixmaps/16_ethernet.xpm
+share/gnome/gnome-nettool/pixmaps/16_loopback.xpm
+share/gnome/gnome-nettool/pixmaps/16_plip.xpm
+share/gnome/gnome-nettool/pixmaps/16_ppp.xpm
+share/gnome/gnome-nettool/pixmaps/gnome-nettool.png
+share/gnome/gnome-nettool/pixmaps/irda-16.png
+share/gnome/gnome-nettool/pixmaps/network.png
+share/gnome/gnome-nettool/pixmaps/wavelan-16.png
+share/gnome/pixmaps/gnome-nettool.png
+share/locale/az/LC_MESSAGES/gnome-nettool.mo
+share/locale/ca/LC_MESSAGES/gnome-nettool.mo
+share/locale/cs/LC_MESSAGES/gnome-nettool.mo
+share/locale/da/LC_MESSAGES/gnome-nettool.mo
+share/locale/de/LC_MESSAGES/gnome-nettool.mo
+share/locale/el/LC_MESSAGES/gnome-nettool.mo
+share/locale/en_CA/LC_MESSAGES/gnome-nettool.mo
+share/locale/en_GB/LC_MESSAGES/gnome-nettool.mo
+share/locale/es/LC_MESSAGES/gnome-nettool.mo
+share/locale/fr/LC_MESSAGES/gnome-nettool.mo
+share/locale/ga/LC_MESSAGES/gnome-nettool.mo
+share/locale/gl/LC_MESSAGES/gnome-nettool.mo
+share/locale/he/LC_MESSAGES/gnome-nettool.mo
+share/locale/hu/LC_MESSAGES/gnome-nettool.mo
+share/locale/it/LC_MESSAGES/gnome-nettool.mo
+share/locale/ja/LC_MESSAGES/gnome-nettool.mo
+share/locale/ko/LC_MESSAGES/gnome-nettool.mo
+share/locale/ms/LC_MESSAGES/gnome-nettool.mo
+share/locale/nl/LC_MESSAGES/gnome-nettool.mo
+share/locale/no/LC_MESSAGES/gnome-nettool.mo
+share/locale/pl/LC_MESSAGES/gnome-nettool.mo
+share/locale/pt/LC_MESSAGES/gnome-nettool.mo
+share/locale/pt_BR/LC_MESSAGES/gnome-nettool.mo
+share/locale/ru/LC_MESSAGES/gnome-nettool.mo
+share/locale/sr/LC_MESSAGES/gnome-nettool.mo
+share/locale/sr@Latn/LC_MESSAGES/gnome-nettool.mo
+share/locale/sv/LC_MESSAGES/gnome-nettool.mo
+share/locale/tr/LC_MESSAGES/gnome-nettool.mo
+share/locale/uk/LC_MESSAGES/gnome-nettool.mo
+share/locale/vi/LC_MESSAGES/gnome-nettool.mo
+share/locale/wa/LC_MESSAGES/gnome-nettool.mo
+share/locale/zh_CN/LC_MESSAGES/gnome-nettool.mo
+share/locale/zh_TW/LC_MESSAGES/gnome-nettool.mo
+@dirrm share/gnome/gnome-nettool/pixmaps
+@dirrm share/gnome/gnome-nettool/dialogs
+@dirrm share/gnome/gnome-nettool