summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Phillip Brink <binki@gentoo.org>2011-06-27 23:55:00 +0000
committerNathan Phillip Brink <binki@gentoo.org>2011-06-27 23:55:00 +0000
commit063ad1d5776606d64824d2095eebcc398d0339a8 (patch)
treeb1e36554b2644d4ec271995979ab4f399365fb66 /net-irc/ircservices/files
parentRespect LDFLAGS (bug #334709, patch thanks to Ross Smith) and update to EAPI 4. (diff)
downloadgentoo-2-063ad1d5776606d64824d2095eebcc398d0339a8.tar.gz
gentoo-2-063ad1d5776606d64824d2095eebcc398d0339a8.tar.bz2
gentoo-2-063ad1d5776606d64824d2095eebcc398d0339a8.zip
Bump to ircservices-5.1.24 with build on amd64 fixed, hopefully parallel make issues solved, LDFLAGS and -Wl,--as-needed support. Last upstream release (ircservices is discontinued upstream).
(Portage version: 2.2.0_alpha41-r1/cvs/Linux x86_64)
Diffstat (limited to 'net-irc/ircservices/files')
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.24-as-needed.patch17
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.24-fd_set-amd64.patch236
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.24-ircservices-chk-pidfile.patch22
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.24-ldflags.patch12
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.24-parallel-make.patch28
-rw-r--r--net-irc/ircservices/files/ircservices.confd11
-rw-r--r--net-irc/ircservices/files/ircservices.initd31
7 files changed, 357 insertions, 0 deletions
diff --git a/net-irc/ircservices/files/ircservices-5.1.24-as-needed.patch b/net-irc/ircservices/files/ircservices-5.1.24-as-needed.patch
new file mode 100644
index 000000000000..b8b3668e1e39
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.24-as-needed.patch
@@ -0,0 +1,17 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Date: 2011-06-22
+Subject: Fix missing $(LIBS) in the Makefiles where linking of modules
+ happens.
+
+diff -r 7c815ad6fa2e -r f195c349225a modules/Makerules
+--- a/modules/Makerules Wed Jun 22 00:14:22 2011 -0400
++++ b/modules/Makerules Wed Jun 22 13:32:24 2011 -0400
+@@ -104,7 +104,7 @@
+
+ # Compile one or more objects into a dynamic module.
+ $(TARGET).so: $(TARGET).o $(OBJECTS)
+- $(CC_SHARED) $(CFLAGS) $(LFLAGS) $^ -o $@
++ $(CC_SHARED) $(CFLAGS) $(LFLAGS) $^ -o $@ $(LIBS)
+
+ # Compile one or more objects into a static module and generate a symbol
+ # list. The .a file we create here is just a placeholder to show that
diff --git a/net-irc/ircservices/files/ircservices-5.1.24-fd_set-amd64.patch b/net-irc/ircservices/files/ircservices-5.1.24-fd_set-amd64.patch
new file mode 100644
index 000000000000..b15595d570a3
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.24-fd_set-amd64.patch
@@ -0,0 +1,236 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Subject: Fix compilation on amd64 platform by using a different method
+ of fixing the printf() + size_t problem.
+
+The method used is to test if the `z' printf integer modifier works or
+not. If that works, use it. Otherwise, search for a normal integer
+type of similar length to size_t. Defines PRIdSIZE and PRIuSIZE in
+reminiscence of inttypes.h
+
+diff -r b323b647fe91 -r e10ae0e7b778 Makefile
+--- a/Makefile Tue Jun 21 00:42:59 2011 -0400
++++ b/Makefile Tue Jun 21 00:44:38 2011 -0400
+@@ -116,17 +116,17 @@
+
+ ifneq ($(STATIC_MODULES),)
+ modules: langstrs.h
+- @$(MAKE) -C modules all-static CFLAGS="$(CFLAGS)"
++ @$(MAKE) -C modules all-static CFLAGS='$(CFLAGS)'
+ else
+ modules: langstrs.h
+- @$(MAKE) -C modules all-dynamic CFLAGS="$(CFLAGS)"
++ @$(MAKE) -C modules all-dynamic CFLAGS='$(CFLAGS)'
+ endif
+
+ languages:
+- @$(MAKE) -C lang CFLAGS="$(CFLAGS)"
++ @$(MAKE) -C lang CFLAGS='$(CFLAGS)'
+
+ tools: langstrs.h services.h
+- @$(MAKE) -C tools CFLAGS="$(CFLAGS)"
++ @$(MAKE) -C tools CFLAGS='$(CFLAGS)'
+
+
+ # Catch any changes in compilation options at the top of this file or the
+diff -r b323b647fe91 -r e10ae0e7b778 configure
+--- a/configure Tue Jun 21 00:42:59 2011 -0400
++++ b/configure Tue Jun 21 00:44:38 2011 -0400
+@@ -271,6 +271,7 @@
+ SIZEOF_INT=
+ SIZEOF_LONG=
+ SIZEOF_PTR=
++SIZEOF_SIZE_T=
+ SIZEOF_TIME_T=
+ MAX_TIME_T=
+ SIZEOF_GID_T=bonkle
+@@ -1997,6 +1998,39 @@
+ fi
+ fi
+
++MODE="check_size_t "
++echo2 "Checking the size of size_t... "
++if [ "$SIZEOF_SIZE_T" ]; then
++ echo "(cached) `expr $SIZEOF_SIZE_T \* 8` bits"
++ log "cache supplied `expr $SIZEOF_SIZE_T \* 8` bits"
++else
++ cat >$CONFTMP/test.c <<EOT
++ #include <stdlib.h>
++ #include <stdio.h>
++ int main()
++ {
++ size_t a = 0;
++ printf("%d", sizeof(a));
++ return 0;
++ }
++EOT
++ if run $CC $CC_FLAGS $CONFTMP/test.c $CC_LIBS -o $CONFTMP/test; then
++ a="`$CONFTMP/test`"
++ log "test program output (sizeof(size_t)): $a"
++ if [ ! "$a" ]; then
++ echo "test program failed! Assuming `expr $SIZEOF_PTR \* 8` bits."
++ log "assuming `expr $SIZEOF_PTR \* 8` bits"
++ SIZEOF_SIZE_T=$SIZEOF_PTR
++ else
++ SIZEOF_SIZE_T="$a"
++ echo `expr $SIZEOF_SIZE_T \* 8` bits
++ log "`expr $SIZEOF_SIZE_T \* 8` bits"
++ fi
++ else
++ whoa_there
++ fi
++fi
++
+ MODE="check_time_t "
+ echo2 "Checking the size of time_t... "
+ if [ "$SIZEOF_TIME_T" -a "$MAX_TIME_T" ] ; then
+@@ -2135,6 +2169,53 @@
+ fi
+ fi
+
++MODE="check_PRIdSIZE "
++echo2 "Checking how to use size_t with printf... "
++if [ "$SIZE_T_FORMAT" ]; then
++ echo "(cached) $SIZE_T_FORMAT"
++ log "cache $SIZE_T_FORMAT"
++else
++ cat >$CONFTMP/test.c <<EOT
++ #include <stdlib.h>
++ #include <stdio.h>
++ int main()
++ {
++ size_t a = 26;
++ printf("%zu", a);
++ return 0;
++ }
++EOT
++ if run $CC $CC_FLAGS $CONFTMP/test.c $CC_LIBS -o $CONFTMP/test; then
++ a="`$CONFTMP/test`"
++ log "test program output printf(\"%zu\", (size_t)26): $a"
++ if [ "x$a" = "x26" ]; then
++ echo "can use %zu to print size_t (I love standards-compliance :-))."
++ log "can use %zu to print size_t (I love standards-compliance :-))."
++ CDEFS="$CDEFS -DPRIdSIZE=\\\"zd\\\" -DPRIuSIZE=\\\"zu\\\""
++ else
++ echo "test program indicated that runtime does not accept %zu for size_t."
++ log "test program indicated that runtime does not accept %zu for size_t."
++ if [ "x$SIZEOF_SIZE_T" = "x$SIZEOF_INT" ]; then
++ SIZE_MOD=
++ MATCHED=int
++ else
++ if [ "x$SIZEOF_SIZE_T" = "x$SIZEOF_LONG" ]; then
++ SIZE_MOD=l
++ MATCHED=long
++ else
++ SIZE_MOD=l
++ MATCHED="no known types"
++ fi
++ fi
++ echo "size_t's size matched $MATCHED, using %$SIZE_MOD""d to print size_t."
++ log "size_t's size matched $MATCHED, using %$SIZE_MOD""d to print size_t."
++ CDEFS="$CDEFS -DPRIdSIZE=\\\"$SIZE_MOD""d\\\" -DPRIuSIZE=\\\"$SIZE_MOD""u\\\""
++ fi
++ else
++ whoa_there
++ fi
++fi
++
+ ###########################################################################
+
+ # AIX workaround.
+diff -r b323b647fe91 -r e10ae0e7b778 defs.h
+--- a/defs.h Tue Jun 21 00:42:59 2011 -0400
++++ b/defs.h Tue Jun 21 00:44:38 2011 -0400
+@@ -224,11 +224,6 @@
+
+ /* Various generally useful macros. */
+
+-
+-/* Make sizeof() return an int regardless of compiler (avoids printf
+- * argument type warnings). */
+-#define sizeof(v) ((int)sizeof(v))
+-
+ /* Length of an array: */
+ #define lenof(a) (sizeof(a) / sizeof(*(a)))
+
+diff -r b323b647fe91 -r e10ae0e7b778 modules/Makefile
+--- a/modules/Makefile Tue Jun 21 00:42:59 2011 -0400
++++ b/modules/Makefile Tue Jun 21 00:44:38 2011 -0400
+@@ -18,7 +18,7 @@
+
+ all-dynamic:
+ @set -e ; for i in $(SUBDIRS) ; do \
+- $(MAKE) -C $$i $@ DIRNAME="$$i" CFLAGS="$(CFLAGS)" ; \
++ $(MAKE) -C $$i $@ DIRNAME="$$i" CFLAGS='$(CFLAGS)' ; \
+ if $(TEST_NT) ! -f .stamp -o "$$i/.stamp" -nt .stamp ; then \
+ echo "touch .stamp" ; \
+ touch .stamp ; \
+@@ -33,7 +33,7 @@
+ @echo '#include "modsyms.c"' >>modlist.c
+ @echo 'struct {const char *name; void *symlist;} modlist[] = {' >>modlist.c
+ @set -e ; for i in $(SUBDIRS) ; do \
+- $(MAKE) -C $$i $@ DIRNAME="$$i" CFLAGS="$(CFLAGS)" ; \
++ $(MAKE) -C $$i $@ DIRNAME="$$i" CFLAGS='$(CFLAGS)' ; \
+ cat $$i/.modext-*.h >>modext.h ; \
+ cat $$i/.modsyms-*.c >>modsyms.c ; \
+ cat $$i/.modlist-*.c >>modlist.c ; \
+diff -r b323b647fe91 -r e10ae0e7b778 modules/Makerules
+--- a/modules/Makerules Tue Jun 21 00:42:59 2011 -0400
++++ b/modules/Makerules Tue Jun 21 00:44:38 2011 -0400
+@@ -153,13 +153,13 @@
+ $(TARGET).o $(TARGET)_static.o: MODULE_CFLAGS += -DMODULE_MAIN_FILE
+ $(TARGET)_static.o: MODULE_CFLAGS += -D_this_module_ptr=_this_module_ptr_$(MODULE_ID) -Dmodule_version=module_version_$(MODULE_ID) -Dmodule_config=module_config_$(MODULE_ID) -Dinit_module=init_module_$(MODULE_ID) -Dexit_module=exit_module_$(MODULE_ID)
+ $(TARGET)_static.o: FRC
+- @$(MAKE) --no-print-directory $@ TARGET=$(@:_static.o=) INCLUDES2="$(INCLUDES-$(@:_static.o=.o))" CFLAGS="$(CFLAGS) $(MODULE_CFLAGS)" REALLY_COMPILE=2
++ @$(MAKE) --no-print-directory $@ TARGET=$(@:_static.o=) INCLUDES2="$(INCLUDES-$(@:_static.o=.o))" CFLAGS='$(CFLAGS) $(MODULE_CFLAGS)' REALLY_COMPILE=2
+ @if $(TEST_NT) ! -f .stamp -o "$@" -nt .stamp ; then \
+ echo "touch .stamp" ; \
+ touch .stamp ; \
+ fi
+ $(TARGET).o $(OBJECTS): FRC
+- @$(MAKE) --no-print-directory $@ TARGET=$(@:.o=) INCLUDES2="$(INCLUDES-$@)" CFLAGS="$(CFLAGS) $(MODULE_CFLAGS)" REALLY_COMPILE=2
++ @$(MAKE) --no-print-directory $@ TARGET=$(@:.o=) INCLUDES2="$(INCLUDES-$@)" CFLAGS='$(CFLAGS) $(MODULE_CFLAGS)' REALLY_COMPILE=2
+ @if $(TEST_NT) ! -f .stamp -o "$@" -nt .stamp ; then \
+ echo "touch .stamp" ; \
+ touch .stamp ; \
+diff -r b323b647fe91 -r e10ae0e7b778 tools/convert-cygnus.c
+--- a/tools/convert-cygnus.c Tue Jun 21 00:42:59 2011 -0400
++++ b/tools/convert-cygnus.c Tue Jun 21 00:44:38 2011 -0400
+@@ -245,7 +245,7 @@
+ break;
+ }
+ if (strlen(pass) > sizeof(ngi->pass)-1) {
+- fprintf(stderr, "%s:%d: Password for `%s' truncated to %d"
++ fprintf(stderr, "%s:%d: Password for `%s' truncated to %" PRIdSIZE
+ " characters\n", fname, line, ni->nick,
+ sizeof(ngi->pass)-1);
+ pass[sizeof(ngi->pass)-1] = 0;
+@@ -741,7 +741,7 @@
+ }
+ ci->founder = ni->nickgroup;
+ if (strlen(pass) > sizeof(ci->founderpass)-1) {
+- fprintf(stderr, "%s:%d: Password for `%s' truncated to %d"
++ fprintf(stderr, "%s:%d: Password for `%s' truncated to %" PRIdSIZE
+ " characters\n", fname, line, ci->name,
+ sizeof(ci->founderpass)-1);
+ pass[sizeof(ci->founderpass)-1] = 0;
+diff -r b323b647fe91 -r e10ae0e7b778 tools/convert-hybserv.c
+--- a/tools/convert-hybserv.c Tue Jun 21 00:42:59 2011 -0400
++++ b/tools/convert-hybserv.c Tue Jun 21 00:44:38 2011 -0400
+@@ -198,7 +198,7 @@
+ exit(1);
+ } else {
+ fprintf(stderr, "%s:%d: Password for `%s'"
+- " truncated to %d characters\n", fname,
++ " truncated to %" PRIdSIZE " characters\n", fname,
+ line, ni->nick,
+ sizeof(ngi->pass.password)-1);
+ }
+@@ -564,7 +564,7 @@
+ exit(1);
+ } else {
+ fprintf(stderr, "%s:%d: Password for `%s'"
+- " truncated to %d characters\n", fname,
++ " truncated to %" PRIdSIZE " characters\n", fname,
+ line, ci->name,
+ sizeof(ci->founderpass.password)-1);
+ }
diff --git a/net-irc/ircservices/files/ircservices-5.1.24-ircservices-chk-pidfile.patch b/net-irc/ircservices/files/ircservices-5.1.24-ircservices-chk-pidfile.patch
new file mode 100644
index 000000000000..b232e8c5e07a
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.24-ircservices-chk-pidfile.patch
@@ -0,0 +1,22 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Date: 2011/06/15
+Subject: Use the same datadir/pidfile searching algorithm in
+ ircservices-chk as in ircservices to ensure consistent
+ results.
+
+--- a/tools/ircservices-chk.in
++++ b/tools/ircservices-chk.in
+@@ -21,10 +21,10 @@
+ fi
+
+ ok=
+-if [ -f "@DATDEST@/$PIDFILE" ] ; then
+- pid=`cat "@DATDEST@/$PIDFILE"`
++if ! cd "@DATDEST@" || [ -f "$PIDFILE" ] ; then
++ pid=`cat "$PIDFILE"`
+ if echo "0$pid" | grep -q '[^0-9]' ; then
+- rm -f "@DATDEST@/$PIDFILE"
++ rm -f "$PIDFILE"
+ elif kill -0 $pid ; then
+ ok=1
+ fi
diff --git a/net-irc/ircservices/files/ircservices-5.1.24-ldflags.patch b/net-irc/ircservices/files/ircservices-5.1.24-ldflags.patch
new file mode 100644
index 000000000000..b4041cd74a27
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.24-ldflags.patch
@@ -0,0 +1,12 @@
+diff -r e10ae0e7b778 modules/Makerules
+--- a/modules/Makerules Tue Jun 21 00:44:38 2011 -0400
++++ b/modules/Makerules Tue Jun 21 13:00:07 2011 -0400
+@@ -104,7 +104,7 @@
+
+ # Compile one or more objects into a dynamic module.
+ $(TARGET).so: $(TARGET).o $(OBJECTS)
+- $(CC_SHARED) $^ -o $@
++ $(CC_SHARED) $(CFLAGS) $(LFLAGS) $^ -o $@
+
+ # Compile one or more objects into a static module and generate a symbol
+ # list. The .a file we create here is just a placeholder to show that
diff --git a/net-irc/ircservices/files/ircservices-5.1.24-parallel-make.patch b/net-irc/ircservices/files/ircservices-5.1.24-parallel-make.patch
new file mode 100644
index 000000000000..910771adcdc5
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.24-parallel-make.patch
@@ -0,0 +1,28 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Subject: Fix issues of langstrs.h not being built before modules and
+ tools are, hopefully fixing parallel make.
+
+diff -r ad64cfd2cacc -r b323b647fe91 Makefile
+--- a/Makefile Mon Jun 20 22:29:07 2011 -0400
++++ b/Makefile Tue Jun 21 00:42:59 2011 -0400
+@@ -115,17 +115,17 @@
+ $(CC) $(LFLAGS) $(OBJS) version.o $(MODLIB) $(LIBS) -o $@
+
+ ifneq ($(STATIC_MODULES),)
+-modules:
++modules: langstrs.h
+ @$(MAKE) -C modules all-static CFLAGS="$(CFLAGS)"
+ else
+-modules:
++modules: langstrs.h
+ @$(MAKE) -C modules all-dynamic CFLAGS="$(CFLAGS)"
+ endif
+
+ languages:
+ @$(MAKE) -C lang CFLAGS="$(CFLAGS)"
+
+-tools: services.h
++tools: langstrs.h services.h
+ @$(MAKE) -C tools CFLAGS="$(CFLAGS)"
+
+
diff --git a/net-irc/ircservices/files/ircservices.confd b/net-irc/ircservices/files/ircservices.confd
new file mode 100644
index 000000000000..6d2bc475ca14
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices.confd
@@ -0,0 +1,11 @@
+# -*- mode: sh; -*-
+
+# The user which ircservices should be run as. Set to an empty value
+# to have ircservices run as the user the initscript is run as (which
+# is generally bad practice).
+IRCSERVICES_USER=ircservices
+
+# The location of the pidfile (as written in ircservices.conf). If the
+# directory containing the pidfile does not exist, and attempt will be
+# made to create that folder and set its owner to IRCSERVICES_USER.
+IRCSERVICES_PIDFILE=/var/run/ircservices/ircservices.pid
diff --git a/net-irc/ircservices/files/ircservices.initd b/net-irc/ircservices/files/ircservices.initd
new file mode 100644
index 000000000000..0bc561c7203c
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices.initd
@@ -0,0 +1,31 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/net-irc/ircservices/files/ircservices.initd,v 1.1 2011/06/27 23:55:00 binki Exp $
+
+depend() {
+ need net
+ use ircd
+ provide irc-services
+}
+
+start() {
+ IRCSERVICES_RUNDIR="${IRCSERVICES_PIDFILE%/*}"
+ if ! [ -d "${IRCSERVICES_RUNDIR}" ]; then
+ ebegin "Creating ${IRCSERVICES_RUNDIR} for ${SVCNAME}"
+ mkdir "${IRCSERVICES_RUNDIR}" && chown "${IRCSERVICES_USER}" "${IRCSERVICES_RUNDIR}"
+ eend $?
+ fi
+
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --chuid ircservices --exec /usr/bin/ircservices -- \
+ -dir=/var/lib/ircservices \
+ -log=/var/log/ircservices/ircservices.log
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --pidfile "${IRCSERVICES_PIDFILE}"
+ eend $?
+}