diff --git a/.libwvstreams.metadata b/.libwvstreams.metadata new file mode 100644 index 0000000..85f2e96 --- /dev/null +++ b/.libwvstreams.metadata @@ -0,0 +1 @@ +1431efc3f46a13b6a8dbcad4123e19473369f767 SOURCES/wvstreams-4.6.1.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/wvstreams-4.2.2-multilib.patch b/SOURCES/wvstreams-4.2.2-multilib.patch new file mode 100644 index 0000000..b9fb8f7 --- /dev/null +++ b/SOURCES/wvstreams-4.2.2-multilib.patch @@ -0,0 +1,29 @@ +--- wvstreams-4.5/include/wvautoconf.h.in.multilib ++++ wvstreams-4.5/include/wvautoconf.h.in +@@ -65,7 +65,7 @@ + #undef HAVE_LIBCRYPTO + + /* Whether libc supports __libc_stack_end */ +-#undef HAVE_LIBC_STACK_END ++/* #undef HAVE_LIBC_STACK_END */ + + /* Define to 1 if you have the `pam' library (-lpam). */ + #undef HAVE_LIBPAM +@@ -166,7 +166,7 @@ + #undef HAVE_UNISTD_H + + /* Define to 1 if you have the header file. */ +-#undef HAVE_VALGRIND_MEMCHECK_H ++/* #undef HAVE_VALGRIND_MEMCHECK_H */ + + /* Define to 1 if you have the header file. */ + #undef HAVE_ZLIB_H +@@ -201,7 +201,7 @@ + #undef VERBOSE_PACKAGE_VERSION + + /* Extra version string. */ +-#undef VER_STRING_EXTRA ++/*#define VER_STRING_EXTRA " (Red Hat Buildsystem)"*/ + + /* Define to enable DBUS support. */ + #undef WITH_DBUS diff --git a/SOURCES/wvstreams-4.5-noxplctarget.patch b/SOURCES/wvstreams-4.5-noxplctarget.patch new file mode 100644 index 0000000..610ee9e --- /dev/null +++ b/SOURCES/wvstreams-4.5-noxplctarget.patch @@ -0,0 +1,11 @@ +diff -urNp wvstreams-4.5-orig/install.mk wvstreams-4.5/install.mk +--- wvstreams-4.5-orig/install.mk 2008-10-21 17:31:58.000000000 +0200 ++++ wvstreams-4.5/install.mk 2008-11-21 16:17:28.000000000 +0100 +@@ -45,3 +45,7 @@ install-uniconfd: uniconf/daemon/uniconf + install-wsd: ipstreams/tests/wsd + $(INSTALL) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) ipstreams/tests/wsd $(DESTDIR)$(bindir)/ ++ ++install-xplc: ipstreams/tests/xplctest ++ $(INSTALL) -d $(DESTDIR)$(bindir) ++ $(INSTALL_PROGRAM) ipstreams/tests/xplctest $(DESTDIR)$(bindir)/ diff --git a/SOURCES/wvstreams-4.6.1-gcc.patch b/SOURCES/wvstreams-4.6.1-gcc.patch new file mode 100644 index 0000000..941066c --- /dev/null +++ b/SOURCES/wvstreams-4.6.1-gcc.patch @@ -0,0 +1,12 @@ +diff -urNp wvstreams-4.6.1-orig/crypto/wvx509.cc wvstreams-4.6.1/crypto/wvx509.cc +--- wvstreams-4.6.1-orig/crypto/wvx509.cc 2008-10-23 22:23:49.000000000 +0200 ++++ wvstreams-4.6.1/crypto/wvx509.cc 2010-01-13 15:48:13.000000000 +0100 +@@ -1157,7 +1157,7 @@ WvString WvX509::get_extension(int nid) + + if (ext) + { +- X509V3_EXT_METHOD *method = X509V3_EXT_get(ext); ++ X509V3_EXT_METHOD *method = (X509V3_EXT_METHOD *) X509V3_EXT_get(ext); + if (!method) + { + WvDynBuf buf; diff --git a/SOURCES/wvstreams-4.6.1-gcc47.patch b/SOURCES/wvstreams-4.6.1-gcc47.patch new file mode 100644 index 0000000..3d67048 --- /dev/null +++ b/SOURCES/wvstreams-4.6.1-gcc47.patch @@ -0,0 +1,10 @@ +--- wvstreams-4.6.1-dist/include/wvuid.h 2012-01-05 10:18:58.713661236 +0100 ++++ wvstreams-4.6.1/include/wvuid.h 2012-01-05 10:27:42.198435328 +0100 +@@ -7,6 +7,7 @@ + #ifndef __WVUID_H + #define __WVUID_H + ++#include + #include "wvstring.h" + + #if WIN32 diff --git a/SOURCES/wvstreams-4.6.1-magic.patch b/SOURCES/wvstreams-4.6.1-magic.patch new file mode 100644 index 0000000..05928a3 --- /dev/null +++ b/SOURCES/wvstreams-4.6.1-magic.patch @@ -0,0 +1,35 @@ +diff -up wvstreams-4.6.1/include/wvtask.h.magic wvstreams-4.6.1/include/wvtask.h +--- wvstreams-4.6.1/include/wvtask.h.magic 2008-07-14 21:11:35.000000000 +0200 ++++ wvstreams-4.6.1/include/wvtask.h 2012-06-03 17:24:47.909187849 +0200 +@@ -45,7 +45,8 @@ class WvTask + typedef void TaskFunc(void *userdata); + + static int taskcount, numtasks, numrunning; +- int magic_number, *stack_magic; ++ int volatile magic_number; ++ int *stack_magic; + WvString name; + int tid; + +@@ -84,7 +85,7 @@ class WvTaskMan + static WvTaskMan *singleton; + static int links; + +- static int magic_number; ++ static int volatile magic_number; + static WvTaskList all_tasks, free_tasks; + + static void get_stack(WvTask &task, size_t size); +diff -up wvstreams-4.6.1/utils/wvtask.cc.magic wvstreams-4.6.1/utils/wvtask.cc +--- wvstreams-4.6.1/utils/wvtask.cc.magic 2009-05-13 23:42:52.000000000 +0200 ++++ wvstreams-4.6.1/utils/wvtask.cc 2012-06-03 14:29:09.729656804 +0200 +@@ -58,7 +58,8 @@ char *alloca (); + int WvTask::taskcount, WvTask::numtasks, WvTask::numrunning; + + WvTaskMan *WvTaskMan::singleton; +-int WvTaskMan::links, WvTaskMan::magic_number; ++int WvTaskMan::links; ++int volatile WvTaskMan::magic_number; + WvTaskList WvTaskMan::all_tasks, WvTaskMan::free_tasks; + ucontext_t WvTaskMan::stackmaster_task, WvTaskMan::get_stack_return, + WvTaskMan::toplevel; diff --git a/SOURCES/wvstreams-4.6.1-make.patch b/SOURCES/wvstreams-4.6.1-make.patch new file mode 100644 index 0000000..403de64 --- /dev/null +++ b/SOURCES/wvstreams-4.6.1-make.patch @@ -0,0 +1,51 @@ +diff --git a/Makefile b/Makefile +index 72c8bef..26cb6df 100644 +--- a/Makefile ++++ b/Makefile +@@ -235,6 +235,11 @@ TARGETS_A = $(filter %.a,$(TARGETS)) + all: config.mk $(filter-out $(WV_EXCLUDES), $(TARGETS)) + + TESTS += wvtestmain ++TESTS_DEPS = $(LIBWVSTREAMS) ++ifneq ("$(with_dbus)", "no") ++ TESTS_DEPS += libwvdbus.so ++endif ++$(TESTS): $(TESTS_DEPS) + + REAL_TESTS = $(filter-out $(TEST_SKIP_OBJS), $(TESTS)) + $(addsuffix .o,$(REAL_TESTS)): +diff --git a/wvrules.mk b/wvrules.mk +index 877f700..921c41b 100644 +--- a/wvrules.mk ++++ b/wvrules.mk +@@ -158,18 +158,18 @@ endif + ../%.o:; @echo "Object $@ does not exist!"; exit 1 + /%.a:; @echo "Library $@ does not exist!"; exit 1 + +-%.o: %.c; $(call wvcc ,$@,$<,$*) +-%.fpic.o: %.c; $(call wvcc ,$@,$<,$*,-fPIC) +-%.o: %.cc; $(call wvcxx,$@,$<,$*) +-%.fpic.o: %.cc; $(call wvcxx,$@,$<,$*,-fPIC) +-%.o: %.cpp; $(call wvcxx,$@,$<,$*) +-%.fpic.o:%.cpp; $(call wvcxx,$@,$<,$*,-fPIC) +-%.s: %.c; $(call wvcc ,$@,$<,$*,,-S) +-%.s: %.cc; $(call wvcxx,$@,$<,$*,,-S) +-%.s: %.cpp; $(call wvcxx,$@,$<,$*,,-S) +-%.E: %.c; $(call wvcc,$@,$<,$*,,-E) +-%.E: %.cc; $(call wvcxx,$@,$<,$*,,-E) +-%.E: %.cpp; $(call wvcxx,$@,$<,$*,,-E) ++%.o: CC %.c; $(call wvcc ,$@,$<,$*) ++%.fpic.o: CC %.c; $(call wvcc ,$@,$<,$*,-fPIC) ++%.o: CXX %.cc; $(call wvcxx,$@,$<,$*) ++%.fpic.o: CXX %.cc; $(call wvcxx,$@,$<,$*,-fPIC) ++%.o: CXX %.cpp; $(call wvcxx,$@,$<,$*) ++%.fpic.o: CXX %.cpp; $(call wvcxx,$@,$<,$*,-fPIC) ++%.s: CC %.c; $(call wvcc ,$@,$<,$*,,-S) ++%.s: CXX %.cc; $(call wvcxx,$@,$<,$*,,-S) ++%.s: CXX %.cpp; $(call wvcxx,$@,$<,$*,,-S) ++%.E: CC %.c; $(call wvcc,$@,$<,$*,,-E) ++%.E: CXX %.cc; $(call wvcxx,$@,$<,$*,,-E) ++%.E: CXX %.cpp; $(call wvcxx,$@,$<,$*,,-E) + + %.moc: %.h; $(MOC) -o $@ $< + diff --git a/SOURCES/wvstreams-4.6.1-statinclude.patch b/SOURCES/wvstreams-4.6.1-statinclude.patch new file mode 100644 index 0000000..93d3d9e --- /dev/null +++ b/SOURCES/wvstreams-4.6.1-statinclude.patch @@ -0,0 +1,24 @@ +diff -urNp wvstreams-4.6.1-orig/include/wvunixdgsocket.h wvstreams-4.6.1/include/wvunixdgsocket.h +--- wvstreams-4.6.1-orig/include/wvunixdgsocket.h 2008-07-14 21:11:35.000000000 +0200 ++++ wvstreams-4.6.1/include/wvunixdgsocket.h 2010-01-13 14:01:13.000000000 +0100 +@@ -4,6 +4,7 @@ + #include + #include + #include ++#include + #include + + #include "wvlog.h" +diff -urNp wvstreams-4.6.1-orig/streams/wvatomicfile.cc wvstreams-4.6.1/streams/wvatomicfile.cc +--- wvstreams-4.6.1-orig/streams/wvatomicfile.cc 2009-05-13 23:42:52.000000000 +0200 ++++ wvstreams-4.6.1/streams/wvatomicfile.cc 2010-01-13 14:40:30.000000000 +0100 +@@ -11,9 +11,7 @@ + #include "wvfileutils.h" + #include "wvstrutils.h" + +-#ifdef MACOS + #include +-#endif + + WvAtomicFile::WvAtomicFile(WvStringParm filename, int flags, mode_t create_mode) + : tmp_file(WvString::null) diff --git a/SPECS/libwvstreams.spec b/SPECS/libwvstreams.spec new file mode 100644 index 0000000..0e6043c --- /dev/null +++ b/SPECS/libwvstreams.spec @@ -0,0 +1,330 @@ +Name: libwvstreams +Version: 4.6.1 +Release: 9%{?dist} +Summary: WvStreams is a network programming library written in C++ +Source: http://wvstreams.googlecode.com/files/wvstreams-%{version}.tar.gz +#fixed multilib issue (bug #192717) +Patch1: wvstreams-4.2.2-multilib.patch +#install-xplc target was missing +Patch2: wvstreams-4.5-noxplctarget.patch +#Fix parallel build (#226061) +Patch3: wvstreams-4.6.1-make.patch +#sys/stat.h is missing some files in rawhide build +Patch4: wvstreams-4.6.1-statinclude.patch +#const X509V3_EXT_METHOD * -> X509V3_EXT_METHOD * conversion not allowed +#by rawhide gcc +Patch5: wvstreams-4.6.1-gcc.patch +# fix missing unistd.h header for gcc 4.7 +Patch6: wvstreams-4.6.1-gcc47.patch +Patch7: wvstreams-4.6.1-magic.patch +URL: https://code.google.com/p/wvstreams/ +Group: System Environment/Libraries +BuildRequires: openssl-devel, pkgconfig, zlib-devel, readline-devel, dbus-devel +License: LGPLv2+ + +%description +WvStreams aims to be an efficient, secure, and easy-to-use library for +doing network applications development. + +%package devel +Summary: Development files for WvStreams +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +WvStreams aims to be an efficient, secure, and easy-to-use library for +doing network applications development. This package contains the files +needed for developing applications which use WvStreams. + +%package static +Summary: Static libraries files for WvStreams +Group: Development/Libraries + +%description static +WvStreams aims to be an efficient, secure, and easy-to-use library for +doing network applications development. This package contains static libraries. + +%prep +%setup -q -n wvstreams-%{version} +%patch1 -p1 -b .multilib +%patch2 -p1 -b .xplctarget +%patch3 -p1 -b .make +%patch4 -p1 -b .statinclude +%patch5 -p1 -b .gcc +%patch6 -p1 -b .gcc47 +%patch7 -p1 -b .magic + +%build + +export CXXFLAGS="$RPM_OPT_FLAGS -fPIC -fpermissive -fno-strict-aliasing -fno-tree-dce -fno-optimize-sibling-calls" +export CFLAGS="$RPM_OPT_FLAGS -fPIC -fno-strict-aliasing" + +# --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) +# --with-dbus DBUS +# --with-openssl OpenSSL >= 0.9.7 (required) +# --with-pam PAM +# --with-tcl Tcl +# --with-qt Qt +# --with-zlib zlib (required) +touch configure +%configure --with-dbus=yes \ + --with-pam \ + --with-openssl \ + --without-tcl \ + --with-qt=no \ + --disable-optimization # -O2 will be turned on because of RPM_OPT_FLAFS, + # but it won't be appended at the end of CFLAGS + +#upstream is working with .a lib, so hardcoding path to libdbus-1.so to prevent build failures +make %{?_smp_mflags} + +%install +make install DESTDIR=$RPM_BUILD_ROOT +chmod 755 $RPM_BUILD_ROOT%{_libdir}/*.so.* +rm -fr $RPM_BUILD_ROOT/usr/bin + +pushd $RPM_BUILD_ROOT +rm -f \ + ./etc/uniconf.conf \ + .%{_bindir}/uni \ + .%{_libdir}/pkgconfig/libwvqt.pc \ + .%{_sbindir}/uniconfd \ + .%{_mandir}/man8/uni.8* \ + .%{_mandir}/man8/uniconfd.8* \ + .%{_var}/lib/uniconf/uniconfd.ini +popd + +%files +%defattr(-,root,root,-) +%doc LICENSE README +%{_libdir}/*.so.* + +%files devel +%defattr(-,root,root,-) +%{_includedir}/wvstreams +%{_libdir}/*.so +%{_libdir}/valgrind/*.supp +%{_libdir}/pkgconfig/*.pc + +%files static +%defattr(-,root,root,-) +%{_libdir}/*.a + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%changelog +* Tue Jul 09 2013 Michal Sekletar - 4.6.1-9 +- put static libraries into subpackage +- disable strict aliasing optimizations to prevent warnings and possible crashes +- fix changelog dates + +* Thu Feb 14 2013 Fedora Release Engineering - 4.6.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jul 19 2012 Fedora Release Engineering - 4.6.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jun 14 2012 Michal Sekletar - 4.6.1-6 +- Disabled optimizations which caused crash related to #812651 + +* Mon Jun 04 2012 Michal Sekletar - 4.6.1-5 +- Fix crashes caused by compiler optimizations, #812651 + +* Thu Jan 05 2012 Jan Synáček - 4.6.1-4 +- Fix missing unistd.h header for gcc 4.7 + +* Tue Feb 08 2011 Fedora Release Engineering - 4.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 12 2010 Ondrej Vasik - 4.6.1-2 +- Merge review changes: added few comments, do not use "-fpermissive" + for COPTS, use parallel build (#226061) + +* Thu Nov 12 2009 Ondrej Vasik - 4.6.1-1 +- new upstream release 4.6.1 + +* Fri Aug 21 2009 Tomas Mraz - 4.6-5 +- rebuilt with new openssl + +* Sat Jul 25 2009 Fedora Release Engineering - 4.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sat Jun 27 2009 Ondrej Vasik - 4.6-3 +- another fix for build with dbus(#479144) + +* Sat Jun 27 2009 Ondrej Vasik - 4.6-2 +- add build requires for dbus-devel, build with libdbus-1.so + (#479144) +- fix multilib issue with wvautoconf.h(#508418) + +* Thu Jun 11 2009 Ondrej Vasik - 4.6-1 +- new upstream release with dynamically linked dbus(#479144) + +* Fri Feb 27 2009 Ondrej Vasik - 4.5.1-5 +- fix rebuild failure with gcc 4.4 + +* Wed Feb 25 2009 Fedora Release Engineering - 4.5.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Jan 17 2009 Tomas Mraz - 4.5.1-3 +- rebuild with new openssl + +* Fri Jan 09 2009 Ondrej Vasik - 4.5.1-2 +- do not remove libwvdbus.pc (#479144) + +* Thu Jan 08 2009 Ondrej Vasik - 4.5.1-1 +- new upstream release 4.5.1 , removed applied patches +- activate --with-dbus(#479144) + +* Fri Nov 21 2008 Ondrej Vasik - 4.5-1 +- new upstream release +- fixed issue with missing install-xplc target and std::sort + missing gcc-4.3 error +- updated optional configure options list in spec file + +* Fri Aug 29 2008 Ondrej Vasik - 4.4.1-5 +- patch fuzz clean up + +* Tue Feb 12 2008 Ondrej Vasik - 4.4.1-4 +- gcc43 rebuild, climits instead limits.h usage + +* Wed Dec 05 2007 Ondrej Vasik - 4.4.1-3 +- rebuilt because of new OpenSSL + +* Wed Nov 28 2007 Ondrej Vasik - 4.4.1-2 +- no use of obsolete sa_restorer(#402531- by Oliver Falk) + +* Mon Oct 22 2007 Ondrej Vasik - 4.4.1-1 +- version 4.4.1 + +* Fri Aug 17 2007 Harald Hoyer - 4.4-1 +- version 4.4 +- changed license tag to LGPLv2+ + +* Thu Jun 28 2007 Harald Hoyer - 4.3-2 +- added static libs, esp. xplc-cxx + +* Thu Jun 28 2007 Harald Hoyer - 4.3-1 +- version 4.3 + +* Wed Apr 18 2007 Harald Hoyer - 4.2.2-4 +- specfile review + +* Wed Jan 24 2007 Harald Hoyer - 4.2.2-3 +- fixed code for new g++ version + +* Wed Jul 12 2006 Jesse Keating - 4.2.2-2.1 +- rebuild + +* Fri Jun 02 2006 Harald Hoyer 4.2.2-2 +- more corrections to multilib patch (bug #192717) + +* Wed May 24 2006 Harald Hoyer 4.2.2-1 +- version 4.2.2 +- fixed multilib issue (bug #192717) + +* Fri Mar 10 2006 Bill Nottingham - 4.2.1-2 +- rebuild for ppc TLS issue (#184446) + +* Fri Feb 10 2006 Jesse Keating - 4.2.1-1.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 4.2.1-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Mon Dec 19 2005 Harald Hoyer 4.2.1-1 +- version 4.2.1 + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Wed Nov 9 2005 Tomas Mraz 3.75.0-6 +- rebuilt against new openssl +- the gcc4 patch shouldn't be used anymore + +* Mon Mar 14 2005 Harald Hoyer 3.75.0-5 +- gcc4 patch added + +* Wed Mar 2 2005 Jindrich Novy 3.75.0-4 +- rebuilt + +* Wed Feb 09 2005 Harald Hoyer +- rebuilt + +* Mon Jun 28 2004 Harald Hoyer 3.75.0-2 +- added libwvstreams-3.75.0-stringbuf.patch (114996) + +* Mon Jun 21 2004 Harald Hoyer 3.75.0-1 +- version 3.75.0 + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Fri Oct 10 2003 Nalin Dahyabhai 3.70-12 +- link libwvstreams shared libs against libcrypt, upon which they depend + +* Mon Sep 8 2003 Nalin Dahyabhai 3.70-11 +- rebuild + +* Mon Sep 8 2003 Nalin Dahyabhai 3.70-10 +- rebuild + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Tue Jan 7 2003 Nalin Dahyabhai 3.70-7 +- rebuild + +* Fri Jan 3 2003 Nalin Dahyabhai +- correct an const/not-const type mismatch that breaks compilation with newer + OpenSSL +- add flags from pkgconfig so that OpenSSL is always found + +* Tue Sep 10 2002 Mike A. Harris 3.70-6 +- use FHS macros for multilib systems + +* Sat Aug 10 2002 Elliot Lee +- rebuilt with gcc-3.2 (we hope) + +* Mon Jul 22 2002 Tim Powers +- rebuild using gcc-3.2-0.1 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Sun May 26 2002 Tim Powers +- automated rebuild + +* Mon May 20 2002 Nalin Dahyabhai 3.70-1 +- patch to build with gcc 3.x +- build with -fPIC + +* Wed Apr 10 2002 Nalin Dahyabhai +- update to 3.70 + +* Wed Mar 27 2002 Nalin Dahyabhai 3.69-1 +- pull in from upstream tarball + +* Wed Feb 27 2002 Nalin Dahyabhai +- merge the main and -devel packages into one .spec file +- use globbing to shorten the file lists +- don't define name, version, and release as macros (RPM does this by default) +- use the License: tag instead of Copyright: (equivalent at the package level, + but License: reflects the intent of the tag better) +- use a URL to point to the source of the source tarball +- add BuildRequires: openssl-devel (libwvcrypto uses libcrypto) +- move the buildroot to be under %%{_tmppath}, so that it can be moved by + altering RPM's configuration + +* Tue Jan 29 2002 Patrick Patterson +- Initial Release of WvStreams