From 47f9c6d0a0085da2fbcbdae0a9736b79a98cc527 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Fri, 19 Jan 2024 22:07:38 +0100 Subject: [PATCH] Update included Debian package configuration - 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. --- Makefile.am | 4 +- contrib/Debian/.gitignore | 11 +- contrib/Debian/Makefile.am | 24 +-- contrib/Debian/compat | 1 - contrib/Debian/control | 103 ++++-------- contrib/Debian/copyright | 61 ++++++- contrib/Debian/ngircd.default | 5 +- contrib/Debian/ngircd.init | 176 ------------------- contrib/Debian/ngircd.pam | 10 +- contrib/Debian/ngircd.postinst | 21 --- contrib/Debian/rules | 298 +++++++-------------------------- contrib/Debian/source/format | 2 +- contrib/Debian/watch | 10 ++ 13 files changed, 184 insertions(+), 542 deletions(-) delete mode 100644 contrib/Debian/compat delete mode 100755 contrib/Debian/ngircd.init delete mode 100755 contrib/Debian/ngircd.postinst create mode 100644 contrib/Debian/watch diff --git a/Makefile.am b/Makefile.am index 8e462bed..31affc24 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/contrib/Debian/.gitignore b/contrib/Debian/.gitignore index 73c000d9..2b352d45 100644 --- a/contrib/Debian/.gitignore +++ b/contrib/Debian/.gitignore @@ -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 diff --git a/contrib/Debian/Makefile.am b/contrib/Debian/Makefile.am index 2cd5277c..bbc715ff 100644 --- a/contrib/Debian/Makefile.am +++ b/contrib/Debian/Makefile.am @@ -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 index b1bd38b6..00000000 --- a/contrib/Debian/compat +++ /dev/null @@ -1 +0,0 @@ -13 diff --git a/contrib/Debian/control b/contrib/Debian/control index 35752192..c64b5cf7 100644 --- a/contrib/Debian/control +++ b/contrib/Debian/control @@ -2,77 +2,42 @@ Source: ngircd Section: net Priority: optional Maintainer: Alexander Barton -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 :-) diff --git a/contrib/Debian/copyright b/contrib/Debian/copyright index 3c92f7c4..f66d1fc4 100644 --- a/contrib/Debian/copyright +++ b/contrib/Debian/copyright @@ -1,13 +1,56 @@ -This package was debianized by Alexander Barton 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 -It was downloaded from ftp://Arthur.Ath.CX/pub/Users/alex/ngircd/ +Files: + * +Copyright: + 2001-2024 Alexander Barton 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 +Files: + contrib/de.barton.ngircd.metainfo.xml +Copyright: + 2001-2024 Alexander Barton 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 +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. diff --git a/contrib/Debian/ngircd.default b/contrib/Debian/ngircd.default index add278f9..062d3766 100644 --- a/contrib/Debian/ngircd.default +++ b/contrib/Debian/ngircd.default @@ -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 index 8127e8fd..00000000 --- a/contrib/Debian/ngircd.init +++ /dev/null @@ -1,176 +0,0 @@ -#!/bin/sh -# -# ngIRCd start and stop script for Debian-based systems -# Copyright 2008-2015 Alexander Barton -# - -### 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- diff --git a/contrib/Debian/ngircd.pam b/contrib/Debian/ngircd.pam index 4468e56d..9d2f6d51 100644 --- a/contrib/Debian/ngircd.pam +++ b/contrib/Debian/ngircd.pam @@ -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 index f6e3c4f7..00000000 --- a/contrib/Debian/ngircd.postinst +++ /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- diff --git a/contrib/Debian/rules b/contrib/Debian/rules index 9dce5f8a..4be91f36 100755 --- a/contrib/Debian/rules +++ b/contrib/Debian/rules @@ -1,237 +1,65 @@ #!/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 . +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 diff --git a/contrib/Debian/source/format b/contrib/Debian/source/format index d3827e75..163aaf8d 100644 --- a/contrib/Debian/source/format +++ b/contrib/Debian/source/format @@ -1 +1 @@ -1.0 +3.0 (quilt) diff --git a/contrib/Debian/watch b/contrib/Debian/watch new file mode 100644 index 00000000..7943e691 --- /dev/null +++ b/contrib/Debian/watch @@ -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@ -- 2.39.2