Compare commits

..

1 commit

Author SHA1 Message Date
Manuel Wolfshant
3e0fc791ee initial EL-5 version; includes hmac patch enabling compilation with old gcc 2013-08-13 18:04:07 +03:00
5 changed files with 135 additions and 218 deletions

13
.gitignore vendored
View file

@ -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

View file

@ -1 +1 @@
SHA512 (ucommon-7.0.0.tar.gz) = d32f8603d920eb98b5d4bc75224a7a8bb8bf2001a8dd3152626a8438ea4c39503a7446dec3aa90cf464b7abb68a6e42bac488ef9705517bd333b64bce219915b
0774a0315beac7b26ec75d44d925f208 ucommon-6.0.7.tar.gz

73
ucommon-6.0.7.hmac.patch Normal file
View file

@ -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 <ucommon/export.h>
#include <ucommon/secure.h>
#include <openssl/ssl.h>
-#include <openssl/evp.h>
+#include <openssl/hmac.h>
#include <openssl/rand.h>
#ifdef _MSWINDOWS_

View file

@ -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 <releng@fedoraproject.org> - 7.0.0-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Fri Jun 12 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 7.0.0-28
- Rebuilt for openssl 4.0
* Tue Jan 20 2026 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jul 17 2025 Sandro Mani <manisandro@gmail.com> - 7.0.0-25
- Raise minimum cmake version, modernize spec
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Sep 22 2020 Sandro Mani <manisandro@gmail.com> - 7.0.0-16
- Switch to gnutls
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Jeff Law <law@redhat.com> - 7.0.0-14
- Force C++14 as this code is not C++17 ready
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Feb 19 2018 Sandro Mani <manisandro@gmail.com> - 7.0.0-9
- Add missing BR: gcc-c++, make
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Apr 22 2017 David Sugar <tychosoft@gmail.com> - 7.0.0-5
- Updated source url to new home
* Tue Feb 14 2017 Sandro Mani <manisandro@gmail.com> - 7.0.0-4
- Build against openssl-1.0 (does not support openssl-1.1)
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Dec 14 2015 Sandro Mani <manisandro@gmail.com> - 7.0.0-1
- Update to 7.0.0
* Wed Oct 14 2015 Sandro Mani <manisandro@gmail.com> - 6.6.2-1
- Update to 6.6.2
* Mon Oct 05 2015 Sandro Mani <manisandro@gmail.com> - 6.6.1-1
- Update to 6.6.1
* Wed Sep 09 2015 Sandro Mani <manisandro@gmail.com> - 6.6.0-1
- Update to 6.6.0
* Wed Sep 02 2015 Sandro Mani <manisandro@gmail.com> - 6.5.7-1
- Update to 6.5.7
* Mon Aug 24 2015 Sandro Mani <manisandro@gmail.com> - 6.5.4-1
- Update to 6.5.4
* Sun Aug 23 2015 Sandro Mani <manisandro@gmail.com> - 6.5.3-1
- Update to 6.5.3
* Thu Aug 13 2015 Sandro Mani <manisandro@gmail.com> - 6.5.1-1
- Update to 6.5.1
* Mon Aug 03 2015 Sandro Mani <manisandro@gmail.com> - 6.4.4-1
- Update to 6.4.4
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.1.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 6.1.3-4
- Rebuilt for GCC 5 C++11 ABI change
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.1.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat May 03 2014 David Sugar <dyfet@gnutelephony.org> - 6.1.3-1
- Change to using cmake in rpm build
- Upstream fixes for specific memory corruption issues
* Mon Apr 14 2014 David Sugar <dyfet@gnutelephony.org> - 6.1.1-1
- Greater commoncpp compatibility
* Mon Jan 06 2014 David Sugar <dyfet@gnutelephony.org> - 6.1.0-1
- Keywait utility added
- Fixes for correcting commoncpp exception handling
* Mon Aug 12 2013 manuel wolfshant <wolfy@fedoraproject.org> 6.0.7-2
- patch for older gcc
* Sun Jul 28 2013 David Sugar <dyfet@gnutelephony.org> - 6.0.7-1
- Fix for fsys error state reset on file open

View file

@ -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)