summaryrefslogtreecommitdiff
path: root/deprecated-ngircd/contrib/Debian/rules
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-11-02 15:29:28 +0800
committerMistivia <i@mistivia.com>2025-11-02 15:29:28 +0800
commit9f42c2d5f911cb4e215d7873221e642ce7df4d61 (patch)
tree6dac90a889a7402a9556d3d1bcc5cb53cdb9f123 /deprecated-ngircd/contrib/Debian/rules
parentfb2d9de539b660a261af19b1cbcceb7ee7980cb1 (diff)
deprecate webircdateway and ngircd
Diffstat (limited to 'deprecated-ngircd/contrib/Debian/rules')
-rwxr-xr-xdeprecated-ngircd/contrib/Debian/rules72
1 files changed, 72 insertions, 0 deletions
diff --git a/deprecated-ngircd/contrib/Debian/rules b/deprecated-ngircd/contrib/Debian/rules
new file mode 100755
index 0000000..561f765
--- /dev/null
+++ b/deprecated-ngircd/contrib/Debian/rules
@@ -0,0 +1,72 @@
+#!/usr/bin/make -f
+
+# 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