aboutsummaryrefslogtreecommitdiff
path: root/irc/ptlink-services
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2005-09-18 15:21:38 +0000
committerPav Lucistnik <pav@FreeBSD.org>2005-09-18 15:21:38 +0000
commitdf9ca56f4dd9845bad1e3105d274a995327f9830 (patch)
tree0a1df84bf332bcacc25ca07cd84ee370aab16188 /irc/ptlink-services
parent045a55ceb20a3f000ebbf460d07866df994646d6 (diff)
downloadports-df9ca56f4dd9845bad1e3105d274a995327f9830.tar.gz
ports-df9ca56f4dd9845bad1e3105d274a995327f9830.zip
Notes
Diffstat (limited to 'irc/ptlink-services')
-rw-r--r--irc/ptlink-services/Makefile23
-rw-r--r--irc/ptlink-services/distinfo4
-rw-r--r--irc/ptlink-services/files/create_tables.sql89
-rw-r--r--irc/ptlink-services/files/domain.def.sample17
-rw-r--r--irc/ptlink-services/files/patch-configure11
-rw-r--r--irc/ptlink-services/files/patch-src::Makefile.in15
-rw-r--r--irc/ptlink-services/files/pkg-message.in11
-rw-r--r--irc/ptlink-services/files/ptlink-services.sh.in25
-rw-r--r--irc/ptlink-services/files/services.conf.sample853
-rw-r--r--irc/ptlink-services/pkg-install28
-rw-r--r--irc/ptlink-services/pkg-message11
-rw-r--r--irc/ptlink-services/pkg-plist142
12 files changed, 214 insertions, 1015 deletions
diff --git a/irc/ptlink-services/Makefile b/irc/ptlink-services/Makefile
index 2bfc6f1fcc2f..07dd3140e687 100644
--- a/irc/ptlink-services/Makefile
+++ b/irc/ptlink-services/Makefile
@@ -6,15 +6,11 @@
#
PORTNAME= Services
-PORTVERSION= 2.26.1
-PORTREVISION= 1
+PORTVERSION= 3.4.1
CATEGORIES= irc
-MASTER_SITES= ftp://ftp.sunsite.dk/projects/ptlink/services2/ \
- http://www.rootxs.org/pub/FreeBSD/distfiles/
+MASTER_SITES= ftp://ftp.sunsite.dk/projects/ptlink/ircsvs3/
PKGNAMEPREFIX= PTlink-
-DISTNAME= PTlink.${PORTNAME}2.26-eol.1
-
-PATCH_DIST_STRIP= -p1
+DISTNAME= PTlinkIRC.${PORTNAME}${PORTVERSION}
MAINTAINER= dennis@rootxs.org
COMMENT= PTlink IRC services
@@ -22,13 +18,18 @@ COMMENT= PTlink IRC services
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_PERL5= yes
+USE_MYSQL= yes
+
+USE_RC_SUBR= ptlink-services.sh
+SUB_FILES= pkg-message
+
+SYSCONFDIR= ${PREFIX}/etc/ptlink-services
-SYSCONFDIR= ${PREFIX}/etc/ptlink
CONFIGURE_ARGS= --sysconfdir=${SYSCONFDIR}
post-install:
- @${INSTALL_DATA} ${FILESDIR}/*.sample ${SYSCONFDIR}
- @${INSTALL_DATA} ${FILESDIR}/create_tables.sql ${SYSCONFDIR}
- @${SED} 's,%%SYSCONFDIR%%,${SYSCONFDIR},g' < ${PKGMESSAGE}
+ @${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+ @${CHOWN} -R ${USER}:${GROUP} ${SYSCONFDIR}
+ @${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>
diff --git a/irc/ptlink-services/distinfo b/irc/ptlink-services/distinfo
index b264b4dc85da..0cbffd67c460 100644
--- a/irc/ptlink-services/distinfo
+++ b/irc/ptlink-services/distinfo
@@ -1,2 +1,2 @@
-MD5 (PTlink.Services2.26-eol.1.tar.gz) = 21db7f28ca4e09053d7f1ab5689e9a27
-SIZE (PTlink.Services2.26-eol.1.tar.gz) = 568462
+MD5 (PTlinkIRC.Services3.4.1.tar.gz) = d976eb60881963eaded76f28efd624f0
+SIZE (PTlinkIRC.Services3.3.0.tar.gz) = 411223
diff --git a/irc/ptlink-services/files/create_tables.sql b/irc/ptlink-services/files/create_tables.sql
deleted file mode 100644
index a02850ca7f03..000000000000
--- a/irc/ptlink-services/files/create_tables.sql
+++ /dev/null
@@ -1,89 +0,0 @@
-DROP TABLE IF EXISTS nickserv;
-CREATE TABLE nickserv (
- snid INT UNSIGNED NOT NULL auto_increment,
- nick varchar(32) NOT NULL default '',
- t_reg datetime NOT NULL,
- t_ident datetime NOT NULL,
- t_seen datetime NOT NULL,
- t_sign datetime NOT NULL,
- pass varchar(32) default NULL,
- email varchar(64) default NULL,
- url varchar(64) default NULL,
- imid varchar(64) default NULL,
- location varchar(64) default NULL,
- ontime INT UNSIGNED NOT NULL default '0',
- username varchar(32) NOT NULL default '0',
- realhost varchar(64) default NULL,
- info varchar(64) default NULL,
- nmask INT UNSIGNED default NULL,
- ajoin varchar(128) default NULL,
- status int NOT NULL default '0',
- flags int NOT NULL default '0',
- securitycode varchar(32) default NULL,
- lang int NOT NULL default '0',
- master_snid INT UNSIGNED NOT NULL default '0',
- PRIMARY KEY (snid),
- UNIQUE KEY nick (nick)
-) Type = InnoDB;
-
-DROP TABLE IF EXISTS memoserv;
-CREATE TABLE memoserv(
- smid INT UNSIGNED NOT NULL auto_increment,
- owner_snid INT UNSIGNED NOT NULL,
- sender_snid INT UNSIGNED NOT NULL,
- sender_name varchar(32) NULL, # the sender_snid may drop
- flags INT UNSIGNED NOT NULL,
- t_send DATETIME NOT NULL,
- message VARCHAR(255) NOT NULL,
- PRIMARY KEY (smid),
- KEY smid (smid)
-) Type = InnoDB;
-
-# Table structure for table `chanserv`
-DROP TABLE IF EXISTS chanserv;
-CREATE TABLE chanserv (
- scid INT UNSIGNED NOT NULL auto_increment,
- name varchar(64) NOT NULL default '',
- url varchar(64) default NULL,
- email varchar(64) default NULL,
- founder INT UNSIGNED NOT NULL default '0',
- successor INT UNSIGNED NOT NULL default '0',
- last_topic text,
- last_topic_setter varchar(32) default NULL,
- t_ltopic datetime NOT NULL,
- t_reg datetime NOT NULL,
- t_last_use datetime NOT NULL,
- mlock varchar(64) default NULL,
- status int(2) NOT NULL default '0',
- flags int(2) NOT NULL default '0',
- entrymsg varchar(255) default NULL,
- cdesc varchar(255) default NULL,
- t_maxusers datetime NOT NULL,
- maxusers int(5) NOT NULL default '0',
- PRIMARY KEY (scid),
- UNIQUE KEY name (name)
-) Type = InnoDB;
-
-# This is just a temporary table to map access list levels
-# to chan roles
-DROP TABLE IF EXISTS cs_role_temp;
-CREATE TABLE cs_role_temp (
- scid INT UNSIGNED NOT NULL,
- snid INT UNSIGNED NOT NULL,
- who INT UNSIGNED NOT NULL,
- rtype INT NOT NULL
-) Type = InnoDB;
-
-DROP TABLE IF EXISTS ircsvs_tables;
-CREATE TABLE ircsvs_tables(
- name varchar(32) NOT NULL,
- version INT UNSIGNED NOT NULL,
- inst_time datetime NOT NULL
-) Type = InnoDB;
-
-# this tables are installed by services2
-INSERT INTO ircsvs_tables VALUES ("mysql", 1 , NOW());
-INSERT INTO ircsvs_tables VALUES ("nickserv", 1 , NOW());
-INSERT INTO ircsvs_tables VALUES ("chanserv", 1 , NOW());
-INSERT INTO ircsvs_tables VALUES ("memoserv", 1 , NOW());
-
diff --git a/irc/ptlink-services/files/domain.def.sample b/irc/ptlink-services/files/domain.def.sample
deleted file mode 100644
index 88747d26d92f..000000000000
--- a/irc/ptlink-services/files/domain.def.sample
+++ /dev/null
@@ -1,17 +0,0 @@
-# Please read D
-# The format for domain language definitions is:
-# domain language_number
-# language number must be one from /NickServ HELP SET Language
-# Unresolved domains will use the default language
-[Domain]
-pt 2
-tr 3
-de 4
-at 4
-uk 1
-us 1
-com 1
-it 5
-nl 6
-br 7
-
diff --git a/irc/ptlink-services/files/patch-configure b/irc/ptlink-services/files/patch-configure
new file mode 100644
index 000000000000..b985a0f7e46b
--- /dev/null
+++ b/irc/ptlink-services/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orig Sun Sep 11 12:49:13 2005
++++ configure Sun Sep 11 12:49:48 2005
+@@ -7562,7 +7562,7 @@
+ "
+ # Web support: ${web_support}
+ echo "#define BINPATH \"${prefix}/bin\"" > include/path.h
+-echo "#define ETCPATH \"${prefix}/etc\"" >> include/path.h
++echo "#define ETCPATH \"${prefix}/etc/ptlink-services\"" >> include/path.h
+ echo "#define DATAPATH \"${prefix}/data\"" >> include/path.h
+ echo "#define VARPATH \"${prefix}/var\"" >> include/path.h
+ echo "#define LOGPATH \"${prefix}/var/log\"" >> include/path.h
diff --git a/irc/ptlink-services/files/patch-src::Makefile.in b/irc/ptlink-services/files/patch-src::Makefile.in
deleted file mode 100644
index 54c358dbff3b..000000000000
--- a/irc/ptlink-services/files/patch-src::Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/Makefile.in.orig Wed Dec 8 20:23:25 2004
-+++ src/Makefile.in Sun May 22 16:12:40 2005
-@@ -138,12 +138,6 @@
- cd $(bindir) ; \
- $(LN) -s services listchans; \
- fi
-- @if ! test -f $(sysconfdir)/services.conf; then \
-- $(INSTALL_DATA) ../data/example.conf $(sysconfdir)/services.conf; \
-- fi
-- $(INSTALL_DATA) ../data/example.conf $(sysconfdir)
-- $(INSTALL_DATA) ../data/domain.def $(sysconfdir)
-- $(INSTALL_DATA) ../data/create_tables.sql $(sysconfdir)
- @if test -f $(sysconfdir)/services.pid ; then \
- servicespid=`cat $(sysconfdir)/services.pid`; \
- if `kill -CHLD $$servicespid >/dev/null 2>&1`; then \
diff --git a/irc/ptlink-services/files/pkg-message.in b/irc/ptlink-services/files/pkg-message.in
new file mode 100644
index 000000000000..6cdd74c4d8c9
--- /dev/null
+++ b/irc/ptlink-services/files/pkg-message.in
@@ -0,0 +1,11 @@
+======================================================================
+
+PTlink IRC services is now installed.
+
+Edit the configuration files in %%PREFIX%%/etc/ptlink-services to suit
+your needs.
+
+Add services_enable="YES" to rc.conf and start ircd by running:
+%%PREFIX%%/etc/rc.d/ptlink-services.sh start
+
+======================================================================
diff --git a/irc/ptlink-services/files/ptlink-services.sh.in b/irc/ptlink-services/files/ptlink-services.sh.in
new file mode 100644
index 000000000000..47568c5b40f3
--- /dev/null
+++ b/irc/ptlink-services/files/ptlink-services.sh.in
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: services
+# REQUIRE: NETWORKING SERVERS
+# BEFORE: DAEMON
+
+# Add the following line(s) to /etc/rc.conf:
+# services_enable (bool): Set to "NO" by default, set it to "YES" to enable services
+# services_user (str): Default to "ircd"
+
+services_enable=${services_enable-"NO"}
+services_user=${services_user-"ircd"}
+
+. %%RC_SUBR%%
+
+name="services"
+rcvar=`set_rcvar`
+pidfile="%%PREFIX%%/etc/ptlink-services/services.pid"
+command="%%PREFIX%%/bin/ircsvs"
+
+load_rc_config "$name"
+run_rc_command "$1"
diff --git a/irc/ptlink-services/files/services.conf.sample b/irc/ptlink-services/files/services.conf.sample
deleted file mode 100644
index 7fa3a5444472..000000000000
--- a/irc/ptlink-services/files/services.conf.sample
+++ /dev/null
@@ -1,853 +0,0 @@
-# Example configuration file for Services. After making the appropriate
-# changes to this file, place it in the Services data directory (as
-# specified in the "configure" script, default $HOME/services/data)
-# under the name "services.conf".
-#
-# The format of this file is fairly simple: a line beginning with a # is a
-# comment, and any other non-blank line is expected to be a directive and
-# parameters, separated by spaces or tabs. For example:
-#
-# Directive Parameter-1 Parameter-2 ...
-#
-# Directives are case-insensitive. Note that some directives do not take
-# any parameters; these are typically "on-off" directives, for which simply
-# including the directive in this file (or removing it) has an effect on
-# Services' functionality.
-#
-# If a parameter's value is a string which includes spaces, enclose the
-# string in double quotation marks, like the example below. Quotes may be
-# used around any string at all for clarity.
-#
-# "This is a parameter string with spaces in it"
-#
-# If you need to include a double quote inside a quoted string, precede it
-# by a backslash:
-#
-# "This string has \"double quotes\" in it"
-#
-# Time parameters can be specified either as an integer representing a
-# number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
-# specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
-# Combinations (such as "1h30m") are not permitted. Examples (all of which
-# represent the same length of time, one day):
-#
-# "86400", "86400s", "1440m", "24h", "1d"
-#
-# In the documentation for each directive, one of the following will be
-# included to indicate whether an option is required:
-#
-# [REQUIRED]
-# Indicates a directive which must be given. Without it, Services will
-# not start.
-#
-# [RECOMMENDED]
-# Indicates a directive which may be omitted, but omitting it may cause
-# undesirable side effects.
-#
-# [OPTIONAL]
-# Indicates a directive which is optional. If not given, the feature
-# will typically be disabled. If this is not the case, more
-# information will be given in the documentation.
-#
-# [DISCOURAGED]
-# Indicates a directive which may cause undesirable side effects if
-# specified.
-#
-# [DEPRECATED]
-# Indicates a directive which will disappear in a future version of
-# Services, usually because its functionality has been either
-# superseded by that of other directives or incorporated into the main
-# program.
-#
-
-###########################################################################
-#
-# Remote server configuration
-#
-###########################################################################
-
-# RemoteServer <hostname> <port> <password> [REQUIRED]
-# Specifies the remote server hostname and port. The hostname may
-# either be a standard Internet hostname or dotted-quad numeric
-# address; the port number must be an integer between 1 and 65535
-# inclusive. The password is a string which should be enclosed in
-# double quotes if it contains any spaces (or just for clarity).
-#
-# The remote server and port may be overridden at runtime with the
-# -remote command-line option. The password may not be set at runtime.
-
-RemoteServer 127.0.0.1 6667 "servpass"
-
-# LocalAddress <hostname> [port] [OPTIONAL]
-# Specifies the local address to bind to before connecting to the
-# remote server. This may be useful on multihomed hosts. The hostname
-# and port number are specified the same way as with the RemoteServer
-# directive. If this is not specified, Services will let the operating
-# system choose the local address. If only a hostname is specified,
-# Services will bind to that address but let the operating system
-# choose the local port number.
-#
-# If you don't know what this means or don't need to use it, just leave
-# the directive commented out.
-#
-# This directive may be overridden at runtime by the -local
-# command-line option.
-
-#LocalAddress localhost.ptlink.net
-
-###########################################################################
-#
-# Services identification and pseudoclient names
-#
-###########################################################################
-
-# ServerName <name> [REQUIRED]
-# Specifies the IRC server name which Services should use. May be
-# overridden by the -name command-line option.
-
-ServerName "services.PTlink.net"
-
-# ServerDesc <text> [REQUIRED]
-# Specifies the text which should appear as the server's information in
-# /whois and similar queries. May be overridden by the -desc
-# command-line option.
-
-ServerDesc "Services for PTlink IRC network"
-
-# ServiceUser <usermask> [REQUIRED]
-# Specifies the user@host mask which should be used by the Services
-# pseudoclients. May be overridden by the -user and -host command-line
-# options.
-
-ServiceUser "Services@PTlink.net"
-
-########################
-# IRCd related settings
-#######################
-
-# OperControl [RECOMMENDED]
-# Restricts the use of /oper to operserv registered opers
-# if a user not services oper/admin tries to become oper
-# services will remove their +o status
-# NOTE: This may "jam" olines on some situations with ircds
-# not coded to handle this features.
-#
-# Comment it to disable
-
-OperControl
-
-# NickChange [RECOMMENDED]
-# Selects nick protection between nick change to _nick-
-# or the old KILL protection system.
-#
-# Comment it to select KILL protection mode
-NickChange
-
-# GuestPrefix [Optional]
-# If defined will be used for forcec nick changes to
-# GuestPrefixNNN
-GuestPrefix "PTlink"
-
-# ...Name <nick> <string> [REQUIRED except as noted below]
-# Specify the nicknames (first parameter) and "real" names (second
-# parameter) for the Services pseudoclients.
-
-NickServName "NickServ" "Nickname Service"
-ChanServName "ChanServ" "Channel Service"
-MemoServName "MemoServ" "Memo Service"
-OperServName "OperServ" "Operator Service"
-NewsServName "NewsServ" "News Service"
-GlobalName "Global" "Global Noticer"
-
-###########################################################################
-#
-# Services data filenames
-#
-###########################################################################
-
-# NOTE: All filenames are relative to the Services data directory.
-
-# MOTDFile <filename> [REQUIRED]
-# Specifies the name of the Message of the Day file.
-
-MOTDFile services.motd
-
-# ...DB <filename> [REQUIRED]
-# Specifies the filenames for the various Services subsystems' databases.
-
-NickServDB nick.db
-ChanServDB chan.db
-OperServDB oper.db
-AutokillDB akill.db
-SQlineDB sqline.db
-VlineDB vline.db
-BotListDB bots.db
-NewsDB news.db
-NewsServDB newsserv.db
-SXlineDB sxline.db
-VlinkDB vlink.db
-
-# DayStatsFN <filename> [REQUIRED]
-# Specifies the filename for chan/nick stats of the day
-# temporary savings
-
-DayStatsFN stats.today
-
-# DomainLangFN <filename> [RECOMMENDED]
-# Specifies the filename for Smart Language selections definitions
-# (text file) Please read it and edit it if you had new languages
-
-DomainLangFN domain.def
-
-# BalanceHistoryFN <filename> [OPTIONAL]
-# Will save nick/chans stats at end of day
-# Comment it to disable
-
-BalanceHistoryFN history.log
-
-# EncryptMethod number [REQUIRED]
-# Specifies the encryption method to use for chan/nick passwords,
-# 1 - JP2
-# 2 - DES crypt()
-# 3 - MD5
-# NOTE:
-# On existing passwords the encryption method change will just
-# take effect after IDENTIFY for that password.
-# Commented will use plain text passwords
-
-EncryptMethod 3
-
-###########################################################################
-#
-# Logs/Administration/Help Channels
-#
-###########################################################################
-
-# LogChan #Channel [RECOMMENDED]
-# Services Log's will be dumped to #Channel
-# Comment it to disable channel logging
-# WARNING: Please be sure to restrict this Channel access for security sake
-# NOTE: Do not include # on the channel name , to avoid
-# confusion with comment symbol.
-
-LogChan "Services.log"
-
-# HelpChan #Channel [RECOMMENDED]
-# Causes services to give umode +h (helper) on people,
-# entering #Channel with should op access.
-# Comment it to disable services setting +h
-# NOTE: Do not include # on the channel name , to avoid
-# confusion with comment symbol.
-
-HelpChan "Help"
-
-# AdminChan #Channel [RECOMMENDED]
-# Causes services to make user join #Channel on /oper
-# Comment it to disable autojoin on admin channel for opers.
-# NOTE: Do not include # on the channel name , to avoid
-# confusion with comment symbol.
-
-AdminChan "Admin"
-
-# AutoJoinChan #Channel [RECOMMENDED]
-# Causes services to make all users join #Channel on connection.
-# Comment it to disable.
-# NOTE: Do not include # on the channel name , to avoid
-# confusion with comment symbol.
-
-#AutoJoinChan "PTlink"
-
-
-###########################################################################
-#
-# Basic functionality
-#
-###########################################################################
-
-# NSMaxNChange number [REQUIRED]
-# Max number of allowed forced nick changes before a nick kill
-# This is ideal for BOT's which don't identify on nick change
-# (Only required if nick protection is nick change (DEFAULT) )
-
-NSMaxNChange 5
-
-# NoBackupOkay [DISCOURAGED]
-# Allows Services to continue file write operations (i.e. database
-# saving) even if the original file cannot be backed up. Enabling this
-# option may allow Services to continue operation under some conditions
-# when it might otherwise fail, such as a nearly-full disk.
-#
-# *** NOTE ***
-# Enabling this option can cause irrecoverable data loss under some
-# conditions, so make CERTAIN you know what you're doing when you
-# enable it!
-
-#NoBackupOkay
-
-# NoSplitRecovery [OPTIONAL]
-# Disables Services' recognition of users returning from netsplits.
-# Normally (on networks with some sort of timestamp support in the IRC
-# server), Services will check via the timestamp field whether a user
-# is the same as the last user who identified for the nick, and allow
-# the user access to that nick without requiring identification again
-# if the timestamps match. Enabling this option will force all users
-# to re-identify after a netsplit.
-#
-# Normally, it's easier on users to leave this disabled, but if you
-# suspect one of your servers has been hacked to send false timestamps
-# (or you suspect a bug in Services itself) enabling this directive
-# will eliminate the possibility of one user "stealing" another's nick
-# by pretending to have the same timestamp.
-#
-# You may also want to uncomment this directive if your servers' clocks
-# are very far apart; the less synchronized the servers' clocks are,
-# the greater the possibility of someone "taking over" another person's
-# nick when a server with a fast clock splits (though the likelihood of
-# success is relatively small in any case).
-
-#NoSplitRecovery
-
-# ListOpersOnly [DEPRECATED]
-# When enabled, limits use of the ChanServ and NickServ LIST commands
-# to IRC operators.
-#
-# This directive has been superseded by the NSListOpersOnly and
-# CSListOpersOnly directives.
-
-#ListOpersOnly
-
-# StatsOpersOnly [OPTIONAL]
-# When enabled, limits use of the ChanServ and NickServ STATS commands
-# to Services operators.
-
-#StatsOpersOnly
-
-# StrictPasswords [RECOMMENDED]
-# When enabled, causes Services to perform more stringent checks on
-# passwords. If this is disabled, Services will only disallow a
-# password if it is the same as the entity (nickname or channel name)
-# with which it is associated. When enabled, however, Services will
-# also check that the password is at least five characters long, and
-# in the future will probably check other things as well.
-
-StrictPasswords
-
-# BadPassLimit <count> [RECOMMENDED]
-# Sets the number of invalid password tries before Services removes a
-# user from the network. If a user enters <count> invalid passwords
-# for any Services function or combination of functions during a
-# single IRC session (subect to BadPassTimeout, below), Services will
-# issue a /KILL for the user. If not given, Services will ignore
-# failed password attempts (though they will be logged in any case).
-
-BadPassLimit 5
-
-# BadPassTimeout <time> [OPTIONAL]
-# Sets the time after which invalid passwords are forgotten about. If
-# a user does not enter any incorrect passwords in this amount of time,
-# the incorrect password count will reset to zero. If not given, the
-# timeout will be disabled, and the incorrect password count will never
-# be reset until the user disconnects.
-
-BadPassTimeout 1h
-
-# UpdateTimeout <time> [REQUIRED]
-# Sets the delay between automatic database updates. This timer is
-# reset by the OperServ UPDATE command.
-
-UpdateTimeout 1h
-
-# ExpireTimeout <time> [REQUIRED]
-# Sets the delay between checks for expired nicknames and channels.
-# The OperServ UPDATE command will also cause a check for expiration
-# and reset this timer.
-
-ExpireTimeout 1h
-
-# ReadTimeout <time> [REQUIRED]
-# Sets the timeout period for reading from the network.
-
-ReadTimeout 10s
-
-# WarningTimeout <time> [REQUIRED]
-# Sets the interval between sending warning messages for program
-# errors via WALLOPS/GLOBOPS.
-
-WarningTimeout 4h
-
-# TimeoutCheck <time> [REQUIRED]
-# Sets the (maximum) frequency at which the timeout list is checked.
-# This, combined with ReadTimeout above, determine how accurately timed
-# events, such as nick kills, occur; it also determines how much CPU
-# time Services will use doing this. Higher values will cause less
-# accurate timing but less CPU usage.
-#
-# This shouldn't be set any higher than 10 seconds, and 1 second is
-# best if your system is powerful enough (or your network small enough)
-# to handle it. 0 will cause the timeout list to be checked every time
-# through the main loop, which will probably slow down Services too
-# much to be useful on most networks.
-#
-# Note that this value is not an absolute limit on the period between
-# checks of the timeout list; the period may be as great as ReadTimeout
-# (above) during periods of inactivity.
-
-TimeoutCheck 5s
-
-###########################################################################
-#
-# NickServ configuration
-#
-###########################################################################
-
-# NSDef... [OPTIONAL]
-# Sets the default options for newly registered nicks. Note that
-# changing these options will have no effect on nicks which are already
-# registered.
-#
-# If both NSDefKill and NSDefKillQuick are given, the latter takes
-# precedence. KILL IMMED cannot be specified as a default.
-#
-# NOTE: If you do not enable any of these options, a default of
-# Secure, MemoSignon, and MemoReceive will be used, for backward
-# compatibility. If you really want no options enabled by default, use
-# NSDefNone.
-
-#NSDefNone
-#NSDefKill
-#NSDefKillQuick
-#NSDefPrivate
-#NSDefHideEmail
-#NSDefHideQuit
-NSDefMemoSignon
-NSDefMemoReceive
-
-# NSRegisterAdvice [RECOMMENDED]
-# if defined a message with the nick register syntax is sent
-# to any unregistered nick conneting to the network
-NSRegisterAdvice
-
-# NSNeedEmail [RECOMMENDED]
-# if defined then an email must be specified on nick registration
-# Be sure to copy lang/*.auth and lang/*.setemail to
-# the languages dir inside your data directory.
-# Then EDIT the files without changing the fields ("%s") order.
-
-#NSNeedEmail
-
-# NSNeedAuth [RECOMMENDED]
-# if defined nick registration will only be complete after email
-# validation with the AUTH command.
-#NSNeedAuth
-
-# NSRegDelay <time> [RECOMMENDED]
-# Sets the minimum length of time between consecutive uses of the
-# REGISTER command. If not given, this restriction is disabled (note
-# that this allows "registration flooding").
-
-NSRegDelay 1m
-
-
-# NSExpire <time> [RECOMMENDED]
-# Sets the length of time before a nick registration expires.
-
-NSExpire 30d
-
-# NSRegExpire <time> [RECOMMENDED]
-# Sets the length of time before a nick registration expires,
-# if the nick was never identified after registration
-NSRegExpire 5d
-
-# NSDropDelay <time> [RECOMMENDED]
-# Sets the length of time before a nick is dropped
-# (after the DROP command for that nick as been issued,
-# identifying the nick during this time will cancel the "drop")
-#
-
-NSDropDelay 5d
-
-# NSAJoinMax <count> [REQUIRED] ***
-# Sets the maximum number of entries allowed on a nickname Auto Join list.
-# Should match your ircd's maximum channels per user
-NSAJoinMax 10
-
-# NSEnforcerUser <user>[@<host>] [REQUIRED]
-# Sets the username (and possibly hostname) used for the fake user
-# created when NickServ collides a user. Should be in user@host
-# format. If the host is not given, the one from ServicesUser is
-# used.
-
-NSEnforcerUser enforcer
-
-# NSReleaseTimeout <time> [REQUIRED]
-# Sets the delay before a NickServ-collided nick is released.
-
-NSReleaseTimeout 1m
-
-# NSAllowKillImmed [OPTIONAL]
-# When enabled, allows the use of the IMMED option with the NickServ
-# SET KILL command.
-
-#NSAllowKillImmed
-
-# NSDisableLinkCommand [OPTIONAL]
-# When enabled, makes the NickServ LINK command unavailable. Note that
-# any links that have already been created will continue to function;
-# this only prevents new links from being made.
-
-#NSDisableLinkCommand
-
-# NSListOpersOnly [OPTIONAL]
-# When enabled, limits use of the NickServ LIST command to IRC
-# operators.
-
-NSListOpersOnly
-
-# NSListMax <count> [REQUIRED]
-# Specifies the maximum number of nicks to be returned for a NickServ
-# LIST command.
-
-NSListMax 50
-
-# NSMaxNotes <coun> [REQUIRED]
-# Specifies the maximum number of notes a nick can keep.
-#
-NSMaxNotes 10
-
-# NSSecureAdmins [RECOMMENDED]
-# When enabled, prevents the use of the DROP, GETPASS, SENDPASS, and
-# SET PASSWORD commands by Services admins on other Services admins.
-# Note: Thisl will only protect Services root nicks if added to
-# services admin list.
-
-NSSecureAdmins
-
-###########################################################################
-#
-# NewsServ configuration
-#
-###########################################################################
-
-# NWRecentDelay <time> [RECOMMENDED]
-# Sets the minimum length of time between consecutive uses of the
-# RECENT command. If not given, this restriction is disabled (note
-# that this allows "newsserv flooding").
-
-NWRecentDelay 1m
-
-# ExportRefresh <time> [RECOMMENDED]
-# Sets the time interval between newsserv data export
-# Comment it to disable newsserv data export
-
-ExportRefresh 1h
-
-# ExportFN <filename> [REQUIRED] (if ExportRefresh is enabled)
-# Sets the newsserv data export file name
-
-ExportFN newsserv.txt
-
-###########################################################################
-#
-# ChanServ configuration
-#
-###########################################################################
-
-# CSMaxReg <count> [RECOMMENDED]
-# Limits the number of channels which may be registered to a single
-# nickname.
-
-CSMaxReg 20
-
-# CSExpire <time> [RECOMMENDED]
-# Sets the number of days before a channel expires.
-
-CSExpire 30d
-
-#CSRegExpire <time> [RECOMMENDED]
-# Sets the length of time before a channel registration expires,
-# if the channel was never used after registration.
-
-CSRegExpire 5d
-
-# CSDropDelay <time> [RECOMMENDED]
-# Sets the length of time before a channel is dropped
-# (after the DROP command for that channel as been issued
-# identifying the channel during this time will cancel the "drop")
-
-CSDropDelay 5d
-
-# CSAccessMax <count> [REQUIRED]
-# Sets the maximum number of entries on a channel's access list.
-# Channel access lists may contain only registered nicknames;
-# therefore, checking each entry on the list requires only a single
-# scaler comparison instead of a wildcard match, and this limit may be
-# safely set much higher than (for exmple) the nickname access list
-# size limit without impacting performance significantly.
-
-CSAccessMax 512
-
-# CSAutokickMax <count> [REQUIRED]
-# Sets the maximum number of entries on a channel's autokick list.
-
-CSAutokickMax 32
-
-# CSAutokickReason <text> [REQUIRED]
-# Sets the default reason for an autokick if none is given.
-
-CSAutokickReason "You are not welcome here."
-
-# CSInhabit <time> [REQUIRED]
-# Sets the length of time ChanServ stays in a channel after kicking a
-# user from a channel s/he is not permitted to be in. This only occurs
-# when the user is the only one in the channel.
-
-CSInhabit 15s
-
-# CSRestrictDelay <time> [DISCOURAGED]
-# When enabled, causes ChanServ to ignore any RESTRICTED or NOJOIN
-# channel setting for the given time after Services starts up. This
-# gives users a time to identify to NickServ before being kicked out of
-# restricted channels they would normally be allowed to join. This
-# setting will also cause channel mode +o's from servers to be passed
-# through for this initial period.
-#
-# This option is presently discouraged because it is not properly
-# implemented; any users in channels when Services starts up get a
-# "free ride", though they can of course be deopped/kicked manually.
-
-#CSRestrictDelay 30s
-
-# CSListOpersOnly [OPTIONAL]
-# When enabled, limits use of the ChanServ LIST command to IRC
-# operators.
-
-CSListOpersOnly
-
-# CSListMax <count> [REQUIRED]
-# Specifies the maximum number of channels to be returned for a
-# ChanServ LIST command.
-
-CSListMax 50
-
-# CSLostAKick <time> [RECOMMENDED]
-# Specifies the max interval of time an akick will be kept,
-# without beeing trigered
-# Setting it 0 will make akicks permanent.
-
-CSLostAKick 30d
-
-# CSAutoAjoin [RECOMMENDED]
-# If enabled, during channel registration founder will get
-# the channel added to it's ajoin list.
-
-CSAutoAjoin
-
-# CSRestrictReg [OPTIONAL]
-# If enabled, channel registration is restricted to services operators.
-
-#CSRestrictReg
-
-
-###########################################################################
-#
-# MemoServ configuration
-#
-###########################################################################
-
-# MSMaxMemos <count> [RECOMMENDED]
-# Sets the maximum number of memos a user is allowed to keep by
-# default. Normal users may set the limit anywhere between zero and
-# this value; Services admins can change it to any value or disable it.
-# If not given, the limit is disabled by default, and normal users can
-# set any limit they want.
-
-MSMaxMemos 20
-
-# MSSendDelay <time> [RECOMMENDED]
-# Sets the delay between consecutive uses of the MemoServ SEND command.
-# This can help prevent spam as well as denial-of-service attacks from
-# sending large numbers of memos and filling up disk space (and
-# memory). A 3-second wait means a maximum average of 150 bytes of
-# memo per second per user under the current IRC protocol.
-
-MSSendDelay 10s
-
-# MSNotifyAll [OPTIONAL]
-# Should we notify all appropriate users of a new memo? This applies
-# in cases where a memo is sent to a nick which either is linked to
-# another nick or has another nick linked to it. Enabling this option
-# will cause MemoServ to check all users who are currently online to
-# see whether any have nicks which are linked to the target of the
-# memo, and if so, notify all of them. This can take a good deal of
-# CPU time on larger networks, so you may want to disable it.
-
-MSNotifyAll
-
-# MSExpireWarn <time> [RECOMMENDED]
-# Specifies the age of a memo to be notified as "expiring soon"
-
-MSExpireWarn 30d
-
-# MSExpireTime <time> [RECOMMENDED]
-# Specifies the time the memos will be kept after beeing sent.
-# If you comment it, memos will be kept until user deletes them.
-
-MSExpireTime 45d
-
-###########################################################################
-#
-# OperServ configuration
-#
-###########################################################################
-
-# ServicesRoot <nick>,nick2 [REQUIRED]
-# Specifies the Services "super-user". The super-user, or "root" as in
-# Unix terminology, is the only user who can add or delete Services
-# admins.
-#
-# This is commented out by default; make sure you insert the correct
-# nick before uncommenting it.
-
-#ServicesRoot Root
-
-# LogMaxUsers [OPTIONAL]
-# Causes Services to write a message to the log every time a new user
-# maximum is set.
-
-LogMaxUsers
-
-# AutokillExpiry <time> [REQUIRED]
-# Sets the default expiry time for autokills.
-
-AutoKillExpiry 15d
-
-# OSNoAutoRecon [OPTIONAL]
-# On netjoins +r will not give services oper privilege
-# without reidentifying.
-
-# OSNoAutoRecon
-
-# WallOper [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS when a user becomes an IRC
-# operator. Note that this can cause WALLOPS floods when Services
-# first connects to the network.
-
-#WallOper
-
-# WallBadOS [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS if a non-IRC-operator tries
-# to use OperServ.
-
-WallBadOS
-
-# WallOS... [OPTIONAL]
-# Cause Services to send a WALLOPS/GLOBOPS on use of each of the
-# OperServ commands listed.
-
-WallOSMode
-WallOSClearmodes
-WallOSKick
-WallOSAkill
-
-# WallAkillExpire [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS whenever an autokill
-# expires.
-
-WallAkillExpire
-
-# WallGetpass [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS on use of the NickServ or
-# ChanServ GETPASS command.
-
-#WallGetpass
-
-# WallSetpass [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS whenever a Services admin
-# sets a password for a nickname or channel s/he does not normally have
-# privileges to set.
-
-#WallSetpass
-
-# DefSessionLimit [RECOMMENDED]
-# Limits the total number of connections allowed for the same host
-# If hostname matches a botlist entry this value will be ignored
-# and the maximum number from the botlist entry will be used instead
-#
-# NOTE: Comenting this will disable session limiting
-# and your network will be vulnerable to clone flooding.
-
-DefSessionLimit 3
-
-########################################################
-# Mail Settings (for SENDPASS)
-########################################################
-
-# SendFrom <e-mail> [REQUIRED]
-#
-# This is the e-mail address from which all the e-mails are to be sent. It should
-# really exist.
-
-SendFrom services@localhost.net
-
-# SendFrom <e-mail> [REQUIRED]
-#
-# This is the real name from which all the e-mails are to be sent. It should
-# really exist.
-
-SendFromName "Localhost Services"
-
-# MailSignature <e-mail> [REQUIRED]
-#
-# This is the signature text message that will be attached to the
-# SENDPASS mail.
-
-MailSignature "PTlink Services - Network Admin Services"
-
-# MailDelay <time> [RECOMMENDED]
-#
-# This controls the minimum amount of time an user must wait before sending
-# another mail after it has sent one. It also controls the minimum time
-# an user must wait before it can receive another mail.
-#
-# This feature prevents users from being mail bombed using Services and
-# should definitely be used.
-
-MailDelay 5m
-
-
-######## Miscelaneous Settings
-
-# TimeAdjust <timedif>
-# Add timedif to every time field before it is displayed,
-# this maybe usefull if you cannot setup the clock on the
-# system services are running
-
-# TimeAdjust 1h
-
-# TimeZone "<zone> offset"
-# Sets wich time zone should services uses.
-# Only needed if you wish to run services in a diferent timezone
-# than then local machine.
-
-# TimeZone "GMT 0"
-
-# DefLanguage <number>
-# Default language for newly registered nicks (and nicks imported from
-# old databases);
-# LANG_EN_US 1 /* United States English */
-# LANG_PT 2 /* Portugese */
-# LANG_TR 3 /* Turkish */
-# LANG_DE 4 /* German */
-# LANG_IT 5 /* Italian */
-# LANG_NL 6 /* Dutch */
-# LANG_PT_BR 7 /* Brazil Portuguese */
-DefLanguage 1
-
-
-# MySQL configuration
-
-#MySQLDB "ptlink_services"
-#MySQLHost "localhost"
-#MySQLUser "some_user"
-#MySQLPass "tryit"
-
diff --git a/irc/ptlink-services/pkg-install b/irc/ptlink-services/pkg-install
new file mode 100644
index 000000000000..d837e4e6e306
--- /dev/null
+++ b/irc/ptlink-services/pkg-install
@@ -0,0 +1,28 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+case $2 in
+POST-INSTALL)
+ USER=ircd
+ GROUP=ircd
+ UID=72
+ GID=72
+
+ if pw groupshow "${GROUP}" > /dev/null 2>&1; then
+ echo "===> Using existing group ${GROUP}"
+ else
+ echo "===> Adding group ${GROUP}"
+ pw groupadd ${GROUP} -g ${GID} || exit 1
+ fi
+
+ if pw usershow "${USER}" > /dev/null 2>&1; then
+ echo "===> Using existing user ${USER}"
+ else
+ echo "===> Adding user ${USER}"
+ pw adduser ${USER} -u ${UID} -g ${GROUP} -h - -d "/nonexistent" \
+ -s "/nonexistent" -c "IRC daemon" || exit 1
+ fi
+ ;;
+esac
diff --git a/irc/ptlink-services/pkg-message b/irc/ptlink-services/pkg-message
deleted file mode 100644
index 532bde195dcd..000000000000
--- a/irc/ptlink-services/pkg-message
+++ /dev/null
@@ -1,11 +0,0 @@
-======================================================================
-
-PTlink IRC services is now installed.
-
-Please copy the sample files %%SYSCONFDIR%%/*.conf.sample,*.def.sample
-to %%SYSCONFDIR%%/*.conf,*.def.
-
-Edit the configuration files %%SYSCONFDIR%%/*.conf,*.def to suit your
-needs.
-
-======================================================================
diff --git a/irc/ptlink-services/pkg-plist b/irc/ptlink-services/pkg-plist
index ec92de248e94..92fbe27fdeb7 100644
--- a/irc/ptlink-services/pkg-plist
+++ b/irc/ptlink-services/pkg-plist
@@ -1,17 +1,125 @@
-bin/listchans
-bin/listnicks
-bin/services
-data/languages/de
-data/languages/en_us
-data/languages/it
-data/languages/nl
-data/languages/pt
-data/languages/pt_br
-data/languages/tr
-etc/ptlink/create_tables.sql
-etc/ptlink/domain.def.sample
-etc/ptlink/services.conf.sample
-@unexec rmdir %D/etc/ptlink 2> /dev/null || true
-@dirrm data/logs
-@dirrm data/languages
-@dirrm data
+bin/ircsvs
+bin/modules/chanserv.so
+bin/modules/cs_akick.so
+bin/modules/cs_clear.so
+bin/modules/cs_drop.so
+bin/modules/cs_help.so
+bin/modules/cs_info.so
+bin/modules/cs_invite.so
+bin/modules/cs_kick.so
+bin/modules/cs_lastreg.so
+bin/modules/cs_list.so
+bin/modules/cs_opdeop.so
+bin/modules/cs_register.so
+bin/modules/cs_role.so
+bin/modules/cs_set.so
+bin/modules/cs_show.so
+bin/modules/cs_unban.so
+bin/modules/cs_voicedevoice.so
+bin/modules/memoserv.so
+bin/modules/ms_cancel.so
+bin/modules/ms_del.so
+bin/modules/ms_help.so
+bin/modules/ms_list.so
+bin/modules/ms_read.so
+bin/modules/ms_send.so
+bin/modules/mysql.so
+bin/modules/nickserv.so
+bin/modules/ns_auth.so
+bin/modules/ns_blist.so
+bin/modules/ns_drop.so
+bin/modules/ns_getpass.so
+bin/modules/ns_group.so
+bin/modules/ns_help.so
+bin/modules/ns_identify.so
+bin/modules/ns_info.so
+bin/modules/ns_list.so
+bin/modules/ns_login.so
+bin/modules/ns_photo.so
+bin/modules/ns_register.so
+bin/modules/ns_set.so
+bin/modules/operserv.so
+bin/modules/os_global.so
+bin/modules/os_help.so
+bin/modules/os_hostrule.so
+bin/modules/os_kick.so
+bin/modules/os_mode.so
+bin/modules/os_module.so
+bin/modules/os_quote.so
+bin/modules/os_raw.so
+bin/modules/os_sendpass.so
+bin/modules/os_shutdown.so
+bin/modules/os_sline.so
+bin/modules/os_stats.so
+bin/modules/os_sysstats.so
+bin/modules/template.so
+bin/modules/userlog.so
+etc/ptlink-services/cs_akick.dconf
+etc/ptlink-services/cs_lastreg.dconf
+etc/ptlink-services/cs_role.dconf
+etc/ptlink-services/groups.dconf
+etc/ptlink-services/chanserv.dconf
+etc/ptlink-services/chanserv.modules
+etc/ptlink-services/ircsvs.dconf
+etc/ptlink-services/ircsvs.modules
+etc/ptlink-services/lang.dconf
+etc/ptlink-services/mails/setemail.de
+etc/ptlink-services/mails/setemail.en_us
+etc/ptlink-services/mails/setemail.nl
+etc/ptlink-services/mails/setemail.pt
+etc/ptlink-services/mails/setemail.pt_br
+etc/ptlink-services/mails/welcome.de
+etc/ptlink-services/mails/welcome.en_us
+etc/ptlink-services/mails/welcome.nl
+etc/ptlink-services/mails/welcome.pt
+etc/ptlink-services/mails/welcome.pt_br
+etc/ptlink-services/memoserv.dconf
+etc/ptlink-services/memoserv.modules
+etc/ptlink-services/mysql.dconf
+etc/ptlink-services/nickserv.dconf
+etc/ptlink-services/nickserv.modules
+etc/ptlink-services/ns_group.dconf
+etc/ptlink-services/ns_photo.dconf
+etc/ptlink-services/operserv.dconf
+etc/ptlink-services/operserv.modules
+etc/ptlink-services/os_hostrule.dconf
+utils/expire_email.sh
+utils/news_email.sh
+utils/sql/clear_db.sql
+utils/sql/expire_emails.sql
+utils/sql/news_emails.sql
+utils/svsquery.sh
+var/modules/sql/chanserv.2.sql
+var/modules/sql/chanserv.3.sql
+var/modules/sql/chanserv.sql
+var/modules/sql/cs_akick.2.sql
+var/modules/sql/cs_akick.sql
+var/modules/sql/cs_role.2.sql
+var/modules/sql/cs_role.3.sql
+var/modules/sql/cs_role.sql
+var/modules/sql/memoserv.2.sql
+var/modules/sql/memoserv.3.sql
+var/modules/sql/memoserv.sql
+var/modules/sql/mysql.sql
+var/modules/sql/nickserv.2.sql
+var/modules/sql/nickserv.3.sql
+var/modules/sql/nickserv.4.sql
+var/modules/sql/nickserv.5.sql
+var/modules/sql/nickserv.sql
+var/modules/sql/ns_blist.sql
+var/modules/sql/ns_group.2.sql
+var/modules/sql/ns_group.sql
+var/modules/sql/ns_photo.2.sql
+var/modules/sql/ns_photo.sql
+var/modules/sql/os_hostrule.sql
+var/modules/sql/os_quote.sql
+var/modules/sql/os_sline.2.sql
+var/modules/sql/os_sline.sql
+var/modules/sql/os_sysstats.sql
+@dirrm var/modules/sql
+@dirrm var/modules
+@dirrm utils/sql
+@dirrm utils
+@dirrm etc/ptlink-services/mails
+@dirrm bin/modules
+@unexec rmdir %D/etc/ptlink-services 2> /dev/null || true