Debianized.
authorheiko
Mon, 01 Jan 2007 19:34:50 +0000
changeset 5 33a7d0576411
parent 4 676e54f00c44
child 6 528d92e5a04e
Debianized.
Makefile
README
debian/README.Debian
debian/changelog
debian/compat
debian/control
debian/copyright
debian/cron.d.ex
debian/dirs
debian/docs
debian/emacsen-install.ex
debian/emacsen-remove.ex
debian/emacsen-startup.ex
debian/exigrey-default.ex
debian/exigrey.doc-base.EX
debian/init.d.ex
debian/manpage.1.ex
debian/manpage.sgml.ex
debian/manpage.xml.ex
debian/menu.ex
debian/postinst.ex
debian/postrm.ex
debian/preinst.ex
debian/prerm.ex
debian/rules
debian/watch.ex
exigrey
exigrey.pl
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,29 @@
+# $Id$
+# $URL$
+
+prefix = /usr/local
+sbindir = ${prefix}/sbin
+sysconfdir = ${prefix}/etc
+
+eximconfdir = ${sysconfdir}/exim
+
+SCRIPTS = exigrey
+
+.PHONY:	all clean install
+
+all:	$(SCRIPTS)
+
+clean:
+	-rm -f $(SCRIPTS)
+
+install: all
+	install -m 0755 -d $(DESTDIR)${sbindir}
+	install -m 0755 $(SCRIPTS) $(DESTDIR)${sbindir}/
+
+	install -m 0755 -d $(DESTDIR)$(eximconfdir)/exigrey
+	install -m 0644 greylist.pl $(DESTDIR)$(eximconfdir)/exigrey/
+
+%:	%.pl
+	@perl -c $<
+	@cp -vf $< $@
+	@chmod a-w $@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,2 @@
+The documenation is currently only available from
+http://www.schlittermann.de/doc/grey
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/README.Debian	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,6 @@
+exigrey for Debian
+------------------
+
+More information: http://www.schlittermann.de/doc/grey
+
+ -- Heiko Schlittermann <heiko@schlittermann.de>  Mon,  1 Jan 2007 20:17:51 +0100
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/changelog	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,6 @@
+exigrey (0.1-2) stable; urgency=low
+
+  * Initial release 
+
+ -- Heiko Schlittermann <heiko@schlittermann.de>  Mon,  1 Jan 2007 20:17:51 +0100
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/compat	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,1 @@
+5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/control	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,16 @@
+Source: exigrey
+Section: unknown
+Priority: extra
+Maintainer: Heiko Schlittermann <heiko@schlittermann.de>
+Build-Depends: debhelper (>= 5)
+Standards-Version: 3.7.2
+
+Package: exigrey
+Architecture: all
+Depends: perl, ${shlibs:Depends}, ${misc:Depends}
+Suggests: exim4
+Description: greylist implementation for exim (perl)
+ Yet another greylist implementation for exim, using Exims
+ perl_startup feature.
+ For info see http://www.schlittermann.de/grey.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/copyright	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,22 @@
+This package was debianized by Heiko Schlittermann <heiko@schlittermann.de> on
+Mon,  1 Jan 2007 20:17:51 +0100.
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Heiko Schlittermann <heiko@schlittermann.de> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cron.d.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,4 @@
+#
+# Regular cron jobs for the exigrey package
+#
+0 4	* * *	root	exigrey_maintenance
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/dirs	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,2 @@
+usr/bin
+usr/sbin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/docs	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,1 @@
+README
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/emacsen-install.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+# /usr/lib/emacsen-common/packages/install/exigrey
+
+# Written by Jim Van Zandt <jrv@debian.org>, borrowing heavily
+# from the install scripts for gettext by Santiago Vila
+# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
+
+FLAVOR=$1
+PACKAGE=exigrey
+
+if [ ${FLAVOR} = emacs ]; then exit 0; fi
+
+echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
+
+#FLAVORTEST=`echo $FLAVOR | cut -c-6`
+#if [ ${FLAVORTEST} = xemacs ] ; then
+#    SITEFLAG="-no-site-file"
+#else
+#    SITEFLAG="--no-site-file"
+#fi
+FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile"
+
+ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
+ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+
+# Install-info-altdir does not actually exist. 
+# Maybe somebody will write it.
+if test -x /usr/sbin/install-info-altdir; then
+    echo install/${PACKAGE}: install Info links for ${FLAVOR}
+    install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz
+fi
+
+install -m 755 -d ${ELCDIR}
+cd ${ELDIR}
+FILES=`echo *.el`
+cp ${FILES} ${ELCDIR}
+cd ${ELCDIR}
+
+cat << EOF > path.el
+(setq load-path (cons "." load-path) byte-compile-warnings nil)
+EOF
+${FLAVOR} ${FLAGS} ${FILES}
+rm -f *.el path.el
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/emacsen-remove.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/remove/exigrey
+
+FLAVOR=$1
+PACKAGE=exigrey
+
+if [ ${FLAVOR} != emacs ]; then
+    if test -x /usr/sbin/install-info-altdir; then
+        echo remove/${PACKAGE}: removing Info links for ${FLAVOR}
+        install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/exigrey.info.gz
+    fi
+
+    echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
+    rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/emacsen-startup.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,25 @@
+;; -*-emacs-lisp-*-
+;;
+;; Emacs startup file, e.g.  /etc/emacs/site-start.d/50exigrey.el
+;; for the Debian exigrey package
+;;
+;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at>
+;; Modified by Dirk Eddelbuettel <edd@debian.org>
+;; Adapted for dh-make by Jim Van Zandt <jrv@debian.org>
+
+;; The exigrey package follows the Debian/GNU Linux 'emacsen' policy and
+;; byte-compiles its elisp files for each 'emacs flavor' (emacs19,
+;; xemacs19, emacs20, xemacs20...).  The compiled code is then
+;; installed in a subdirectory of the respective site-lisp directory.
+;; We have to add this to the load-path:
+(let ((package-dir (concat "/usr/share/"
+                           (symbol-name flavor)
+                           "/site-lisp/exigrey")))
+;; If package-dir does not exist, the exigrey package must have
+;; removed but not purged, and we should skip the setup.
+  (when (file-directory-p package-dir)
+        (setq load-path (cons package-dir load-path))
+       (autoload 'exigrey-mode "exigrey-mode"
+         "Major mode for editing exigrey files." t)
+       (add-to-list 'auto-mode-alist '("\\.exigrey$" . exigrey-mode))))
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/exigrey-default.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,10 @@
+# Defaults for exigrey initscript
+# sourced by /etc/init.d/exigrey
+# installed at /etc/default/exigrey by the maintainer scripts
+
+#
+# This is a POSIX shell fragment
+#
+
+# Additional options that are passed to the Daemon.
+DAEMON_OPTS=""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/exigrey.doc-base.EX	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,22 @@
+Document: exigrey
+Title: Debian exigrey Manual
+Author: <insert document author here>
+Abstract: This manual describes what exigrey is
+ and how it can be used to
+ manage online manuals on Debian systems.
+Section: unknown
+
+Format: debiandoc-sgml
+Files: /usr/share/doc/exigrey/exigrey.sgml.gz
+
+Format: postscript
+Files: /usr/share/doc/exigrey/exigrey.ps.gz
+
+Format: text
+Files: /usr/share/doc/exigrey/exigrey.text.gz
+
+Format: HTML
+Index: /usr/share/doc/exigrey/html/index.html
+Files: /usr/share/doc/exigrey/html/*.html
+
+  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/init.d.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,81 @@
+#! /bin/sh
+#
+# skeleton	example file to build /etc/init.d/ scripts.
+#		This file should be used to construct scripts for /etc/init.d.
+#
+#		Written by Miquel van Smoorenburg <miquels@cistron.nl>.
+#		Modified for Debian 
+#		by Ian Murdock <imurdock@gnu.ai.mit.edu>.
+#
+# Version:	@(#)skeleton  1.9  26-Feb-2001  miquels@cistron.nl
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/exigrey
+NAME=exigrey
+DESC=exigrey
+
+test -x $DAEMON || exit 0
+
+# Include exigrey defaults if available
+if [ -f /etc/default/exigrey ] ; then
+	. /etc/default/exigrey
+fi
+
+set -e
+
+case "$1" in
+  start)
+	echo -n "Starting $DESC: "
+	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
+		--exec $DAEMON -- $DAEMON_OPTS
+	echo "$NAME."
+	;;
+  stop)
+	echo -n "Stopping $DESC: "
+	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
+		--exec $DAEMON
+	echo "$NAME."
+	;;
+  #reload)
+	#
+	#	If the daemon can reload its config files on the fly
+	#	for example by sending it SIGHUP, do it here.
+	#
+	#	If the daemon responds to changes in its config file
+	#	directly anyway, make this a do-nothing entry.
+	#
+	# echo "Reloading $DESC configuration files."
+	# start-stop-daemon --stop --signal 1 --quiet --pidfile \
+	#	/var/run/$NAME.pid --exec $DAEMON
+  #;;
+  force-reload)
+	#
+	#	If the "reload" option is implemented, move the "force-reload"
+	#	option to the "reload" entry above. If not, "force-reload" is
+	#	just the same as "restart" except that it does nothing if the
+	#   daemon isn't already running.
+	# check wether $DAEMON is running. If so, restart
+	start-stop-daemon --stop --test --quiet --pidfile \
+		/var/run/$NAME.pid --exec $DAEMON \
+	&& $0 restart \
+	|| exit 0
+	;;
+  restart)
+    echo -n "Restarting $DESC: "
+	start-stop-daemon --stop --quiet --pidfile \
+		/var/run/$NAME.pid --exec $DAEMON
+	sleep 1
+	start-stop-daemon --start --quiet --pidfile \
+		/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
+	echo "$NAME."
+	;;
+  *)
+	N=/etc/init.d/$NAME
+	# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+	echo "Usage: $N {start|stop|restart|force-reload}" >&2
+	exit 1
+	;;
+esac
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/manpage.1.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,59 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH EXIGREY SECTION "Januar  1, 2007"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+exigrey \- program to do something
+.SH SYNOPSIS
+.B exigrey
+.RI [ options ] " files" ...
+.br
+.B bar
+.RI [ options ] " files" ...
+.SH DESCRIPTION
+This manual page documents briefly the
+.B exigrey
+and
+.B bar
+commands.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
+.\" respectively.
+\fBexigrey\fP is a program that...
+.SH OPTIONS
+These programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`-').
+A summary of options is included below.
+For a complete description, see the Info files.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-v, \-\-version
+Show version of program.
+.SH SEE ALSO
+.BR bar (1),
+.BR baz (1).
+.br
+The programs are documented fully by
+.IR "The Rise and Fall of a Fooish Bar" ,
+available via the Info system.
+.SH AUTHOR
+exigrey was written by <upstream author>.
+.PP
+This manual page was written by Heiko Schlittermann <heiko@schlittermann.de>,
+for the Debian project (but may be used by others).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/manpage.sgml.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,156 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
+     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+     less'.  A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+	docbook-to-man $< > $@
+
+    
+	The docbook-to-man binary is found in the docbook-to-man package.
+	Please remember that if you create the nroff version in one of the
+	debian/rules file targets (such as build), you will need to include
+	docbook-to-man in your Build-Depends control field.
+
+  -->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+  <!ENTITY dhsurname   "<surname>SURNAME</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>Januar  1, 2007</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>SECTION</manvolnum>">
+  <!ENTITY dhemail     "<email>heiko@schlittermann.de</email>">
+  <!ENTITY dhusername  "Heiko Schlittermann">
+  <!ENTITY dhucpackage "<refentrytitle>EXIGREY</refentrytitle>">
+  <!ENTITY dhpackage   "exigrey">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+      <arg><option>--example <replaceable>that</replaceable></option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+
+    <para>This manual page was written for the &debian; distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the &gnu;
+      <application>Info</application> format; see below.</para>
+
+    <para><command>&dhpackage;</command> is a program that...</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>These programs follow the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <application>Info</application> files.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>bar (1), baz (1).</para>
+
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the
+      <application>Info</application> system.</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (but may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any 
+	  later version published by the Free Software Foundation.
+    </para>
+	<para>
+	  On Debian systems, the complete text of the GNU General Public
+	  License can be found in /usr/share/common-licenses/GPL.
+	</para>
+
+  </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/manpage.xml.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,148 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!--
+
+Process this file with an XSLT processor: `xsltproc \
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl manpage.dbk'.  A manual page
+<package>.<section> will be generated.  You may view the
+manual page with: nroff -man <package>.<section> | less'.  A
+typical entry in a Makefile or Makefile.am is:
+
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl
+XP=xsltproc -''-nonet
+
+manpage.1: manpage.dbk
+        $(XP) $(DB2MAN) $<
+    
+The xsltproc binary is found in the xsltproc package.  The
+XSL files are in docbook-xsl.  Please remember that if you
+create the nroff version in one of the debian/rules file
+targets (such as build), you will need to include xsltproc
+and docbook-xsl in your Build-Depends control field.
+
+-->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+  <!ENTITY dhsurname   "<surname>SURNAME</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>Januar  1, 2007</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>SECTION</manvolnum>">
+  <!ENTITY dhemail     "<email>heiko@schlittermann.de</email>">
+  <!ENTITY dhusername  "Heiko Schlittermann">
+  <!ENTITY dhucpackage "<refentrytitle>EXIGREY</refentrytitle>">
+  <!ENTITY dhpackage   "exigrey">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+      <arg><option>--example <replaceable>that</replaceable></option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+
+    <para>This manual page was written for the &debian; distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the &gnu;
+      <application>Info</application> format; see below.</para>
+
+    <para><command>&dhpackage;</command> is a program that...</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>These programs follow the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <application>Info</application> files.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>bar (1), baz (1).</para>
+
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the
+      <application>Info</application> system.</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (but may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any 
+	  later version published by the Free Software Foundation.
+    </para>
+	<para>
+	  On Debian systems, the complete text of the GNU General Public
+	  License can be found in /usr/share/common-licenses/GPL.
+	</para>
+
+  </refsect1>
+</refentry>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/menu.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,2 @@
+?package(exigrey):needs="X11|text|vc|wm" section="Apps/see-menu-manual"\
+  title="exigrey" command="/usr/bin/exigrey"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/postinst.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,41 @@
+#!/bin/sh
+# postinst script for exigrey
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    configure)
+    ;;
+
+    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
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/postrm.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,39 @@
+#!/bin/sh
+# postrm script for exigrey
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm 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
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/preinst.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,37 @@
+#!/bin/sh
+# preinst script for exigrey
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    install|upgrade)
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst 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
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/prerm.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,40 @@
+#!/bin/sh
+# prerm script for exigrey
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove|upgrade|deconfigure)
+    ;;
+
+    failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm 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
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/rules	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,101 @@
+#!/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
+
+
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+
+configure: configure-stamp
+configure-stamp:
+	dh_testdir
+	# Add here commands to configure the package.
+
+	touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: configure-stamp 
+	dh_testdir
+
+	# Add here commands to compile the package.
+	$(MAKE)
+	#docbook-to-man debian/exigrey.sgml > exigrey.1
+
+	touch $@
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp configure-stamp
+
+	# Add here commands to clean up after the build process.
+	-$(MAKE) clean
+
+	dh_clean 
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+
+	# Add here commands to install the package into debian/exigrey.
+	$(MAKE) \
+		prefix=/usr \
+		eximconfdir=/etc/exim4 \
+		DESTDIR=$(CURDIR)/debian/exigrey \
+	    install
+
+
+# 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 
+	dh_installdocs
+	dh_installexamples
+#	dh_install
+#	dh_installmenu
+#	dh_installdebconf	
+#	dh_installlogrotate
+#	dh_installemacsen
+#	dh_installpam
+#	dh_installmime
+#	dh_python
+#	dh_installinit
+#	dh_installcron
+#	dh_installinfo
+	dh_installman
+	dh_link
+	dh_strip
+	dh_compress
+	dh_fixperms
+#	dh_perl
+#	dh_makeshlibs
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/watch.ex	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,22 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# See uscan(1) for format
+
+# Compulsory line, this is a version 3 file
+version=3
+
+# Uncomment to examine a Webpage 
+# <Webpage URL> <string match>
+#http://www.example.com/downloads.php exigrey-(.*)\.tar\.gz
+
+# Uncomment to examine a Webserver directory
+#http://www.example.com/pub/exigrey-(.*)\.tar\.gz
+
+# Uncommment to examine a FTP server
+#ftp://ftp.example.com/pub/exigrey-(.*)\.tar\.gz debian uupdate
+
+# Uncomment to find new files on sourceforge, for debscripts >= 2.9
+# http://sf.net/exigrey/exigrey-(.*)\.tar\.gz
+
+
--- a/exigrey	Mon Jan 01 16:16:36 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-#! /usr/bin/perl
-# © 2006,2007 Heiko Schlittermann <hs@schlittermann.de>
-# Quick and dirty. Absolutly no warranty. Not even for spelling ;-)
-# $Id$
-# $URL$
-
-use constant USAGE => <<'#';
-
-Usage: !ME! item [delay [db]]
-       !ME! --list [db]
-       !ME! --stat [db]
-       !ME! --clean [days [db]]
-
-       Defaults: delay: !$DEFAULT{delay}!
-		 db:    !$DEFAULT{db}!
-		 days:	!$DEFAULT{days}!
-#
-
-use strict;
-use warnings;
-use Getopt::Long;
-use File::Basename;
-use File::Temp qw/tmpfile/;
-use constant ME => basename $0;
-use FindBin qw/$Bin/;
-use POSIX qw/strftime mktime/;
-
-do "$Bin/greylist.pl" or die;
-my %DEFAULT = getDefault();
-   $DEFAULT{days} = 7;
-
-my $opt_list;
-my $opt_stats;
-my $opt_clean;
-my $opt_help;
-
-sub iterate(\%$);
-sub connectDB(\%$);
-
-
-MAIN: {
-
-    GetOptions(
-	"list!" => \$opt_list,
-	"stats!" => \$opt_stats,
-	"clean!" => \$opt_clean,
-	"help!" => \$opt_help
-    ) or die ME.": Bad usage, try ".ME." --help.\n";
-
-    if ($opt_help) {
-	($_ = USAGE) =~ s/!(.*?)!/eval $1/eg;
-	print; exit 0;
-    };
-
-
-    if ($opt_list) {
-	my %h;
-	connectDB(%h, shift || $DEFAULT{db});
-	iterate(%h, sub {
-	    my ($item, $v0, $v1, $dv) = @_;
-	    printf "%-16s:\t$v0 $v1 (%.1f %s %s)\n", 
-		    $item, $dv/86400, 
-		    strftime("%F %T", localtime($v0)), 
-		    strftime("%F %T", localtime($v1));
-	});
-	exit 0;
-    }
-
-    if ($opt_stats) {
-	my %h; 
-	my $db = connectDB(%h, shift || $DEFAULT{db});
-
-	my ($seen, $returned, $oldest);
-	$oldest = time();
-	iterate(%h, sub {
-	    my ($item, $v0, $v1, $dv) = @_;
-	    ++$seen;
-	    ++$returned if $dv;
-	    $oldest = $v0 if $v0 < $oldest;
-	});
-
-	$_ = <<__;
-        date: %s
-          db: $db (%.1fMB)
-       total: $seen
-not returned: %d (%d%%)
-      oldest: %.1f days (%s)
-__
-	printf $_, 
-		scalar(localtime), 
-		(-s $db)/(1024*1024),
-		$seen - $returned, 
-		int(100 * ($seen-$returned)/$seen), 
-		((time - $oldest) / 86400), scalar(localtime $oldest);
-
-	exit 0;
-    }
-
-    if ($opt_clean) {
-	my %h;
-	my ($days, $db) = @ARGV;
-	    $days = 7 unless defined $days;
-	$db = connectDB(%h, $db || $DEFAULT{db});
-
-	my $cut = time() - ($days * 86400);
-	my $tmp = tmpfile();
-	iterate(%h, sub {
-	    my ($item, $v0, $v1, $dv) = @_;
-
-	    # We can't delete the items directly!
-	    print $tmp "$item\0" if $v1 <= $cut;
-	});
-
-	seek($tmp, 0, 0) or die;
-	$/ = "\0";
-	delete $h{$_} while <$tmp>;
-	print "$. records deleted\n";
-
-	exit 0;
-    }
-
-
-
-    print unseen(@ARGV, 10) . "\n";
-}
-
-
-sub connectDB(\%$) {
-    my ($h, $db) = @_;
-    $db = getDBDir() ."/$db" unless $db =~ /^\//;
-    tie %$h, "BerkeleyDB::Hash", -Filename => $db or die;
-    return $db;
-}
-
-# Helper to iterate over our hash and call the passed
-# "callback" function (item, v0, v1, delta)
-sub iterate(\%$) {
-    my ($hash, $sub) = @_;
-    while (my ($k, $v) = each %$hash) {
-	chop($k, $v);
-	my ($v0, $v1) = split " ", $v;
-	my $dv = $v1 - $v0;
-	&$sub($k, $v0, $v1, $dv);
-    }
-}
-
-# vim:ft=perl aw sts=4 sw=4:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/exigrey.pl	Mon Jan 01 19:34:50 2007 +0000
@@ -0,0 +1,107 @@
+#! /usr/bin/perl
+# © 2006,2007 Heiko Schlittermann <hs@schlittermann.de>
+# Quick and dirty. Absolutly no warranty. Not even for spelling ;-)
+# $Id$
+# $URL$
+
+use constant USAGE => <<'#';
+
+Usage: !ME! item [delay [db]]
+       !ME! --list [db]
+       !ME! --stat [db]
+       !ME! --clean [days [db]]
+
+       Defaults: delay: !$DEFAULT{delay}!
+		 db:    !$DEFAULT{db}!
+		 days:	!$DEFAULT{days}!
+#
+
+use strict;
+use warnings;
+use Getopt::Long;
+use File::Basename;
+use constant ME => basename $0;
+use FindBin qw/$Bin/;
+use POSIX qw/strftime mktime/;
+
+do "$Bin/greylist.pl" or die;
+my %DEFAULT = getDefault();
+   $DEFAULT{days} = 7;
+
+my $opt_list;
+my $opt_stats;
+my $opt_help;
+
+sub iterate(\%$);
+
+MAIN: {
+
+    GetOptions(
+	"list!" => \$opt_list,
+	"stats!" => \$opt_stats,
+	"help!" => \$opt_help
+    ) or die ME.": Bad usage, try ".ME." --help.\n";
+
+    if ($opt_help) {
+	($_ = USAGE) =~ s/!(.*?)!/eval $1/eg;
+	print; exit 0;
+    };
+
+    my $db = shift || $DEFAULT{db};
+    $db = getDBDir() ."/$db" unless $db =~ /^\//;
+
+    my %h; tie %h, "BerkeleyDB::Hash", -Filename => $db or die;
+
+    if ($opt_list) {
+	iterate(%h, sub {
+	    my ($item, $v0, $v1, $dv) = @_;
+	    printf "%-16s:\t$v0 $v1 (%3ds %s %s)\n", 
+		    $item, $dv, 
+		    strftime("%F %T", localtime($v0)), 
+		    strftime("%F %T", localtime($v1));
+	});
+	exit 0;
+    }
+
+    if ($opt_stats) {
+	my ($seen, $returned, $oldest);
+	$oldest = time();
+	iterate(%h, sub {
+	    my ($item, $v0, $v1, $dv) = @_;
+	    ++$seen;
+	    ++$returned if $dv;
+	    $oldest = $v0 if $v0 < $oldest;
+	});
+
+	$_ = <<__;
+        date: %s
+          db: $db
+       total: $seen
+not returned: %d (%d%%)
+      oldest: %.1f days (%s)
+__
+	printf $_, 
+		scalar(localtime), 
+		$seen - $returned, 
+		int(100 * ($seen-$returned)/$seen), 
+		((time - $oldest) / 86400), scalar(localtime $oldest);
+
+	exit 0;
+    }
+
+    print unseen(@ARGV, 10) . "\n";
+}
+
+# Helper to iterate over our hash and call the passed
+# "callback" function (item, v0, v1, delta)
+sub iterate(\%$) {
+    my ($hash, $sub) = @_;
+    while (my ($k, $v) = each %$hash) {
+	chop($k, $v);
+	my ($v0, $v1) = split " ", $v;
+	my $dv = $v1 - $v0;
+	&$sub($k, $v0, $v1, $dv);
+    }
+}
+
+# vim:ft=perl aw sts=4 sw=4: