[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#93208: wnpp: RFP: peep, the "Network Auralizer"



On Sun, Sep 25, 2005 at 04:12:30PM -0500, Drew Scott Daniels wrote:
> reopen 93208 =
> done
> 
> Hi,
> I'm cc'ing the developers of peep. For the history of this bug see:
> http://bugs.debian.org/93208

Ok. Developers, please read this mail and see attached patch as is fixes some
bugs in your code.

> 
> I'd still be interested in seeing a Debian package of peep, the "Network
> Auralizer". Javi, I don't understand what you mean by "for
> log-interpretation I do prefer log-analys/logcheck". Can these be made
> to output sounds?

No, it's just that (admin-wise) peep is not really that much useful. It's
fancy, but not that useful.

> If anyone knows of a better "auralizer" that I could use for network/log
> events, please let me know. I'd be happy to find a less complicated
> alternative to peep (and thus have reason to re-close the request for
> package bug 93208).

I'm not aware of any.

> Upstream development is stalled. The developers are responsive, but it
> seems they don't have time to do many new developments [1]. I believe
> they can be convinced to help out with licensing or compilation problems.

Understood. Attached is a patch which can be used to build a Debian package
out of Peep and fixes a number of bugs in the latest release. If you don't 
know how to use it I could upload packages to people.debian.org/~jfs

I just don't want to maintain more packages, so it would be best if you
found a suitable maintainer for these. I can make the initial upload,
however.

Regards

Javier
--- peep-0.5.0-rc2.orig/server/cmdline.c
+++ peep-0.5.0-rc2/server/cmdline.c
@@ -316,7 +316,7 @@
 {
 
 	printVersion ();
-	printf ("
+	printf ("\
 Usage: %s [OPTIONS]...\n\
    -h         --help                Print help and exit\n\
    -V         --version             Print version and exit\n\
--- peep-0.5.0-rc2.orig/server/debug.c
+++ peep-0.5.0-rc2/server/debug.c
@@ -18,6 +18,9 @@
 
 #include "config.h"
 #include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 #include "debug.h"
 
 /* For time formatting */
@@ -83,7 +86,7 @@
 
 	if (fclose (log_handle) != 0)
 		perror ("Error closing server log file");
-
+	return 0;
 }
 
 void log (int level, char *s, ...)
--- peep-0.5.0-rc2.orig/server/main.c
+++ peep-0.5.0-rc2/server/main.c
@@ -20,6 +20,7 @@
 #include <stdio.h>
 #include <signal.h>
 #include <errno.h>
+#include <string.h>
 
 #include "main.h"
 #include "cmdline.h"
@@ -30,6 +31,7 @@
 #include "mixer.h"
 #include "playback.h"
 #include "debug.h"
+#include "parser.h"
 
 static struct args_info args_info;
 static FILE *pid_file = NULL;
@@ -84,7 +86,7 @@
 		else {
 
 			/* Write our pid out to the file */
-			fprintf (pid_file, "%d\n", pid_file);
+			fprintf (pid_file, "%d\n", pid);
 			fflush (pid_file);
 			fclose (pid_file);
 
@@ -271,6 +273,8 @@
 
 	}
 
+	/* Should really return something useful here */
+	return 1;
 }
 
 void printGreeting (void)
--- peep-0.5.0-rc2.orig/server/thread.h
+++ peep-0.5.0-rc2/server/thread.h
@@ -19,6 +19,7 @@
 #ifndef __PEEP_THREAD_H__
 #define __PEEP_THREAD_H__
 
+#include <stdlib.h>
 #include <pthread.h>
 #include <semaphore.h>
 
--- peep-0.5.0-rc2.orig/debian/changelog
+++ peep-0.5.0-rc2/debian/changelog
@@ -0,0 +1,11 @@
+peep (0.5.0-rc2-1) unstable; urgency=low
+
+  * Initial release Closes: #93208
+  * Fixed compilation error in cmdline
+  * Fixed compilation warnings due to some libraries not being included
+    and an error in the pidfile generation (the pid was not added to the
+    file)
+  * Provide an init.d and logrotate.d configuration files (UNTESTED)
+
+ -- Javier Fernandez-Sanguino Pen~a <jfs@computer.org>  Thu, 29 Sep 2005 21:19:16 +0200
+
--- peep-0.5.0-rc2.orig/debian/compat
+++ peep-0.5.0-rc2/debian/compat
@@ -0,0 +1 @@
+4
--- peep-0.5.0-rc2.orig/debian/peep.init
+++ peep-0.5.0-rc2/debian/peep.init
@@ -0,0 +1,112 @@
+#! /bin/sh
+#
+# peep          Start the sound server
+#
+# Author:       Devin
+# Modified for Debian by Javier Fernandez-Sanguino Peña
+#
+# description: Kickass Sound Server and network / log monitor
+# processname: peepd
+# pidfile: $RUNDIR/peepd.pid
+# config: /etc/default/peep
+# config: /etc/peep.conf
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/peep
+NAME=peep
+DESC="PEEP server"
+LOGDIR=/var/log/peep
+LOCKDIR=/var/lock/peep
+RUNDIR=/var/run/peep
+ARGS="-l $LOGDIR/$NAME.log"
+
+test -x $DAEMON || exit 0
+
+# Include peep defaults if available
+if [ -f /etc/default/peep ] ; then
+	. /etc/default/peep
+fi
+
+set -e
+
+RETVAL=0
+
+running()
+{
+    # No pidfile, probably no daemon present
+    #
+    [ ! -f "$PIDFILE" ] && return 1
+    pid=`cat $PIDFILE`
+    # No pid, probably no daemon present
+    [ -z "$pid" ] && return 1
+    [ ! -d /proc/$pid ] &&  return 1
+    cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
+    # TODO: This might be more portable than looking for /proc/pid/
+    # if ps -p $pidval | grep -q $NAME; then
+
+    # No daemon?
+    [ "$cmd" != "$DAEMON" ] &&  return 1
+    return 0
+}
+
+# See how we were called.
+case "$1" in
+  start)
+	echo -n "Starting $DESC.."
+	start-stop-daemon --start --quiet --pidfile $RUNDIR/$NAME.pid \
+		--exec $DAEMON -- $ARGS
+	RETVAL=$?
+	if [ $RETVAL -eq 0 ] ; then
+	 	touch $LOCKDIR/peepd
+		echo "$NAME."
+	else
+		echo "failed."
+	fi
+	if [ -x /usr/bin/logparser ] ; then
+		echo -n "Starting Log Watcher:" 
+		/usr/bin/logparser --pidfile=$RUNDIR/logparser.pid >>$LOGDIR/startup.log 2>&1
+		RETVAL=$?
+		if [ $RETVAL -eq 0 ] ; then
+			touch $LOCKDIR/logparser
+			echo "done."
+		else
+			echo "failed."
+		fi
+	fi
+	;;
+  stop)
+	echo -n "Stopping $DESC:"
+	start-stop-daemon --stop --quiet --pidfile $RUNDIR/$NAME.pid \
+		--exec $DAEMON
+	if [ -x /usr/bin/logparser ] ; then
+		echo -n "Stopping Log Watcher: "
+		start-stop-daemon --stop --quiet --pidfile $RUNDIR/logparser.pid \
+			--exec /usr/bin/logparser
+		if [ $RETVAL -eq 0 ]; then
+			rm -f $LOCKDIR/logparser
+			echo "done."
+		else
+			echo "failed."
+		fi
+	fi
+	;;
+  status)
+    echo -n "$LABEL is "
+    if running ;  then
+	    echo "running"
+    else
+    	    echo " not running."
+	    exit 1
+    fi
+    ;;
+  restart|reload|force-reload)
+  	$0 stop
+	$0 start
+	RETVAL=$?
+	;;
+  *)
+	echo "Usage: peep {start|stop|status|restart|reload|force-reload}"
+	exit 1
+esac
+
+exit $REVAL
--- peep-0.5.0-rc2.orig/debian/dirs
+++ peep-0.5.0-rc2/debian/dirs
@@ -0,0 +1,7 @@
+usr/bin
+etc/init.d
+etc/logrotate.d
+usr/share/doc
+var/log/peep
+var/lock/peep
+var/run/peep
--- peep-0.5.0-rc2.orig/debian/peep.logrotate
+++ peep-0.5.0-rc2/debian/peep.logrotate
@@ -0,0 +1,11 @@
+/var/log/peep/startup.log {
+  missingok
+  notifempty
+  create 640 root adm
+  weekly
+  rotate 10
+  compress
+  postrotate
+    [ -x /usr/bin/logparser ] && /etc/init.d/peep reload
+  endscript
+}
--- peep-0.5.0-rc2.orig/debian/rules
+++ peep-0.5.0-rc2/debian/rules
@@ -0,0 +1,99 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+
+config.status: configure
+	dh_testdir
+	# Add here commands to configure the package.
+	CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
+
+
+build: build-stamp
+
+build-stamp:  config.status
+	dh_testdir
+	$(MAKE)
+	#docbook-to-man debian/peep.sgml > peep.1
+
+	touch build-stamp
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp 
+	-$(MAKE) distclean
+ifneq "$(wildcard /usr/share/misc/config.sub)" ""
+	cp -f /usr/share/misc/config.sub config.sub
+endif
+ifneq "$(wildcard /usr/share/misc/config.guess)" ""
+	cp -f /usr/share/misc/config.guess config.guess
+endif
+
+
+	dh_clean 
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+	$(MAKE) install DESTDIR=$(CURDIR)/debian/peep
+	mv $(CURDIR)/debian/peep/usr/doc/peep-0.5.0-rc2 $(CURDIR)/debian/peep/usr/share/doc/peep
+	# Not needed files/dirs
+	rm -rf $(CURDIR)/debian/peep/usr/doc/ 
+	rm -f $(CURDIR)/debian/peep/usr/share/doc/peep/COPYING $(CURDIR)/debian/peep/usr/share/doc/CHANGELOG
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs CHANGELOG
+	dh_installdocs
+	dh_installexamples
+#	dh_install
+#	dh_installmenu
+#	dh_installdebconf	
+	dh_installlogrotate
+	dh_installinit
+#	dh_installcron
+#	dh_installinfo
+	dh_installman
+	dh_link
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install 
--- peep-0.5.0-rc2.orig/debian/postinst
+++ peep-0.5.0-rc2/debian/postinst
@@ -0,0 +1,81 @@
+#! /bin/bash
+# postinst script for peep
+#
+# TODO: This needs to be converted to debconf and needs to be reviewed
+# since it was based in the 0.4.5 code
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# MAINTAINER: Remove this when you review the code
+exit 1
+
+case "$1" in
+configure)
+    # The following automatic configuration is taken from Peep's 
+    # distribution's gen_conf
+
+##################################################################
+# Section for generating an "out-of-the-box" Peep configuration
+# file from a template.
+#
+# This is my initial pass at this and works great on a linux
+# machine. It'll need to be expanded for portability at some
+# point and we'll probably want to move it to its own script.
+
+    ERR=0
+    if test ! -s /etc/peep.conf; then
+    	echo "Attempting to generate a localized peep.conf from template..."
+
+# Grab hostname
+    	UNAME_NODENAME=`uname -n 2>/dev/null` || UNAME_NODENAME=hostname_unknown
+
+# First check if we can run ifconfig without args
+	if `ifconfig > /dev/null 2>&1`; then
+# head -1 to make sure one one address is used if multiple is
+# available
+		BCAST_ADDR=`$IFCONFIG | awk '/Bcast:/ { split($3, a, /:/); print a[2] }' | head -1`
+	else
+# For now, just return unknown. We'll work on this
+		echo "Couldn't determine local broadcast address..."
+		echo "Setting address: broadcast_unknown"
+		ERR=1
+		BCAST_ADDR=broadcast_unknown
+	fi
+
+# Do a 'quotemeta' on the prefix so we can sub with it
+	PREFIX=`echo /usr/share | sed -e 's/\//\\\\\//g'`
+
+# Perform substitutions
+	sed -e "s/__HOST/$UNAME_NODENAME/;" \
+	-e "s/__BROADCAST/$BCAST_ADDR/;" \
+	-e "s/__PREFIX/$PREFIX/" \
+	< /etc/peep.conf.template > /etc/peep.conf
+
+	if test ! $ERR -eq 0; then
+		echo "/etc/peep.conf was only partially generated..."
+		echo "Please review manually."
+	fi
+	else
+		echo "/etc/peep.conf already exists. Nothing done."
+	fi
+
+	;;
+
+abort-upgrade|abort-remove|abort-deconfigure)
+
+	;;
+
+*)
+	echo "postinst called with unknown argument \`$1'" >&2
+	exit 1
+;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
--- peep-0.5.0-rc2.orig/debian/control
+++ peep-0.5.0-rc2/debian/control
@@ -0,0 +1,17 @@
+Source: peep
+Section: admin
+Priority: optional
+Maintainer: Javier Fernandez-Sanguino Pen~a <jfs@computer.org>
+Build-Depends: debhelper (>= 4.0.0), autotools-dev, libexpat1-dev
+Standards-Version: 3.6.2
+
+Package: peep
+Architecture: any
+Depends: libnet-perl, libfilesys-diskspace-perl, libproc-process-perl, libfile-tail-perl, libtime-hires-perl, ${shlibs:Depends}
+Description: The Network Auralizer
+ Tool use for monitoring your network with sound. Peep is a network 
+ monitoring tool that represents network information via an audio 
+ interface. Network diagnostics are made not only based on single 
+ network events but whether the network sounds "normal".
+ .
+ Homepage: http://sourceforge.net/projects/peep
--- peep-0.5.0-rc2.orig/debian/README.Debian
+++ peep-0.5.0-rc2/debian/README.Debian
@@ -0,0 +1,16 @@
+
+NOTES for peep
+--------------
+
+TODO:
+- Install docs under docs/ in source and write a doc-base file for those
+- Write a manpage for the peepd binary
+- Provide the client (perl stuff) (in a separate package?)
+- [CHECK] SystemMonitor might not start properly (needs the Filesys:DiskFree 
+  CPAN Perl module)
+- Enable the server? Use OpenSSL?
+- Does the server need to Depend: on the peep-sounds package?
+
+--- Javier Fernandez-Sanguino
+Thu, 29 Sep 2005 22:08:33 +0200
+
--- peep-0.5.0-rc2.orig/debian/copyright
+++ peep-0.5.0-rc2/debian/copyright
@@ -0,0 +1,39 @@
+This package was debianized by Javier Fernandez-Sanguino Peña
+Mon, 21 Oct 2002 15:05:18 +0200.
+
+It was downloaded from 
+http://sourceforge.net/project/showfiles.php?group_id=15807
+also at http://sourceforge.net/projects/peep
+
+Upstream Authors: 
+Michael Gilfix <mgilfix_AT_eecs.tufts.edu>
+Collin Starkweather <collin.starkweather_AT_colorado.edu>
+Xavier Renault (xavier_AT_ideasandassociates.com>
+
+Copyright:
+
+You are free to distribute this software under the terms of the GNU
+General Public License version 2.
+
+On Debian systems, the complete text of the GNU General Public License can
+be found in /usr/share/common-licenses/GPL file.
+
+    Copyright (c) 2000 Michael Gilfix <mgilfix@eecs.tufts.edu>
+    some portions are:
+    Copyright (C) 2001 Collin Starkweather <collin.starkweather@colorado.edu> 
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  
+    02110-1301  USA
+
--- peep-0.5.0-rc2.orig/debian/watch
+++ peep-0.5.0-rc2/debian/watch
@@ -0,0 +1,8 @@
+# watch control file for peep 
+
+# Compulsory line, this is a version 3 file
+version=3
+
+http://sf.net/peep/Peep-(.*)\.tar\.gz
+
+
--- peep-0.5.0-rc2.orig/debian/docs
+++ peep-0.5.0-rc2/debian/docs
@@ -0,0 +1,2 @@
+README
+TODO

Attachment: signature.asc
Description: Digital signature


Reply to: