]> arthur.barton.de Git - ngircd-alex.git/commitdiff
Update included Debian package configuration
authorAlexander Barton <alex@barton.de>
Fri, 19 Jan 2024 21:07:38 +0000 (22:07 +0100)
committerAlexander Barton <alex@barton.de>
Sat, 20 Jan 2024 15:43:54 +0000 (16:43 +0100)
- Rewrite using current dh_make.
- Standards-Version: 4.6.2.
- No longer build 3 different packages; only build "ngircd" which now
  includes support for IDENT, PAM (disabled in the ngircd.conf installed
  by the package), SSL (OpenSSL), ZLib and IPv6.
- Update package description accordingly.
- No longer install a SysV init file, only install ngircd.service unit.

13 files changed:
Makefile.am
contrib/Debian/.gitignore
contrib/Debian/Makefile.am
contrib/Debian/compat [deleted file]
contrib/Debian/control
contrib/Debian/copyright
contrib/Debian/ngircd.default
contrib/Debian/ngircd.init [deleted file]
contrib/Debian/ngircd.pam
contrib/Debian/ngircd.postinst [deleted file]
contrib/Debian/rules
contrib/Debian/source/format
contrib/Debian/watch [new file with mode: 0644]

index 8e462bed6950f9fcf602c2851cd86b8aca2690f9..31affc248ea19d7d55923aa310955d0241d0ce11 100644 (file)
@@ -1,6 +1,6 @@
 #
 # ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2015 Alexander Barton (alex@barton.de) and Contributors
+# Copyright (c)2001-2024 Alexander Barton (alex@barton.de) and Contributors
 #
 # 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
@@ -36,7 +36,7 @@ rpm: distcheck
 
 deb:
        [ -f debian/rules ] || ln -s contrib/Debian debian
-       dpkg-buildpackage -rfakeroot -i
+       dpkg-buildpackage --build=binary
 
 .PHONY: deb lint rpm srcdoc testsuite
 
index 73c000d9a607cee52b40250e493b29a2a93a5857..2b352d45077c93e1c4dd0a7a71b8a92f40d02c93 100644 (file)
@@ -1,16 +1,7 @@
 *.log
 *.debhelper
 *.substvars
+debhelper-build-stamp
 files
 ngircd/
-ngircd-full/
 ngircd.service
-ngircd-full.default
-ngircd-full.init
-ngircd-full.postinst
-ngircd-full.service
-ngircd-full-dbg/
-ngircd-full-dbg.default
-ngircd-full-dbg.init
-ngircd-full-dbg.postinst
-ngircd-full-dbg.service
index 2cd5277ca26e1ac5f3bf2db19693aea0d8a40e72..bbc715ff715f41e9cb29d15ff87bcfdfc53bc1fe 100644 (file)
@@ -1,6 +1,6 @@
 #
 # ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2017 Alexander Barton (alex@barton.de) and Contributors
+# Copyright (c)2001-2024 Alexander Barton (alex@barton.de) and Contributors
 #
 # 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
@@ -9,22 +9,22 @@
 # Please read the file COPYING, README and AUTHORS for more information.
 #
 
-EXTRA_DIST = rules changelog compat control copyright \
-       ngircd.init ngircd.default ngircd.pam ngircd.postinst \
+EXTRA_DIST = \
+       changelog \
+       control \
+       copyright \
+       ngircd.default \
+       ngircd.pam \
+       rules \
+       watch \
        source/format
 
 maintainer-clean-local:
        rm -f Makefile Makefile.in
 
 clean-local:
-       rm -f ngircd.postinst.debhelper ngircd.postrm.debhelper \
-        ngircd.prerm.debhelper ngircd.substvars
-       rm -f ngircd-full.postinst.debhelper ngircd-full.postrm.debhelper \
-        ngircd-full.prerm.debhelper ngircd-full.substvars
-       rm -f ngircd-full-dbg.postinst.debhelper \
-        ngircd-full-dbg.postrm.debhelper ngircd-full-dbg.prerm.debhelper \
-        ngircd-full-dbg.substvars
-       rm -rf ngircd ngircd-full ngircd-full-dbg
-       rm -f files
+       rm -f *.log *.debhelper *.substvars
+       rm -f debhelper-build-stamp files ngircd.service
+       rm -rf .debhelper/ ngircd/
 
 # -eof-
diff --git a/contrib/Debian/compat b/contrib/Debian/compat
deleted file mode 100644 (file)
index b1bd38b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-13
index 35752192fcd8bbfdf78c760d71837e7bb82745a4..c64b5cf7f9e46a91fd6fbf1c1f60cb3a8454b5b0 100644 (file)
@@ -2,77 +2,42 @@ Source: ngircd
 Section: net
 Priority: optional
 Maintainer: Alexander Barton <alex@barton.de>
-Build-Depends: debhelper (>> 13.0.0),
-    autotools-dev,
-    expect,
-    libident-dev,
-    libpam0g-dev,
-    libssl-dev,
-    libwrap0-dev,
-    libz-dev,
-    telnet | telnet-ssl,
-Standards-Version: 3.9.1
+Rules-Requires-Root: binary-targets
+Build-Depends: debhelper-compat (= 13),
+ expect,
+ libident-dev,
+ libpam0g-dev,
+ libssl-dev,
+ libz-dev,
+ openssl,
+ procps,
+ telnet | telnet-ssl,
+Standards-Version: 4.6.2
+Homepage: https://ngircd.barton.de
+Vcs-Browser: https://github.com/ngircd/ngircd
+Vcs-Git: https://github.com/ngircd/ngircd.git
 
 Package: ngircd
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Provides: ircd
-Description: lightweight Internet Relay Chat server
- ngIRCd is a free, portable and lightweight Internet Relay Chat server
- for small or private networks, developed under the GNU General Public
- License (GPL).
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+Conflicts:
+ ircd,
+Provides:
+ ircd,
+Description: lightweight Internet Relay Chat (IRC) server
+ ngIRCd is a free, portable and lightweight Internet Relay Chat (IRC) server
+ for small or private networks, developed under the terms of the GNU General
+ Public License (GPL).
  .
- The server is quite easy to configure, can handle dynamic IP addresses, and
- optionally supports IDENT, IPv6 connections, SSL-protected links, and PAM for
- user authentication as well as character set conversion for legacy clients. The
- server has been written from scratch and is not based on the "forefather", the
- daemon of IRCNet.
+ The server is quite easy to configure and runs as a single-node server or can
+ be part of a network of ngIRCd servers in a LAN or across the internet. It
+ optionally supports the IPv6 protocol, SSL/TLS-protected client-server and
+ server-server links, the Pluggable Authentication Modules (PAM) system for
+ user authentication, IDENT requests, and character set conversion for legacy
+ clients.
  .
- This package contains the "standard distribution", including support for
- syslog logging and compressed server-links using zlib. Please have a look
- at the "ngircd-full" package if you need "more advanced" functionality like
- support for TCP wrappers, IDENT requests, the IPv6 protocol, PAM and
- SSL encrypted client and server links.
-
-Package: ngircd-full
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Provides: ircd
-Conflicts: ngircd, ngircd-dbg
-Description: lightweight Internet Relay Chat server
- ngIRCd is a free, portable and lightweight Internet Relay Chat server
- for small or private networks, developed under the GNU General Public
- License (GPL).
- .
- The server is quite easy to configure, can handle dynamic IP addresses, and
- optionally supports IDENT, IPv6 connections, SSL-protected links, and PAM for
- user authentication as well as character set conversion for legacy clients. The
- server has been written from scratch and is not based on the "forefather", the
- daemon of IRCNet.
- .
- In addition to the features of the "standard package", this package
- includes support for TCP wrappers, IDENT requests, the IPv6 protocol, PAM and
- SSL encrypted client and server links.
-
-Package: ngircd-full-dbg
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Provides: ircd
-Conflicts: ngircd, ngircd-full
-Description: lightweight Internet Relay Chat server
- ngIRCd is a free, portable and lightweight Internet Relay Chat server
- for small or private networks, developed under the GNU General Public
- License (GPL).
- .
- The server is quite easy to configure, can handle dynamic IP addresses, and
- optionally supports IDENT, IPv6 connections, SSL-protected links, and PAM for
- user authentication as well as character set conversion for legacy clients. The
- server has been written from scratch and is not based on the "forefather", the
- daemon of IRCNet.
- .
- In addition to the features of the "standard package", this package
- includes support for TCP wrappers, IDENT requests, the IPv6 protocol, PAM and
- SSL encrypted client and server links.
- .
- And in addition to the "full" variant, the binaries contained in this
- package are build with debug code and contain debug symbols.
+ The name ngIRCd stands for next-generation IRC daemon, which is a little bit
+ exaggerated: lightweight Internet Relay Chat server most probably would have
+ been a better name :-)
index 3c92f7c4d19073eab6ef0ae8bfab2526461c6388..f66d1fc4352fd6e31b3bfb93c60af45399d7d6d1 100644 (file)
@@ -1,13 +1,56 @@
-This package was debianized by Alexander Barton <alex@barton.de> on
-Tue, 20 May 2003 15:47:40 +0200.
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: https://ngircd.barton.de
+Upstream-Name: ngircd
+Upstream-Contact: ngIRCd Mailing List <ngircd@lists.barton.de>
 
-It was downloaded from ftp://Arthur.Ath.CX/pub/Users/alex/ngircd/
+Files:
+ *
+Copyright:
+ 2001-2024 Alexander Barton <alex@barton.de> and Contributors.
+License: GPL-2.0+
+Comment:
+ See /usr/share/doc/ngircd/AUTHORS for the full list of authors and contributors.
 
-Upstream Author: Alexander Barton <alex@barton.de>
+Files:
+ contrib/de.barton.ngircd.metainfo.xml
+Copyright:
+ 2001-2024 Alexander Barton <alex@barton.de> and Contributors.
+License: MIT
+Comment:
+ See /usr/share/doc/ngircd/AUTHORS for the full list of authors and contributors.
 
-This software is copyright (c) 1999-2003 by Alexander Barton.
+License: GPL-2.0+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package 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:
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
 
-You are free to distribute this software under the terms of the
-GNU General Public License.
-On Debian systems, the complete text of the GNU General Public
-License can be found in /usr/share/common-licenses/GPL file.
+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.
index add278f98479e89d99952fc2fbd8849e880f6ca2..062d37666090ae03689441db56760cf2532f3bd6 100644 (file)
@@ -1,10 +1,7 @@
 #
-# Defaults for ngIRCd start and stop script
+# Defaults for the ngIRCd daemon
 #
 
 # Parameters to pass to the ngircd daemon on startup, see ngircd(8) for
 # possible options (default: empty).
-
 PARAMS=""
