]> arthur.barton.de Git - ngircd-alex.git/blobdiff - contrib/Debian/rules
ngIRCd Release 27
[ngircd-alex.git] / contrib / Debian / rules
index 5bbd52932e80a893482b49a2a8e29f2b0c69d17d..561f765ca1d2000ad526c2c58d3d77bfdc8f207e 100755 (executable)
 #!/usr/bin/make -f
-#
-# ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2003 by Alexander Barton (alex@barton.de)
-#
-# 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
-#
-# $Id: rules,v 1.1 2003/12/31 17:20:11 alex Exp $
-#
-# 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
-
-config.status: configure
-       dh_testdir
-
-       # Add here commands to configure the package.
-       ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
-         --prefix=/usr \
-         --sysconfdir=/etc/ngircd \
-         --mandir=\$${prefix}/share/man \
-         --with-syslog --with-zlib
-
-build: build-stamp
-
-build-stamp: config.status
-       dh_testdir
-
-       # Add here commands to compile the package.
-       $(MAKE)
-
-       touch build-stamp
-
-clean:
-       dh_testdir
-       dh_testroot
-       rm -f build-stamp 
-
-       # Add here commands to clean up after the build process.
-       -$(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: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k
-       dh_installdirs
-
-       # Add here commands to install the package into debian/ngircd.
-       $(MAKE) install DESTDIR=$(CURDIR)/debian/ngircd
-       rm -f $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/INSTALL*
-       rm -f $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/COPYING*
-
-# Build architecture-independent files here.
-binary-indep: build install
-       # We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
-       dh_testdir
-       dh_testroot
-       dh_installchangelogs ChangeLog
-       dh_installdocs
-       dh_installinit
-       dh_strip
-       dh_compress
-       dh_fixperms
-       dh_installdeb
-       dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-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" \
+        -e "s|;\[SSL\]|[SSL]|g" \
+        -e "s|;CAFile = /etc/ssl/CA/cacert.pem|CAFile = /etc/ssl/certs/ca-certificates.crt|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
+
+#      Install the fail2ban configuration.
+       install -o root -g root -m 0644 -D \
+        $(CURDIR)/contrib/ngircd-fail2ban.conf \
+        $(CURDIR)/debian/ngircd/etc/fail2ban/filter.d/ngircd.conf
+
+#      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