rpms/libsilc/devel silc-toolkit-1.1.5-docinst.patch, NONE, 1.1 silc-toolkit-1.1.5-fingerprint.patch, NONE, 1.1 silc-toolkit-1.1.5-libidn.patch, NONE, 1.1 libsilc.spec, 1.17, 1.18 silc-toolkit-1.1-wordsize.patch, 1.1, 1.2 silc-toolkit-1.1.5-libs.patch, 1.1, NONE

Stu Tomlinson (nosnilmot) fedora-extras-commits at redhat.com
Sat Jan 26 15:22:32 UTC 2008


Author: nosnilmot

Update of /cvs/pkgs/rpms/libsilc/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12273

Modified Files:
	libsilc.spec silc-toolkit-1.1-wordsize.patch 
Added Files:
	silc-toolkit-1.1.5-docinst.patch 
	silc-toolkit-1.1.5-fingerprint.patch 
	silc-toolkit-1.1.5-libidn.patch 
Removed Files:
	silc-toolkit-1.1.5-libs.patch 
Log Message:
- Link to system libidn instead of statically linking our own copy (#215934)
- Reintroduce documentation subpackage
- spec file cleanups
- fix encoding of CREDITS file to be UTF-8
- Patch to fix buffer overflow generating fingerprints (#372021)



silc-toolkit-1.1.5-docinst.patch:

--- NEW FILE silc-toolkit-1.1.5-docinst.patch ---
diff -up silc-toolkit-1.1.5/lib/Makefile.am.docinst silc-toolkit-1.1.5/lib/Makefile.am
--- silc-toolkit-1.1.5/lib/Makefile.am.docinst	2008-01-06 14:14:56.000000000 -0500
+++ silc-toolkit-1.1.5/lib/Makefile.am	2008-01-06 14:15:50.000000000 -0500
@@ -98,7 +98,6 @@ EXTRA_DIST = 	silc.pc.in		silcclient.pc.
 toolkit-install:
 	-mkdir -p $(docdir)/toolkit/
 	-$(INSTALL_DATA) $(top_srcdir)/doc/toolkit/* $(docdir)/toolkit
-	-$(INSTALL_DATA) $(top_srcdir)/lib/doc/*.gif $(docdir)/toolkit
 	-cp -R $(top_srcdir)/tutorial $(docdir)
 
 install-data-hook:	toolkit-install

silc-toolkit-1.1.5-fingerprint.patch:

--- NEW FILE silc-toolkit-1.1.5-fingerprint.patch ---
Index: silc/lib/silcutil/silcutil.c
diff -u silc/lib/silcutil/silcutil.c:1.78 silc/lib/silcutil/silcutil.c:1.78.2.1
--- silc/lib/silcutil/silcutil.c:1.78	Tue Jan  2 21:33:03 2007
+++ silc/lib/silcutil/silcutil.c	Tue Jan  8 08:48:42 2008
@@ -467,28 +467,41 @@
 
 char *silc_fingerprint(const unsigned char *data, SilcUInt32 data_len)
 {
-  char fingerprint[64], *cp;
-  int i;
-
-  memset(fingerprint, 0, sizeof(fingerprint));
-  cp = fingerprint;
+  unsigned char *fingerprint, *cp;
+  unsigned int len, blocks, i;
+  
+  if (!data || !data_len)
+    return NULL;
+
+  if (data_len >= 256)
+    data_len = 255;
+
+  /* Align and calculate total length */
+  len = ((data_len + 19) / 20) * 20;
+  blocks = (len / 10);
+  len = (len * 2) + ((blocks - 1) * 2) + (4 * blocks) + 2 + 1;
+
+  cp = fingerprint = silc_calloc(len, sizeof(*fingerprint));
+  if (!cp)
+    return NULL;
+  
   for (i = 0; i < data_len; i++) {
-    silc_snprintf(cp, sizeof(fingerprint), "%02X", data[i]);
+    silc_snprintf(cp, len, "%02X", data[i]);
     cp += 2;
+    len -= 2;
 
     if ((i + 1) % 2 == 0)
-      silc_snprintf(cp++, sizeof(fingerprint), " ");
-
+      silc_snprintf(cp++, len--, " ");
     if ((i + 1) % 10 == 0)
-      silc_snprintf(cp++, sizeof(fingerprint), " ");
+      silc_snprintf(cp++, len--, " ");
   }
   i--;
-  if ((i + 1) % 2 == 0)
-    cp[-2] = 0;
   if ((i + 1) % 10 == 0)
-    cp[-1] = 0;
+    *(--cp) = '\0';  
+  if ((i + 1) % 2 == 0)
+    *(--cp) = '\0';
 
-  return strdup(fingerprint);
+  return fingerprint;
 }
 
 /* Return TRUE if the `data' is ASCII string. */

silc-toolkit-1.1.5-libidn.patch:

--- NEW FILE silc-toolkit-1.1.5-libidn.patch ---
diff -up silc-toolkit-1.1.5/configure.ac.libidn silc-toolkit-1.1.5/configure.ac
--- silc-toolkit-1.1.5/configure.ac.libidn	2007-11-11 07:23:54.000000000 -0500
+++ silc-toolkit-1.1.5/configure.ac	2008-01-08 09:16:51.000000000 -0500
@@ -221,6 +221,15 @@ AC_CHECK_HEADER(regex.h,
 )
 AM_CONDITIONAL(HAVE_REGEX, test x$have_regex = x1)
 
+PKG_CHECK_MODULES(LIBIDN, libidn,
+	[
+		AC_DEFINE(HAVE_LIBIDN, 1, [Define if we have libidn.])
+		have_libidn=1
+	], have_libidn=0
+)
+AM_CONDITIONAL(HAVE_LIBIDN, test x$have_libidn = x1)
+CFLAGS="$CFLAGS $LIBIDN_CFLAGS"
+
 AC_CHECK_FUNC(getopt_long,
   [
     AC_DEFINE([HAVE_GETOPT_LONG], [], [HAVE_GETOPT_LONG])
diff -up silc-toolkit-1.1.5/lib/contrib/Makefile.am.libidn silc-toolkit-1.1.5/lib/contrib/Makefile.am
--- silc-toolkit-1.1.5/lib/contrib/Makefile.am.libidn	2007-11-11 07:23:52.000000000 -0500
+++ silc-toolkit-1.1.5/lib/contrib/Makefile.am	2008-01-08 09:05:38.000000000 -0500
@@ -33,7 +33,11 @@ else
 REGEX = regexpr.c
 endif
 
+if HAVE_LIBIDN
+STRINGPREP =
+else
 STRINGPREP = nfkc.c rfc3454.c stringprep.c
+endif
 
 libcontrib_la_SOURCES = getopti.c $(STRINGPREP) $(REGEX)
 
diff -up silc-toolkit-1.1.5/lib/Makefile.am.libidn silc-toolkit-1.1.5/lib/Makefile.am
--- silc-toolkit-1.1.5/lib/Makefile.am.libidn	2007-11-11 07:23:51.000000000 -0500
+++ silc-toolkit-1.1.5/lib/Makefile.am	2008-01-08 09:05:38.000000000 -0500
@@ -48,8 +48,8 @@ SILC_LINK_LIBS=$(LIBS)
 SILCCLIENT_LINK_LIBS=$(LIBS) -lsilc
 SILCSERVER_LIBS=$(LIBS) -lsilc
 else
-SILC_LINK_LIBS=
-SILCCLIENT_LINK_LIBS=
+SILC_LINK_LIBS=$(LIBIDN_LIBS) $(LIBS)
+SILCCLIENT_LINK_LIBS=$(LIBS)
 SILCSERVER_LIBS=
 endif
 


Index: libsilc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libsilc/devel/libsilc.spec,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- libsilc.spec	8 Dec 2007 01:59:45 -0000	1.17
+++ libsilc.spec	26 Jan 2008 15:21:52 -0000	1.18
@@ -1,41 +1,56 @@
 Summary: SILC Client Library
-Name: libsilc
+Name:    libsilc
 Version: 1.1.5
-Release: 1%{dist}
+Release: 2%{dist}
 License: GPLv2 or BSD
-Group: System Environment/Libraries
-URL: http://www.silcnet.org/
+Group:   System Environment/Libraries
+URL:     http://www.silcnet.org/
 Source0: http://www.silcnet.org/download/toolkit/sources/silc-toolkit-%{version}.tar.bz2
 Source1: libsilc-filter-provides.sh
+Patch0:  silc-toolkit-1.1-wordsize.patch
+Patch1:  silc-toolkit-1.1.5-libidn.patch
+Patch2:  silc-toolkit-1.1.5-docinst.patch
+Patch3:  silc-toolkit-1.1.5-fingerprint.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+BuildRequires: libidn-devel
+BuildRequires: libtool, autoconf, automake
+# Epoch: 0
 %define _use_internal_dependency_generator 0
 %define __find_provides %{SOURCE1}
-Patch0: silc-toolkit-1.1-wordsize.patch
-Patch1: silc-toolkit-1.1.5-libs.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
-Epoch: 0
-# doc subpackage was removed because they are too big and not useful
-Obsoletes: libsilc-doc <= 0.9.12
 
 %description
 SILC Client Library libraries for SILC clients.
 
 %package devel
 Summary: Headers and shared libraries for %{name}
-Group: Development/Libraries
-Requires: libsilc = %{epoch}:%{version}-%{release}
+Group:   Development/Libraries
+Requires: libsilc = %{version}-%{release}
 Requires: pkgconfig
+
 %description devel
-The SILC Toolkit development libraries and headers. Required for building SILC clients.
+The SILC Toolkit development libraries and headers. Required for building
+SILC clients.
+
+%package doc
+Summary: Development documentation for %{name}
+Group:   Documentation
+
+%description doc
+The SILC Toolkit documentation in HTML format. Useful for writing new SILC
+applications.
 
 %prep
 %setup -q -n silc-toolkit-%{version}
-%patch0 -p1
-%patch1 -p1
+%patch0 -p1 -b .wordsize
+%patch1 -p1 -b .libidn
+%patch2 -p1 -b .docinst
+%patch3 -p1 -b .fprint
 
 %build
+autoreconf
 %configure --libdir=%{_libdir} --enable-shared \
            --includedir=%{_includedir}/silc --with-simdir=%{_libdir}/silc/modules \
-           --with-docdir=%{_docdir}/%{name}-%{version} CFLAGS="$RPM_OPT_FLAGS"
+           --docdir=%{_docdir}/%{name}-%{version} CFLAGS="$RPM_OPT_FLAGS"
 
 # WARNING! smp flags cause bad binaries!
 make
@@ -48,9 +63,16 @@
 make DESTDIR=$RPM_BUILD_ROOT install
 chmod 0755 ${RPM_BUILD_ROOT}%{_libdir}/lib* ${RPM_BUILD_ROOT}%{_libdir}/silc/modules/*.so
 
+# move doc files that would be deleted by rpm
+mkdir docinst
+mv $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/{toolkit,tutorial} docinst/
+# fix encoding of zlib.html
+mv docinst/toolkit/zlib.html docinst/toolkit/zlib.html.orig
+iconv -f iso-8859-15 -t utf8 -o docinst/toolkit/zlib.html docinst/toolkit/zlib.html.orig
+rm -f docinst/toolkit/zlib.html.orig
+
 # remove files we don't want into the package, but are being installed to buildroot
-rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/silcalgs.conf $RPM_BUILD_ROOT%{_sysconfdir}/silcd.conf \
-       $RPM_BUILD_ROOT%{_docdir} $RPM_BUILD_ROOT%{_mandir}
+rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/silcalgs.conf $RPM_BUILD_ROOT%{_sysconfdir}/silcd.conf
 
 # remove .a and .la
 rm -f $RPM_BUILD_ROOT%{_libdir}/libsilc.a
@@ -58,6 +80,10 @@
 rm -f $RPM_BUILD_ROOT%{_libdir}/libsilcclient.a
 rm -f $RPM_BUILD_ROOT%{_libdir}/libsilcclient.la
 
+# Fix encoding of CREDITS
+mv CREDITS CREDITS.orig
+iconv -f iso-8859-15 -t utf8 -o CREDITS CREDITS.orig
+
 # Ensure that libsilc-filter-provides.sh is executable
 chmod 755 %{SOURCE1}
 
@@ -93,7 +119,20 @@
 %dir %_includedir/silc
 %{_includedir}/silc/*.h
 
+%files doc
+%defattr(0644, root, root, 0755)
+%doc docinst/toolkit
+%doc docinst/tutorial
+
+
 %changelog
+* Sat Jan 26 2008 Stu Tomlinson <stu at nosnilmot.com> 1.1.5-2
+- Link to system libidn instead of statically linking our own copy (#215934)
+- Reintroduce documentation subpackage
+- spec file cleanups
+- fix encoding of CREDITS file to be UTF-8
+- Patch to fix buffer overflow generating fingerprints (#372021)
+
 * Fri Dec 07 2007 Stu Tomlinson <stu at nosnilmot.com> 1.1.5-1
 - Update to 1.1.5, now fully event based, so clients don't need to
   poll every few milliseconds, reducing power consumption
@@ -138,7 +177,7 @@
 - 0.9.12-0.fdr.4 - post/postun /sbin/ldconfig
   (Patch 823 from Stu Tomlinson)
 * Tue Aug 31 2004 Toni Willberg <toniw at iki.fi>
-- 0.9.12-0.fdr.3 - Move libs to %{_libdir} and add a silc.pc 
+- 0.9.12-0.fdr.3 - Move libs to %%{_libdir} and add a silc.pc
   (Patch 815 from Stu Tomlinson)
 * Tue Aug 17 2004 Toni Willberg <toniw at iki.fi>
 - fix so permissions and hardcoded paths (patch from Michael Schwendt)

silc-toolkit-1.1-wordsize.patch:

Index: silc-toolkit-1.1-wordsize.patch
===================================================================
RCS file: /cvs/pkgs/rpms/libsilc/devel/silc-toolkit-1.1-wordsize.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- silc-toolkit-1.1-wordsize.patch	8 Dec 2007 01:59:45 -0000	1.1
+++ silc-toolkit-1.1-wordsize.patch	26 Jan 2008 15:21:52 -0000	1.2
@@ -1,16 +1,21 @@
---- silc-toolkit-1.1/configure.wordsize	2007-06-09 20:18:31.000000000 +0100
-+++ silc-toolkit-1.1/configure	2007-06-09 20:19:07.000000000 +0100
-@@ -34493,11 +34493,11 @@
- ac_ct_F77!$ac_ct_F77$ac_delim
- LIBTOOL!$LIBTOOL$ac_delim
- SILC_SIZEOF_LONG_LONG!$SILC_SIZEOF_LONG_LONG$ac_delim
--SILC_SIZEOF_LONG!$SILC_SIZEOF_LONG$ac_delim
-+SILC_SIZEOF_LONG!__WORDSIZE$ac_delim
- SILC_SIZEOF_INT!$SILC_SIZEOF_INT$ac_delim
- SILC_SIZEOF_SHORT!$SILC_SIZEOF_SHORT$ac_delim
- SILC_SIZEOF_CHAR!$SILC_SIZEOF_CHAR$ac_delim
--SILC_SIZEOF_VOID_P!$SILC_SIZEOF_VOID_P$ac_delim
-+SILC_SIZEOF_VOID_P!__WORDSIZE$ac_delim
- HAVE_REGEX_TRUE!$HAVE_REGEX_TRUE$ac_delim
- HAVE_REGEX_FALSE!$HAVE_REGEX_FALSE$ac_delim
- SILC_NO_ASM_TRUE!$SILC_NO_ASM_TRUE$ac_delim
+diff -up silc-toolkit-1.1.5/configure.ac.libidn silc-toolkit-1.1.5/configure.ac
+--- silc-toolkit-1.1.5/configure.ac.libidn	2007-11-11 07:23:54.000000000 -0500
++++ silc-toolkit-1.1.5/configure.ac	2008-01-08 09:16:51.000000000 -0500
+@@ -155,7 +155,7 @@ AC_TYPE_PID_T
+ AC_CHECK_SIZEOF(long long, 0)
+ AC_SUBST(SILC_SIZEOF_LONG_LONG, $ac_cv_sizeof_long_long)
+ AC_CHECK_SIZEOF(long, 0)
+-AC_SUBST(SILC_SIZEOF_LONG, $ac_cv_sizeof_long)
++AC_SUBST(SILC_SIZEOF_LONG, __WORDSIZE)
+ AC_CHECK_SIZEOF(int, 0)
+ AC_SUBST(SILC_SIZEOF_INT, $ac_cv_sizeof_int)
+ AC_CHECK_SIZEOF(short, 0)
+@@ -163,7 +163,7 @@ AC_SUBST(SILC_SIZEOF_SHORT, $ac_cv_sizeo
+ AC_CHECK_SIZEOF(char, 0)
+ AC_SUBST(SILC_SIZEOF_CHAR, $ac_cv_sizeof_char)
+ AC_CHECK_SIZEOF(void *, 0)
+-AC_SUBST(SILC_SIZEOF_VOID_P, $ac_cv_sizeof_void_p)
++AC_SUBST(SILC_SIZEOF_VOID_P, __WORDSIZE)
+ AC_CHECK_TYPES(long long)
+ AC_CHECK_TYPES(long double)
+ 


--- silc-toolkit-1.1.5-libs.patch DELETED ---




More information about the fedora-extras-commits mailing list