# HG changeset patch # User heiko # Date 1167680090 0 # Node ID 33a7d057641106ecf4025e727dc359fef29dc65b # Parent 676e54f00c44c222c5bb7ccee27c107a7aae5cbe Debianized. diff -r 676e54f00c44 -r 33a7d0576411 Makefile --- /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 $@ diff -r 676e54f00c44 -r 33a7d0576411 README --- /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 diff -r 676e54f00c44 -r 33a7d0576411 debian/README.Debian --- /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 Mon, 1 Jan 2007 20:17:51 +0100 diff -r 676e54f00c44 -r 33a7d0576411 debian/changelog --- /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 Mon, 1 Jan 2007 20:17:51 +0100 + diff -r 676e54f00c44 -r 33a7d0576411 debian/compat --- /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 diff -r 676e54f00c44 -r 33a7d0576411 debian/control --- /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 +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. + diff -r 676e54f00c44 -r 33a7d0576411 debian/copyright --- /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 on +Mon, 1 Jan 2007 20:17:51 +0100. + +It was downloaded from + +Upstream Author: + +Copyright: + +License: + + + + +The Debian packaging is (C) 2007, Heiko Schlittermann 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. + diff -r 676e54f00c44 -r 33a7d0576411 debian/cron.d.ex --- /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 diff -r 676e54f00c44 -r 33a7d0576411 debian/dirs --- /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 diff -r 676e54f00c44 -r 33a7d0576411 debian/docs --- /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 diff -r 676e54f00c44 -r 33a7d0576411 debian/emacsen-install.ex --- /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 , borrowing heavily +# from the install scripts for gettext by Santiago Vila +# and octave by Dirk Eddelbuettel . + +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 diff -r 676e54f00c44 -r 33a7d0576411 debian/emacsen-remove.ex --- /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 diff -r 676e54f00c44 -r 33a7d0576411 debian/emacsen-startup.ex --- /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 +;; Modified by Dirk Eddelbuettel +;; Adapted for dh-make by Jim Van Zandt + +;; 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)))) + diff -r 676e54f00c44 -r 33a7d0576411 debian/exigrey-default.ex --- /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="" diff -r 676e54f00c44 -r 33a7d0576411 debian/exigrey.doc-base.EX --- /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: +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 + + diff -r 676e54f00c44 -r 33a7d0576411 debian/init.d.ex --- /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 . +# Modified for Debian +# by Ian Murdock . +# +# 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 diff -r 676e54f00c44 -r 33a7d0576411 debian/manpage.1.ex --- /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 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\fP and +.\" \fI\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 . +.PP +This manual page was written by Heiko Schlittermann , +for the Debian project (but may be used by others). diff -r 676e54f00c44 -r 33a7d0576411 debian/manpage.sgml.ex --- /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 @@ + 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. + + --> + + + FIRSTNAME"> + SURNAME"> + + Januar 1, 2007"> + + SECTION"> + heiko@schlittermann.de"> + + EXIGREY"> + + + Debian"> + GNU"> + GPL"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2003 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + program to do something + + + + &dhpackage; + + + + + + + + DESCRIPTION + + This manual page documents briefly the + &dhpackage; and bar + commands. + + 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; + Info format; see below. + + &dhpackage; is a program that... + + + + 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. + + + + + + + + Show summary of options. + + + + + + + + Show version of program. + + + + + + SEE ALSO + + bar (1), baz (1). + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + Info system. + + + AUTHOR + + 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. + + + On Debian systems, the complete text of the GNU General Public + License can be found in /usr/share/common-licenses/GPL. + + + +
+ + + + diff -r 676e54f00c44 -r 33a7d0576411 debian/manpage.xml.ex --- /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 @@ + +.
will be generated. You may view the +manual page with: nroff -man .
| 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. + +--> + + + FIRSTNAME"> + SURNAME"> + + Januar 1, 2007"> + + SECTION"> + heiko@schlittermann.de"> + + EXIGREY"> + + + Debian"> + GNU"> + GPL"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2003 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + program to do something + + + + &dhpackage; + + + + + + + + DESCRIPTION + + This manual page documents briefly the + &dhpackage; and bar + commands. + + 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; + Info format; see below. + + &dhpackage; is a program that... + + + + 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. + + + + + + + + Show summary of options. + + + + + + + + Show version of program. + + + + + + SEE ALSO + + bar (1), baz (1). + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + Info system. + + + AUTHOR + + 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. + + + On Debian systems, the complete text of the GNU General Public + License can be found in /usr/share/common-licenses/GPL. + + + +
+ diff -r 676e54f00c44 -r 33a7d0576411 debian/menu.ex --- /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" diff -r 676e54f00c44 -r 33a7d0576411 debian/postinst.ex --- /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: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# 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 + + diff -r 676e54f00c44 -r 33a7d0576411 debian/postrm.ex --- /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: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# 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 + + diff -r 676e54f00c44 -r 33a7d0576411 debian/preinst.ex --- /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: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# 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 + + diff -r 676e54f00c44 -r 33a7d0576411 debian/prerm.ex --- /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: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# 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 + + diff -r 676e54f00c44 -r 33a7d0576411 debian/rules --- /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 diff -r 676e54f00c44 -r 33a7d0576411 debian/watch.ex --- /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 +# +#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 + + diff -r 676e54f00c44 -r 33a7d0576411 exigrey --- 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 -# 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: diff -r 676e54f00c44 -r 33a7d0576411 exigrey.pl --- /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 +# 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: