diff --git a/.gitignore b/.gitignore index ca18b76..349da28 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,26 @@ ucommon-3.3.4.tar.gz /ucommon-5.0.4.tar.gz /ucommon-5.1.2.tar.gz /ucommon-5.2.0.tar.gz +/ucommon-5.2.1.tar.gz +/ucommon-5.2.2.tar.gz +/ucommon-5.4.1.tar.gz +/ucommon-5.4.2.tar.gz +/ucommon-5.4.3.tar.gz +/ucommon-5.5.0.tar.gz +/ucommon-6.0.0.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 9750f19..7bdb057 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c113a611a8b11a37b5d477ec1a0b2d9e ucommon-5.2.0.tar.gz +SHA512 (ucommon-7.0.0.tar.gz) = d32f8603d920eb98b5d4bc75224a7a8bb8bf2001a8dd3152626a8438ea4c39503a7446dec3aa90cf464b7abb68a6e42bac488ef9705517bd333b64bce219915b diff --git a/ucommon.spec b/ucommon.spec index 92e61bb..60caa45 100644 --- a/ucommon.spec +++ b/ucommon.spec @@ -8,86 +8,87 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -Name: ucommon -Summary: Portable C++ framework for threads and sockets -Version: 5.2.0 -Release: 1%{?dist} -License: LGPLv3+ -URL: http://www.gnu.org/software/commoncpp -Source0: http://www.gnutelephony.org/dist/tarballs/ucommon-%{version}.tar.gz -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 +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 + %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 -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 +Summary: GNU uCommon system and support applications +Requires: %{name}%{?_isa} = %{version}-%{release} %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 +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, -html browsable. +Generated class documentation for GNU uCommon library from header files in +HTML format. + %prep -%setup -q +%autosetup -p1 + + %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 -%{__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 +%cmake_install -%clean -%{__rm} -rf %{buildroot} -%files -%defattr(-,root,root,-) -%doc AUTHORS README COPYING COPYING.LESSER NEWS SUPPORT ChangeLog -%{_libdir}/libucommon.so.* -%{_libdir}/libusecure.so.* -%{_libdir}/libcommoncpp.so.* +%files +%doc AUTHORS README NEWS SUPPORT ChangeLog +%license COPYING COPYING.LESSER +%{_libdir}/libucommon.so.8* +%{_libdir}/libusecure.so.8* +%{_libdir}/libcommoncpp.so.8* %files bin -%defattr(-,root,root,-) %{_bindir}/args %{_bindir}/mdsum %{_bindir}/pdetach @@ -95,6 +96,8 @@ html browsable. %{_bindir}/zerofill %{_bindir}/scrub-files %{_bindir}/car +%{_bindir}/keywait +%{_bindir}/urlout %{_mandir}/man1/args.* %{_mandir}/man1/car.* %{_mandir}/man1/mdsum.* @@ -102,27 +105,206 @@ html browsable. %{_mandir}/man1/scrub-files.* %{_mandir}/man1/sockaddr.* %{_mandir}/man1/zerofill.* +%{_mandir}/man1/keywait.* +%{_mandir}/man1/urlout.* %files devel -%defattr(-,root,root,-) -%{_libdir}/*.so +%{_bindir}/ucommon-config +%{_bindir}/commoncpp-config +%{_datadir}/%{name}/ %{_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 -%defattr(-,root,root,-) -%doc doc/html/* +%doc %{_vpath_builddir}/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 + +* Sun Jul 28 2013 David Sugar - 6.0.7-1 +- Fix for fsys error state reset on file open + +* Sun May 05 2013 David Sugar - 6.0.4-1 +- Fix for commoncpp address list comparisons + +* Fri Feb 15 2013 Fedora Release Engineering - 6.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Nov 29 2012 David Sugar - 6.0.2-1 +- Added hmac to usecure + +* Tue Nov 20 2012 David Sugar - 6.0.0-1 +- new version 6 ucommon api. + +* Mon Aug 06 2012 David Sugar - 5.5.0-1 +- new listof and mapof classes +- other transitional api changes related to future 6.0 release + +* Sun Jul 22 2012 Fedora Release Engineering - 5.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jul 05 2012 David Sugar - 5.4.3-1 +- fix for threaded queue and stack object creation + +* Wed Jun 27 2012 David Sugar - 5.4.2-1 +- upstream fixes for zrtp issues in commoncpp host address +- upstream fix for ConditionalAccess + +* Tue Jun 26 2012 David Sugar - 5.4.1-1 +- new upstream release +- string and process api's extended and clarified +- transitional to 6.0 + +* Sat Mar 31 2012 David Sugar - 5.2.2-1 +- new upstream release +- resolved multi-arch for library paths +- fixed stringpager +- added additional old commoncpp classes back +- honor LC_COLLATE for sorting + +* Tue Feb 28 2012 Fedora Release Engineering - 5.2.0-2 +- Rebuilt for c++ ABI breakage + * Sat Jan 21 2012 David Sugar - 5.2.0-1 - New upstream release - Improved Common C++ compatibility diff --git a/ucommon_cmakever.patch b/ucommon_cmakever.patch new file mode 100644 index 0000000..2413631 --- /dev/null +++ b/ucommon_cmakever.patch @@ -0,0 +1,12 @@ +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) +