-
-# -eof-
diff --git a/contrib/Debian/ngircd.init b/contrib/Debian/ngircd.init
deleted file mode 100755 (executable)
index 8127e8f..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-#!/bin/sh
-#
-# ngIRCd start and stop script for Debian-based systems
-# Copyright 2008-2015 Alexander Barton <alex@barton.de>
-#
-
-### BEGIN INIT INFO
-# Provides:            ngircd
-# Required-Start:      $network $remote_fs
-# Required-Stop:       $network $remote_fs
-# Should-Start:                $syslog $named
-# Should-Stop:         $syslog
-# Default-Start:       2 3 4 5
-# Default-Stop:                0 1 6
-# Short-Description:   Next Generation IRC Server
-# Description:         IRC daemon written from scratch
-### END INIT INFO
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/sbin/ngircd
-NAME=ngIRCd
-DESC="IRC daemon"
-PARAMS=""
-STARTTIME=1
-DIETIME=10
-
-test -h "$0" && me=`readlink $0` || me="$0"
-BASENAME=`basename $me`
-
-test -r /etc/default/$BASENAME && . /etc/default/$BASENAME
-
-test -x $DAEMON || exit 5
-
-# LSB compatibility functions that become used if there is no local
-# include file available.
-log_daemon_msg() {
-       echo -n "$*"
-}
-log_end_msg() {
-       [ "$1" = "0" ] && echo "." || echo " failed!"
-}
-log_failure_msg() {
-       echo "$*"
-}
-log_warning_msg() {
-       log_failure_msg "$*"
-}
-
-# Include LSB functions, if available:
-test -r /lib/lsb/init-functions && . /lib/lsb/init-functions
-
-PIDFILE=`$DAEMON $PARAMS -t | tr -d ' ' | grep "^PidFile=" | cut -d'=' -f2`
-[ -n "$PIDFILE" ] || PIDFILE="/var/run/ircd/ngircd.pid"
-
-r=3
-
-Check_Config()
-{
-       # Make sure that the configuration of ngIRCd is valid:
-       $DAEMON $PARAMS --configtest >/dev/null 2>&1
-       [ $? -eq 0 ] && return 0
-       log_end_msg 1
-       log_failure_msg "Configuration of $NAME is not valid, won't (re)start!"
-       log_failure_msg "Run \"$DAEMON --configtest\" and fix it up ..."
-       exit 6
-}
-
-Prepare() {
-       # Make sure the PID file directory exists and is writable:
-       user=`$DAEMON $PARAMS -t|tr -d ' '|grep "^ServerUID="|cut -d'=' -f2`
-       group=`$DAEMON $PARAMS -t|tr -d ' '|grep "^ServerGID="|cut -d'=' -f2`
-       piddir=`dirname "$PIDFILE"`
-       [ -d "$piddir" ] || mkdir -p "$piddir" 2>/dev/null
-       chown "$user:$group" "$piddir" 2>/dev/null
-       [ $? -eq 0 ] && return 0
-       log_end_msg 1
-       log_failure_msg "Failed to prepare '$piddir' for user '$user'!"
-       exit 1
-}
-
-Do_Start() {
-       if Do_Status; then
-               log_end_msg 0
-               log_warning_msg "$NAME seems to be already running, nothing to do."
-               exit 0
-       fi
-       rm -f "$PIDFILE"
-       start-stop-daemon --start \
-               --quiet --exec $DAEMON -- $PARAMS
-       sleep $STARTTIME
-       Do_Status || return 7
-       return 0
-}
-
-Do_Stop() {
-       if ! Do_Status; then
-               log_end_msg 0
-               log_warning_msg "$NAME seems not to be running, nothing to do."
-               exit 0
-       fi
-       Do_ForceStop
-       return $?
-}
-
-Do_ForceStop() {
-       [ -e $PIDFILE ] \
-               && pidfile="--pidfile $PIDFILE" \
-               || pidfile=""
-       start-stop-daemon --stop \
-               --quiet --oknodo --exec $DAEMON $pidfile
-       for i in `seq 1 $DIETIME`; do
-               Do_Status || return 0
-               sleep 1
-       done
-       return 1
-}
-
-Do_Reload() {
-       start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
-       return $?
-}
-
-Do_Status() {
-       [ -e $PIDFILE ] \
-               && pidfile="--pidfile $PIDFILE" \
-               || pidfile=""
-       start-stop-daemon --stop \
-               --quiet --signal 0 --exec $DAEMON $pidfile >/dev/null
-       return $?
-}
-
-case "$1" in
-  start)
-       log_daemon_msg "Starting $DESC" "$NAME"
-       Check_Config
-       Prepare
-       Do_Start; r=$?
-       log_end_msg $r
-       ;;
-  stop)
-       log_daemon_msg "Stopping $DESC" "$NAME"
-       Do_Stop; r=$?
-       log_end_msg $r
-       ;;
-  reload|force-reload)
-       log_daemon_msg "Reloading $DESC" "$NAME"
-       Check_Config
-       Do_Reload; r=$?
-       log_end_msg $r
-       ;;
-  restart)
-       log_daemon_msg "Restarting $DESC" "$NAME"
-       Check_Config
-       Prepare
-       Do_ForceStop
-       Do_Start; r=$?
-       log_end_msg $r
-       ;;
-  status)
-       log_daemon_msg "Checking for $DESC" "$NAME"
-       Do_Status; r=$?
-       log_end_msg $r
-       ;;
-  test)
-       Check_Config
-       echo "Configuration of $DAEMON seems to be ok."; r=0
-       ;;
-  *)
-       N=/etc/init.d/$NAME; r=2
-       echo "Usage: $N {start|stop|restart|reload|force-reload|status|test}" >&2
-       ;;
-esac
-
-exit $r
-
-# -eof-
index 4468e56d5cc47fc6e9e4eca62bb3c979b9c49a89..9d2f6d512d2d311ae97ae3984768423a0d031808 100644 (file)
@@ -1,4 +1,10 @@
 # /etc/pam.d/ngircd
 
