From 6b83d1740eb892c90f92fac55d9bbc362346feb5 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Wed, 29 Apr 2009 02:13:27 +0200 Subject: [PATCH] Debian: build ngircd-full-dbg package In addition to the "ngircd" and "ngircd-full" packages a new package named "ngircd-full-dbg" is build: this package contains all the features of the "full" package but includes debug code and both the --debug and --sniffer options and the resulting binaries are _not_ stripped. --- contrib/Debian/.gitignore | 4 +++ contrib/Debian/Makefile.am | 7 +++-- contrib/Debian/changelog | 7 +++++ contrib/Debian/control | 28 ++++++++++++++++- contrib/Debian/rules | 63 +++++++++++++++++++++++++++++++++++--- 5 files changed, 101 insertions(+), 8 deletions(-) diff --git a/contrib/Debian/.gitignore b/contrib/Debian/.gitignore index f2a4c05d..111d4ace 100644 --- a/contrib/Debian/.gitignore +++ b/contrib/Debian/.gitignore @@ -7,3 +7,7 @@ ngircd-full/ ngircd-full.default ngircd-full.init ngircd-full.postinst +ngircd-full-dbg/ +ngircd-full-dbg.default +ngircd-full-dbg.init +ngircd-full-dbg.postinst diff --git a/contrib/Debian/Makefile.am b/contrib/Debian/Makefile.am index f3d02a5e..b20da998 100644 --- a/contrib/Debian/Makefile.am +++ b/contrib/Debian/Makefile.am @@ -1,6 +1,6 @@ # # ngIRCd -- The Next Generation IRC Daemon -# Copyright (c)2001-2008 Alexander Barton (alex@barton.de) +# Copyright (c)2001-2009 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 @@ -20,7 +20,10 @@ clean-local: ngircd.prerm.debhelper ngircd.substvars rm -f ngircd-full.postinst.debhelper ngircd-full.postrm.debhelper \ ngircd-full.prerm.debhelper ngircd-full.substvars - rm -rf ngircd ngircd-full + 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 # -eof- diff --git a/contrib/Debian/changelog b/contrib/Debian/changelog index 99997797..8bce8496 100644 --- a/contrib/Debian/changelog +++ b/contrib/Debian/changelog @@ -1,3 +1,10 @@ +ngircd (14-0ab2) unstable; urgency=low + + * Add new "ngircd-full-dbg" package including degug code and both + the --debug and --sniffer options, and containing debug symbols. + + -- Alexander Barton Wed, 29 Apr 2009 01:13:03 +0200 + ngircd (14-0ab1) unstable; urgency=low * New "upstream" release: ngIRCd 14. diff --git a/contrib/Debian/control b/contrib/Debian/control index 543c5ad6..fa393ec4 100644 --- a/contrib/Debian/control +++ b/contrib/Debian/control @@ -32,7 +32,7 @@ Package: ngircd-full Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Provides: ircd -Conflicts: ngircd +Conflicts: ngircd ngircd-dbg Description: A lightweight daemon for the Internet Relay Chat (IRC) ngIRCd is a free open source daemon for the Internet Relay Chat (IRC) network. It is written from scratch and is not based upon the original @@ -50,3 +50,29 @@ Description: A lightweight daemon for the Internet Relay Chat (IRC) . ngIRCd is compatible to the "original" ircd 2.10.3p3, so you can run mixed networks. + +Package: ngircd-full-dbg +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Provides: ircd +Conflicts: ngircd ngircd-full +Description: A lightweight daemon for the Internet Relay Chat (IRC) + ngIRCd is a free open source daemon for the Internet Relay Chat (IRC) + network. It is written from scratch and is not based upon the original + IRCd like many others. + . + In addition to the features of the "standard package", this package + includes support for TCP wrappers, IDENT requests, the IPv6 protocol 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. + . + Advantages of ngIRCd: + - no problems with servers using changing/non-static IP addresses. + - small and lean configuration file. + - free, modern and open source C code. + - still under active development. + . + ngIRCd is compatible to the "original" ircd 2.10.3p3, so you can run + mixed networks. diff --git a/contrib/Debian/rules b/contrib/Debian/rules index bfe7ff7b..5f6f826e 100755 --- a/contrib/Debian/rules +++ b/contrib/Debian/rules @@ -56,6 +56,19 @@ configure-ngircd-full: configure --with-gnutls --with-ident --with-tcp-wrappers \ --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 \ + --enable-debug --enable-sniffer \ + --with-syslog --with-zlib \ + --with-gnutls --with-ident --with-tcp-wrappers \ + --enable-ipv6 + build: dh_clean -k @@ -76,7 +89,17 @@ build-stamp-ngircd-full: configure-ngircd-full # 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: @@ -86,7 +109,10 @@ clean: 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-dbg.default + rm -f $(CURDIR)/debian/ngircd-full-dbg.postinst + rm -f $(CURDIR)/debian/ngircd-full-dbg.init + # Add here commands to clean up after the build process: [ ! -f Makefile ] || $(MAKE) distclean @@ -98,7 +124,7 @@ ifneq "$(wildcard /usr/share/misc/config.guess)" "" endif dh_clean -install: install-ngircd install-ngircd-full +install: install-ngircd install-ngircd-full install-ngircd-full-dbg install-ngircd: build-ngircd dh_testdir @@ -138,6 +164,26 @@ install-ngircd-full: build-ngircd-full >$(CURDIR)/debian/ngircd-full/etc/ngircd/ngircd.conf touch $(CURDIR)/debian/ngircd-full/etc/ngircd/ngircd.motd +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/INSTALL* + rm $(CURDIR)/debian/ngircd-full-dbg/usr/share/doc/ngircd/COPYING* + mv $(CURDIR)/debian/ngircd-full-dbg/usr/share/doc/ngircd \ + $(CURDIR)/debian/ngircd-full-dbg/usr/share/doc/ngircd-full-dbg + mkdir -p $(CURDIR)/debian/ngircd-full-dbg/var/run/ircd + 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/;MotdFile = \/usr\/local\/etc\/ngircd.motd/MotdFile = \/etc\/ngircd\/ngircd.motd/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 + # Build architecture-independent files here. binary-indep: # We have nothing to do by default. @@ -150,13 +196,20 @@ binary-arch: build install $(CURDIR)/debian/ngircd-full.init ln -s $(CURDIR)/debian/ngircd.postinst \ $(CURDIR)/debian/ngircd-full.postinst - + + 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 + dh_testdir dh_testroot dh_installchangelogs -a -A ChangeLog dh_installdocs -a dh_installinit -a - dh_strip -a + dh_strip -a --no-package=ngircd-full-dbg dh_compress -a dh_fixperms -a dh_installdeb -a -- 2.39.2