Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
43c9523d27 | ||
|
|
d6ebd4a897 | ||
|
|
3b7dfb58f1 | ||
|
|
c5d5124986 |
7 changed files with 370 additions and 21 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
ngircd-0.11.0.tar.gz
|
||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
|||
# Makefile for source rpm: ngircd
|
||||
# $Id$
|
||||
NAME := ngircd
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attept a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
||||
186
ngircd.conf
Normal file
186
ngircd.conf
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
# $Id$
|
||||
|
||||
#
|
||||
# This is a sample configuration file for the ngIRCd, which must be adepted
|
||||
# to the local preferences and needs.
|
||||
#
|
||||
# Comments are started with "#" or ";".
|
||||
#
|
||||
# Use "ngircd --configtest" (see manual page ngircd(8)) to validate that the
|
||||
# server interprets the configuration file as expected!
|
||||
#
|
||||
|
||||
[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.
|
||||
|
||||
# Server name in the IRC network, must contain at least one dot
|
||||
# (".") and be unique in the IRC network. Required!
|
||||
Name = irc.the.net
|
||||
|
||||
# Info text of the server. This will be shown by WHOIS and
|
||||
# LINKS requests for example.
|
||||
Info = Server Info Text
|
||||
|
||||
# Global password for all users needed to connect to the server
|
||||
;Password = abc
|
||||
|
||||
# Information about the server and the administrator, used by the
|
||||
# ADMIN command. Not required by server but by RFC!
|
||||
;AdminInfo1 = Description
|
||||
;AdminInfo2 = Location
|
||||
;AdminEMail = admin@irc.server
|
||||
|
||||
# Ports on which the server should listen. There may be more than
|
||||
# one port, separated with ",". (Default: 6667)
|
||||
;Ports = 6667, 6668, 6669
|
||||
|
||||
# IP address on which the server should listen. (Default: empty,
|
||||
# so the server listens on all IP addresses of the system)
|
||||
;Listen = 1.2.3.4
|
||||
|
||||
# Text file with the "message of the day" (MOTD). This message will
|
||||
# be shown to all users connecting to the server:
|
||||
;MotdFile = /etc/ngircd.motd
|
||||
|
||||
# A simple Phrase (<256 chars) if you don't want to use a motd file.
|
||||
# If it is set no MotdFile will be read at all.
|
||||
;MotdPhrase = "Hello world!"
|
||||
|
||||
# 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!
|
||||
ServerUID = ngirc
|
||||
|
||||
# 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!
|
||||
ServerGID = ngirc
|
||||
|
||||
# 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
|
||||
|
||||
# This tells ngircd to write its current process id to a file.
|
||||
# Note that the pidfile is written AFTER chroot and switching uid,
|
||||
# i. e. the Directory the pidfile resides in must be writeable by
|
||||
# the ngircd user and exist in the chroot directory.
|
||||
PidFile = /var/run/ngircd/ngircd.pid
|
||||
|
||||
# After <PingTimeout> 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 <PongTimeout>
|
||||
# seconds, it will be disconnected by the server.
|
||||
;PongTimeout = 20
|
||||
|
||||
# The server tries every <ConnectRetry> seconds to establish a link
|
||||
# to not yet (or no longer) connected servers.
|
||||
;ConnectRetry = 60
|
||||
|
||||
# Should IRC Operators be allowed to use the MODE command even if
|
||||
# they are not(!) channel-operators?
|
||||
;OperCanUseMode = no
|
||||
|
||||
# Mask IRC Operator mode requests as if they were coming from the
|
||||
# server? (This is a compatibility hack for ircd-irc2 servers)
|
||||
;OperServerMode = no
|
||||
|
||||
# Allow Pre-Defined Channels only (see Section [Channels])
|
||||
;PredefChannelsOnly = no
|
||||
|
||||
# Maximum number of simultaneous connection the server is allowed
|
||||
# to accept (<=0: unlimited):
|
||||
;MaxConnections = -1
|
||||
|
||||
# Maximum number of simultaneous connections from a single IP address
|
||||
# the server will accept (<=0: unlimited):
|
||||
;MaxConnectionsIP = 5
|
||||
|
||||
# Maximum number of channels a user can be member of (<=0: no limit):
|
||||
;MaxJoins = 10
|
||||
|
||||
[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.the.net
|
||||
|
||||
# Internet host name or IP address of the peer (only required when
|
||||
# this server should establish the connection).
|
||||
;Host = connect-to-host.the.net
|
||||
|
||||
# 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
|
||||
|
||||
[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 = #TheName
|
||||
|
||||
# Topic for this channel
|
||||
;Topic = a great topic
|
||||
|
||||
# Initial channel modes
|
||||
;Modes = tn
|
||||
|
||||
[Channel]
|
||||
# More [Channel] sections, if you like ...
|
||||
|
||||
# -eof-
|
||||
71
ngircd.init
Executable file
71
ngircd.init
Executable file
|
|
@ -0,0 +1,71 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# ngircd This shell script takes care of starting and stopping
|
||||
# the ngircd IRC daemon.
|
||||
#
|
||||
# chkconfig: - 80 30
|
||||
# description: ngircd is an IRC daemon
|
||||
# processname: ngircd
|
||||
# pidfile: /var/run/ngircd.pid
|
||||
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
prog=ngircd
|
||||
RETVAL=0
|
||||
|
||||
start() {
|
||||
echo -n $"Starting $prog: "
|
||||
daemon ngircd
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL = 0 ] && touch /var/lock/subsys/ngircd
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Stopping $prog: "
|
||||
killproc ngircd
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/ngircd
|
||||
}
|
||||
|
||||
reload() {
|
||||
echo -n $"Reloading $prog: "
|
||||
killproc ngircd -HUP
|
||||
RETVAL=$?
|
||||
echo
|
||||
}
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
status ngircd
|
||||
RETVAL=$?
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
reload)
|
||||
reload
|
||||
;;
|
||||
condrestart)
|
||||
if [ -f /var/run/ngircd/ngircd.pid ] ; then
|
||||
stop
|
||||
start
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $prog {start|stop|restart|reload|condrestart|status|help}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
111
ngircd.spec
Normal file
111
ngircd.spec
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
%define uid 36
|
||||
%define username ngircd
|
||||
%define homedir /tmp
|
||||
%define gecos "Next Generation IRC Daemon"
|
||||
|
||||
Name: ngircd
|
||||
Version: 0.11.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Next Generation IRC Daemon
|
||||
Group: System Environment/Daemons
|
||||
License: GPL
|
||||
URL: http://ngircd.barton.de/
|
||||
Source0: ftp://ftp.berlios.de/pub/ngircd/ngircd-%{version}.tar.gz
|
||||
Source1: ngircd.init
|
||||
Source2: ngircd.conf
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel
|
||||
BuildRequires: libident-devel
|
||||
Requires(post): /sbin/chkconfig
|
||||
Requires(preun): /sbin/chkconfig
|
||||
Requires(preun): /sbin/service
|
||||
Requires(postun): /sbin/service
|
||||
Requires(pre): fedora-usermgmt
|
||||
Requires(postun): fedora-usermgmt
|
||||
|
||||
|
||||
%description
|
||||
ngIRCd is a free open source daemon for Internet Relay Chat (IRC),
|
||||
developed under the GNU General Public License (GPL). It's written from
|
||||
scratch and is not based upon the original IRCd like many others.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
%configure \
|
||||
--with-syslog \
|
||||
--with-zlib \
|
||||
--with-epoll \
|
||||
--with-zeroconf \
|
||||
--with-tcp-wrappers \
|
||||
--with-ident
|
||||
|
||||
make %{?_smp_mflags}
|
||||
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
make install DESTDIR=%{buildroot}
|
||||
install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/ngircd
|
||||
install -D -m 660 %{SOURCE2} %{buildroot}%{_sysconfdir}/ngircd.conf
|
||||
touch %{buildroot}%{_sysconfdir}/ngircd.motd
|
||||
rm -rf %{buildroot}%{_docdir}/ngircd
|
||||
mkdir -p %{buildroot}%{_localstatedir}/run/ngircd
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%pre
|
||||
/usr/sbin/fedora-groupadd %uid -r %username &>/dev/null || :
|
||||
/usr/sbin/fedora-useradd %uid -r -s /sbin/nologin -d %homedir -M \
|
||||
-c '%gecos' -g %username %username &>/dev/null || :
|
||||
|
||||
%post
|
||||
# This adds the proper /etc/rc*.d links for the script
|
||||
/sbin/chkconfig --add ngircd
|
||||
|
||||
%preun
|
||||
if [ $1 = 0 ]; then
|
||||
/sbin/service ngircd stop >/dev/null 2>&1 || :
|
||||
/sbin/chkconfig --del ngircd
|
||||
fi
|
||||
|
||||
%postun
|
||||
if [ "$1" -ge "1" ]; then
|
||||
/sbin/service ngircd condrestart >/dev/null 2>&1 || :
|
||||
fi
|
||||
test "$1" != 0 || /usr/sbin/fedora-userdel %username &>/dev/null || :
|
||||
test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || :
|
||||
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc AUTHORS COPYING ChangeLog NEWS README doc/*
|
||||
%config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.conf
|
||||
%ghost %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.motd
|
||||
%{_initrddir}/ngircd
|
||||
%{_sbindir}/ngircd
|
||||
%{_mandir}/man5/ngircd.conf*
|
||||
%{_mandir}/man8/ngircd.8*
|
||||
%dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Feb 11 2008 Andreas Thienemann <andreas@bawue.net> 0.11.0-1
|
||||
- Updated to 0.11.0
|
||||
|
||||
* Tue Nov 20 2007 Andreas Thienemann <andreas@bawue.net> 0.10.3-1
|
||||
- Rebased to 0.10.3
|
||||
- Incorporated patches from fw@strlen.de
|
||||
|
||||
* Thu Apr 26 2007 Andreas Thienemann <andreas@bawue.net> 0.10.1-3
|
||||
- Removed libident requirement
|
||||
- Added patch from fw fixing server connections
|
||||
|
||||
* Mon Apr 02 2007 Andreas Thienemann <andreas@bawue.net> 0.10.1-2
|
||||
- Added ngirc user
|
||||
|
||||
* Sat Mar 31 2007 Andreas Thienemann <andreas@bawue.net> 0.10.1-1
|
||||
- Initial package
|
||||
|
||||
1
sources
1
sources
|
|
@ -0,0 +1 @@
|
|||
c322656b173ecec3d626355c0c3e875f ngircd-0.11.0.tar.gz
|
||||
Loading…
Add table
Add a link
Reference in a new issue