mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-27 00:57:50 +00:00
- Update to 2.0.8
- Made the knobs actually work - Added regex modules as new knobs - Added ldapoper module knob PR: ports/170644 Submitted by: Mark Felder <feld@feld.me> (maintainer)
This commit is contained in:
parent
8ad762c094
commit
71cbdede15
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=302688
@ -6,8 +6,7 @@
|
||||
#
|
||||
|
||||
PORTNAME= inspircd
|
||||
PORTVERSION= 2.0.5
|
||||
PORTREVISION= 2
|
||||
PORTVERSION= 2.0.8
|
||||
CATEGORIES= irc
|
||||
MASTER_SITES= http://cloud.github.com/downloads/inspircd/inspircd/
|
||||
DISTNAME= InspIRCd-${PORTVERSION}
|
||||
@ -36,34 +35,44 @@ USE_PERL5_BUILD=yes
|
||||
|
||||
HAS_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --with-cc=${CXX} --config-dir=${ETCDIR} \
|
||||
--module-dir=${PREFIX}/lib/${PORTNAME}/modules \
|
||||
--library-dir=${PREFIX}/lib/${PORTNAME} \
|
||||
--module-dir=${PREFIX}/lib/${PORTNAME}/modules \
|
||||
--prefix=${PREFIX}/lib/${PORTNAME} --binary-dir=${PREFIX}/bin \
|
||||
--enable-kqueue --enable-ipv6 --disable-interactive \
|
||||
--enable-kqueue --disable-interactive \
|
||||
--uid=${INSPIRCD_UID}
|
||||
|
||||
PORTDOCS= docs/* extras/*
|
||||
|
||||
OPTIONS_DEFINE= MYSQL PGSQL SQLITE LDAP GNUTLS OPENSSL
|
||||
OPTIONS_DEFINE= MYSQL PGSQL SQLITE LDAPAUTH LDAPOPER GNUTLS OPENSSL PCRE POSIX
|
||||
OPTIONS_DEFAULT= POSIX
|
||||
|
||||
GNUTLS_DESC= Build m_ssl_gnutls module
|
||||
LDAP_DESC= Build m_ldapauth module
|
||||
LDAPAUTH_DESC= Build m_ldapauth module
|
||||
LDAPOPER_DESC= Build m_ldapoper module
|
||||
MYSQL_DESC= Build m_mysql module
|
||||
OPENSSL_DESC= Build m_ssl_openssl module
|
||||
PGSQL_DESC= Build m_pgsql module
|
||||
SQLITE_DESC= Build m_sqlite3 module
|
||||
PCRE_DESC= Build m_regex_pcre module
|
||||
POSIX_DESC= Build m_regex_posix module
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
post-extract:
|
||||
@(cd ${WRKDIR} && ${MV} ${PORTNAME} ${DISTNAME})
|
||||
|
||||
.if ${PORT_OPTIONS:MLDAP}
|
||||
.if ${PORT_OPTIONS:MLDAPAUTH}
|
||||
USE_OPENLDAP= yes
|
||||
EXTRAS:=${EXTRAS},m_ldapauth.cpp
|
||||
PLIST_SUB+= LDAP=""
|
||||
PLIST_SUB+= LDAPAUTH=""
|
||||
.else
|
||||
PLIST_SUB+= LDAP="@comment "
|
||||
PLIST_SUB+= LDAPAUTH="@comment "
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MLDAPOPER}
|
||||
USE_OPENLDAP= yes
|
||||
EXTRAS:=${EXTRAS},m_ldapoper.cpp
|
||||
PLIST_SUB+= LDAPOPER=""
|
||||
.else
|
||||
PLIST_SUB+= LDAPOPER="@comment "
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MMYSQL}
|
||||
@ -94,6 +103,7 @@ PLIST_SUB+= SQLITE="@comment "
|
||||
LIB_DEPENDS+= gnutls.47:${PORTSDIR}/security/gnutls \
|
||||
gcrypt.18:${PORTSDIR}/security/libgcrypt
|
||||
CONFIGURE_ARGS+= --enable-gnutls
|
||||
EXTRAS:=${EXTRAS},m_ssl_gnutls.cpp
|
||||
PLIST_SUB+= GNUTLS=""
|
||||
.else
|
||||
PLIST_SUB+= GNUTLS="@comment "
|
||||
@ -102,22 +112,41 @@ PLIST_SUB+= GNUTLS="@comment "
|
||||
.if ${PORT_OPTIONS:MOPENSSL}
|
||||
USE_OPENSSL=yes
|
||||
CONFIGURE_ARGS+= --enable-openssl
|
||||
EXTRAS:=${EXTRAS},m_ssl_openssl.cpp
|
||||
PLIST_SUB+= OPENSSL=""
|
||||
.else
|
||||
PLIST_SUB+= OPENSSL="@comment "
|
||||
.endif
|
||||
|
||||
CONFIGURE_ARGS+= --enable-extras=${EXTRAS}
|
||||
.if ${PORT_OPTIONS:MPCRE}
|
||||
LIB_DEPENDS+= pcre:${PORTSDIR}/devel/pcre
|
||||
EXTRAS:=${EXTRAS},m_regex_pcre.cpp
|
||||
PLIST_SUB+= PCRE=""
|
||||
.else
|
||||
PLIST_SUB+= PCRE="@comment "
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MPOSIX}
|
||||
EXTRAS:=${EXTRAS},m_regex_posix.cpp
|
||||
PLIST_SUB+= POSIX=""
|
||||
.else
|
||||
PLIST_SUB+= POSIX="@comment "
|
||||
.endif
|
||||
|
||||
pre-configure:
|
||||
@if [ ${EXTRAS} ]; then \
|
||||
cd ${WRKSRC} && ./${CONFIGURE_SCRIPT} --enable-extras=${EXTRAS} ; \
|
||||
fi
|
||||
|
||||
post-install:
|
||||
@${STRIP_CMD} ${PREFIX}/lib/${PORTNAME}/modules/*.so
|
||||
@${STRIP_CMD} ${PREFIX}/bin/${PORTNAME}
|
||||
.for FILE in inspircd.censor inspircd.conf inspircd.filter inspircd.helpop-full \
|
||||
inspircd.helpop inspircd.motd inspircd.quotes inspircd.rules links.conf modules.conf opers.conf
|
||||
@if ${TEST} -f ${ETCDIR}/${FILE} && \
|
||||
${TEST} ! -f ${ETCDIR}/${FILE}.example ; then \
|
||||
${CP} -p ${ETCDIR}/${FILE}.example \
|
||||
${ETCDIR}/${FILE}; \
|
||||
@if ${TEST} -f ${ETCDIR}/${FILE} && \
|
||||
${TEST} ! -f ${ETCDIR}/examples/${FILE}.example ; then \
|
||||
${CP} -p ${ETCDIR}/examples/${FILE}.example \
|
||||
${ETCDIR}/${FILE}; \
|
||||
fi
|
||||
.endfor
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
SHA256 (InspIRCd-2.0.5.tar.bz2) = 425bf79ae1348b398ce6d2348f6cc8baeebe8125f62337e98c136942223f4fc6
|
||||
SIZE (InspIRCd-2.0.5.tar.bz2) = 575852
|
||||
SHA256 (InspIRCd-2.0.8.tar.bz2) = 5fd57df1a2a10f480aefc61272f22fdd8addb5ab3a544582235377b8fa8b9296
|
||||
SIZE (InspIRCd-2.0.8.tar.bz2) = 591761
|
||||
|
22
irc/inspircd/files/patch-make_template_main.mk
Normal file
22
irc/inspircd/files/patch-make_template_main.mk
Normal file
@ -0,0 +1,22 @@
|
||||
--- make/template/main.mk.orig 2012-07-13 10:38:01.000000000 -0500
|
||||
+++ make/template/main.mk 2012-08-14 23:58:06.816315279 -0500
|
||||
@@ -58,6 +58,10 @@
|
||||
@IFEQ $(SYSTEM) linux
|
||||
LDLIBS += -ldl -lrt
|
||||
@ENDIF
|
||||
+@IFEQ $(SYSTEM) freebsd
|
||||
+ CXXFLAGS += -I/usr/local/include
|
||||
+ LDFLAGS += -L/usr/local/lib
|
||||
+@ENDIF
|
||||
@IFEQ $(SYSTEM) gnukfreebsd
|
||||
LDLIBS += -ldl -lrt
|
||||
@ENDIF
|
||||
@@ -124,7 +128,7 @@
|
||||
CXXFLAGS += -DPURE_STATIC
|
||||
@ENDIF
|
||||
|
||||
-@DO_EXPORT RUNCC RUNLD CXXFLAGS LDLIBS PICLDFLAGS VERBOSE SOCKETENGINE CORELDFLAGS
|
||||
+@DO_EXPORT RUNCC RUNLD CXXFLAGS LDLIBS PICLDFLAGS VERBOSE SOCKETENGINE CORELDFLAGS LDFLAGS
|
||||
@DO_EXPORT SOURCEPATH BUILDPATH PURE_STATIC SPLIT_CC
|
||||
|
||||
# Default target
|
@ -1,135 +0,0 @@
|
||||
--- src/dns.cpp.orig 2012-05-15 21:45:31.840274636 -0500
|
||||
+++ src/dns.cpp 2012-05-15 21:45:58.653278686 -0500
|
||||
@@ -38,6 +49,8 @@
|
||||
#include "configreader.h"
|
||||
#include "socket.h"
|
||||
|
||||
+#define DN_COMP_BITMASK 0xC000 /* highest 6 bits in a DN label header */
|
||||
+
|
||||
/** Masks to mask off the responses we get from the DNSRequest methods
|
||||
*/
|
||||
enum QueryInfo
|
||||
@@ -98,7 +111,7 @@
|
||||
|
||||
DNSRequest(DNS* dns, int id, const std::string &original);
|
||||
~DNSRequest();
|
||||
- DNSInfo ResultIsReady(DNSHeader &h, int length);
|
||||
+ DNSInfo ResultIsReady(DNSHeader &h, unsigned length);
|
||||
int SendRequests(const DNSHeader *header, const int length, QueryType qt);
|
||||
};
|
||||
|
||||
@@ -161,7 +174,10 @@
|
||||
/* Allocate the processing buffer */
|
||||
DNSRequest::DNSRequest(DNS* dns, int rid, const std::string &original) : dnsobj(dns)
|
||||
{
|
||||
- res = new unsigned char[512];
|
||||
+ /* hardening against overflow here: make our work buffer twice the theoretical
|
||||
+ * maximum size so that hostile input doesn't screw us over.
|
||||
+ */
|
||||
+ res = new unsigned char[sizeof(DNSHeader) * 2];
|
||||
*res = 0;
|
||||
orig = original;
|
||||
RequestTimeout* RT = new RequestTimeout(ServerInstance->Config->dns_timeout ? ServerInstance->Config->dns_timeout : 5, this, rid);
|
||||
@@ -688,11 +704,11 @@
|
||||
}
|
||||
|
||||
/** A result is ready, process it */
|
||||
-DNSInfo DNSRequest::ResultIsReady(DNSHeader &header, int length)
|
||||
+DNSInfo DNSRequest::ResultIsReady(DNSHeader &header, unsigned length)
|
||||
{
|
||||
- int i = 0;
|
||||
+ unsigned i = 0, o;
|
||||
int q = 0;
|
||||
- int curanswer, o;
|
||||
+ int curanswer;
|
||||
ResourceRecord rr;
|
||||
unsigned short ptr;
|
||||
|
||||
@@ -755,7 +771,7 @@
|
||||
else i += header.payload[i] + 1; /* skip length and label */
|
||||
}
|
||||
}
|
||||
- if (length - i < 10)
|
||||
+ if (static_cast<int>(length - i) < 10)
|
||||
return std::make_pair((unsigned char*)NULL,"Incorrectly sized DNS reply");
|
||||
|
||||
/* XXX: We actually initialise 'rr' here including its ttl field */
|
||||
@@ -790,17 +806,37 @@
|
||||
|
||||
switch (rr.type)
|
||||
{
|
||||
+ /*
|
||||
+ * CNAME and PTR are compressed. We need to decompress them.
|
||||
+ */
|
||||
case DNS_QUERY_CNAME:
|
||||
- /* CNAME and PTR have the same processing code */
|
||||
case DNS_QUERY_PTR:
|
||||
+ {
|
||||
+ unsigned short lowest_pos = length;
|
||||
o = 0;
|
||||
q = 0;
|
||||
while (q == 0 && i < length && o + 256 < 1023)
|
||||
{
|
||||
+ /* DN label found (byte over 63) */
|
||||
if (header.payload[i] > 63)
|
||||
{
|
||||
memcpy(&ptr,&header.payload[i],2);
|
||||
- i = ntohs(ptr) - 0xC000 - 12;
|
||||
+
|
||||
+ i = ntohs(ptr);
|
||||
+
|
||||
+ /* check that highest two bits are set. if not, we've been had */
|
||||
+ if ((i & DN_COMP_BITMASK) != DN_COMP_BITMASK)
|
||||
+ return std::make_pair((unsigned char *) NULL, "DN label decompression header is bogus");
|
||||
+
|
||||
+ /* mask away the two highest bits. */
|
||||
+ i &= ~DN_COMP_BITMASK;
|
||||
+
|
||||
+ /* and decrease length by 12 bytes. */
|
||||
+ i -= 12;
|
||||
+
|
||||
+ if (i >= lowest_pos)
|
||||
+ return std::make_pair((unsigned char *) NULL, "Invalid decompression pointer");
|
||||
+ lowest_pos = i;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -813,25 +849,35 @@
|
||||
res[o] = 0;
|
||||
if (o != 0)
|
||||
res[o++] = '.';
|
||||
- memcpy(&res[o],&header.payload[i + 1],header.payload[i]);
|
||||
+
|
||||
+ if (o + header.payload[i] > sizeof(DNSHeader))
|
||||
+ return std::make_pair((unsigned char *) NULL, "DN label decompression is impossible -- malformed/hostile packet?");
|
||||
+
|
||||
+ memcpy(&res[o], &header.payload[i + 1], header.payload[i]);
|
||||
o += header.payload[i];
|
||||
i += header.payload[i] + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
res[o] = 0;
|
||||
+ }
|
||||
break;
|
||||
case DNS_QUERY_AAAA:
|
||||
+ if (rr.rdlength != sizeof(struct in6_addr))
|
||||
+ return std::make_pair((unsigned char *) NULL, "rr.rdlength is larger than 16 bytes for an ipv6 entry -- malformed/hostile packet?");
|
||||
+
|
||||
memcpy(res,&header.payload[i],rr.rdlength);
|
||||
res[rr.rdlength] = 0;
|
||||
break;
|
||||
case DNS_QUERY_A:
|
||||
+ if (rr.rdlength != sizeof(struct in_addr))
|
||||
+ return std::make_pair((unsigned char *) NULL, "rr.rdlength is larger than 4 bytes for an ipv4 entry -- malformed/hostile packet?");
|
||||
+
|
||||
memcpy(res,&header.payload[i],rr.rdlength);
|
||||
res[rr.rdlength] = 0;
|
||||
break;
|
||||
default:
|
||||
- memcpy(res,&header.payload[i],rr.rdlength);
|
||||
- res[rr.rdlength] = 0;
|
||||
+ return std::make_pair((unsigned char *) NULL, "don't know how to handle undefined type (" + ConvToStr(rr.type) + ") -- rejecting");
|
||||
break;
|
||||
}
|
||||
return std::make_pair(res,"No error");
|
@ -1,4 +1,21 @@
|
||||
bin/inspircd
|
||||
etc/inspircd/examples/opers.conf.example
|
||||
etc/inspircd/examples/modules/modules.conf.unreal
|
||||
etc/inspircd/examples/modules/modules.conf.charybdis
|
||||
etc/inspircd/examples/modules.conf.example
|
||||
etc/inspircd/examples/links.conf.example
|
||||
etc/inspircd/examples/inspircd.rules.example
|
||||
etc/inspircd/examples/inspircd.quotes.example
|
||||
etc/inspircd/examples/inspircd.motd.example
|
||||
etc/inspircd/examples/inspircd.helpop.example
|
||||
etc/inspircd/examples/inspircd.helpop-full.example
|
||||
etc/inspircd/examples/inspircd.filter.example
|
||||
etc/inspircd/examples/inspircd.conf.example
|
||||
etc/inspircd/examples/inspircd.censor.example
|
||||
etc/inspircd/examples/aliases/neostats.conf.example
|
||||
etc/inspircd/examples/aliases/ircservices.conf.example
|
||||
etc/inspircd/examples/aliases/atheme.conf.example
|
||||
etc/inspircd/examples/aliases/anope.conf.example
|
||||
lib/inspircd/.gdbargs
|
||||
lib/inspircd/inspircd
|
||||
lib/inspircd/modules/cmd_admin.so
|
||||
@ -117,6 +134,7 @@ lib/inspircd/modules/m_httpd_config.so
|
||||
lib/inspircd/modules/m_httpd_stats.so
|
||||
lib/inspircd/modules/m_ident.so
|
||||
lib/inspircd/modules/m_inviteexception.so
|
||||
lib/inspircd/modules/m_ircv3.so
|
||||
lib/inspircd/modules/m_joinflood.so
|
||||
lib/inspircd/modules/m_jumpserver.so
|
||||
lib/inspircd/modules/m_kicknorejoin.so
|
||||
@ -125,6 +143,7 @@ lib/inspircd/modules/m_lockserv.so
|
||||
lib/inspircd/modules/m_maphide.so
|
||||
lib/inspircd/modules/m_md5.so
|
||||
lib/inspircd/modules/m_messageflood.so
|
||||
lib/inspircd/modules/m_mlock.so
|
||||
lib/inspircd/modules/m_muteban.so
|
||||
lib/inspircd/modules/m_namedmodes.so
|
||||
lib/inspircd/modules/m_namesx.so
|
||||
@ -182,12 +201,15 @@ lib/inspircd/modules/m_silence.so
|
||||
lib/inspircd/modules/m_spanningtree.so
|
||||
lib/inspircd/modules/m_sqlauth.so
|
||||
lib/inspircd/modules/m_sqloper.so
|
||||
%%LDAP%%lib/inspircd/modules/m_ldapauth.so
|
||||
%%LDAPAUTH%%lib/inspircd/modules/m_ldapauth.so
|
||||
%%LDAPOPER%%lib/inspircd/modules/m_ldapoper.so
|
||||
%%MYSQL%%lib/inspircd/modules/m_mysql.so
|
||||
%%PGSQL%%lib/inspircd/modules/m_pgsql.so
|
||||
%%SQLITE%%lib/inspircd/modules/m_sqlite3.so
|
||||
%%GNUTLS%%lib/inspircd/modules/m_ssl_gnutls.so
|
||||
%%OPENSSL%%lib/inspircd/modules/m_ssl_openssl.so
|
||||
%%PCRE%%lib/inspircd/modules/m_regex_pcre.so
|
||||
%%POSIX%%lib/inspircd/modules/m_regex_posix.so
|
||||
lib/inspircd/modules/m_sslinfo.so
|
||||
lib/inspircd/modules/m_sslmodes.so
|
||||
lib/inspircd/modules/m_stripcolor.so
|
||||
@ -202,42 +224,45 @@ lib/inspircd/modules/m_userip.so
|
||||
lib/inspircd/modules/m_vhost.so
|
||||
lib/inspircd/modules/m_watch.so
|
||||
lib/inspircd/modules/m_xline_db.so
|
||||
@dirrm etc/inspircd/examples/aliases
|
||||
@dirrm etc/inspircd/examples/modules
|
||||
@dirrm etc/inspircd/examples
|
||||
@dirrm lib/inspircd/modules
|
||||
@dirrm lib/inspircd/logs
|
||||
@dirrm lib/inspircd/data
|
||||
@dirrm lib/inspircd
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/inspircd.censor.example %D/%%ETCDIR%%/inspircd.censor; then rm -f %D/%%ETCDIR%%/inspircd.censor; fi
|
||||
%%ETCDIR%%/inspircd.censor.example
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/inspircd.censor.example %D/%%ETCDIR%%/inspircd.censor; then rm -f %D/%%ETCDIR%%/inspircd.censor; fi
|
||||
%%ETCDIR%%/examples/inspircd.censor.example
|
||||
@exec if [ ! -f %B/inspircd.censor ] ; then cp -p %D/%F %B/inspircd.censor; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/inspircd.conf.example %D/%%ETCDIR%%/inspircd.conf; then rm -f %D/%%ETCDIR%%/inspircd.conf; fi
|
||||
%%ETCDIR%%/inspircd.conf.example
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/inspircd.conf.example %D/%%ETCDIR%%/inspircd.conf; then rm -f %D/%%ETCDIR%%/inspircd.conf; fi
|
||||
%%ETCDIR%%/examples/inspircd.conf.example
|
||||
@exec if [ ! -f %B/inspircd.conf ] ; then cp -p %D/%F %B/inspircd.conf; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/inspircd.filter.example %D/%%ETCDIR%%/inspircd.filter; then rm -f %D/%%ETCDIR%%/inspircd.filter; fi
|
||||
%%ETCDIR%%/inspircd.filter.example
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/inspircd.filter.example %D/%%ETCDIR%%/inspircd.filter; then rm -f %D/%%ETCDIR%%/inspircd.filter; fi
|
||||
%%ETCDIR%%/examples/inspircd.filter.example
|
||||
@exec if [ ! -f %B/inspircd.filter ] ; then cp -p %D/%F %B/inspircd.filter; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/inspircd.helpop.example %D/%%ETCDIR%%/inspircd.helpop; then rm -f %D/%%ETCDIR%%/inspircd.helpop; fi
|
||||
%%ETCDIR%%/inspircd.helpop.example
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/inspircd.helpop.example %D/%%ETCDIR%%/inspircd.helpop; then rm -f %D/%%ETCDIR%%/inspircd.helpop; fi
|
||||
%%ETCDIR%%/examples/inspircd.helpop.example
|
||||
@exec if [ ! -f %B/inspircd.helpop ] ; then cp -p %D/%F %B/inspircd.helpop; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/inspircd.helpop-full.example %D/%%ETCDIR%%/inspircd.helpop-full; then rm -f %D/%%ETCDIR%%/inspircd.helpop-full; fi
|
||||
%%ETCDIR%%/inspircd.helpop-full.example
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/inspircd.helpop-full.example %D/%%ETCDIR%%/inspircd.helpop-full; then rm -f %D/%%ETCDIR%%/inspircd.helpop-full; fi
|
||||
%%ETCDIR%%/examples/inspircd.helpop-full.example
|
||||
@exec if [ ! -f %B/inspircd.helpop-full ] ; then cp -p %D/%F %B/inspircd.helpop-full; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/inspircd.motd.example %D/%%ETCDIR%%/inspircd.motd; then rm -f %D/%%ETCDIR%%/inspircd.motd; fi
|
||||
%%ETCDIR%%/inspircd.motd.example
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/inspircd.motd.example %D/%%ETCDIR%%/inspircd.motd; then rm -f %D/%%ETCDIR%%/inspircd.motd; fi
|
||||
%%ETCDIR%%/examples/inspircd.motd.example
|
||||
@exec if [ ! -f %B/inspircd.motd ] ; then cp -p %D/%F %B/inspircd.motd; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/inspircd.quotes.example %D/%%ETCDIR%%/inspircd.quotes; then rm -f %D/%%ETCDIR%%/inspircd.quotes; fi
|
||||
%%ETCDIR%%/inspircd.quotes.example
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/inspircd.quotes.example %D/%%ETCDIR%%/inspircd.quotes; then rm -f %D/%%ETCDIR%%/inspircd.quotes; fi
|
||||
%%ETCDIR%%/examples/inspircd.quotes.example
|
||||
@exec if [ ! -f %B/inspircd.quotes ] ; then cp -p %D/%F %B/inspircd.quotes; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/inspircd.rules.example %D/%%ETCDIR%%/inspircd.rules; then rm -f %D/%%ETCDIR%%/inspircd.rules; fi
|
||||
%%ETCDIR%%/inspircd.rules.example
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/inspircd.rules.example %D/%%ETCDIR%%/inspircd.rules; then rm -f %D/%%ETCDIR%%/inspircd.rules; fi
|
||||
%%ETCDIR%%/examples/inspircd.rules.example
|
||||
@exec if [ ! -f %B/inspircd.rules ] ; then cp -p %D/%F %B/inspircd.rules; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/links.conf.example %D/%%ETCDIR%%/links.conf; then rm -f %D/%%ETCDIR%%/links.conf; fi
|
||||
%%ETCDIR%%/links.conf.example
|
||||
@exec if [ ! -f %B/links.conf.example ] ; then cp -p %D/%F %B/links.conf.example; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/modules.conf.example %D/%%ETCDIR%%/modules.conf; then rm -f %D/%%ETCDIR%%/modules.conf; fi
|
||||
%%ETCDIR%%/modules.conf.example
|
||||
@exec if [ ! -f %B/modules.conf.example ] ; then cp -p %D/%F %B/modules.conf.example; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/opers.conf.example %D/%%ETCDIR%%/opers.conf; then rm -f %D/%%ETCDIR%%/opers.conf; fi
|
||||
%%ETCDIR%%/opers.conf.example
|
||||
@exec if [ ! -f %B/opers.conf.example ] ; then cp -p %D/%F %B/opers.conf.example; fi
|
||||
@unexec echo "If permanently removing software, you may wish to remove the configuration directory by running \"rm -rf %%LOCALBASE%%/%%ETCDIR%%\""
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/links.conf.example %D/%%ETCDIR%%/links.conf; then rm -f %D/%%ETCDIR%%/links.conf; fi
|
||||
%%ETCDIR%%/examples/links.conf.example
|
||||
@exec if [ ! -f %B/links.conf ] ; then cp -p %D/%F %B/links.conf; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/modules.conf.example %D/%%ETCDIR%%/modules.conf; then rm -f %D/%%ETCDIR%%/modules.conf; fi
|
||||
%%ETCDIR%%/examples/modules.conf.example
|
||||
@exec if [ ! -f %B/modules.conf ] ; then cp -p %D/%F %B/modules.conf; fi
|
||||
@unexec if cmp -s %D/%%ETCDIR%%/examples/opers.conf.example %D/%%ETCDIR%%/opers.conf; then rm -f %D/%%ETCDIR%%/opers.conf; fi
|
||||
%%ETCDIR%%/examples/opers.conf.example
|
||||
@exec if [ ! -f %B/opers.conf ] ; then cp -p %D/%F %B/opers.conf; fi
|
||||
@dirrmtry %%ETCDIR%%
|
||||
@unexec echo "If permanently removing software, you may wish to remove the configuration directory by running \"rm -rf %%LOCALBASE%%/%%ETCDIR%%\""
|
||||
|
Loading…
Reference in New Issue
Block a user