-# allow all connections to ngIRCd
-auth required pam_permit.so
+# You have to adjust this configuration to your local setup and needs. Keep in
+# mind that all PAM modules are run with the privileges of the user account the
+# ngIRCd daemon runs as ("irc" by default, not root!), so you can't use PAM
+# modules requiring root privileges (like pam_unix, for example)!
+
+# Log and deny all connections to ngIRCd:
+auth required pam_warn.so
+auth required pam_deny.so
diff --git a/contrib/Debian/ngircd.postinst b/contrib/Debian/ngircd.postinst
deleted file mode 100755 (executable)
index f6e3c4f..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-#
-# Debian post-installation script
-#
-
-set -e
-
-case "$1" in
-       configure)
-               if [ -f /etc/ngircd/ngircd.conf ]; then
-                       # make sure that the configuration file is not
-                       # world-readable, it contains passwords!
-                       chmod o= /etc/ngircd/ngircd.conf
-                       chgrp irc /etc/ngircd/ngircd.conf
-               fi
-               ;;
-esac
-
-#DEBHELPER#
-
-# -eof-
index 9dce5f8a3ef725644aa7523c244d34c92b20b83c..4be91f360cf5e374ce7c7eea1a73f8c559dccf5e 100755 (executable)
 #!/usr/bin/make -f
