2009-10-07 Albert Lee <[email protected]>
authortrisk
Wed, 07 Oct 2009 16:58:39 +0000
changeset 2193 4ec99bea41f9
parent 2192 1c9c24235c61
child 2194 b68ccec69b06
2009-10-07 Albert Lee <[email protected]> * SFEctrlproxy.spec: *NEW* ctrlproxy - Detachable IRC proxy * patches/ctrlproxy-01-solaris.diff: Build fixes for Solaris * patches/ctrlproxy-02-sunpro.diff: Build fixes for Studio
ChangeLog
SFEctrlproxy.spec
patches/ctrlproxy-01-solaris.diff
patches/ctrlproxy-02-sunpro.diff
--- a/ChangeLog	Tue Oct 06 07:45:08 2009 +0000
+++ b/ChangeLog	Wed Oct 07 16:58:39 2009 +0000
@@ -1,3 +1,9 @@
+2009-10-07  Albert Lee  <[email protected]>
+
+	* SFEctrlproxy.spec: *NEW* ctrlproxy - Detachable IRC proxy
+	* patches/ctrlproxy-01-solaris.diff: Build fixes for Solaris
+	* patches/ctrlproxy-02-sunpro.diff: Build fixes for Studio
+
 2009-10-06  Milan Jurik <[email protected]>
 
 	* base-specs/lame.spec: LDFLAGS for gcc are not valid, removed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SFEctrlproxy.spec	Wed Oct 07 16:58:39 2009 +0000
