Python3 update

This commit is contained in:
Mario Fetka
2026-04-22 23:24:29 +02:00
parent 6db8ad7a2d
commit 2230ffdadd
48 changed files with 637 additions and 2095 deletions

17
debian/README.Debian vendored
View File

@@ -1,6 +1,19 @@
fail2ban-p2p for Debian
-----------------------
<possible notes regarding this package - if none, delete this file>
This package ships the legacy fail2ban-p2p daemon and client, updated to run
with Python 3. The upstream project is old and its packaging layout is unusual,
so this Debian packaging intentionally keeps the service wiring conservative.
-- Manuel Munz <manu@somakoma.de> Wed, 07 Nov 2012 16:40:08 +0100
Operational notes:
* The daemon is disabled by default. Enable it in /etc/default/fail2ban-p2p.
* Configuration lives in /etc/fail2ban-p2p/.
* The package creates a dedicated system user: fail2ban-p2p.
* A local keypair can be generated with:
fail2ban-p2p.py -K -c /etc/fail2ban-p2p
* The daemon log file is:
/var/log/fail2ban-p2p.log
The shipped init script is retained for compatibility with older setups. For
new deployments, a native systemd unit would be preferable.

17
debian/README.source vendored
View File

@@ -1,9 +1,14 @@
fail2ban-p2p for Debian
-----------------------
<this file describes information about the source package, see Debian policy
manual section 4.14. You WILL either need to modify or delete this file>
fail2ban-p2p source package for Debian
--------------------------------------
This package is maintained as a minimal refresh of the historical Debian
packaging while the upstream codebase is being ported to Python 3.
Notes for maintainers:
* The package still installs the application using setup.py because the
upstream layout is not yet a standard Python package layout.
* Many files generated by dh_make and debhelper were intentionally removed
from debian/ because they were examples or build artefacts.
* If the upstream package layout is modernized later, debian/rules should be
simplified further to use pybuild directly.

10
debian/changelog vendored
View File

@@ -1,3 +1,13 @@
fail2ban-p2p (0.1.2+py3) unstable; urgency=medium
* Port package and installed scripts to Python 3.
* Replace Python 2 packaging metadata with dh-python based dependencies.
* Update debhelper compatibility for current Debian packaging.
* Refresh maintainer scripts and service metadata for current policy.
* Convert debian/copyright to machine-readable DEP-5 format.
-- Manuel Munz <manu@somakoma.de> Wed, 22 Apr 2026 12:00:00 +0200
fail2ban-p2p (0.1.2) precise; urgency=low
* Better input filtering and error messages for invalid messages

2
debian/compat vendored
View File

@@ -1 +1 @@
8
13

27
debian/control vendored
View File

@@ -2,18 +2,23 @@ Source: fail2ban-p2p
Section: net
Priority: optional
Maintainer: Manuel Munz <manu@somakoma.de>
Build-Depends: debhelper (>= 8.0.0), python (>= 2.5.4-1~)
Build-Depends-Indep: python-central (>= 0.5.6)
XS-Python-Version: current, >= 2.4
Standards-Version: 3.9.2
#Homepage:
#Vcs-Git: git://git.debian.org/collab-maint/fail2ban-p2p.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/fail2ban-p2p.git;a=summary
Build-Depends:
debhelper (>= 13),
dh-python,
python3-all,
python3-setuptools
Standards-Version: 4.7.4.1
Rules-Requires-Root: no
Homepage: https://github.com/mmunz/fail2ban-p2p
Package: fail2ban-p2p
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, python-m2crypto, python-argparse, adduser
XB-Python-Version: ${python:Versions}
Depends:
${misc:Depends},
${python3:Depends},
adduser,
python3-m2crypto
Description: Distribute attacker information from fail2ban via a p2p network
Fail2ban-p2p can be used to distribute information about atackers in a
p2p/f2f network to ban these attackers on all hosts.
fail2ban-p2p distributes attacker information from fail2ban between hosts
in a peer-to-peer or friend-to-friend network so attackers can be blocked
across multiple systems.