-#
-# ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2016 Alexander Barton (alex@barton.de) and Contributors
-#
-# 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.
-# Please read the file COPYING, README and AUTHORS for more information.
-#
-# debian/rules for ngIRCd
-#
-# Based on the sample debian/rules that uses debhelper,
-# GNU copyright 1997 to 1999 by Joey Hess.
-#
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-# These are used for cross-compiling and for saving the configure script
-# from having to guess our platform (since we know it already)
-DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
-CFLAGS = -Wall -g
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0
-else
-       CFLAGS += -O2
-endif
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-       INSTALL_PROGRAM += -s
-endif
-
-configure-ngircd: configure
-       dh_testdir
-
-       # configure "standard" variant:
-       ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
-         --prefix=/usr \
-         --sysconfdir=/etc/ngircd \
-         --mandir=\$${prefix}/share/man \
-         --docdir=\$${prefix}/share/doc/ngircd \
-         --with-syslog --with-zlib
-
-configure-ngircd-full: configure
-       dh_testdir
-
-       # configure "full" variant:
-       ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
-         --prefix=/usr \
-         --sysconfdir=/etc/ngircd \
-         --mandir=\$${prefix}/share/man \
-         --docdir=\$${prefix}/share/doc/ngircd-full \
-         --with-syslog --with-zlib \
-         --with-openssl --with-iconv --with-ident --with-tcp-wrappers \
-         --with-pam \
-         --enable-ipv6
-
-configure-ngircd-full-dbg: configure
-       dh_testdir
-
-       # configure "full debug" variant:
-       ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
-         --prefix=/usr \
-         --sysconfdir=/etc/ngircd \
-         --mandir=\$${prefix}/share/man \
-         --docdir=\$${prefix}/share/doc/ngircd-full-dbg \
-         --enable-debug --enable-sniffer \
-         --with-syslog --with-zlib \
-         --with-openssl --with-iconv --with-ident --with-tcp-wrappers \
-         --with-pam \
-         --enable-ipv6
-
-build:
-       dh_prep
-
-build-ngircd: build-stamp-ngircd
-build-stamp-ngircd: configure-ngircd
-       dh_testdir
-       rm -f build-stamp-*
-
-       # Add here commands to compile the "standard" package:
-       $(MAKE)
-
-       touch build-stamp-ngircd
-
-build-ngircd-full: build-stamp-ngircd-full
-build-stamp-ngircd-full: configure-ngircd-full
-       dh_testdir
-       rm -f build-stamp-*
-
-       # Add here commands to compile the "full" package:
-       $(MAKE)
-
-       touch build-stamp-ngircd-full
-
-build-ngircd-full-dbg: build-stamp-ngircd-full-dbg
-build-stamp-ngircd-full-dbg: configure-ngircd-full-dbg
-       dh_testdir
-       rm -f build-stamp-*
-
-       # Add here commands to compile the "full debug" package:
-       $(MAKE)
-
-       touch build-stamp-ngircd-full
-
-clean:
-       dh_testdir
-       dh_testroot
-       rm -f build-stamp*
-       rm -f $(CURDIR)/debian/ngircd.service
-       rm -f $(CURDIR)/debian/ngircd-full.default
-       rm -f $(CURDIR)/debian/ngircd-full.init
-       rm -f $(CURDIR)/debian/ngircd-full.postinst
-       rm -f $(CURDIR)/debian/ngircd-full.service
-       rm -f $(CURDIR)/debian/ngircd-full-dbg.default
-       rm -f $(CURDIR)/debian/ngircd-full-dbg.postinst
-       rm -f $(CURDIR)/debian/ngircd-full-dbg.init
-       rm -f $(CURDIR)/debian/ngircd-full-dbg.service
-
-       # Add here commands to clean up after the build process:
-       [ ! -f Makefile ] || $(MAKE) distclean
-
-ifneq "$(wildcard /usr/share/misc/config.sub)" ""
-       cp -f /usr/share/misc/config.sub config.sub
-endif
-ifneq "$(wildcard /usr/share/misc/config.guess)" ""
-       cp -f /usr/share/misc/config.guess config.guess
-endif
-       dh_clean
-
-install: install-ngircd install-ngircd-full install-ngircd-full-dbg
-
-install-ngircd: build-ngircd
-       dh_testdir
-       dh_testroot
-       dh_installdirs
-
-       # Add here commands to install the "standard" package into debian/ngircd:
-       $(MAKE) install DESTDIR=$(CURDIR)/debian/ngircd
-       rm $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/INSTALL*
-       rm $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/COPYING*
-       cat $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/sample-ngircd.conf | \
-        sed -e "s|;ServerUID = 65534|ServerUID = irc|g" | \
-        sed -e "s|;ServerGID = 65534|ServerGID = irc|g" | \
-        sed -e "s|;PidFile = /var/run/ngircd/ngircd.pid|PidFile = /var/run/ircd/ngircd.pid|g" \
-        >$(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf
-       touch $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.motd
-
-install-ngircd-full: build-ngircd-full
-       dh_testdir
-       dh_testroot
-       dh_installdirs
-
-       # Add here commands to install the "full" package into debian/ngircd-full:
-       $(MAKE) install DESTDIR=$(CURDIR)/debian/ngircd-full
-       rm $(CURDIR)/debian/ngircd-full/usr/share/doc/ngircd-full/INSTALL*
-       rm $(CURDIR)/debian/ngircd-full/usr/share/doc/ngircd-full/COPYING*
-       cat $(CURDIR)/debian/ngircd-full/usr/share/doc/ngircd-full/sample-ngircd.conf | \
-        sed -e "s|;ServerUID = 65534|ServerUID = irc|g" | \
-        sed -e "s|;ServerGID = 65534|ServerGID = irc|g" | \
-        sed -e "s|;PidFile = /var/run/ngircd/ngircd.pid|PidFile = /var/run/ircd/ngircd.pid|g" \
-        >$(CURDIR)/debian/ngircd-full/etc/ngircd/ngircd.conf
-       touch $(CURDIR)/debian/ngircd-full/etc/ngircd/ngircd.motd
-       mkdir -p $(CURDIR)/debian/ngircd-full/etc/pam.d
-       cp $(CURDIR)/debian/ngircd.pam $(CURDIR)/debian/ngircd-full/etc/pam.d/ngircd
-
-install-ngircd-full-dbg: build-ngircd-full-dbg
-       dh_testdir
-       dh_testroot
-       dh_installdirs
-
-       # Add here commands to install the "full" package into debian/ngircd-full:
-       $(MAKE) install DESTDIR=$(CURDIR)/debian/ngircd-full-dbg
-       rm $(CURDIR)/debian/ngircd-full-dbg/usr/share/doc/ngircd-full-dbg/INSTALL*
-       rm $(CURDIR)/debian/ngircd-full-dbg/usr/share/doc/ngircd-full-dbg/COPYING*
-       cat $(CURDIR)/debian/ngircd-full-dbg/usr/share/doc/ngircd-full-dbg/sample-ngircd.conf | \
-        sed -e "s|;ServerUID = 65534|ServerUID = irc|g" | \
-        sed -e "s|;ServerGID = 65534|ServerGID = irc|g" | \
-        sed -e "s|;PidFile = /var/run/ngircd/ngircd.pid|PidFile = /var/run/ircd/ngircd.pid|g" \
-        >$(CURDIR)/debian/ngircd-full-dbg/etc/ngircd/ngircd.conf
-       touch $(CURDIR)/debian/ngircd-full-dbg/etc/ngircd/ngircd.motd
-       mkdir -p $(CURDIR)/debian/ngircd-full-dbg/etc/pam.d
-       cp $(CURDIR)/debian/ngircd.pam $(CURDIR)/debian/ngircd-full-dbg/etc/pam.d/ngircd
-
-# Build architecture-independent files here.
-binary-indep:
-       # We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
-       ln -s $(CURDIR)/contrib/ngircd.service \
-        $(CURDIR)/debian/ngircd.service
-
-       ln -s $(CURDIR)/debian/ngircd.default \
-        $(CURDIR)/debian/ngircd-full.default
-       ln -s $(CURDIR)/debian/ngircd.init \
-        $(CURDIR)/debian/ngircd-full.init
-       ln -s $(CURDIR)/debian/ngircd.postinst \
-        $(CURDIR)/debian/ngircd-full.postinst
-       cp $(CURDIR)/contrib/ngircd.service \
-        $(CURDIR)/debian/ngircd-full.service
-       echo "Alias=ngircd.service" >>$(CURDIR)/debian/ngircd-full.service
-
-       ln -s $(CURDIR)/debian/ngircd.default \
-        $(CURDIR)/debian/ngircd-full-dbg.default
-       ln -s $(CURDIR)/debian/ngircd.init \
-        $(CURDIR)/debian/ngircd-full-dbg.init
-       ln -s $(CURDIR)/debian/ngircd.postinst \
-        $(CURDIR)/debian/ngircd-full-dbg.postinst
-       cp $(CURDIR)/contrib/ngircd.service \
-        $(CURDIR)/debian/ngircd-full-dbg.service
-       echo "Alias=ngircd.service" >>$(CURDIR)/debian/ngircd-full-dbg.service
-
-       dh_testdir
-       dh_testroot
-       dh_installchangelogs -a -A ChangeLog
-       dh_installdocs -a
-       dh_installsystemd -a
-       dh_installinit -a
-       dh_strip -a --no-package=ngircd-full-dbg
-       dh_compress -a -XCommands.txt
-       dh_fixperms -a
-       dh_installdeb -a
-       dh_shlibdeps -a
-       dh_gencontrol -a
-       dh_md5sums -a
-       dh_builddeb -a
-
-binary: binary-indep binary-arch
-
-.PHONY: build clean binary-indep binary-arch binary install
-
-# -eof-
+# See FEATURE AREAS in dpkg-buildflags(1).
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+%:
+       dh $@
+
+# Disable dh_autoreconf since we are using de-ANSI-fication which was removed
+# from automake a while ago. See <https://github.com/ngircd/ngircd/issues/261>.
+override_dh_autoreconf:
+
+override_dh_auto_configure:
+       dh_auto_configure -- \
+           --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
+           --prefix=/usr \
+           --mandir=\$${prefix}/share/man \
+           --sysconfdir=/etc/ngircd \
+           --with-iconv \
+           --with-ident \
+           --with-openssl \
+           --with-pam \
+           --with-syslog \
+           --with-zlib
+
+execute_before_dh_auto_install:
+       ln -fs $(CURDIR)/contrib/ngircd.service $(CURDIR)/debian/ngircd.service
+
+execute_after_dh_auto_install:
+#      Generate the default ngircd.conf:
+       install -o root -g irc -m 0640 -D /dev/null \
+        $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf
+       sed \
+        -e "s|;ServerUID = 65534|ServerUID = irc|g" \
+        -e "s|;ServerGID = 65534|ServerGID = irc|g" \
+        -e "s|;PidFile = /var/run/ngircd/ngircd.pid|PidFile = /run/ircd/ngircd.pid|g" \
+        -e "s|;PAM = yes|PAM = no|g" \
+        $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/sample-ngircd.conf \
+        >>$(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf
+
+#      Create drop-in configuration directory:
+       install -o root -g irc -m 0750 -d \
+        $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf.d
+
+#      Install an empty MOTD file.
+       install -o root -g irc -m 0640 -D /dev/null \
+        $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.motd
+
+#      Install the logcheck(8) configuration.
+       install -o root -g root -m 0644 -D \
+        $(CURDIR)/contrib/ngircd.logcheck \
+        $(CURDIR)/debian/ngircd/etc/logcheck/ignore.d.paranoid/ngircd
+
+#      Make lintian happy :-)
+       rm $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/COPYING
+       mv $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/ChangeLog \
+           $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/changelog
+
+override_dh_fixperms:
+#      Preserve the permissions of files installed in /etc/ngircd!
+       dh_fixperms -X/etc/ngircd
+
+override_dh_compress:
+#      The Commands.txt file is read by the daemon, don't compress it!
+       dh_compress -XCommands.txt
index d3827e75a5cadb9fe4a27e1cb9b6d192e7323120..163aaf8d82b6c54f23c45f32895dbdfdcc27b047 100644 (file)
@@ -1 +1 @@
-1.0
+3.0 (quilt)
diff --git a/contrib/Debian/watch b/contrib/Debian/watch
new file mode 100644 (file)
index 0000000..7943e69
--- /dev/null
@@ -0,0 +1,10 @@
+# Watch control file for uscan.
+# See uscan(1) for format.
+
+# Compulsory line, this is a version 4 file.
+version=4
+
+# PGP signature mangle, so foo.tar.gz has foo.tar.gz.sig.
+opts="pgpsigurlmangle=s%$%.sig%"
+
+https://arthur.barton.de/pub/@PACKAGE@/@PACKAGE@-([0-9\.]+)@ARCHIVE_EXT@