--- /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)
+