--- ngircd-18.orig/config.guess +++ ngircd-18/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. -timestamp='2008-01-23' +timestamp='2009-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -170,7 +170,7 @@ arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -324,6 +324,9 @@ case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; @@ -331,7 +334,20 @@ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize @@ -640,7 +656,7 @@ # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + grep -q __LP64__ then HP_ARCH="hppa2.0w" else @@ -796,7 +812,7 @@ x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd) + EM64T | authenticamd | genuineintel) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -806,6 +822,9 @@ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -866,40 +885,17 @@ m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - mips:Linux:*:*) + mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef mips - #undef mipsel + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 + CPU=${UNAME_MACHINE} #else CPU= #endif @@ -931,10 +927,13 @@ EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -982,17 +981,6 @@ elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build @@ -1058,7 +1046,7 @@ i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1102,8 +1090,11 @@ pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 @@ -1141,6 +1132,16 @@ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; @@ -1153,7 +1154,7 @@ rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1216,6 +1217,9 @@ BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1324,6 +1328,9 @@ i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 --- ngircd-18.orig/config.sub +++ ngircd-18/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. -timestamp='2008-01-16' +timestamp='2009-06-11' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -122,6 +122,7 @@ case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` @@ -152,6 +153,9 @@ os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -249,13 +253,16 @@ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep \ + | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ - | mips64vr | mips64vrel \ + | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ @@ -268,6 +275,7 @@ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | moxie \ | mt \ | msp430 \ | nios | nios2 \ @@ -277,7 +285,7 @@ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ @@ -286,7 +294,7 @@ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) + | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) @@ -329,14 +337,17 @@ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ + | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ @@ -358,20 +369,20 @@ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-*) + | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) @@ -439,6 +450,10 @@ basic_machine=m68k-apollo os=-bsd ;; + aros) + basic_machine=i386-pc + os=-aros + ;; aux) basic_machine=m68k-apple os=-aux @@ -455,10 +470,18 @@ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; c90) basic_machine=c90-cray os=-unicos ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -526,6 +549,10 @@ basic_machine=m88k-motorola os=-sysv3 ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp @@ -1128,6 +1155,10 @@ basic_machine=z8k-unknown os=-sim ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -1166,7 +1197,7 @@ we32k) basic_machine=we32k-att ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) @@ -1236,10 +1267,11 @@ # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ + | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ @@ -1248,7 +1280,7 @@ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ + | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ @@ -1388,6 +1420,9 @@ -zvmoe) os=-zvmoe ;; + -dicos*) + os=-dicos + ;; -none) ;; *) @@ -1585,7 +1620,7 @@ -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) --- ngircd-18.orig/src/testsuite/Makefile.in +++ ngircd-18/src/testsuite/Makefile.in @@ -195,7 +195,6 @@ mode-test \ opless-channel-test \ who-test \ - whois-test \ server-link-test \ stop-server2 \ stress-server.sh \ --- ngircd-18.orig/debian/compat +++ ngircd-18/debian/compat @@ -0,0 +1 @@ +7 --- ngircd-18.orig/debian/ngircd.postinst +++ ngircd-18/debian/ngircd.postinst @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +. /usr/share/debconf/confmodule + +case "$1" in +configure) + ;; +abort-upgrade|abort-remove|abort-deconfigure) + ;; +*) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 +;; +esac + +#DEBHELPER# + +db_stop + +exit 0 --- ngircd-18.orig/debian/ngircd.lintian-overrides +++ ngircd-18/debian/ngircd.lintian-overrides @@ -0,0 +1,3 @@ + +# INSTALL also contains upgrading information, so ship it +ngircd: package-contains-upstream-install-documentation usr/share/doc/ngircd/INSTALL.gz --- ngircd-18.orig/debian/ngircd.motd +++ ngircd-18/debian/ngircd.motd @@ -0,0 +1,11 @@ +************************************************** +* H E L L O * +* This is a private irc server. Please contact * +* the admin of the server for any questions or * +* issues. * +************************************************** +* The software was provided as a package of * +* Debian GNU/Linux . * +* However, Debian has no control over this * +* server. * +************************************************** --- ngircd-18.orig/debian/ngircd.postrm +++ ngircd-18/debian/ngircd.postrm @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +case "$1" in +purge) + if [ -e /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule + db_purge + fi + ;; +remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; +*) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 +;; +esac + +#DEBHELPER# + +exit 0 --- ngircd-18.orig/debian/ngircd.README.Debian +++ ngircd-18/debian/ngircd.README.Debian @@ -0,0 +1,81 @@ +What's new in ngIRCd 18 +======================= + +Generic +------- +For generic information, including the new names of configuration +variables, see /usr/share/doc/ngircd/INSTALL.gz + +Debian specific +--------------- +The configuration of the user and group ID ngIRCd runs as has +changed in ngircd 18-1. If you see messages like + + Can't change group ID to 65534: Operation not permitted + +Change the lines + + ;ServerUID = 65534 + ;ServerGID = 65534 + +into + + ServerGID = irc + ServerUID = irc + + +TLS support +=========== + +Some things to take into account when configuring TLS/SSL support: + +* The irc user must be able to read the key file. +* ngIRCd will run without a DH parameters file but that's a bad idea. +* A certificate exchange requires restart. + + +Certificate location +-------------------- +* If your certificate and key are for ngIRCd only: Simply place them in + /etc/ngircd, set KeyFile and CertFile accordingly. To secure the key + file (server.key): + + chown irc:irc server.key + chmod 600 server.key + +* If however you offer several TLS-based services that using the same + certificate and key: Consider installing the ssl-cert package which + provides the ssl-cert group. Place the certificate file (server.crt) + in /etc/ssl/certs/ and the key file (server.key) in /etc/ssl/private/, + and make sure ngIRCd can read it: + + chown root:ssl-cert /etc/ssl/private/server.key + chmod 640 /etc/ssl/private/server.key + adduser irc ssl-cert + + Repeat the last step for all users that run a daemon providing TLS. + + +DH parameters file +------------------ +It is suggested to create a DH params file. If missing, ngIRCd will +create one on the fly but this will prolong each startup. + +To create that file: + +* using gnutls (from gnutls-cli package): + + certtool --generate-dh-params --bits 2048 >/etc/ngircd/dhparams.pem + +* using openssl: + + openssl dhparam -2 -out /etc/ngircd/dhparams.pem 2048 + +This has to be done only once. Don't forget to enable the DHFile +setting in /etc/ngircd/ngircd.conf. + + +Certificate exchange +-------------------- +Due to limitations of GnuTLS, a re-start of ngIRCd is required if the +certificates were changed. A reload is not sufficient. --- ngircd-18.orig/debian/copyright +++ ngircd-18/debian/copyright @@ -0,0 +1,29 @@ +This package was debianized by Mario Iseli on +Tue, 1 Nov 2005 20:08:53 +0100. + +It was downloaded from + +Copyright: (c)2001-2011 Alexander Barton and contributors. + +See /usr/share/doc/ngircd/AUTHORS for the full list of authors and contributors. + +License: + + Copyright (C) 2001-2011 Alexander Barton + + 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 package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. --- ngircd-18.orig/debian/ngircd.templates +++ ngircd-18/debian/ngircd.templates @@ -0,0 +1,23 @@ +Template: ngircd/conversion-do +Type: boolean +_Description: Convert ngIRCd configuration? + In version 18, the ngIRCd configuration file format has changed. + You can choose to have your configuration re-written. + Don't worry, the old format is still supported. + +Template: ngircd/broken-oldconfig +Type: text +_Description: Cannot convert configuration + The present configuration file contains errors and cannot + be converted. Please check manually using + ngircd --configtest + and run 'dpkg-reconfigure ngircd' to try again. + +Template: ngircd/conversion-fail +Type: text +_Description: Error + Verification after conversion failed. This is a bug, please report it + in the Debian bug tracker. Please include your configuration but make + sure all passwords are removed. + The diff below might give you some help: + ${DIFF} --- ngircd-18.orig/debian/ngircd.config +++ ngircd-18/debian/ngircd.config @@ -0,0 +1,96 @@ +#!/bin/sh + +set -e + +# Source debconf library. +. /usr/share/debconf/confmodule + +NGIRCD=/usr/sbin/ngircd +CONFIG=/etc/ngircd/ngircd.conf +CONVERT=/usr/share/ngircd/ngircd-conf-convert + +[ -x "$NGIRCD" ] || exit 0 +[ -f "$CONFIG" ] || exit 0 +[ -x "$CONVERT" ] || exit 0 + +TEMPDIR= + +# conversion required? +if grep -qiE '^[ \t]*\[(Limits|Options|SSL)\]' "$CONFIG" ; then + # Using new section names, we're done + exit 0 +fi + +while true ; do + # Shall we do conversion? + db_reset ngircd/conversion-do + db_input high ngircd/conversion-do || true + db_go + db_get ngircd/conversion-do + if [ "$RET" = "false" ]; then + break + fi + + # Check old configuration + if /dev/null ; then + : + else + # broken + db_input high ngircd/broken-oldconfig || true + db_go + break + fi + + # have a temporary directory + TEMPDIR=$(mktemp -d /tmp/ngircd.XXXXX) + [ "$TEMPDIR" ] && [ -d "$TEMPDIR" ] || exit 0 + chmod 700 "$TEMPDIR" + + # create new configuration + CONFIG_NEW="$TEMPDIR/ngircd.conf" + touch "$CONFIG_NEW" + "$CONVERT" "$CONFIG" "$CONFIG_NEW" + if cmp -s "$CONFIG" "$CONFIG_NEW" ; then + echo "Nothing to do." + break + fi + + # create dumps from --configtest and compare + DUMP_OLD="$TEMPDIR/dump.old" + "$DUMP_OLD" + DUMP_NEW="$TEMPDIR/dump.new" + "$DUMP_NEW" + + if cmp -s "$DUMP_OLD" "$DUMP_NEW" ; then + # success + CONFIG_BAK="$CONFIG.pre18" + chown --reference="$CONFIG" "$CONFIG_NEW" + chmod --reference="$CONFIG" "$CONFIG_NEW" + mv "$CONFIG" "$CONFIG_BAK" + mv "$CONFIG_NEW" "$CONFIG" + + echo "Conversion and verification sucessfull. Your configuration file is at" + echo " $CONFIG" + echo "A backup of the old configuration has been saved to" + echo " $CONFIG_BAK" + break + fi + + DIFF="$(sdiff -BbW "$DUMP_OLD" "$DUMP_NEW")" + db_capb escape + db_subst ngircd/conversion-fail DIFF "$(printf %s "$DIFF" | debconf-escape -e)" + db_input critical ngircd/conversion-fail || true + db_go + db_reset ngircd/conversion-fail + db_capb + + break +done + +# cleanup +db_purge +[ "$TEMPDIR" ] && rm -rf "$TEMPDIR" + +exit 0 --- ngircd-18.orig/debian/ngircd.conf +++ ngircd-18/debian/ngircd.conf @@ -0,0 +1,325 @@ +# +# This is a sample configuration file for the ngIRCd IRC daemon, which must +# be customized to the local preferences and needs. +# +# Comments are started with "#" or ";". +# +# A lot of configuration options in this file start with a ";". You have +# to remove the ";" in front of each variable to actually set a value! +# The disabled variables are shown with example values for completeness only +# and the daemon is using compiled-in default settings. +# +# Use "ngircd --configtest" (see manual page ngircd(8)) to validate that the +# server interprets the configuration file as expected! +# +# Please see ngircd.conf(5) for a complete list of configuration options +# and their descriptions. +# +# The original can be found at: +# /usr/share/doc/ngircd/examples/sample-ngircd.conf.gz + +[Global] + # The [Global] section of this file is used to define the main + # configuration of the server, like the server name and the ports + # on which the server should be listening. + # These settings depend on your personal preferences, so you should + # make sure that they correspond to your installation and setup! + + # Server name in the IRC network, must contain at least one dot + # (".") and be unique in the IRC network. Required! + Name = irc.example.net + + # Information about the server and the administrator, used by the + # ADMIN command. Not required by server but by RFC! + AdminInfo1 = Debian User + AdminInfo2 = Debian City + AdminEMail = irc@irc.example.com + + # Info text of the server. This will be shown by WHOIS and + # LINKS requests for example. + Info = Yet another IRC Server running on Debian GNU/Linux + + # Comma separated list of IP addresses on which the server should + # listen. Default values are: + # "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0" + # so the server listens on all IP addresses of the system by default. + ;Listen = 127.0.0.1,192.168.0.1 + + # Text file with the "message of the day" (MOTD). This message will + # be shown to all users connecting to the server: + MotdFile = /etc/ngircd/ngircd.motd + + # A simple Phrase (<256 chars) if you don't want to use a motd file. + ;MotdPhrase = "Hello. This is the Debian default MOTD sentence" + + # Global password for all users needed to connect to the server. + # (Default: not set) + ;Password = wealllikedebian + + # This tells ngIRCd to write its current process ID to a file. + # Note that the pidfile is written AFTER chroot and switching the + # user ID, e.g. the directory the pidfile resides in must be + # writeable by the ngIRCd user and exist in the chroot directory. + # Keep this setting in sync with PIDFILE in /etc/init.d/ngircd + PidFile = /var/run/ngircd/ngircd.pid + + # Ports on which the server should listen. There may be more than + # one port, separated with ",". (Default: 6667) + ;Ports = 6667, 6668, 6669 + + # Group ID under which the ngircd should run; you can use the name + # of the group or the numerical ID. ATTENTION: For this to work the + # server must have been started with root privileges! + # Keep this setting in sync with DAEMONUSER in /etc/init.d/ngircd + ServerGID = irc + + # User ID under which the server should run; you can use the name + # of the user or the numerical ID. ATTENTION: For this to work the + # server must have been started with root privileges! In addition, + # the configuration and MOTD files must be readable by this user, + # otherwise RESTART and REHASH won't work! + # Keep this setting in sync with DAEMONUSER in /etc/init.d/ngircd + ServerUID = irc + +[Limits] + # Define some limits and timeouts for this ngIRCd instance. Default + # values should be safe, but it is wise to double-check :-) + + # The server tries every seconds to establish a link + # to not yet (or no longer) connected servers. + ConnectRetry = 60 + + # Maximum number of simultaneous in- and outbound connections the + # server is allowed to accept (0: unlimited): + MaxConnections = 500 + + # Maximum number of simultaneous connections from a single IP address + # the server will accept (0: unlimited): + MaxConnectionsIP = 10 + + # Maximum number of channels a user can be member of (0: no limit): + MaxJoins = 10 + + # Maximum length of an user nick name (Default: 9, as in RFC 2812). + # Please note that all servers in an IRC network MUST use the same + # maximum nick name length! + ;MaxNickLength = 9 + + # After seconds of inactivity the server will send a + # PING to the peer to test whether it is alive or not. + PingTimeout = 120 + + # If a client fails to answer a PING with a PONG within + # seconds, it will be disconnected by the server. + PongTimeout = 20 + +[Options] + # Optional features and configuration options to further tweak the + # behavior of ngIRCd. If you want to get started quickly, you most + # probably don't have to make changes here -- they are all optional. + + # Are remote IRC operators allowed to control this server, e.g. + # use commands like CONNECT, SQUIT, DIE, ...? + ;AllowRemoteOper = no + + # A directory to chroot in when everything is initialized. It + # doesn't need to be populated if ngIRCd is compiled as a static + # binary. By default ngIRCd won't use the chroot() feature. + # ATTENTION: For this to work the server must have been started + # with root privileges! + ;ChrootDir = /var/empty + + # Set this hostname for every client instead of the real one. + # Please note: don't use the percentage sign ("%"), it is reserved for + # future extensions! + ;CloakHost = irc.example.net + + # Set every clients' user name to their nick name + ;CloakUserToNick = yes + + # Try to connect to other irc servers using ipv4 and ipv6, if possible + ;ConnectIPv6 = yes + ;ConnectIPv4 = yes + + # Don do any DNS lookups when a client connects to the server. + ;DNS = yes + + # Do IDENT lookups, if ngIRCd has been compiled with support for it. + ;Ident = yes + + # Enhance user privacy slightly (useful for IRC server on TOR or I2P) + # by censoring some information like idle time, logon time, etc. + ;MorePrivacy = no + + # Normally ngIRCd doesn't send any messages to a client until it is + # registered. Enable this option to let the daemon send "NOTICE AUTH" + # messages to clients while connecting. + ;NoticeAuth = no + + # Should IRC Operators be allowed to use the MODE command even if + # they are not(!) channel-operators? + OperCanUseMode = yes + + # Mask IRC Operator mode requests as if they were coming from the + # server? (This is a compatibility hack for ircd-irc2 servers) + ;OperServerMode = no + + # Use PAM if ngIRCd has been compiled with support for it. + PAM = no + + # Allow Pre-Defined Channels only (see Section [Channels]) + ;PredefChannelsOnly = no + + # Let ngIRCd send an "authentication PING" when a new client connects, + # and register this client only after receiving the corresponding + # "PONG" reply. + ;RequireAuthPing = no + + # Silently drop all incoming CTCP requests. + ;ScrubCTCP = no + + # Syslog "facility" to which ngIRCd should send log messages. + # Possible values are system dependent, but most probably auth, daemon, + # user and local1 through local7 are possible values; see syslog(3). + # Default is "local5" for historical reasons, you probably want to + # change this to "daemon", for example. + SyslogFacility = local1 + + # Password required for using the WEBIRC command used by some + # Web-to-IRC gateways. If not set/empty, the WEBIRC command can't + # be used. (Default: not set) + ;WebircPassword = xyz + +;[SSL] + # SSL-related configuration options. Please note that this section + # is only available when ngIRCd is compiled with support for SSL! + # So don't forget to remove the ";" above if this is the case ... + + # SSL Server Key Certificate + ;CertFile = /etc/ssl/certs/server.crt + + # Diffie-Hellman parameters + ;DHFile = /etc/ngircd/dhparams.pem + + # SSL Server Key + ;KeyFile = /etc/ssl/private/server.key + + # password to decrypt SSLKeyFile (OpenSSL only) + # Note that this Debian package was linked against GnuTLS so this + # option has no effect. + ;KeyFilePassword = secret + + # Additional Listen Ports that expect SSL/TLS encrypted connections + ;Ports = 6697, 9999 + +[Operator] + # [Operator] sections are used to define IRC Operators. There may be + # more than one [Operator] block, one for each local operator. + + # ID of the operator (may be different of the nick name) + ;Name = TheOper + + # Password of the IRC operator + ;Password = ThePwd + + # Optional Mask from which /OPER will be accepted + ;Mask = *!ident@somewhere.example.com + +[Operator] + # More [Operator] sections, if you like ... + +[Server] + # Other servers are configured in [Server] sections. If you + # configure a port for the connection, then this ngircd tries to + # connect to to the other server on the given port; if not it waits + # for the other server to connect. + # There may be more than one server block, one for each server. + # + # Server Groups: + # The ngIRCd allows "server groups": You can assign an "ID" to every + # server with which you want this ngIRCd to link. If a server of a + # group won't answer, the ngIRCd tries to connect to the next server + # in the given group. But the ngircd never tries to connect to two + # servers with the same group ID. + + # IRC name of the remote server, must match the "Name" variable in + # the [Global] section of the other server (when using ngIRCd). + ;Name = irc2.example.net + + # Internet host name or IP address of the peer (only required when + # this server should establish the connection). + ;Host = connect-to-host.example.net + + # IP address to use as _source_ address for the connection. if + # unspecified, ngircd will let the operating system pick an address. + ;Bind = 10.0.0.1 + + # Port of the server to which the ngIRCd should connect. If you + # assign no port the ngIRCd waits for incoming connections. + ;Port = 6667 + + # Own password for the connection. This password has to be configured + # as "PeerPassword" on the other server. + ;MyPassword = MySecret + + # Foreign password for this connection. This password has to be + # configured as "MyPassword" on the other server. + ;PeerPassword = PeerSecret + + # Group of this server (optional) + ;Group = 123 + + # Set the "Passive" option to "yes" if you don't want this ngIRCd to + # connect to the configured peer (same as leaving the "Port" variable + # empty). The advantage of this option is that you can actually + # configure a port an use the IRC command CONNECT more easily to + # manually connect this specific server later. + ;Passive = no + + # Connect to the remote server using TLS/SSL (Default: false) + ;SSLConnect = yes + + # Define a (case insensitive) mask matching nick names that should be + # treated as IRC services when introduced via this remote server. + # REGULAR SERVERS DON'T NEED this parameter, so leave it empty + # (which is the default). + # When you are connecting IRC services which mask as a IRC server + # and which use "virtual users" to communicate with, for example + # "NickServ" and "ChanServ", you should set this parameter to + # something like "*Serv". + ;ServiceMask = *Serv + +[Server] + # More [Server] sections, if you like ... + +[Channel] + # Pre-defined channels can be configured in [Channel] sections. + # Such channels are created by the server when starting up and even + # persist when there are no more members left. + # Persistent channels are marked with the mode 'P', which can be set + # and unset by IRC operators like other modes on the fly. + # There may be more than one [Channel] block, one for each channel. + + # Name of the channel + ;Name = #ngircd + + # Topic for this channel + ;Topic = Our ngircd testing channel + + # Initial channel modes + ;Modes = tnk + + # initial channel password (mode k) + ;Key = Secret + + # Key file, syntax for each line: "::". + # Default: none. + ;KeyFile = /etc/ngircd/#chan.key + + # maximum users per channel (mode l) + ;MaxUsers = 23 + +[Channel] + # More [Channel] sections, if you like ... + +# -eof- --- ngircd-18.orig/debian/ngircd-conf-convert +++ ngircd-18/debian/ngircd-conf-convert @@ -0,0 +1,225 @@ +#!/usr/bin/perl + +# Copyright (C) 2011, Christoph Biedl, +#%# license-gplv2+ + +=head1 NAME + +ngircd-conf-convert - convert ngircd.conf from pre18 version + +=head1 VERSION + +Version 2011.10.30 + +=cut + +our $VERSION = '2011.10.30'; + +=head1 SYNOPSIS + +convert ngircd.conf from pre18 version + +Usage: + + ngircd-conf-convert [options] + +=cut + +use 5.010; +use strict; +use warnings; + +use Getopt::Long; +use Pod::Usage; + +my $ignorecomments; + +=head1 OPTIONS + +=over + +=cut + +{ + my $help; + my $man; + my %GetOptions = ( + 'help|?' => \$help, + 'man' => \$man + ); + +=item B<--ignorecomments> + +By default, this program will rewrite configuration variables even if +they are commented out, e.g. + + ;NoDNS = no + +to + + ;DNS = yes + +Use this option to disable that feature. + +=cut + + $GetOptions{'ignorecomments'} = \$ignorecomments; + +=item F F + +The old configuration file, and where to write the converted one to. +The first one must exist, the content of the latter will be +overwritten. If C<-> is given, content is read from stdin or written +to stdout, respectively. + +=back + +=head1 DESCRIPTION + +The C converts ngIRCd configuration files according +to the new section and variable names introduced in version 18. + +The changes done are small: Just renamings and adding the appropriate +section name. No blocks are moved around, you might want to do that +manually. + +Suggested workflow: + + ngircd-conf-convert ngircd.conf ngircd.conf.new + # compare dumps created by --configtest + dump.old + dump.new + cmp -s dump.old dump.new || echo "ALERT: configuration was changed!" + +Remember: Your C may contain sensitive data, so don't +do that in a world-readable directory. + +=cut + + GetOptions (%GetOptions) or pod2usage (2); + pod2usage (1) if ($help); + pod2usage (-exitstatus => 0, -ignorecomments => 2) if ($man); + + (scalar (@ARGV) == 2) or + die ("Need two file parameters.\n"); +} + +my %convert_logic = ( + # variable name => [ , , ] + 'allowremoteoper' => [ 'Options' ], + 'chrootdir' => [ 'Options' ], + 'connectipv4' => [ 'Options' ], + 'connectipv6' => [ 'Options' ], + 'connectretry' => [ 'Limits' ], + 'maxconnections' => [ 'Limits' ], + 'maxconnectionsip' => [ 'Limits' ], + 'maxjoins' => [ 'Limits' ], + 'maxnicklength' => [ 'Limits' ], + 'nodns' => [ 'Options', 'DNS', 1 ], + 'noident' => [ 'Options', 'Ident', 1 ], + 'nopam' => [ 'Options', 'PAM', 1 ], + 'opercanusemode' => [ 'Options' ], + 'operservermode' => [ 'Options' ], + 'pingtimeout' => [ 'Limits' ], + 'pongtimeout' => [ 'Limits' ], + 'predefchannelsonly' => [ 'Options' ], + 'sslcertfile' => [ 'SSL', 'CertFile' ], + 'ssldhfile' => [ 'SSL', 'DHFile' ], + 'sslkeyfile' => [ 'SSL', 'KeyFile' ], + 'sslkeyfilepassword' => [ 'SSL', 'KeyFilePassword' ], + 'sslports' => [ 'SSL', 'Ports' ], + 'syslogfacility' => [ 'Options' ], + 'webircpassword' => [ 'Options' ], +); + +my $oldvars = join ('|', keys %convert_logic); + +my ($old_file, $new_file) = @ARGV; +my ($old_fh, $new_fh); +if ($old_file eq '-') { + $old_fh = *STDIN; +} else { + (-f $old_file) or + die ("Not a file: '$old_file'.\n"); + open ($old_fh, '<', $old_file) or + die ("Canno read '$old_file': $!.\n"); +} + +my $section = ''; +# last section read from input + +my $set_section = ''; +# section we're currently in + +# slurp content +my @content = <$old_fh>; +($old_file eq '-') or close ($old_fh); + +sub insert_line ($$) { + # insert content before the given line. If this is a comment, seek + # further backwards. + my ($before, $content) = @_; + while ($before > 0 && $content[--$before] =~ /^\s*#/) { + } + splice @content, $before+1, 0, $content; +} + +for (my $i = 0; $i < scalar (@content); $i++) { + my $line = $content[$i]; + if ($line =~ /^\s*\[([a-z]+)\]/i) { + $set_section = $section = lc $1; + } elsif ($line =~ /^\s*(,|#|$)/) { + # nothing to do + } elsif ( + $section eq 'global' && + $line =~ /^(\s*)(;\s*)?($oldvars)(\s*=\s*)(.*?)$/i + ) { + my ($left, $comment, $var, $middle, $value) = + ($1 // '', $2 // '', $3, $4, $5 // ''); + my ($new_section, $new_var, $invert) = @{$convert_logic{lc $var}}; + $new_var //= $var; + ($comment && $ignorecomments) and + next; + if ($set_section ne $new_section) { + # switch section + insert_line ($i, "[$new_section]\n"); $i++; + $set_section = $new_section; + } + $invert and + ($value = ($value =~ /^(yes|true|[1-9]\d*)\s*$/) ? 'no' : 'yes'); + $content[$i] = "$left$comment$new_var$middle$value\n"; + } elsif ($set_section ne $section) { + # other content, switch back to global if necessary + die if ($section ne 'global'); + insert_line ($i, "[Global]\n"); $i++; + $set_section = $section; + } +} + + +if ($new_file eq '-') { + $new_fh = *STDOUT; +} else { + open ($new_fh, '>', $new_file) or + die ("Canno write '$new_file': $!.\n"); + print $new_fh @content; +} +($new_file eq '-') or close ($new_fh); + +exit 0; + +__END__ + +=head1 AUTHOR + +Christoph Biedl, Cdebian.axhn@manchmal.in-ulm.deE> + +=head1 COPYRIGHT & LICENSE + + #%# license-gplv2+ + +=cut + +# -- ETYKACLGPAK --- ngircd-18.orig/debian/rules +++ ngircd-18/debian/rules @@ -0,0 +1,28 @@ +#!/usr/bin/make -f + +override_dh_auto_configure: + dh_auto_configure -- \ + --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ + --prefix=/usr \ + --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info \ + --sysconfdir=/etc/ngircd \ + --with-gnutls \ + --enable-ipv6 + +override_dh_auto_install: + dh_auto_install + # install config and sample motd file + install -m 640 -D $(CURDIR)/debian/ngircd.conf \ + $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf + install -m 640 -D $(CURDIR)/debian/ngircd.motd \ + $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.motd + install -m 755 -D $(CURDIR)/debian/ngircd-conf-convert \ + $(CURDIR)/debian/ngircd/usr/share/ngircd/ngircd-conf-convert + # 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 + +%: + dh $@ --- ngircd-18.orig/debian/changelog +++ ngircd-18/debian/changelog @@ -0,0 +1,126 @@ +ngircd (18-2) unstable; urgency=low + + * Fix PIDDIR assertion (Closes: #648815). + + -- Christoph Biedl Thu, 17 Nov 2011 20:22:15 +0000 + +ngircd (18-1) unstable; urgency=low + + * New upstream release 18 + * The ngircd.conf file firmat has changed. Provide a helper program + to rewrite the configuration file. + * Upgrade to Standards-Version 3.9.2, no changes. + + -- Christoph Biedl Sun, 06 Nov 2011 21:52:33 +0100 + +ngircd (17.1-1) UNRELEASED; urgency=low + + * New upstream release 17.1 + * Upgrade to Standards-Version 3.9.1, no changes. + * Upgrade Debianisation to debhelper7. + * Clean up init script (fixes Ubuntu bug #382027). + + -- Christoph Biedl Sat, 04 Jun 2011 18:16:00 +0200 + +ngircd (15-0.1) unstable; urgency=low + + * Non-maintainer upload. + * New upstream version (Closes: #534410). + * Enable reload in init script (Closes: #548797). + * Enable TLS support. + * Enable IPv6 support. + * Set STARTTIME in init script. + + -- Christoph Biedl Sun, 07 Feb 2010 21:15:58 +0100 + +ngircd (0.12.1-2) unstable; urgency=low + + * Create /var/run/ngircd/ when starting the daemon Closes: #507259 + -- Patch thanks to Adrien Cunin + * Add myself to Uploaders + + -- Matt Arnold Tue, 23 Dec 2008 11:54:00 -0500 + +ngircd (0.12.1-1) unstable; urgency=low + + * New upstream release (Closes: #465815, #466063). + * Maintainer set to Debian IRC Team. + * Added Vcs-* fields in debian/control. + * Added Homepage field in debian/control. + * Removed Homepage from description field in debian/control. + * Bumped policy version to 3.8.0. + * Enabled syslog (Closes: #452028). + * New init-script derived from actual dh-templates. (Closes: #478338). + + -- Mario Iseli Sat, 13 Sep 2008 16:47:32 +0200 + +ngircd (0.10.3-1) unstable; urgency=low + + * New maintainer E-Mail address. + * New upstream release. + * Removed several useless whitespaces in debian/*. + * Added [ ! -f Makefile ] || $(MAKE) distclean to debian/rules. + + -- Mario Iseli Sat, 04 Aug 2007 17:04:53 +0200 + +ngircd (0.10.0-3) unstable; urgency=medium + + * Corrected the PidFile direction in sample ngircd.conf (Closes: #397331). + + -- Mario Iseli Tue, 12 Dec 2006 10:34:13 +0100 + +ngircd (0.10.0-2) unstable; urgency=medium + + * Compile without epoll(), works now on Linux 2.4.x (Closes: #395553). + * Corrected the path to the example config in referenced ngircd.conf. + + -- Mario Iseli Sun, 05 Nov 2006 13:51:59 +0100 + +ngircd (0.10.0-1) unstable; urgency=low + + * New upstream release (Closes: #392616). + * Removed provide on ircd. + + -- Mario Iseli Wed, 11 Oct 2006 23:49:03 +0200 + +ngircd (0.9.2-4) unstable; urgency=low + + * Updated to policy 3.7.2 + * Removed patch 04-nicklength to be RFC-compliant (Closes: #353876) + + -- Mario Iseli Sun, 07 May 2006 15:21:34 +0200 + +ngircd (0.9.2-3) unstable; urgency=low + + * New patch which allows longer nicknames, thanks to Benjamin A'Lee + for the patch. (Closes: #355342) + * Fixed the typo in the example config. (Closes: #353876) + + -- Mario Iseli Sun, 05 Mar 2006 23:22:34 +0100 + +ngircd (0.9.2-2) unstable; urgency=low + + * Wrote 03-ping.dpatch (Closes: #343200) + * Added a "if" in debian/ngircd.postinst + + -- Mario Iseli Wed, 14 Dec 2005 23:02:34 +0100 + +ngircd (0.9.2-1) unstable; urgency=low + + * New upstream version + * Changed the init and postinst script + * reload in init script is now supported + * fixed mistake in configfile + * added original config as example + * Removed patches/01-manuals and added patches/02-manuals + + -- Mario Iseli Wed, 16 Nov 2005 17:50:17 +0100 + +ngircd (0.8.2-1) unstable; urgency=low + + * Initial release Closes: #295970 + * New debian-optimized config + * Introduced dpatch and wrote a patch for the manuals (01-manuals) + + -- Mario Iseli Tue, 1 Nov 2005 20:08:53 +0100 + --- ngircd-18.orig/debian/control +++ ngircd-18/debian/control @@ -0,0 +1,29 @@ +Source: ngircd +Section: net +Priority: optional +Maintainer: Debian IRC Team +Uploaders: Mario Iseli , Matt Arnold , + Christoph Biedl +Build-Depends: debhelper (>= 7.0.50~), + autotools-dev, + expect, + libgnutls-dev, + po-debconf, + procps, + telnet, +Vcs-Svn: svn://svn.debian.org/pkg-irc/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-irc +Standards-Version: 3.9.2 + +Package: ngircd +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, + debconf, + lsb-base (>= 3.0-6), +Replaces: ircd +Conflicts: dancer-ircd, ircd-hybrid, ircd-irc2, ircd-ircu, rageircd +Homepage: http://ngircd.barton.de +Description: Next generation IRC Server + ngircd is a IRC Daemon for small or private networks. It does not contain all + the functions like the professional ones, e.g services. It is written from + scratch and is not based upon the original IRCd like many others. --- ngircd-18.orig/debian/ngircd.init +++ ngircd-18/debian/ngircd.init @@ -0,0 +1,160 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: ngircd +# Required-Start: $network $local_fs $remote_fs +# Required-Stop: $network $local_fs $remote_fs +# Should-Start: $named $syslog +# Should-Stop: $named $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Next generation IRC daemon +# Description: Simple IRC daemon written from scratch +### END INIT INFO + +# Author: Christoph Biedl + +# Do NOT "set -e" + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC='Next generation IRC daemon' +NAME='ngircd' +DAEMON="/usr/sbin/$NAME" +DAEMON_ARGS="" +PIDDIR='/var/run/ngircd' +PIDFILE="$PIDDIR/$NAME.pid" +SCRIPTNAME="/etc/init.d/$NAME" +DAEMONUSER='irc' # also group + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME" + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +# Assert PIDDIR +[ -d "$PIDDIR" ] || mkdir -p "$PIDDIR" +chown "$DAEMONUSER:$DAEMONUSER" "$PIDDIR" + +# Assert DAEMONUSER's home +DAEMONHOME=$(getent passwd "$DAEMONUSER" | cut -d: -f6) +[ -d "$DAEMONHOME" ] || mkdir -p "$DAEMONHOME" +chown "$DAEMONUSER:$DAEMONUSER" "$DAEMONHOME" + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --start --quiet \ + --pidfile "$PIDFILE" --exec "$DAEMON" \ + --test > /dev/null || return 1 + start-stop-daemon --start --quiet \ + --chuid "$DAEMONUSER:$DAEMONUSER" \ + --pidfile "$PIDFILE" --exec "$DAEMON" -- \ + $DAEMON_ARGS || return 2 + # Add code here, if necessary, that waits for the process to be ready + # to handle requests from services started subsequently which depend + # on this one. As a last resort, sleep for some time. +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \ + --pidfile "$PIDFILE" --name "$NAME" + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 \ + --exec "$DAEMON" + [ "$?" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f "$PIDFILE" + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + start-stop-daemon --stop --signal 1 --quiet \ + --pidfile "$PIDFILE" --name "$NAME" + return 0 +} + +case "$1" in +start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; +stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; +status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; +reload|force-reload) + log_daemon_msg "Reloading $DESC" "$NAME" + do_reload + log_end_msg $? + ;; +restart) + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; +*) + echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + exit 3 + ;; +esac + +exit 0 --- ngircd-18.orig/debian/ngircd.bug-script +++ ngircd-18/debian/ngircd.bug-script @@ -0,0 +1,13 @@ +#!/bin/bash -e + +cat <<__EOS__ >&3 + +WARNING: Your ngIRCd configuration file may contain data the world +should not see, like passwords or structure of your IRC network. + +If you chose to include /etc/ngircd/ngircd.conf, make sure no +confidential information remains. To keep this report terse, also +remove all comments unless they are really necessary, and delete +this notice. + +__EOS__ --- ngircd-18.orig/debian/po/POTFILES.in +++ ngircd-18/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] ngircd.templates --- ngircd-18.orig/debian/po/templates.pot +++ ngircd-18/debian/po/templates.pot @@ -0,0 +1,65 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: ngircd@packages.debian.org\n" +"POT-Creation-Date: 2011-11-04 22:08+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../ngircd.templates:1001 +msgid "Convert ngIRCd configuration?" +msgstr "" + +#. Type: boolean +#. Description +#: ../ngircd.templates:1001 +msgid "" +"In version 18, the ngIRCd configuration file format has changed. You can " +"choose to have your configuration re-written. Don't worry, the old format is " +"still supported." +msgstr "" + +#. Type: text +#. Description +#: ../ngircd.templates:2001 +msgid "Cannot convert configuration" +msgstr "" + +#. Type: text +#. Description +#: ../ngircd.templates:2001 +msgid "" +"The present configuration file contains errors and cannot be converted. " +"Please check manually using\n" +" ngircd --configtest\n" +"and run 'dpkg-reconfigure ngircd' to try again." +msgstr "" + +#. Type: text +#. Description +#: ../ngircd.templates:3001 +msgid "Error" +msgstr "" + +#. Type: text +#. Description +#: ../ngircd.templates:3001 +msgid "" +"Verification after conversion failed. This is a bug, please report it in the " +"Debian bug tracker. Please include your configuration but make sure all " +"passwords are removed. The diff below might give you some help:\n" +" ${DIFF}" +msgstr "" --- ngircd-18.orig/debian/source/format +++ ngircd-18/debian/source/format @@ -0,0 +1 @@ +1.0