From 063ad1d5776606d64824d2095eebcc398d0339a8 Mon Sep 17 00:00:00 2001 From: Nathan Phillip Brink Date: Mon, 27 Jun 2011 23:55:00 +0000 Subject: 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) --- .../files/ircservices-5.1.24-as-needed.patch | 17 ++ .../files/ircservices-5.1.24-fd_set-amd64.patch | 236 +++++++++++++++++++++ ...rcservices-5.1.24-ircservices-chk-pidfile.patch | 22 ++ .../files/ircservices-5.1.24-ldflags.patch | 12 ++ .../files/ircservices-5.1.24-parallel-make.patch | 28 +++ net-irc/ircservices/files/ircservices.confd | 11 + net-irc/ircservices/files/ircservices.initd | 31 +++ 7 files changed, 357 insertions(+) create mode 100644 net-irc/ircservices/files/ircservices-5.1.24-as-needed.patch create mode 100644 net-irc/ircservices/files/ircservices-5.1.24-fd_set-amd64.patch create mode 100644 net-irc/ircservices/files/ircservices-5.1.24-ircservices-chk-pidfile.patch create mode 100644 net-irc/ircservices/files/ircservices-5.1.24-ldflags.patch create mode 100644 net-irc/ircservices/files/ircservices-5.1.24-parallel-make.patch create mode 100644 net-irc/ircservices/files/ircservices.confd create mode 100644 net-irc/ircservices/files/ircservices.initd (limited to 'net-irc/ircservices/files') 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 +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 +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 < ++ #include ++ 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 < ++ #include ++ 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 +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 +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 $? +} -- cgit v1.2.3-65-gdbad