diff --git a/.gitignore b/.gitignore index ce8af4b..349da28 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,13 @@ ucommon-3.3.4.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 9fad85f..7bdb057 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -07b0ac6aa23b18e25616dc724ce7bf4c ucommon-6.1.3.tar.gz +SHA512 (ucommon-7.0.0.tar.gz) = d32f8603d920eb98b5d4bc75224a7a8bb8bf2001a8dd3152626a8438ea4c39503a7446dec3aa90cf464b7abb68a6e42bac488ef9705517bd333b64bce219915b diff --git a/ucommon.spec b/ucommon.spec index bdfefa3..60caa45 100644 --- a/ucommon.spec +++ b/ucommon.spec @@ -8,16 +8,23 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -Name: ucommon -Summary: Portable C++ framework for threads and sockets -Version: 6.1.3 -Release: 3%{?dist} -License: LGPLv3+ -URL: http://www.gnu.org/software/commoncpp -Source0: http://dev.gnutelephony.org/dist/tarballs/ucommon-%{version}.tar.gz -BuildRequires: doxygen graphviz-gd openssl-devel cmake -Group: System Environment/Libraries -Summary: 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 @@ -29,68 +36,59 @@ 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}%{?_isa} = %{version}-%{release} -Group: Applications/System -Summary: GNU uCommon system and support applications - -%package devel -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: openssl-devel%{?_isa} -Requires: pkgconfig -Group: Development/Libraries -Summary: Headers for building GNU uCommon applications - -%package doc -Group: Documentation -Summary: Generated class documentation for GNU 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 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. + %prep -%setup -q +%autosetup -p1 + %build -%cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DSYSCONFDIR=%{_sysconfdir} \ - -DINSTALL_MANDIR=%{_mandir} \ - -DINSTALL_INCLUDEDIR=%{_includedir} \ - -DINSTALL_BINDIR=%{_bindir} \ - -DINSTALL_SBINDIR=%{_sbindir} \ - -DINSTALL_LIBEXEC=%{_libexecdir} \ - -DINSTALL_LIBDIR=%{_libdir} \ - . +export CXXFLAGS="-std=c++14 %{optflags}" +%cmake -DBUILD_DOCS=ON +%cmake_build +%cmake_build --target doc -%{__make} %{?_smp_mflags} -%{__rm} -rf doc/html -%{__make} doc %install -%{__make} DESTDIR=%{buildroot} INSTALL="install -p" install -%{__chmod} 0755 %{buildroot}%{_bindir}/ucommon-config -%{__chmod} 0755 %{buildroot}%{_bindir}/commoncpp-config +%cmake_install + %files -%defattr(-,root,root,-) -%doc AUTHORS README COPYING COPYING.LESSER NEWS SUPPORT ChangeLog -%{_libdir}/libucommon.so.* -%{_libdir}/libusecure.so.* -%{_libdir}/libcommoncpp.so.* +%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 @@ -99,6 +97,7 @@ HTML format. %{_bindir}/scrub-files %{_bindir}/car %{_bindir}/keywait +%{_bindir}/urlout %{_mandir}/man1/args.* %{_mandir}/man1/car.* %{_mandir}/man1/mdsum.* @@ -107,27 +106,144 @@ HTML format. %{_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 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) +