72
debian/copyright vendored
View File

@@ -1,26 +1,56 @@
This package was originally debianized by Manuel Munz
<manu@somakoma.de> on Wed Nov 11 15:50:00 HST 2012
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: fail2ban-p2p
Source: https://github.com/mmunz/fail2ban-p2p
Copyright: 2012- Manuel Munz/Johannes Fürmann
Files: *
Copyright: 2012-2013 Johannes Fuermann <johannes at fuermann.cc>
2012-2013 Manuel Munz <manu@somakoma.de>
License: GPL-3+
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 3 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, see <https://www.gnu.org/licenses/>.
Comment:
The upstream source files state that fail2ban-p2p is licensed under the
GNU General Public License Version 3.
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.
Files: odict.py
Copyright: 2009 Raymond Hettinger
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
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.
Files: debian/*
Copyright: 2012-2026 Manuel Munz <manu@somakoma.de>
License: GPL-3+
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.
On Debian systems, the complete text of the GNU General Public
License, version 2, can be found in /usr/share/common-licenses/GPL-2.
The Debian packaging is (C) 2011-, Manuel Munz <manu@somakoma.de>
and is licensed under the GPL, see above.
License: GPL-3+
On Debian systems, the full text of the GNU General Public License
version 3 can be found in /usr/share/common-licenses/GPL-3.
License: MIT
On Debian systems, the full text of the MIT license can be found in
/usr/share/common-licenses/MIT.

View File

@@ -1,45 +0,0 @@
#! /bin/sh -e
# /usr/lib/emacsen-common/packages/install/fail2ban-p2p
# 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=fail2ban-p2p
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/share/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

View File

@@ -1,15 +0,0 @@
#!/bin/sh -e
# /usr/lib/emacsen-common/packages/remove/fail2ban-p2p
FLAVOR=$1
PACKAGE=fail2ban-p2p
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/share/info/fail2ban-p2p.info.gz
fi
echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
fi

View File

@@ -1,25 +0,0 @@
;; -*-emacs-lisp-*-
;;
;; Emacs startup file, e.g. /etc/emacs/site-start.d/50fail2ban-p2p.el
;; for the Debian fail2ban-p2p 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 fail2ban-p2p 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/fail2ban-p2p")))
;; If package-dir does not exist, the fail2ban-p2p 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 'fail2ban-p2p-mode "fail2ban-p2p-mode"
"Major mode for editing fail2ban-p2p files." t)
(add-to-list 'auto-mode-alist '("\\.fail2ban-p2p$" . fail2ban-p2p-mode))))

View File

@@ -1 +0,0 @@
#DOCS#

View File

@@ -1 +0,0 @@
#DOCS#

View File

@@ -1,4 +0,0 @@
#
# Regular cron jobs for the fail2ban-p2p package
#
0 4 * * * root [ -x /usr/bin/fail2ban-p2p_maintenance ] && /usr/bin/fail2ban-p2p_maintenance

View File

@@ -1,12 +0,0 @@
dh_installdirs
dh_installdocs
dh_installlogrotate
dh_pycentral
dh_installinit
dh_link
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb

View File

@@ -1,13 +1,10 @@
# Defaults for fail2ban-p2p initscript
# sourced by /etc/init.d/fail2ban-p2p
# installed at /etc/default/fail2ban-p2p by the maintainer scripts
#
# This is a POSIX shell fragment
#
# Additional options that are passed to the Daemon.
# Additional options passed to the daemon.
DAEMON_OPTS=""
# Set this to true to start the daemon at boot
# Set to true to start the daemon at boot.
# Leave disabled by default so the service is only started after
# configuration and key material have been created by the administrator.
START_DAEMON=false

View File

@@ -1,20 +0,0 @@
Document: fail2ban-p2p
Title: Debian fail2ban-p2p Manual
Author: <insert document author here>
Abstract: This manual describes what fail2ban-p2p is
and how it can be used to
manage online manuals on Debian systems.
Section: unknown
Format: debiandoc-sgml
Files: /usr/share/doc/fail2ban-p2p/fail2ban-p2p.sgml.gz
Format: postscript
Files: /usr/share/doc/fail2ban-p2p/fail2ban-p2p.ps.gz
Format: text
Files: /usr/share/doc/fail2ban-p2p/fail2ban-p2p.text.gz
Format: HTML
Index: /usr/share/doc/fail2ban-p2p/html/index.html
Files: /usr/share/doc/fail2ban-p2p/html/*.html

79
debian/fail2ban-p2p.init vendored Executable file
View File

@@ -0,0 +1,79 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: fail2ban-p2p
# Required-Start: $remote_fs $network $syslog
# Required-Stop: $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: exchange fail2ban ban information between trusted peers
# Description: Starts the fail2ban-p2p daemon that exchanges attacker
# information between trusted nodes.
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="fail2ban-p2p daemon"
NAME=fail2ban-p2p
DAEMON=/usr/bin/fail2ban-p2p.py
DAEMON_USER=fail2ban-p2p
DAEMON_GROUP=fail2ban-p2p
PIDFILE=/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
DAEMON_ARGS=""
[ -x "$DAEMON" ] || exit 0
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
if [ "$START_DAEMON" != "true" ]; then
echo "fail2ban-p2p is disabled in /etc/default/$NAME"
exit 0
fi
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start() {
start-stop-daemon --start --quiet --background --make-pidfile \
--pidfile "$PIDFILE" --chuid "$DAEMON_USER:$DAEMON_GROUP" \
--exec "$DAEMON" --test > /dev/null || return 1
start-stop-daemon --start --quiet --background --make-pidfile \
--pidfile "$PIDFILE" --chuid "$DAEMON_USER:$DAEMON_GROUP" \
--exec "$DAEMON" -- $DAEMON_ARGS || return 2
}
do_stop() {
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \
--pidfile "$PIDFILE" --name "$(basename "$DAEMON")"
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
rm -f "$PIDFILE"
return "$RETVAL"
}
case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME"
do_start
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
log_end_msg $?
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop || true
do_start
log_end_msg $?
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;;
esac
exit 0

1
debian/fail2ban-p2p.install vendored Normal file
View File

@@ -0,0 +1 @@
fail2ban-p2p.service lib/systemd/system/

View File

@@ -1,15 +0,0 @@
# Automatically added by dh_pycentral
rm -f /var/lib/pycentral/fail2ban-p2p.pkgremove
if which pycentral >/dev/null 2>&1; then
pycentral pkginstall fail2ban-p2p
if grep -qs '^fail2ban-p2p$' /var/lib/pycentral/delayed-pkgs; then
sed -i '/^fail2ban-p2p$/d' /var/lib/pycentral/delayed-pkgs
fi
fi
# End automatically added section
# Automatically added by dh_installinit
if [ -x "/etc/init.d/fail2ban-p2p" ]; then
update-rc.d fail2ban-p2p defaults 99 >/dev/null
invoke-rc.d fail2ban-p2p start || exit $?
fi
# End automatically added section

View File

@@ -1,5 +0,0 @@
# Automatically added by dh_installinit
if [ "$1" = "purge" ] ; then
update-rc.d fail2ban-p2p remove >/dev/null
fi
# End automatically added section

View File

@@ -1,8 +0,0 @@
# Automatically added by dh_pycentral
case "$1" in
install|upgrade)
mkdir -p /var/lib/pycentral
echo '# the presence of this file allows calling pkgremove on upgrade' \
> /var/lib/pycentral/fail2ban-p2p.pkgremove
esac
# End automatically added section

View File

@@ -1,50 +0,0 @@
# Automatically added by dh_installinit
if [ -x "/etc/init.d/fail2ban-p2p" ]; then
invoke-rc.d fail2ban-p2p stop || exit $?
fi
# End automatically added section
# Automatically added by dh_pycentral
case "$1" in remove|upgrade)
pkgremove=y
esac
if [ -f /var/lib/pycentral/fail2ban-p2p.pkgremove ] || [ -f /var/lib/pycentral/pkgremove ]; then
pkgremove=y
fi
if [ "$pkgremove" = y ]; then
if which python >/dev/null 2>&1 && which pycentral >/dev/null 2>&1; then
pycentral pkgremove fail2ban-p2p
else
flist=$(tempfile)
slist=$(tempfile)
dpkg -L fail2ban-p2p | tee $flist | \
while read n; do
case "$n" in
/usr/share/pyshared/*)
n2=${n#/usr/share/pyshared/*}
case "$n" in
*.py) echo "p $n";;
*) [ -d "$n" ] && echo "d $n2" || echo "f $n2"
esac
;;
*) continue
esac
done > $slist
if [ -s $slist ]; then
for d in /usr/lib/python[0-9].[0-9]/????-packages; do
case "$d" in */python2.1/*|*/python2.2/*) continue; esac
while read t n; do
case "$t" in
p) rm -f $d/$n $d/${n}[co];;
d) rmdir $d/$n 2>/dev/null || true;;
*) rm -f $d/$n
esac
done < $slist
done
fi
awk '/\/usr\/share\/pyshared/ {next} /\.py$/ {print $0"c\n" $0"o"}' $flist \
| xargs -r rm -f >&2
rm -f $flist $slist
fi
rm -f /var/lib/pycentral/fail2ban-p2p.pkgremove
fi
# End automatically added section

25
debian/fail2ban-p2p.service vendored Normal file
View File

@@ -0,0 +1,25 @@
[Unit]
Description=fail2ban-p2p distributed ban exchange daemon
Documentation=man:systemd.service(5)
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=fail2ban-p2p
Group=fail2ban-p2p
EnvironmentFile=-/etc/default/fail2ban-p2p
ExecStart=/usr/bin/python3 /usr/share/fail2ban-p2p/fail2ban-p2p.py -c /etc/fail2ban-p2p $DAEMON_OPTS
Restart=on-failure
RestartSec=5s
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=full
ProtectHome=true
ReadWritePaths=/etc/fail2ban-p2p /var/log/fail2ban-p2p.log
WorkingDirectory=/var/lib/fail2ban-p2p
StateDirectory=fail2ban-p2p
RuntimeDirectory=fail2ban-p2p
[Install]
WantedBy=multi-user.target

View File

@@ -1,3 +0,0 @@
python:Versions=current, >= 2.4
python:Depends=python (>= 2.4), python-central (>= 0.6.11)
misc:Depends=

1
debian/files vendored
View File

@@ -1 +0,0 @@
fail2ban-p2p_0.0.1-1_all.deb net optional

161
debian/init.d vendored
View File

@@ -1,161 +0,0 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: fail2ban-p2p
# Required-Start: $network $local_fs
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: <Enter a short description of the sortware>
# Description: <Enter a long description of the software>
# <...>
# <...>
### END INIT INFO
# Author: Manuel Munz <manu@somakoma.de>
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC=fail2ban-p2p # Introduce a short description here
NAME=fail2ban-p2p # Introduce the short server's name here
DAEMON=/usr/bin/fail2ban-p2p.py # Introduce the server's location here
DAEMON_ARGS="" # Arguments to run the daemon with
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Exit if the package is not installed
[ -x $DAEMON ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
if [ ! "$START_DAEMON" = "true" ]; then
echo "Fail2ban-p2p is not started. Enable it by editing /etc/default/fail2ban-p2p"
exit 0
fi
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon -m -c fail2ban-p2p -g fail2ban-p2p -b --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon -c fail2ban-p2p -g fail2ban-p2p -m -b --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --name ${NAME}.py
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/10/KILL/9 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
#VERBOSE="yes"
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
do_start
do_stop
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;;
esac
:

59
debian/manpage.1.ex vendored
View File

@@ -1,59 +0,0 @@
.\" 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 FAIL2BAN-P2P SECTION "November 7, 2012"
.\" 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
fail2ban-p2p \- program to do something
.SH SYNOPSIS
.B fail2ban-p2p
.RI [ options ] " files" ...
.br
.B bar
.RI [ options ] " files" ...
.SH DESCRIPTION
This manual page documents briefly the
.B fail2ban-p2p
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.
\fBfail2ban-p2p\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
fail2ban-p2p was written by <upstream author>.
.PP
This manual page was written by Manuel Munz <manu@somakoma.de>,
for the Debian project (and may be used by others).

154
debian/manpage.sgml.ex vendored
View File

@@ -1,154 +0,0 @@
<!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>November 7, 2012</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>manu@somakoma.de</email>">
<!ENTITY dhusername "Manuel Munz">
<!ENTITY dhucpackage "<refentrytitle>FAIL2BAN-P2P</refentrytitle>">
<!ENTITY dhpackage "fail2ban-p2p">
<!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 (and 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:
-->

291
debian/manpage.xml.ex vendored
View File

@@ -1,291 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!--
`xsltproc -''-nonet \
-''-param man.charmap.use.subset "0" \
-''-param make.year.ranges "1" \
-''-param make.single.year.ranges "1" \
/usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \
manpage.xml'
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/docbook-xsl/manpages/docbook.xsl
XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0"
manpage.1: manpage.xml
$(XP) $(DB2MAN) $<
The xsltproc binary is found in the xsltproc package. The XSL files are in
docbook-xsl. A description of the parameters you can use can be found in the
docbook-xsl-doc-* packages. 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.
Alternatively use the xmlto command/package. That will also automatically
pull in xsltproc and docbook-xsl.
Notes for using docbook2x: docbook2x-man does not automatically create the
AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
<refsect1> ... </refsect1>.
To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
found in the docbook-xsl-doc-html package.
Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`
General documentation about man-pages and man-page-formatting:
man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/
-->
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!ENTITY dhfirstname "FIRSTNAME">
<!ENTITY dhsurname "SURNAME">
<!-- dhusername could also be set to "&dhfirstname; &dhsurname;". -->
<!ENTITY dhusername "Manuel Munz">
<!ENTITY dhemail "manu@somakoma.de">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1) and
http://www.tldp.org/HOWTO/Man-Page/q2.html. -->
<!ENTITY dhsection "SECTION">
<!-- TITLE should be something like "User commands" or similar (see
http://www.tldp.org/HOWTO/Man-Page/q2.html). -->
<!ENTITY dhtitle "fail2ban-p2p User Manual">
<!ENTITY dhucpackage "FAIL2BAN-P2P">
<!ENTITY dhpackage "fail2ban-p2p">
]>
<refentry>
<refentryinfo>
<title>&dhtitle;</title>
<productname>&dhpackage;</productname>
<authorgroup>
<author>
<firstname>&dhfirstname;</firstname>
<surname>&dhsurname;</surname>
<contrib>Wrote this manpage for the Debian system.</contrib>
<address>
<email>&dhemail;</email>
</address>
</author>
</authorgroup>
<copyright>
<year>2007</year>
<holder>&dhusername;</holder>
</copyright>
<legalnotice>
<para>This manual page was written for the Debian system
(and may be used by others).</para>
<para>Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU General Public License,
Version 2 or (at your option) 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
<filename>/usr/share/common-licenses/GPL</filename>.</para>
</legalnotice>
</refentryinfo>
<refmeta>
<refentrytitle>&dhucpackage;</refentrytitle>
<manvolnum>&dhsection;</manvolnum>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>program to do something</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>&dhpackage;</command>
<!-- These are several examples, how syntaxes could look -->
<arg choice="plain"><option>-e <replaceable>this</replaceable></option></arg>
<arg choice="opt"><option>--example=<parameter>that</parameter></option></arg>
<arg choice="opt">
<group choice="req">
<arg choice="plain"><option>-e</option></arg>
<arg choice="plain"><option>--example</option></arg>
</group>
<replaceable class="option">this</replaceable>
</arg>
<arg choice="opt">
<group choice="req">
<arg choice="plain"><option>-e</option></arg>
<arg choice="plain"><option>--example</option></arg>
</group>
<group choice="req">
<arg choice="plain"><replaceable>this</replaceable></arg>
<arg choice="plain"><replaceable>that</replaceable></arg>
</group>
</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>&dhpackage;</command>
<!-- Normally the help and version options make the programs stop
right after outputting the requested information. -->
<group choice="opt">
<arg choice="plain">
<group choice="req">
<arg choice="plain"><option>-h</option></arg>
<arg choice="plain"><option>--help</option></arg>
</group>
</arg>
<arg choice="plain">
<group choice="req">
<arg choice="plain"><option>-v</option></arg>
<arg choice="plain"><option>--version</option></arg>
</group>
</arg>
</group>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id="description">
<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 <citerefentry>
<refentrytitle>info</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry> format; see below.</para>
<para><command>&dhpackage;</command> is a program that...</para>
</refsect1>
<refsect1 id="options">
<title>OPTIONS</title>
<para>The program follows 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
<citerefentry>
<refentrytitle>info</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry> files.</para>
<variablelist>
<!-- Use the variablelist.term.separator and the
variablelist.term.break.after parameters to
control the term elements. -->
<varlistentry>
<term><option>-e <replaceable>this</replaceable></option></term>
<term><option>--example=<replaceable>that</replaceable></option></term>
<listitem>
<para>Does this and that.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option></term>
<term><option>--help</option></term>
<listitem>
<para>Show summary of options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<term><option>--version</option></term>
<listitem>
<para>Show version of program.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="files">
<title>FILES</title>
<variablelist>
<varlistentry>
<term><filename>/etc/foo.conf</filename></term>
<listitem>
<para>The system-wide configuration file to control the
behaviour of <application>&dhpackage;</application>. See
<citerefentry>
<refentrytitle>foo.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry> for further details.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>${HOME}/.foo.conf</filename></term>
<listitem>
<para>The per-user configuration file to control the
behaviour of <application>&dhpackage;</application>. See
<citerefentry>
<refentrytitle>foo.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry> for further details.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="environment">
<title>ENVIONMENT</title>
<variablelist>
<varlistentry>
<term><envar>FOO_CONF</envar></term>
<listitem>
<para>If used, the defined file is used as configuration
file (see also <xref linkend="files"/>).</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="diagnostics">
<title>DIAGNOSTICS</title>
<para>The following diagnostics may be issued
on <filename class="devicefile">stderr</filename>:</para>
<variablelist>
<varlistentry>
<term><errortext>Bad configuration file. Exiting.</errortext></term>
<listitem>
<para>The configuration file seems to contain a broken configuration
line. Use the <option>--verbose</option> option, to get more info.
</para>
</listitem>
</varlistentry>
</variablelist>
<para><command>&dhpackage;</command> provides some return codes, that can
be used in scripts:</para>
<segmentedlist>
<segtitle>Code</segtitle>
<segtitle>Diagnostic</segtitle>
<seglistitem>
<seg><errorcode>0</errorcode></seg>
<seg>Program exited successfully.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>1</errorcode></seg>
<seg>The configuration file seems to be broken.</seg>
</seglistitem>
</segmentedlist>
</refsect1>
<refsect1 id="bugs">
<!-- Or use this section to tell about upstream BTS. -->
<title>BUGS</title>
<para>The program is currently limited to only work
with the <package>foobar</package> library.</para>
<para>The upstreams <acronym>BTS</acronym> can be found
at <ulink url="http://bugzilla.foo.tld"/>.</para>
</refsect1>
<refsect1 id="see_also">
<title>SEE ALSO</title>
<!-- In alpabetical order. -->
<para><citerefentry>
<refentrytitle>bar</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>, <citerefentry>
<refentrytitle>baz</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>, <citerefentry>
<refentrytitle>foo.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry></para>
<para>The programs are documented fully by <citetitle>The Rise and
Fall of a Fooish Bar</citetitle> available via the <citerefentry>
<refentrytitle>info</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry> system.</para>
</refsect1>
</refentry>

2
debian/menu.ex vendored
View File

@@ -1,2 +0,0 @@
?package(fail2ban-p2p):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\
title="fail2ban-p2p" command="/usr/bin/fail2ban-p2p"

48
debian/postinst vendored Normal file → Executable file
View File

@@ -1,42 +1,34 @@
#!/bin/sh
# postinst script for fail2ban-p2p
#
# 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
PACKAGE=fail2ban-p2p
SERVER_USER=${SERVER_USER:-fail2ban-p2p}
SERVER_GROUP=${SERVER_GROUP:-fail2ban-p2p}
SERVER_HOME=${SERVER_HOME:-/var/lib/fail2ban-p2p}
LOGFILE=/var/log/fail2ban-p2p.log
CONFDIR=/etc/fail2ban-p2p
case "$1" in
configure)
[ -z "$SERVER_USER" ] && SERVER_USER="fail2ban-p2p"
# fix permissions on /etc/fail2ban-p2p
chown $SERVER_USER:adm /etc/fail2ban-p2p > /dev/null
;;
install -d -o "$SERVER_USER" -g "$SERVER_GROUP" -m 0750 "$SERVER_HOME"
if [ -d "$CONFDIR" ]; then
chgrp "$SERVER_GROUP" "$CONFDIR" || true
chmod 0750 "$CONFDIR" || true
find "$CONFDIR" -type d -exec chmod 0750 {} \; || true
fi
if [ -f "$LOGFILE" ]; then
chown "$SERVER_USER":adm "$LOGFILE" || true
chmod 0640 "$LOGFILE" || true
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
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

37
debian/postrm.ex vendored
View File

@@ -1,37 +0,0 @@
#!/bin/sh
# postrm script for fail2ban-p2p
#
# 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

88
debian/preinst vendored Normal file → Executable file
View File

@@ -1,76 +1,44 @@
#!/bin/sh
# preinst script for fail2ban-p2p
#
# 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
PACKAGE=fail2ban-p2p
SERVER_USER=${SERVER_USER:-fail2ban-p2p}
SERVER_GROUP=${SERVER_GROUP:-fail2ban-p2p}
SERVER_HOME=${SERVER_HOME:-/var/lib/fail2ban-p2p}
LOGFILE=/var/log/fail2ban-p2p.log
case "$1" in
install|upgrade)
# see http://www.debian.org/doc/manuals/securing-debian-howto/ch9.en.html
# Sane defaults:
[ -z "$SERVER_HOME" ] && SERVER_HOME="/var/run/fail2ban-p2p"
[ -z "$SERVER_USER" ] && SERVER_USER="fail2ban-p2p"
[ -z "$SERVER_NAME" ] && SERVER_NAME="Fail2ban-p2p user"
[ -z "$SERVER_GROUP" ] && SERVER_GROUP="fail2ban-p2p"
if ! getent group "$SERVER_GROUP" >/dev/null; then
addgroup --quiet --system "$SERVER_GROUP" || true
fi
# create user
# 1. create group if not existing
if ! getent group | grep -q "^$SERVER_GROUP:" ; then
echo -n "Adding group $SERVER_GROUP.."
addgroup --quiet --system $SERVER_GROUP 2>/dev/null ||true
echo "..done"
fi
# 2. create homedir if not existing
test -d $SERVER_HOME || mkdir $SERVER_HOME
# 3. create user if not existing
if ! getent passwd | grep -q "^$SERVER_USER:"; then
echo -n "Adding system user $SERVER_USER.."
adduser --quiet \
--system \
--ingroup $SERVER_GROUP \
--no-create-home \
--disabled-password \
$SERVER_USER 2>/dev/null || true
echo "..done"
fi
# 4. adjust passwd entry
usermod -c "$SERVER_NAME" \
-d $SERVER_HOME \
-g $SERVER_GROUP \
$SERVER_USER
# 5. adjust file and directory permissions
if ! dpkg-statoverride --list $SERVER_HOME >/dev/null
then
chown -R $SERVER_USER:adm $SERVER_HOME
chmod u=rwx,g=rxs,o= $SERVER_HOME
fi
# create logfile and make it owned by the user
test -f /var/log/fail2ban-p2p.log || touch /var/log/fail2ban-p2p.log
chown $SERVER_USER:adm /var/log/fail2ban-p2p.log > /dev/null
;;
if ! getent passwd "$SERVER_USER" >/dev/null; then
adduser --quiet \
--system \
--ingroup "$SERVER_GROUP" \
--home "$SERVER_HOME" \
--no-create-home \
--disabled-password \
--gecos "Fail2ban P2P service user" \
"$SERVER_USER" || true
fi
install -d -o "$SERVER_USER" -g "$SERVER_GROUP" -m 0750 "$SERVER_HOME"
install -d -o root -g "$SERVER_GROUP" -m 0750 /etc/fail2ban-p2p
install -d -o root -g adm -m 0755 /var/log
touch "$LOGFILE"
chown "$SERVER_USER":adm "$LOGFILE"
chmod 0640 "$LOGFILE"
;;
abort-upgrade)
;;
;;
*)
echo "preinst called with unknown argument \`$1'" >&2
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

38
debian/prerm.ex vendored
View File

@@ -1,38 +0,0 @@
#!/bin/sh
# prerm script for fail2ban-p2p
#
# 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

70
debian/rules vendored
View File

@@ -1,65 +1,15 @@
#!/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
export PYBUILD_NAME=fail2ban-p2p
DESTDIR=$(CURDIR)/debian/fail2ban-p2p
%:
dh $@ --with python3
configure: configure-stamp
configure-stamp:
dh_testdir
touch configure-stamp
override_dh_auto_build:
python3 setup.py build
build:
clean: clean-inits
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
rm -rf build
# Does not hurt to ask distutils to do their duty
python setup.py clean
# Enforce removal of *.pyc files. Apparently dh_clean does
# not perform find on provided filename patterns.
find . -name \*.pyc -exec rm -f {} \;
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Install the package into debian/fail2ban-p2p.
python setup.py install --root=$(DESTDIR) --no-compile --install-layout=deb
#
# Just to comply with policy 4.8
binary-arch:
# Build architecture-independent files here.
binary-indep: install
dh_testdir
dh_testroot
#dh_installchangelogs ChangeLog
dh_installdocs
dh_installlogrotate
dh_pycentral
dh_installinit -- defaults 99
#dh_installman man/*.1
dh_link
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep
.PHONY: build clean binary-indep binary-arch binary install configure copy-inits clean-inits
override_dh_auto_install:
python3 setup.py install \
--root=$(CURDIR)/debian/fail2ban-p2p \
--install-layout=deb \
--no-compile

4
debian/watch vendored Normal file
View File

@@ -0,0 +1,4 @@
version=4
opts="filenamemangle=s%(?:.*?)?v?([\d\.]+)\.tar\.gz%fail2ban-p2p-$1.tar.gz%" \
https://github.com/mmunz/fail2ban-p2p/tags \
(?:.*?/archive/refs/tags/)?v?([\d\.]+)\.tar\.gz

23
debian/watch.ex vendored
View File

@@ -1,23 +0,0 @@
# 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 fail2ban-p2p-(.*)\.tar\.gz
# Uncomment to examine a Webserver directory
#http://www.example.com/pub/fail2ban-p2p-(.*)\.tar\.gz
# Uncommment to examine a FTP server
#ftp://ftp.example.com/pub/fail2ban-p2p-(.*)\.tar\.gz debian uupdate
# Uncomment to find new files on sourceforge, for devscripts >= 2.9
# http://sf.net/fail2ban-p2p/fail2ban-p2p-(.*)\.tar\.gz
# Uncomment to find new files on GooglePages
# http://example.googlepages.com/foo.html fail2ban-p2p-(.*)\.tar\.gz