From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Sep 11 22:30:23 2005 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2963B16A41F for ; Sun, 11 Sep 2005 22:30:23 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id BECC643D45 for ; Sun, 11 Sep 2005 22:30:22 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j8BMUMTK030649 for ; Sun, 11 Sep 2005 22:30:22 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j8BMUMxj030648; Sun, 11 Sep 2005 22:30:22 GMT (envelope-from gnats) Date: Sun, 11 Sep 2005 22:30:22 GMT Message-Id: <200509112230.j8BMUMxj030648@freefall.freebsd.org> To: freebsd-ports-bugs@FreeBSD.org From: User Dnns Cc: Subject: Re: ports/85974 : Update port: irc/ptlink-services to 3.4.1. Now it also will create user/group ircd without a special uid/gid. Also tested on 5.4-RELEASE X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: User Dnns List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2005 22:30:23 -0000 The following reply was made to PR ports/85974; it has been noted by GNATS. From: User Dnns To: bug-followup@FreeBSD.org Cc: Subject: Re: ports/85974 : Update port: irc/ptlink-services to 3.4.1. Now it also will create user/group ircd without a special uid/gid. Also tested on 5.4-RELEASE Date: Mon, 12 Sep 2005 00:27:40 +0200 (CEST) diff -Nru ptlink-services.orig/Makefile ptlink-services/Makefile --- ptlink-services.orig/Makefile Sun Sep 11 14:29:35 2005 +++ ptlink-services/Makefile Sun Sep 11 14:30:01 2005 @@ -2,19 +2,17 @@ # Date created: 22 October 2004 # Whom: Dennis Cabooter # -# $FreeBSD: ports/irc/ptlink-services/Makefile,v 1.4 2005/05/24 20:22:33 pav Exp $ +# $FreeBSD$ # 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 +DISTNAME= PTlinkIRC.${PORTNAME}${PORTVERSION} -PATCH_DIST_STRIP= -p1 +PATCH_DIST_STRIP= -p1 MAINTAINER= dennis@rootxs.org COMMENT= PTlink IRC services @@ -22,13 +20,26 @@ GNU_CONFIGURE= yes USE_GMAKE= yes USE_PERL5= yes +USE_MYSQL= yes + +USER= ircd +GROUP= ircd + +PKGINSTALL= ${WRKDIR}/pkg-install +SYSCONFDIR= ${PREFIX}/etc/ptlink-services +RCDIR= ${PREFIX}/etc/rc.d -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} + @${SED} -e 's,%%USER%%,${USER},g' -e 's,%%GROUP%%,${GROUP},g' \ + ${PKGDIR}/pkg-install > ${PKGINSTALL} || exit 1 + @${SED} -e 's,%%USER%%,${USER},g' ${FILESDIR}/ptlink-services.sh > \ + ${WRKDIR}/ptlink-services.sh || exit 1 + @${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL || exit 1 + @${CHOWN} -R ${USER}:${GROUP} ${SYSCONFDIR} || exit 1 + @${INSTALL_SCRIPT} ${WRKDIR}/ptlink-services.sh ${RCDIR} || exit 1 + @${SED} -e 's,%%SYSCONFDIR%%,${SYSCONFDIR},g' \ + -e 's,%%RCDIR%%,${RCDIR},g' < ${PKGMESSAGE} .include diff -Nru ptlink-services.orig/distinfo ptlink-services/distinfo --- ptlink-services.orig/distinfo Sun Sep 11 14:29:35 2005 +++ ptlink-services/distinfo Sun Sep 11 14:30:01 2005 @@ -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.4.1.tar.gz) = 411223 diff -Nru ptlink-services.orig/files/create_tables.sql ptlink-services/files/create_tables.sql --- ptlink-services.orig/files/create_tables.sql Sun Sep 11 14:29:35 2005 +++ ptlink-services/files/create_tables.sql Thu Jan 1 01:00:00 1970 @@ -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 -Nru ptlink-services.orig/files/domain.def.sample ptlink-services/files/domain.def.sample --- ptlink-services.orig/files/domain.def.sample Sun Sep 11 14:29:35 2005 +++ ptlink-services/files/domain.def.sample Thu Jan 1 01:00:00 1970 @@ -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 -Nru ptlink-services.orig/files/patch-configure ptlink-services/files/patch-configure --- ptlink-services.orig/files/patch-configure Thu Jan 1 01:00:00 1970 +++ ptlink-services/files/patch-configure Sun Sep 11 14:30:01 2005 @@ -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 -Nru ptlink-services.orig/files/patch-src::Makefile.in ptlink-services/files/patch-src::Makefile.in --- ptlink-services.orig/files/patch-src::Makefile.in Sun Sep 11 14:29:35 2005 +++ ptlink-services/files/patch-src::Makefile.in Thu Jan 1 01:00:00 1970 @@ -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 -Nru ptlink-services.orig/files/ptlink-services.sh ptlink-services/files/ptlink-services.sh --- ptlink-services.orig/files/ptlink-services.sh Thu Jan 1 01:00:00 1970 +++ ptlink-services/files/ptlink-services.sh Sun Sep 11 14:30:01 2005 @@ -0,0 +1,26 @@ +#!/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 "%%USER%%" + +services_enable=${services_enable-"NO"} +services_user=${services_user-"%%USER%%"} + +. /etc/rc.subr + +name="services" +rcvar=`set_rcvar` +pidfile="/usr/local/etc/ptlink-services/services.pid" +command="/usr/local/bin/ircsvs" + +load_rc_config "$name" +run_rc_command "$1" diff -Nru ptlink-services.orig/files/services.conf.sample ptlink-services/files/services.conf.sample --- ptlink-services.orig/files/services.conf.sample Sun Sep 11 14:29:35 2005 +++ ptlink-services/files/services.conf.sample Thu Jan 1 01:00:00 1970 @@ -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 [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 [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 [REQUIRED] -# Specifies the IRC server name which Services should use. May be -# overridden by the -name command-line option. - -ServerName "services.PTlink.net" - -# ServerDesc [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 [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 [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 [REQUIRED] -# Specifies the name of the Message of the Day file. - -MOTDFile services.motd - -# ...DB [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 [REQUIRED] -# Specifies the filename for chan/nick stats of the day -# temporary savings - -DayStatsFN stats.today - -# DomainLangFN [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 [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 [RECOMMENDED] -# Sets the number of invalid password tries before Services removes a -# user from the network. If a user enters 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