diff --git a/.gitignore b/.gitignore index 349da28..7e8ee0c 100644 --- a/.gitignore +++ b/.gitignore @@ -31,16 +31,3 @@ ucommon-3.3.4.tar.gz /ucommon-6.0.2.tar.gz /ucommon-6.0.4.tar.gz /ucommon-6.0.7.tar.gz -/ucommon-6.1.0.tar.gz -/ucommon-6.1.1.tar.gz -/ucommon-6.1.3.tar.gz -/ucommon-6.4.4.tar.gz -/ucommon-6.5.1.tar.gz -/ucommon-6.5.3.tar.gz -/ucommon-6.5.4.tar.gz -/ucommon-6.5.7.tar.gz -/ucommon-6.6.0.tar.gz -/ucommon-6.6.1.tar.gz -/v6.6.2.tar.gz -/v7.0.0.tar.gz -/ucommon-7.0.0.tar.gz diff --git a/sources b/sources index 7bdb057..c661360 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ucommon-7.0.0.tar.gz) = d32f8603d920eb98b5d4bc75224a7a8bb8bf2001a8dd3152626a8438ea4c39503a7446dec3aa90cf464b7abb68a6e42bac488ef9705517bd333b64bce219915b +0774a0315beac7b26ec75d44d925f208 ucommon-6.0.7.tar.gz diff --git a/ucommon-6.0.7.hmac.patch b/ucommon-6.0.7.hmac.patch new file mode 100644 index 0000000..ca08273 --- /dev/null +++ b/ucommon-6.0.7.hmac.patch @@ -0,0 +1,73 @@ +diff -up ucommon-6.0.7/openssl/hmac.cpp.orig ucommon-6.0.7/openssl/hmac.cpp +--- ucommon-6.0.7/openssl/hmac.cpp.orig 2013-08-12 15:51:09.945378677 +0300 ++++ ucommon-6.0.7/openssl/hmac.cpp 2013-08-13 00:26:11.198421932 +0300 +@@ -17,12 +17,12 @@ + + #include "local.h" + +-bool HMAC::has(const char *id) ++bool ucommon::HMAC::has(const char *id) + { + return (EVP_get_digestbyname(id) != NULL); + } + +-void HMAC::set(const char *digest, const char *key, size_t len) ++void ucommon::HMAC::set(const char *digest, const char *key, size_t len) + { + secure::init(); + +@@ -33,13 +33,13 @@ void HMAC::set(const char *digest, const + + hmactype = EVP_get_digestbyname(digest); + if(hmactype && len) { +- context = new HMAC_CTX; ++ context = new ::HMAC_CTX; + HMAC_CTX_init((HMAC_CTX *)context); + HMAC_Init((HMAC_CTX *)context, key, len, (const EVP_MD *)hmactype); + } + } + +-void HMAC::release(void) ++void ucommon::HMAC::release(void) + { + if(context) + HMAC_cleanup((HMAC_CTX *)context); +@@ -53,7 +53,7 @@ void HMAC::release(void) + textbuf[0] = 0; + } + +-bool HMAC::put(const void *address, size_t size) ++bool ucommon::HMAC::put(const void *address, size_t size) + { + if(!context) + return false; +@@ -62,7 +62,7 @@ bool HMAC::put(const void *address, size + return true; + } + +-const unsigned char *HMAC::get(void) ++const unsigned char * ucommon::HMAC::get(void) + { + unsigned count = 0; + unsigned size = 0; +@@ -74,7 +74,7 @@ const unsigned char *HMAC::get(void) + return NULL; + + HMAC_Final((HMAC_CTX *)context, buffer, &size); +- release(); ++ ucommon::HMAC::release(); + + if(!size) + return NULL; +diff -up ucommon-6.0.7/openssl/local.h.orig ucommon-6.0.7/openssl/local.h +--- ucommon-6.0.7/openssl/local.h.orig 2013-08-12 23:49:24.326050100 +0300 ++++ ucommon-6.0.7/openssl/local.h 2013-08-13 00:08:18.334677496 +0300 +@@ -20,7 +20,7 @@ + #include + #include + #include +-#include ++#include + #include + + #ifdef _MSWINDOWS_ diff --git a/ucommon.spec b/ucommon.spec index 60caa45..ce19be9 100644 --- a/ucommon.spec +++ b/ucommon.spec @@ -8,87 +8,90 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -Name: ucommon -Version: 7.0.0 -Release: 29%{?dist} -Summary: Portable C++ framework for threads and sockets - -License: LGPL-3.0-or-later -URL: http://www.gnu.org/software/commoncpp -Source0: https://ftpmirror.gnu.org/commoncpp/ucommon-%{version}.tar.gz -# Raise minimum cmake version to 3.5 -Patch0: ucommon_cmakever.patch - -BuildRequires: cmake -BuildRequires: gcc-c++ -BuildRequires: doxygen -BuildRequires: graphviz-gd -BuildRequires: gnutls-devel - +Name: ucommon +Summary: Portable C++ framework for threads and sockets +Version: 6.0.7 +Release: 2%{?dist} +License: LGPLv3+ +URL: http://www.gnu.org/software/commoncpp +Source0: http://www.gnutelephony.org/dist/tarballs/ucommon-%{version}.tar.gz +Patch0: ucommon-6.0.7.hmac.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +BuildRequires: doxygen graphviz-gd openssl-devel +Group: System Environment/Libraries +Summary: Runtime library for portable C++ threading and sockets %description GNU uCommon C++ is a lightweight library to facilitate using C++ design patterns even for very deeply embedded applications, such as for systems using -uclibc along with POSIX threading support. For this reason, uCommon disables +uClibc along with POSIX threading support. For this reason, uCommon disables language features that consume memory or introduce runtime overhead. UCommon introduces some design patterns from Objective-C, such as reference counted objects, memory pools, and smart pointers. UCommon introduces some new concepts for handling of thread locking and synchronization. Starting with release 5.0, GNU uCommon also bundles GNU Common C++ libraries. - %package bin -Summary: GNU uCommon system and support applications -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name} = %{version}-%{release} +Group: Applications/System +Summary: ucommon system and support applications + +%package devel +Requires: %{name} = %{version}-%{release} +Requires: %{name}-bin = %{version}-%{release} +Requires: openssl-devel +Requires: pkgconfig +Group: Development/Libraries +Summary: Headers for building uCommon applications + +%package doc +Group: Documentation +Summary: Generated class documentation for uCommon %description bin This is a collection of command line tools that use various aspects of the -ucommon library. Some may be needed to prepare files or for development of +ucommon library. Some may be needed to prepare files or for development of applications. - -%package devel -Summary: Headers for building GNU uCommon applications -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: openssl-devel%{?_isa} -Requires: pkgconfig - %description devel This package provides header and support files needed for building applications that use the uCommon and commoncpp libraries. - -%package doc -Summary: Generated class documentation for GNU uCommon - %description doc -Generated class documentation for GNU uCommon library from header files in -HTML format. - +Generated class documentation for GNU uCommon library from header files, +html browsable. %prep -%autosetup -p1 +%setup -q +%patch0 -p1 -b .hmac %build -export CXXFLAGS="-std=c++14 %{optflags}" -%cmake -DBUILD_DOCS=ON -%cmake_build -%cmake_build --target doc +%configure --disable-static +%{__make} %{?_smp_mflags} +%{__rm} -rf doc/html +%{__make} doxy %install -%cmake_install +%{__rm} -rf %{buildroot} +%{__make} DESTDIR=%{buildroot} INSTALL="install -p" install +%{__chmod} 0755 %{buildroot}%{_bindir}/ucommon-config +%{__chmod} 0755 %{buildroot}%{_bindir}/commoncpp-config +%{__rm} %{buildroot}%{_libdir}/*.la +%clean +%{__rm} -rf %{buildroot} %files -%doc AUTHORS README NEWS SUPPORT ChangeLog -%license COPYING COPYING.LESSER -%{_libdir}/libucommon.so.8* -%{_libdir}/libusecure.so.8* -%{_libdir}/libcommoncpp.so.8* +%defattr(-,root,root,-) +%doc AUTHORS README COPYING COPYING.LESSER NEWS SUPPORT ChangeLog +%{_libdir}/libucommon.so.* +%{_libdir}/libusecure.so.* +%{_libdir}/libcommoncpp.so.* %files bin +%defattr(-,root,root,-) %{_bindir}/args %{_bindir}/mdsum %{_bindir}/pdetach @@ -96,8 +99,6 @@ export CXXFLAGS="-std=c++14 %{optflags}" %{_bindir}/zerofill %{_bindir}/scrub-files %{_bindir}/car -%{_bindir}/keywait -%{_bindir}/urlout %{_mandir}/man1/args.* %{_mandir}/man1/car.* %{_mandir}/man1/mdsum.* @@ -105,161 +106,29 @@ export CXXFLAGS="-std=c++14 %{optflags}" %{_mandir}/man1/scrub-files.* %{_mandir}/man1/sockaddr.* %{_mandir}/man1/zerofill.* -%{_mandir}/man1/keywait.* -%{_mandir}/man1/urlout.* %files devel -%{_bindir}/ucommon-config -%{_bindir}/commoncpp-config -%{_datadir}/%{name}/ +%defattr(-,root,root,-) +%{_libdir}/*.so %{_includedir}/ucommon/ %{_includedir}/commoncpp/ -%{_libdir}/*.so %{_libdir}/pkgconfig/*.pc +%{_bindir}/ucommon-config %{_mandir}/man1/ucommon-config.* +%{_bindir}/commoncpp-config %{_mandir}/man1/commoncpp-config.* %files doc -%doc %{_vpath_builddir}/doc/html/* +%defattr(-,root,root,-) +%doc doc/html/* +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 7.0.0-29 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Fri Jun 12 2026 Yaakov Selkowitz - 7.0.0-28 -- Rebuilt for openssl 4.0 - -* Tue Jan 20 2026 Fedora Release Engineering - 7.0.0-27 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Fri Jul 25 2025 Fedora Release Engineering - 7.0.0-26 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jul 17 2025 Sandro Mani - 7.0.0-25 -- Raise minimum cmake version, modernize spec - -* Sun Jan 19 2025 Fedora Release Engineering - 7.0.0-24 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Jul 20 2024 Fedora Release Engineering - 7.0.0-23 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Sat Jan 27 2024 Fedora Release Engineering - 7.0.0-22 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 7.0.0-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jan 21 2023 Fedora Release Engineering - 7.0.0-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 7.0.0-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 7.0.0-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 7.0.0-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jan 27 2021 Fedora Release Engineering - 7.0.0-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Sep 22 2020 Sandro Mani - 7.0.0-16 -- Switch to gnutls - -* Wed Jul 29 2020 Fedora Release Engineering - 7.0.0-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Jeff Law - 7.0.0-14 -- Force C++14 as this code is not C++17 ready - -* Fri Jan 31 2020 Fedora Release Engineering - 7.0.0-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sat Jul 27 2019 Fedora Release Engineering - 7.0.0-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Feb 03 2019 Fedora Release Engineering - 7.0.0-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jul 14 2018 Fedora Release Engineering - 7.0.0-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Feb 19 2018 Sandro Mani - 7.0.0-9 -- Add missing BR: gcc-c++, make - -* Fri Feb 09 2018 Fedora Release Engineering - 7.0.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Aug 03 2017 Fedora Release Engineering - 7.0.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 7.0.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Apr 22 2017 David Sugar - 7.0.0-5 -- Updated source url to new home - -* Tue Feb 14 2017 Sandro Mani - 7.0.0-4 -- Build against openssl-1.0 (does not support openssl-1.1) - -* Sat Feb 11 2017 Fedora Release Engineering - 7.0.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Fri Feb 05 2016 Fedora Release Engineering - 7.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Mon Dec 14 2015 Sandro Mani - 7.0.0-1 -- Update to 7.0.0 - -* Wed Oct 14 2015 Sandro Mani - 6.6.2-1 -- Update to 6.6.2 - -* Mon Oct 05 2015 Sandro Mani - 6.6.1-1 -- Update to 6.6.1 - -* Wed Sep 09 2015 Sandro Mani - 6.6.0-1 -- Update to 6.6.0 - -* Wed Sep 02 2015 Sandro Mani - 6.5.7-1 -- Update to 6.5.7 - -* Mon Aug 24 2015 Sandro Mani - 6.5.4-1 -- Update to 6.5.4 - -* Sun Aug 23 2015 Sandro Mani - 6.5.3-1 -- Update to 6.5.3 - -* Thu Aug 13 2015 Sandro Mani - 6.5.1-1 -- Update to 6.5.1 - -* Mon Aug 03 2015 Sandro Mani - 6.4.4-1 -- Update to 6.4.4 - -* Fri Jun 19 2015 Fedora Release Engineering - 6.1.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sat May 02 2015 Kalev Lember - 6.1.3-4 -- Rebuilt for GCC 5 C++11 ABI change - -* Mon Aug 18 2014 Fedora Release Engineering - 6.1.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 08 2014 Fedora Release Engineering - 6.1.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sat May 03 2014 David Sugar - 6.1.3-1 -- Change to using cmake in rpm build -- Upstream fixes for specific memory corruption issues - -* Mon Apr 14 2014 David Sugar - 6.1.1-1 -- Greater commoncpp compatibility - -* Mon Jan 06 2014 David Sugar - 6.1.0-1 -- Keywait utility added -- Fixes for correcting commoncpp exception handling +* Mon Aug 12 2013 manuel wolfshant 6.0.7-2 +- patch for older gcc * Sun Jul 28 2013 David Sugar - 6.0.7-1 - Fix for fsys error state reset on file open diff --git a/ucommon_cmakever.patch b/ucommon_cmakever.patch deleted file mode 100644 index 2413631..0000000 --- a/ucommon_cmakever.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rupN ucommon-7.0.0/CMakeLists.txt ucommon-7.0.0-new/CMakeLists.txt ---- ucommon-7.0.0/CMakeLists.txt 2015-12-13 12:28:25.000000000 +0100 -+++ ucommon-7.0.0-new/CMakeLists.txt 2025-07-17 20:53:21.196126866 +0200 -@@ -17,7 +17,7 @@ - # meant for generating project files for those working with IDE's to do - # otherwise generic builds of the library and supporting applications. - --cmake_minimum_required(VERSION 2.6) -+cmake_minimum_required(VERSION 3.5) - PROJECT(ucommon) - set (VERSION 7.0.0) -