@@ -0,0 +1,99 @@
+#
+# Copyright 2009 Sun Microsystems, Inc.
+# This file and all modifications and additions to the pristine
+# package are under the same license as the package itself.
+
+%include Solaris.inc
+
+Name:                SFEctrlproxy
+Summary:             ctrlproxy - Detachable IRC proxy
+Version:             3.0.8
+Source:              http://www.ctrlproxy.org/releases/ctrlproxy-%{version}.tar.gz
+Patch1:              ctrlproxy-01-solaris.diff
+Patch2:              ctrlproxy-02-sunpro.diff
+Url:                 http://www.ctrlproxy.org/
+License:             GPLv3
+SUNW_BaseDir:        %{_basedir}
+BuildRoot:           %{_tmppath}/%{name}-%{version}-build
+%include default-depend.inc
+
+
+%package devel
+Summary:                 %{summary} - development files
+SUNW_BaseDir:            %{_prefix}
+%include default-depend.inc
+Requires: %name
+
+%package root
+Summary:                 %{summary} - / filesystem
+SUNW_BaseDir:            /
+%include default-depend.inc
+
+%prep
+%setup -q -n ctrlproxy-%{version}
+%patch1 -p1
+%patch2 -p1
+
+%build
+
+CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '`
+if test "x$CPUS" = "x" -o $CPUS = 0; then
+     CPUS=1
+fi
+
+export CFLAGS="%optflags"
+export LDFLAGS="%_ldflags"
+
+./autogen.sh
+./configure \
+            --prefix=%{_prefix}  \
+            --sysconfdir=%{_sysconfdir} \
+	    --docdir=%{_docdir} \
+            --mandir=%{_mandir}
+
+gmake -j $CPUS
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+gmake install DESTDIR=$RPM_BUILD_ROOT
+
+find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
+find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';'
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr (-, root, bin)
+%dir %attr (0755, root, bin) %{_bindir}
+%{_bindir}/*
+%dir %attr (0755, root, bin) %{_sbindir}
+%{_sbindir}/ctrlproxyd
+%dir %attr (0755, root, bin) %{_libdir}
+%dir %attr (0755, root, bin) %{_libdir}/ctrlproxy
+%dir %attr (0755, root, sys) %{_datadir}
+%dir %attr (0755, root, sys) %{_datadir}/ctrlproxy
+%{_datadir}/ctrlproxy/*
+%dir %attr (0755, root, other) %{_docdir}
+%dir %attr (0755, root, other) %{_docdir}/ctrlproxy
+%{_docdir}/ctrlproxy/*
+%dir %attr(0755, root, bin) %{_mandir}
+%dir %attr(0755, root, bin) %{_mandir}/*
+%{_mandir}/*/*
+
+%files devel
+%defattr (-, root, bin)
+%dir %attr (0755, root, bin) %{_includedir}
+%{_includedir}/*
+%dir %attr (0755, root, bin) %{_libdir}
+%dir %attr (0755, root, other) %{_libdir}/pkgconfig
+%{_libdir}/pkgconfig/*
+
+%files root
+%dir %attr (0755, root, sys) %{_sysconfdir}
+%{_sysconfdir}/*
+
+%changelog
+* Mon Oct 05 2009 - [email protected]
+- Initial spec.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ctrlproxy-01-solaris.diff	Wed Oct 07 16:58:39 2009 +0000
@@ -0,0 +1,81 @@
+--- ctrlproxy-3.0.8.orig/configure.ac	2008-12-06 12:36:33.000000000 -0500
++++ ctrlproxy-3.0.8/configure.ac	2009-10-05 20:49:25.066375043 -0400
+@@ -9,9 +9,7 @@
+ AC_SUBST(BZR_CHECKOUT)
+ BZR_CHECKOUT=no
+ AC_MSG_CHECKING([whether this is a bzr checkout])
+-if ! which bzr >/dev/null 2>/dev/null; then
+-	AC_MSG_RESULT(no)
+-else 
++if which bzr >/dev/null 2>/dev/null; then
+ 	BZR_CHECKOUT=yes
+ 	REVISION="`bzr revno .`"
+ 	if test -n "$REVISION"; then
+@@ -20,6 +18,8 @@
+ 	else
+ 		AC_MSG_RESULT(no)
+ 	fi
++else 
++	AC_MSG_RESULT(no)
+ fi
+ 
+ AC_DEFINE_UNQUOTED(VERSION,"$VERSION$BZRVERSION", [ Package version])
+@@ -59,7 +59,9 @@
+ AC_FUNC_REALLOC
+ AC_TYPE_SIGNAL
+ 
+-AC_CHECK_FUNCS([gethostbyname gethostname memset strchr strerror strstr uname backtrace_symbols gettimeofday strrchr daemon])
++AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname))
++AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
++AC_CHECK_FUNCS([gethostname memset strchr strerror strstr uname backtrace_symbols gettimeofday strrchr daemon])
+ 
+ PKG_PROG_PKG_CONFIG
+ PKG_CHECK_MODULES(COMMON, glib-2.0 >= 2.6.0 gmodule-2.0)
+@@ -77,6 +77,10 @@
+ # GNUTLS support
+ ###############################################################################
+ PKG_CHECK_MODULES(GNUTLS, gnutls, [
++		ac_save_LIBS="$LIBS"
++		LIBS="$GNUTLS_LIBS"
++		AC_CHECK_FUNC(gcry_control, , AC_CHECK_LIB(gcrypt, gcry_control, GNUTLS_LIBS="$GNUTLS_LIBS -lgcrypt"))
++		LIBS="$ac_save_LIBS"
+ 		AC_DEFINE(HAVE_GNUTLS, 1, [Whether GNUTLS is available])
+ 		SSL_OBJS="src/gnutls.o src/tlscert.o"
+ 		AC_SUBST(SSL_OBJS)
+@@ -84,13 +90,17 @@
+ # GSSAPI support
+ ###############################################################################
+ AC_PATH_PROG(KRB5_CONFIG, krb5-config, no)
+-if test $KRB5_CONFIG != no; then
++if test $KRB5_CONFIG != no && $KRB5_CONFIG --libs gssapi >/dev/null 2>&1; then
+ 	LIBS="$LIBS `$KRB5_CONFIG --libs gssapi`"
+ 	CFLAGS="$CFLAGS `$KRB5_CONFIG --cflags gssapi`"
+-	AC_DEFINE(HAVE_GSSAPI, 1, [have GSSAPI])
+-	AC_CHECK_FUNC(gsskrb5_register_acceptor_identity, 
+-			AC_DEFINE(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY, 1, [Whether gsskrb5_register_acceptor_identity is provided by the GSSAPI library]))
+ fi
++AC_CHECK_FUNC(gss_display_status,
++		AC_DEFINE(HAVE_GSSAPI, 1, [have GSSAPI]),
++		AC_CHECK_LIB(gss, gss_display_status,
++				LIBS="$LIBS -lgss"; AC_DEFINE(HAVE_GSSAPI, 1, [have GSSAPI])))
++AC_CHECK_FUNC(gsskrb5_register_acceptor_identity, 
++		AC_DEFINE(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY, 1, [Whether gsskrb5_register_acceptor_identity is provided by the GSSAPI library]))
++AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h])
+ 
+ ###############################################################################
+ # SWIG support
+--- ctrlproxy-3.0.8.orig/lib/listener.h	2008-12-06 12:36:33.000000000 -0500
++++ ctrlproxy-3.0.8/lib/listener.h	2009-10-05 20:57:08.476692037 -0400
+@@ -5,8 +5,12 @@
+ #include "ctrlproxy.h"
+ 
+ #ifdef HAVE_GSSAPI
++#ifdef HAVE_GSSAPI_GSSAPI_H
++#include <gssapi/gssapi.h>
++#else
+ #include <gssapi.h>
+ #endif
++#endif
+ 
+ #ifndef G_MODULE_EXPORT
+ #define G_MODULE_EXPORT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ctrlproxy-02-sunpro.diff	Wed Oct 07 16:58:39 2009 +0000
@@ -0,0 +1,141 @@
+--- ctrlproxy-3.0.8.orig/configure.ac	2009-10-07 11:58:39.842762000 -0400
++++ ctrlproxy-3.0.8/configure.ac	2009-10-07 11:59:04.269585297 -0400
+@@ -31,9 +31,15 @@
+ # Checks for programs.
+ AC_PROG_CC
+ AC_PROG_INSTALL
+-AC_PATH_PROG(LD,ld)
+ AC_PATH_PROG(IRCDTORTURE,ircdtorture)
+ 
++if test "$GCC" = "yes"; then
++	CFLAGS="$CFLAGS -ansi -Wall"
++	DYNAMIC="-rdynamic"
++fi
++AC_SUBST(GCC)
++AC_SUBST(DYNAMIC)
++
+ AC_ARG_ENABLE(gcov,
+ [ --enable-gcov		Enable GCOV support ],
+ [ WITH_GCOV=1 ], [ WITH_GCOV=0 ])
+--- ctrlproxy-3.0.8.orig/Makefile	2008-12-06 12:36:33.000000000 -0500
++++ ctrlproxy-3.0.8/Makefile	2009-10-07 11:57:11.853721092 -0400
+@@ -18,7 +18,7 @@
+ CFLAGS += $(GNUTLS_CFLAGS)
+ 
+ CFLAGS+=-DHAVE_CONFIG_H -DDEFAULT_CONFIG_DIR=\"$(DEFAULT_CONFIG_DIR)\" -DHELPFILE=\"$(HELPFILE)\"
+-CFLAGS+=-ansi -Wall -DMODULESDIR=\"$(modulesdir)\" -DSTRICT_MEMORY_ALLOCS=
++CFLAGS+=-DMODULESDIR=\"$(modulesdir)\" -DSTRICT_MEMORY_ALLOCS=
+ 
+ LIBIRC_STATIC = libirc.a
+ LIBIRC = $(LIBIRC_STATIC)
+@@ -103,11 +103,11 @@
+ 
+ linestack-cmd$(EXEEXT): src/linestack-cmd.o $(objs) $(LIBIRC)
+ 	@echo Linking $@
+-	@$(LD) $(LIBS) -lreadline -rdynamic -o $@ $^
++	@$(CC) $(LIBS) -lreadline $(DYNAMIC) -o $@ $^
+ 
+ ctrlproxy$(EXEEXT): src/main.o $(objs) $(LIBIRC)
+ 	@echo Linking $@
+-	@$(LD) $(LDFLAGS) -rdynamic -o $@ $^ $(LIBS)
++	@$(CC) $(LDFLAGS) $(DYNAMIC) -o $@ $^ $(LIBS)
+ 
+ src/settings.o: CFLAGS+=-DSYSCONFDIR=\"${sysconfdir}\"
+ 
+@@ -119,11 +119,11 @@
+ 
+ ctrlproxyd$(EXEEXT): $(daemon_objs) $(objs) $(LIBIRC)
+ 	@echo Linking $@
+-	@$(LD) $(LDFLAGS) -rdynamic -o $@ $^ $(LIBS)
++	@$(CC) $(LDFLAGS) $(DYNAMIC) -o $@ $^ $(LIBS)
+ 
+ ctrlproxy-admin$(EXEEXT): src/admin-cmd.o
+ 	@echo Linking $@
+-	@$(LD) $(LDFLAGS) -rdynamic -o $@ $^ $(LIBS)
++	@$(CC) $(LDFLAGS) $(DYNAMIC) -o $@ $^ $(LIBS)
+ 
+ %.o: %.c
+ 	@echo Compiling $<
+@@ -215,7 +215,7 @@
+ 	@ar -rcs $@ $^
+ 
+ $(LIBIRC_SHARED): $(lib_objs)
+-	$(LD) -shared $(LDFLAGS) -Wl,-soname,$(LIBIRC_SONAME) -o $@ $^
++	$(CC) -shared $(LDFLAGS) -Wl,-soname,$(LIBIRC_SONAME) -o $@ $^
+ 
+ cscope.out::
+ 	cscope -b -R
+@@ -286,4 +286,6 @@
+ check-gdb: 
+ 	$(MAKE) check-nofork DEBUGGER="gdb --args"
+ 
++ifeq ($(GCC),yes)
+ -include $(dep_files)
++endif
+--- ctrlproxy-3.0.8.orig/src/log_subst.c	2008-12-06 12:36:34.000000000 -0500
++++ ctrlproxy-3.0.8/src/log_subst.c	2009-10-07 11:03:11.593731248 -0400
+@@ -30,7 +30,7 @@
+ struct log_mapping {
+ 	char *command;
+ 	char subst;
+-	unsigned int index;
++	size_t index;
+ 	/* If index is -1 */
+ 	char *(*callback) (struct subst_context *subst_ctx, 
+ 					   const struct irc_line *line,
+@@ -161,20 +161,20 @@
+ }
+ 
+ static struct log_mapping mappings[] = {
+-	{NULL, '@', -1, get_identifier },
+-	{NULL, 'h', -1, get_hours },
+-	{NULL, 'M', -1, get_minutes },
+-	{NULL, 's', -1, get_seconds },
+-	{NULL, 'd', -1, get_day },
+-	{NULL, 'B', -1, get_month },
+-	{NULL, 'Y', -1, get_year },
+-	{NULL, 'e', -1, get_seconds_since_1970 },
+-	{NULL, 'b', -1, get_monthname },
+-	{NULL, 'n', -1, get_nick },
+-	{NULL, 'u', -1, get_user },
+-	{NULL, 'N', -1, get_network },
+-	{NULL, 'S', -1, get_server },
+-	{NULL, '%', -1, get_percent },
++	{NULL, '@', (size_t)-1, get_identifier },
++	{NULL, 'h', (size_t)-1, get_hours },
++	{NULL, 'M', (size_t)-1, get_minutes },
++	{NULL, 's', (size_t)-1, get_seconds },
++	{NULL, 'd', (size_t)-1, get_day },
++	{NULL, 'B', (size_t)-1, get_month },
++	{NULL, 'Y', (size_t)-1, get_year },
++	{NULL, 'e', (size_t)-1, get_seconds_since_1970 },
++	{NULL, 'b', (size_t)-1, get_monthname },
++	{NULL, 'n', (size_t)-1, get_nick },
++	{NULL, 'u', (size_t)-1, get_user },
++	{NULL, 'N', (size_t)-1, get_network },
++	{NULL, 'S', (size_t)-1, get_server },
++	{NULL, '%', (size_t)-1, get_percent },
+ 	{"JOIN", 'c', 1, NULL },
+ 	{"PART", 'c', 1, NULL },
+ 	{"PART", 'm', 2, NULL },
+@@ -192,7 +192,7 @@
+ 	{"TOPIC", 't', 2, NULL },
+ 	{"MODE", 't', 1, NULL },
+ 	{"MODE", 'p', 2, NULL },
+-	{"MODE", 'c', -1, get_modechanges },
++	{"MODE", 'c', (size_t)-1, get_modechanges },
+ 	{"NICK", 'r', 1, NULL },
+ 	{NULL, '0', 0, NULL },
+ 	{NULL, '1', 1, NULL },
+--- ctrlproxy-3.0.8.orig/src/settings.c	2008-12-06 12:36:34.000000000 -0500
++++ ctrlproxy-3.0.8/src/settings.c	2009-10-07 10:54:42.998143329 -0400
+@@ -1009,6 +1009,9 @@
+ 	g_strfreev(groups);
+ }
+ 
++#ifndef __STRING
++#define __STRING(x) #x
++#endif
+ #define FETCH_SETTING(data, kf, section, prefix, name) (data)->name = g_key_file_get_string((kf), (section), prefix __STRING(name), NULL)
+ #define STORE_SETTING(data, kf, section, prefix, name) g_key_file_set_string((kf), (section), prefix __STRING(name), (data)->name)
+