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

Bug#93208: [Peep-develop] Re: wnpp: RFP: peep, the "Network Auralizer"



On Thu, Sep 29, 2005 at 10:12:24PM +0200, Javier Fernández-Sanguino Peña wrote:
> 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.


would someone like a cvs access so that you could do the modifications you need  
yourself ? 


thanks.

xavier.

> 
> 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




-- 
xavier



Reply to: