From 99dcd60e50808bf7995b427f4788f50e9fa5969f Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 9 Jun 2020 19:43:01 +0000 Subject: [PATCH] import libgit2-0.26.8-2.el8 --- .gitignore | 1 + .libgit2.metadata | 1 + ...disable-optimization-on-debug-builds.patch | 30 ++ ...-increase-strict-aliasing-level-to-3.patch | 43 +++ SOURCES/0003-Disable-online-tests.patch | 31 +++ ...s-Increase-TOOBIG-value-used-on-i686.patch | 28 ++ ...enssl-Use-the-system-profile-ciphers.patch | 30 ++ SOURCES/README.rhel8 | 2 + SPECS/libgit2.spec | 260 ++++++++++++++++++ 9 files changed, 426 insertions(+) create mode 100644 .gitignore create mode 100644 .libgit2.metadata create mode 100644 SOURCES/0001-Revert-cmake-disable-optimization-on-debug-builds.patch create mode 100644 SOURCES/0002-CMakeLists-increase-strict-aliasing-level-to-3.patch create mode 100644 SOURCES/0003-Disable-online-tests.patch create mode 100644 SOURCES/0004-tests-Increase-TOOBIG-value-used-on-i686.patch create mode 100644 SOURCES/0005-openssl-Use-the-system-profile-ciphers.patch create mode 100644 SOURCES/README.rhel8 create mode 100644 SPECS/libgit2.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bfe1b29 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libgit2-0.26.8.tar.gz diff --git a/.libgit2.metadata b/.libgit2.metadata new file mode 100644 index 0000000..04f50a3 --- /dev/null +++ b/.libgit2.metadata @@ -0,0 +1 @@ +ec4242317439239e53c5a137f918fcee9d21bcef SOURCES/libgit2-0.26.8.tar.gz diff --git a/SOURCES/0001-Revert-cmake-disable-optimization-on-debug-builds.patch b/SOURCES/0001-Revert-cmake-disable-optimization-on-debug-builds.patch new file mode 100644 index 0000000..078ccf5 --- /dev/null +++ b/SOURCES/0001-Revert-cmake-disable-optimization-on-debug-builds.patch @@ -0,0 +1,30 @@ +From 84e1cf46a5695623b4d18d63337858b131733f9b Mon Sep 17 00:00:00 2001 +From: "Brian C. Lane" +Date: Wed, 5 Sep 2018 16:42:32 -0700 +Subject: [PATCH] Revert "cmake: disable optimization on debug builds" + +We want the CFLAGS optimization level to be used by gcc, not -O0 + +This reverts commit a64532e107b40202d2cdd602c8c821f402bad429. + +Signed-off-by: Brian C. Lane +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index acce6fd89..9220be028 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -478,7 +478,7 @@ ELSE () + SET(CMAKE_C_FLAGS "-std=c99 -D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS ${CMAKE_C_FLAGS}") + ENDIF() + +- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -O0") ++ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG") + + IF (MINGW OR MSYS) # MinGW and MSYS always do PIC and complain if we tell them to + STRING(REGEX REPLACE "-fPIC" "" CMAKE_SHARED_LIBRARY_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") +-- +2.17.1 + diff --git a/SOURCES/0002-CMakeLists-increase-strict-aliasing-level-to-3.patch b/SOURCES/0002-CMakeLists-increase-strict-aliasing-level-to-3.patch new file mode 100644 index 0000000..e4ee8a5 --- /dev/null +++ b/SOURCES/0002-CMakeLists-increase-strict-aliasing-level-to-3.patch @@ -0,0 +1,43 @@ +From ed4523f393760c28453cd93eae6d4eb6da5014fc Mon Sep 17 00:00:00 2001 +From: Patrick Steinhardt +Date: Fri, 16 Feb 2018 10:50:54 +0000 +Subject: [PATCH] CMakeLists: increase strict aliasing level to 3 + +The strict aliasing rules disallow dereferencing the pointer to a +variable of a certain type as another type, which is frequently used +e.g. when casting structs to their base type. We currently have the +warning level for strict aliasing rules set to `2`, which is described +by gcc(1) as being "Aggressive, quick, not too precise." And in fact, we +experience quite a lot of warnings when doing a release build due to +that. + +GCC provides multiple levels, where higher levels are more accurate, but +also slower due to the additional analysis required. Still, we want to +have warning level 3 instead of 2 to avoid the current warnings we have +in the Travis CI release builds. As this is the default warning level +when no level is passed to `-Wstrict-aliasing`, we can just remove the +level and use that default. + +(cherry picked from commit 522f3e4b4bedf9e4226f5e16498934b26d80dfbc) + +Related: rhbz#1624129 +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9220be028..786e32966 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -497,7 +497,7 @@ ELSE () + + ADD_C_FLAG_IF_SUPPORTED(-Wdocumentation) + ADD_C_FLAG_IF_SUPPORTED(-Wno-missing-field-initializers) +- ADD_C_FLAG_IF_SUPPORTED(-Wstrict-aliasing=2) ++ ADD_C_FLAG_IF_SUPPORTED(-Wstrict-aliasing) + ADD_C_FLAG_IF_SUPPORTED(-Wstrict-prototypes) + ADD_C_FLAG_IF_SUPPORTED(-Wdeclaration-after-statement) + ADD_C_FLAG_IF_SUPPORTED(-Wno-unused-const-variable) +-- +2.17.1 + diff --git a/SOURCES/0003-Disable-online-tests.patch b/SOURCES/0003-Disable-online-tests.patch new file mode 100644 index 0000000..a7b2ad7 --- /dev/null +++ b/SOURCES/0003-Disable-online-tests.patch @@ -0,0 +1,31 @@ +From 25567536469c9cbe75445bb9875c7f10ff7f9ba2 Mon Sep 17 00:00:00 2001 +From: "Brian C. Lane" +Date: Wed, 15 May 2019 12:05:34 -0700 +Subject: [PATCH] Disable online tests + +We do not support online tests during build, and with ssh disabled that +one also doesn't apply. + +Related: rhbz#1638880 +--- + CMakeLists.txt | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index eabc524..5a23d01 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -705,10 +705,6 @@ IF (BUILD_CLAR) + ENABLE_TESTING() + + ADD_TEST(offline libgit2_clar -v -xonline) +- ADD_TEST(online libgit2_clar -v -sonline) +- ADD_TEST(gitdaemon libgit2_clar -v -sonline::push) +- ADD_TEST(ssh libgit2_clar -v -sonline::push -sonline::clone::ssh_cert -sonline::clone::ssh_with_paths) +- ADD_TEST(proxy libgit2_clar -v -sonline::clone::proxy_credentials_in_url -sonline::clone::proxy_credentials_request) + ENDIF () + + IF (TAGS) +-- +2.20.1 + diff --git a/SOURCES/0004-tests-Increase-TOOBIG-value-used-on-i686.patch b/SOURCES/0004-tests-Increase-TOOBIG-value-used-on-i686.patch new file mode 100644 index 0000000..10d73b6 --- /dev/null +++ b/SOURCES/0004-tests-Increase-TOOBIG-value-used-on-i686.patch @@ -0,0 +1,28 @@ +From 53686ab27d6fa7f78274e6ec7efd846626e1eb65 Mon Sep 17 00:00:00 2001 +From: "Brian C. Lane" +Date: Wed, 31 Oct 2018 12:13:01 -0700 +Subject: [PATCH] tests: Increase TOOBIG value used on i686 + +0x0fffffff isn't big enough. + +Related: rhbz#1638880 +--- + tests/buf/oom.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/buf/oom.c b/tests/buf/oom.c +index 16a03cc1a..c01e87895 100644 +--- a/tests/buf/oom.c ++++ b/tests/buf/oom.c +@@ -12,7 +12,7 @@ + #if defined(GIT_ARCH_64) && defined(__linux__) + # define TOOBIG 0x0fffffffffffffff + #elif defined(__linux__) +-# define TOOBIG 0x0fffffff ++# define TOOBIG 0xffffff00 + #elif defined(GIT_ARCH_64) + # define TOOBIG 0xffffffffffffff00 + #else +-- +2.20.1 + diff --git a/SOURCES/0005-openssl-Use-the-system-profile-ciphers.patch b/SOURCES/0005-openssl-Use-the-system-profile-ciphers.patch new file mode 100644 index 0000000..f32e754 --- /dev/null +++ b/SOURCES/0005-openssl-Use-the-system-profile-ciphers.patch @@ -0,0 +1,30 @@ +From 04916e405fb34f98497536ee5cec5b48c137dac1 Mon Sep 17 00:00:00 2001 +From: "Brian C. Lane" +Date: Tue, 2 Jun 2020 10:39:45 -0700 +Subject: [PATCH] openssl: Use the system profile ciphers + +On Fedora and RHEL we let the system decide which ciphers to use instead +of setting them explicitly. + +Resolves: rhbz#1842814 +--- + src/openssl_stream.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/openssl_stream.c b/src/openssl_stream.c +index 6bab6b54a..fbf3bd578 100644 +--- a/src/openssl_stream.c ++++ b/src/openssl_stream.c +@@ -35,7 +35,8 @@ + + SSL_CTX *git__ssl_ctx; + +-#define GIT_SSL_DEFAULT_CIPHERS "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-DSS-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA256:DHE-DSS-AES128-SHA:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA" ++/* rhbz#1842814 use the system defined ciphers. Override with GIT_OPT_SET_SSL_CIPHERS */ ++#define GIT_SSL_DEFAULT_CIPHERS "PROFILE=SYSTEM" + + #if defined(GIT_THREADS) && OPENSSL_VERSION_NUMBER < 0x10100000L + +-- +2.26.2 + diff --git a/SOURCES/README.rhel8 b/SOURCES/README.rhel8 new file mode 100644 index 0000000..12f63c5 --- /dev/null +++ b/SOURCES/README.rhel8 @@ -0,0 +1,2 @@ +This version of libgit2 is built without ssh support. libssh2 is not shipped +with RHEL 8 so the USE_SSH flag has been set to OFF in the build. diff --git a/SPECS/libgit2.spec b/SPECS/libgit2.spec new file mode 100644 index 0000000..c839d76 --- /dev/null +++ b/SPECS/libgit2.spec @@ -0,0 +1,260 @@ +Name: libgit2 +Version: 0.26.8 +Release: 2%{?dist} +Summary: C implementation of the Git core methods as a library with a solid API +License: GPLv2 with exceptions +URL: http://libgit2.github.com/ +Source0: https://github.com/libgit2/libgit2/archive/v%{version}/%{name}-%{version}.tar.gz +Source1: README.rhel8 + +Patch0001: 0001-Revert-cmake-disable-optimization-on-debug-builds.patch +Patch0002: 0002-CMakeLists-increase-strict-aliasing-level-to-3.patch +Patch0003: 0003-Disable-online-tests.patch +Patch0004: 0004-tests-Increase-TOOBIG-value-used-on-i686.patch +Patch0005: 0005-openssl-Use-the-system-profile-ciphers.patch + +BuildRequires: gcc +BuildRequires: cmake +BuildRequires: http-parser-devel +BuildRequires: libcurl-devel +BuildRequires: openssl-devel +BuildRequires: python3-devel +BuildRequires: zlib-devel +Provides: bundled(libxdiff) + +%description +libgit2 is a portable, pure C implementation of the Git core methods +provided as a re-entrant linkable library with a solid API, allowing +you to write native speed custom Git applications in any language +with bindings. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description devel +This package contains libraries and header files for +developing applications that use %{name}. + +%prep +%autosetup -p1 + +# Remove VCS files from examples +find examples -name ".gitignore" -delete -print + +# Fix pkgconfig generation +sed -i 's|@CMAKE_INSTALL_PREFIX@/||' libgit2.pc.in + +# Remove bundled libraries +rm -frv deps + +%build +mkdir %{_target_platform} +pushd %{_target_platform} + %cmake -DTHREADSAFE=ON -DUSE_SSH=OFF .. +popd +%make_build -C %{_target_platform} + +%install +%make_install -C %{_target_platform} +mkdir -p %{buildroot}%{_docdir}/%{name} +install -p -m 0644 -t %{buildroot}%{_docdir}/%{name} %{SOURCE1} + +%check +pushd %{_target_platform} + ctest -VV +popd + +%ldconfig_scriptlets + +%files +%license COPYING +%{_libdir}/%{name}.so.* + +%files devel +%doc AUTHORS docs examples README.md +%doc %{_docdir}/%{name}/README.rhel8 +%{_libdir}/%{name}.so +%{_libdir}/pkgconfig/%{name}.pc +%{_includedir}/git2.h +%{_includedir}/git2/ + +%changelog +* Tue Jun 02 2020 Brian C. Lane - 0.26.8-2 +- openssl: Use the system profile ciphers + Resolves: rhbz#1842814 + +* Wed May 15 2019 Brian C. Lane - 0.26.8-1 +- Update to 0.26.8 + Resolves: rhbz#1638880 +- Disable upstream online tests + Related: rhbz#1638880 +- tests: Increase TOOBIG value used on i686 + Related: rhbz#1638880 + +* Fri Sep 07 2018 Brian C. Lane - 0.26.6-3 +- CMakeLists increase strict aliasing level to 3 + Related: rhbz#1624129 + +* Wed Sep 05 2018 Brian C. Lane - 0.26.6-2 +- Revert overriding -O2 with -O0 in CMakeLists.txt + Resolves: rhbz#1624129 + +* Mon Aug 27 2018 Brian C. Lane - 0.26.6-1 +- Update to 0.26.6 (CVE-2018-15501) + Resolves: rhbz#1615588 + +* Mon Aug 13 2018 Brian C. Lane - 0.26.5-2 +- Use python3-devel in buildroot + Resolves: rhbz#1615577 + +* Tue Jul 17 2018 Brian C. Lane - 0.26.5-1 +- Rebase to 0.26.5 (CVE-2018-11235, CVE-2018-10887, CVE-2018-10888) +- Disable SSH so that libssh2 is not required +- Use python3 when building +- Add README.rhel8 explaining why SSH is disabled + +* Mon Mar 12 2018 Igor Gnatenko - 0.26.3-1 +- Update to 0.26.3 + +* Wed Feb 07 2018 Fedora Release Engineering - 0.26.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Feb 02 2018 Igor Gnatenko - 0.26.0-4 +- Switch to %%ldconfig_scriptlets + +* Thu Aug 03 2017 Fedora Release Engineering - 0.26.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.26.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Jul 08 2017 Igor Gnatenko - 0.26.0-1 +- Update to 0.26.0 + +* Tue Feb 07 2017 Igor Gnatenko - 0.25.1-3 +- Backport patch to fix pkgconfig file under g-ir-scanner + +* Tue Feb 07 2017 Igor Gnatenko - 0.25.1-2 +- Bump release for rebuild + +* Tue Feb 07 2017 Igor Gnatenko - 0.25.1-1 +- Update to 0.25.1 (RHBZ #1395926) + +* Tue Jan 10 2017 Igor Gnatenko - 0.24.6-1 +- Update to 0.24.6 (RHBZ #1411857) + +* Thu Nov 03 2016 Igor Gnatenko - 0.24.3-1 +- Update to 0.24.3 (RHBZ #1391480) +- Add support for OpenSSL 1.1.0 (RHBZ #1383753) + +* Mon Oct 10 2016 Igor Gnatenko - 0.24.2-2 +- Backport patch for CVE-2016-8568, CVE-2016-8569 + +* Tue Oct 04 2016 Igor Gnatenko - 0.24.2-1 +- Update to 0.24.2 (RHBZ #1381398) + +* Wed Apr 13 2016 Igor Gnatenko - 0.24.1-1 +- Update to 0.24.1 + +* Sun Mar 20 2016 Igor Gnatenko - 0.24.0-1 +- Update to 0.24.0 (RHBZ #1310638) + +* Thu Feb 04 2016 Fedora Release Engineering - 0.23.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sun Nov 22 2015 Igor Gnatenko - 0.23.4-1 +- Update to 0.23.4 (RHBZ #1281633) + +* Tue Oct 06 2015 Igor Gnatenko - 0.23.3-1 +- Update to 0.23.3 (RHBZ #1260324) + +* Tue Sep 08 2015 Igor Gnatenko - 0.23.2-1 +- Update to 0.23.2 + +* Wed Sep 02 2015 Veeti Paananen - 0.23.1-1 +- Update to 0.23.1 +- Add curl support + +* Thu Jul 30 2015 Igor Gnatenko - 0.23.0-1 +- Update to 0.23.0 + +* Fri Jul 03 2015 Veeti Paananen - 0.22.3-1 +- Update to 0.22.3 + +* Wed Jun 17 2015 Fedora Release Engineering - 0.22.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Mar 24 2015 Veeti Paananen - 0.22.2-1 +- Update to 0.22.2 + +* Sat Feb 14 2015 Veeti Paananen - 0.22.1-1 +- Update to 0.22.1 + +* Mon Jan 19 2015 Ignacio Casal Quinteiro - 0.22.0-1 +- Update to 0.22.0 + +* Fri Dec 26 2014 Veeti Paananen - 0.21.3-1 +- Update to 0.21.3 + +* Sun Aug 17 2014 Fedora Release Engineering - 0.21.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Aug 06 2014 Christopher Meng - 0.21.1-1 +- Update to 0.21.1 + +* Fri Jul 18 2014 Yaakov Selkowitz - 0.21.0-2 +- Fix memory alignment issues on arm, aarch64, ppc64le (#1115905) + +* Sat Jun 21 2014 Christopher Meng - 0.21.0-1 +- Update to 0.21.0 + +* Fri Jun 06 2014 Karsten Hopp 0.20.0-4 +- temporarily disable checks on ppc64 and s390x (Bugzilla 1105552) + +* Thu Mar 27 2014 Mathieu Bridon - 0.20.0-3 +- Fix build requirement on libssh2-devel. (RHBZ#1039433) + +* Tue Mar 25 2014 Mathieu Bridon - 0.20.0-2 +- Build with the bundled xdiff. +- Disable a failing test. (libgit2#2199) +- Add missing build requirement on libssh2. (RHBZ#1039433) +- Build a thread-safe libgit2. + +* Sun Nov 24 2013 Ignacio Casal Quinteiro - 0.20.0-1 +- 0.20.0 + +* Sat Aug 03 2013 Fedora Release Engineering - 0.19.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jun 25 2013 Veeti Paananen - 0.19.0-1 +- 0.19.0 + +* Wed Jun 19 2013 Dan HorĂ¡k - 0.18.0-5 +- Add htonl() and friends declarations on non-x86 arches +- Rebuilt with fixed libxdiff for big endian arches + +* Thu May 30 2013 Veeti Paananen - 0.18.0-4 +- Update the http-parser patch +- Skip tests that require network connectivity + +* Thu May 30 2013 Tom Callaway - 0.18.0-3 +- use system libxdiff instead of bundled copy + +* Fri May 24 2013 Veeti Paananen - 0.18.0-2 +- Remove unnecessary CMake build flags +- Fix the pkgconfig file + +* Thu May 02 2013 Veeti Paananen - 0.18.0-1 +- Update to version 0.18.0 +- Unbundle the http-parser library + +* Fri Oct 19 2012 Veeti Paananen - 0.17.0-2 +- Use make for building and installation +- Specify minimum CMake version +- Remove useless OpenSSL build dependency +- Move development documentation to the -devel package +- Add code examples to the -devel package + +* Thu Oct 18 2012 Veeti Paananen - 0.17.0-1 +- Initial package.