3 # ngIRCd -- The Next Generation IRC Daemon
4 # Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 # Please read the file COPYING, README and AUTHORS for more information.
12 # debian/rules for ngIRCd
14 # Based on the sample debian/rules that uses debhelper,
15 # GNU copyright 1997 to 1999 by Joey Hess.
18 # Uncomment this to turn on verbose mode.
21 # These are used for cross-compiling and for saving the configure script
22 # from having to guess our platform (since we know it already)
23 DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
24 DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
28 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
33 ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
37 configure-ngircd: configure
40 # configure "standard" variant:
41 ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
43 --sysconfdir=/etc/ngircd \
44 --mandir=\$${prefix}/share/man \
45 --docdir=\$${prefix}/share/doc/ngircd \
46 --with-syslog --with-zlib
48 configure-ngircd-full: configure
51 # configure "full" variant:
52 ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
54 --sysconfdir=/etc/ngircd \
55 --mandir=\$${prefix}/share/man \
56 --docdir=\$${prefix}/share/doc/ngircd-full \
57 --with-syslog --with-zlib \
58 --with-gnutls --with-iconv --with-ident --with-tcp-wrappers \
62 configure-ngircd-full-dbg: configure
65 # configure "full debug" variant:
66 ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
68 --sysconfdir=/etc/ngircd \
69 --mandir=\$${prefix}/share/man \
70 --docdir=\$${prefix}/share/doc/ngircd-full-dbg \
71 --enable-debug --enable-sniffer \
72 --with-syslog --with-zlib \
73 --with-gnutls --with-iconv --with-ident --with-tcp-wrappers \
80 build-ngircd: build-stamp-ngircd
81 build-stamp-ngircd: configure-ngircd
85 # Add here commands to compile the "standard" package:
88 touch build-stamp-ngircd
90 build-ngircd-full: build-stamp-ngircd-full
91 build-stamp-ngircd-full: configure-ngircd-full
95 # Add here commands to compile the "full" package:
98 touch build-stamp-ngircd-full
100 build-ngircd-full-dbg: build-stamp-ngircd-full-dbg
101 build-stamp-ngircd-full-dbg: configure-ngircd-full-dbg
105 # Add here commands to compile the "full debug" package:
108 touch build-stamp-ngircd-full
114 rm -f $(CURDIR)/debian/ngircd-full.default
115 rm -f $(CURDIR)/debian/ngircd-full.init
116 rm -f $(CURDIR)/debian/ngircd-full.postinst
117 rm -f $(CURDIR)/debian/ngircd-full-dbg.default
118 rm -f $(CURDIR)/debian/ngircd-full-dbg.postinst
119 rm -f $(CURDIR)/debian/ngircd-full-dbg.init
121 # Add here commands to clean up after the build process:
122 [ ! -f Makefile ] || $(MAKE) distclean
124 ifneq "$(wildcard /usr/share/misc/config.sub)" ""
125 cp -f /usr/share/misc/config.sub config.sub
127 ifneq "$(wildcard /usr/share/misc/config.guess)" ""
128 cp -f /usr/share/misc/config.guess config.guess
132 install: install-ngircd install-ngircd-full install-ngircd-full-dbg
134 install-ngircd: build-ngircd
139 # Add here commands to install the "standard" package into debian/ngircd:
140 $(MAKE) install DESTDIR=$(CURDIR)/debian/ngircd
141 rm $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/INSTALL*
142 rm $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/COPYING*
143 mkdir -p $(CURDIR)/debian/ngircd/var/run/ircd
144 cat $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/sample-ngircd.conf | \
145 sed -e "s|;ServerUID = 65534|ServerUID = irc|g" | \
146 sed -e "s|;ServerGID = 65534|ServerGID = irc|g" | \
147 sed -e "s|;MotdFile = /usr/local/etc/ngircd.motd|MotdFile = |/etc/ngircd/ngircd.motd|g" | \
148 sed -e "s|;PidFile = /var/run/ngircd/ngircd.pid|PidFile = /var/run/ircd/ngircd.pid|g" \
149 >$(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf
150 touch $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.motd
152 install-ngircd-full: build-ngircd-full
157 # Add here commands to install the "full" package into debian/ngircd-full:
158 $(MAKE) install DESTDIR=$(CURDIR)/debian/ngircd-full
159 rm $(CURDIR)/debian/ngircd-full/usr/share/doc/ngircd-full/INSTALL*
160 rm $(CURDIR)/debian/ngircd-full/usr/share/doc/ngircd-full/COPYING*
161 mkdir -p $(CURDIR)/debian/ngircd-full/var/run/ircd
162 cat $(CURDIR)/debian/ngircd-full/usr/share/doc/ngircd-full/sample-ngircd.conf | \
163 sed -e "s|;ServerUID = 65534|ServerUID = irc|g" | \
164 sed -e "s|;ServerGID = 65534|ServerGID = irc|g" | \
165 sed -e "s|;MotdFile = /usr/local/etc/ngircd.motd|MotdFile = /etc/ngircd/ngircd.motd|g" | \
166 sed -e "s|;HelpFile = /usr/share/doc/ngircd/Commands.txt|HelpFile = /usr/share/doc/ngircd-full/Commands.txt|g" | \
167 sed -e "s|;PidFile = /var/run/ngircd/ngircd.pid|PidFile = /var/run/ircd/ngircd.pid|g" \
168 >$(CURDIR)/debian/ngircd-full/etc/ngircd/ngircd.conf
169 touch $(CURDIR)/debian/ngircd-full/etc/ngircd/ngircd.motd
170 mkdir -p $(CURDIR)/debian/ngircd-full/etc/pam.d
171 cp $(CURDIR)/debian/ngircd.pam $(CURDIR)/debian/ngircd-full/etc/pam.d/ngircd
173 install-ngircd-full-dbg: build-ngircd-full-dbg
178 # Add here commands to install the "full" package into debian/ngircd-full:
179 $(MAKE) install DESTDIR=$(CURDIR)/debian/ngircd-full-dbg
180 rm $(CURDIR)/debian/ngircd-full-dbg/usr/share/doc/ngircd-full-dbg/INSTALL*
181 rm $(CURDIR)/debian/ngircd-full-dbg/usr/share/doc/ngircd-full-dbg/COPYING*
182 mkdir -p $(CURDIR)/debian/ngircd-full-dbg/var/run/ircd
183 cat $(CURDIR)/debian/ngircd-full-dbg/usr/share/doc/ngircd-full-dbg/sample-ngircd.conf | \
184 sed -e "s|;ServerUID = 65534|ServerUID = irc|g" | \
185 sed -e "s|;ServerGID = 65534|ServerGID = irc|g" | \
186 sed -e "s|;MotdFile = /usr/local/etc/ngircd.motd|MotdFile = /etc/ngircd/ngircd.motd|g" | \
187 sed -e "s|;HelpFile = /usr/share/doc/ngircd/Commands.txt|HelpFile = /usr/share/doc/ngircd-full-dbg/Commands.txt|g" | \
188 sed -e "s|;PidFile = /var/run/ngircd/ngircd.pid|PidFile = /var/run/ircd/ngircd.pid|g" \
189 >$(CURDIR)/debian/ngircd-full-dbg/etc/ngircd/ngircd.conf
190 touch $(CURDIR)/debian/ngircd-full-dbg/etc/ngircd/ngircd.motd
191 mkdir -p $(CURDIR)/debian/ngircd-full-dbg/etc/pam.d
192 cp $(CURDIR)/debian/ngircd.pam $(CURDIR)/debian/ngircd-full-dbg/etc/pam.d/ngircd
194 # Build architecture-independent files here.
196 # We have nothing to do by default.
198 # Build architecture-dependent files here.
199 binary-arch: build install
200 ln -s $(CURDIR)/debian/ngircd.default \
201 $(CURDIR)/debian/ngircd-full.default
202 ln -s $(CURDIR)/debian/ngircd.init \
203 $(CURDIR)/debian/ngircd-full.init
204 ln -s $(CURDIR)/debian/ngircd.postinst \
205 $(CURDIR)/debian/ngircd-full.postinst
207 ln -s $(CURDIR)/debian/ngircd.default \
208 $(CURDIR)/debian/ngircd-full-dbg.default
209 ln -s $(CURDIR)/debian/ngircd.init \
210 $(CURDIR)/debian/ngircd-full-dbg.init
211 ln -s $(CURDIR)/debian/ngircd.postinst \
212 $(CURDIR)/debian/ngircd-full-dbg.postinst
216 dh_installchangelogs -a -A ChangeLog
219 dh_strip -a --no-package=ngircd-full-dbg
220 dh_compress -a -XCommands.txt
228 binary: binary-indep binary-arch
230 .PHONY: build clean binary-indep binary-arch binary install