Compare commits

..

No commits in common. 'c8' and 'epel9' have entirely different histories.
c8 ... epel9

51
.gitignore vendored

@ -1 +1,50 @@
SOURCES/libgit2-0.26.8.tar.gz
/v0.18.0.tar.gz
/v0.19.0.tar.gz
/libgit2-0.20.0.tar.gz
/libgit2-0.21.0.tar.gz
/libgit2-0.21.1.tar.gz
/libgit2-0.22.0.tar.gz
/libgit2-0.22.1.tar.gz
/libgit2-0.22.2.tar.gz
/libgit2-0.22.3.tar.gz
/libgit2-0.23.0.tar.gz
/libgit2-0.23.1.tar.gz
/libgit2-0.23.2.tar.gz
/libgit2-0.23.3.tar.gz
/libgit2-0.23.4.tar.gz
/libgit2-0.24.0.tar.gz
/libgit2-0.24.1.tar.gz
/libgit2-0.24.2.tar.gz
/libgit2-0.24.3.tar.gz
/libgit2-0.24.6.tar.gz
/libgit2-0.25.1.tar.gz
/libgit2-0.26.0.tar.gz
/libgit2-0.26.3.tar.gz
/libgit2-0.26.4.tar.gz
/libgit2-0.26.5.tar.gz
/libgit2-0.26.6.tar.gz
/libgit2-0.27.4.tar.gz
/libgit2-0.27.5.tar.gz
/libgit2-0.27.7.tar.gz
/libgit2-0.27.8.tar.gz
/libgit2-0.28.0-rc1.tar.gz
/libgit2-0.28.0.tar.gz
/libgit2-0.28.1.tar.gz
/libgit2-0.28.2.tar.gz
/libgit2-0.28.3.tar.gz
/libgit2-0.28.4.tar.gz
/libgit2-0.99.0.tar.gz
/libgit2-1.0.0.tar.gz
/libgit2-1.0.1.tar.gz
/libgit2-1.1.0.tar.gz
/libgit2-1.3.0.tar.gz
/libgit2-1.3.1.tar.gz
/libgit2-1.4.4.tar.gz
/libgit2-1.4.5.tar.gz
/libgit2-1.5.1.tar.gz
/libgit2-1.5.2.tar.gz
/libgit2-1.6.2.tar.gz
/libgit2-1.6.3.tar.gz
/libgit2-1.6.4.tar.gz
/libgit2-1.7.1.tar.gz
/libgit2-1.7.2.tar.gz

@ -1 +0,0 @@
ec4242317439239e53c5a137f918fcee9d21bcef SOURCES/libgit2-0.26.8.tar.gz

@ -1,30 +0,0 @@
From 84e1cf46a5695623b4d18d63337858b131733f9b Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
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 <bcl@redhat.com>
---
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

@ -1,43 +0,0 @@
From ed4523f393760c28453cd93eae6d4eb6da5014fc Mon Sep 17 00:00:00 2001
From: Patrick Steinhardt <ps@pks.im>
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

@ -1,31 +0,0 @@
From 25567536469c9cbe75445bb9875c7f10ff7f9ba2 Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@brianlane.com>
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

@ -1,28 +0,0 @@
From 53686ab27d6fa7f78274e6ec7efd846626e1eb65 Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
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

@ -1,30 +0,0 @@
From 04916e405fb34f98497536ee5cec5b48c137dac1 Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
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

@ -1,2 +0,0 @@
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.

@ -1,118 +1,87 @@
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 <bcl@redhat.com> - 0.26.8-2
- openssl: Use the system profile ciphers
Resolves: rhbz#1842814
* Wed May 15 2019 Brian C. Lane <bcl@redhat.com> - 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 <bcl@redhat.com> - 0.26.6-3
- CMakeLists increase strict aliasing level to 3
Related: rhbz#1624129
* Wed Sep 05 2018 Brian C. Lane <bcl@redhat.com> - 0.26.6-2
- Revert overriding -O2 with -O0 in CMakeLists.txt
Resolves: rhbz#1624129
* Mon Aug 27 2018 Brian C. Lane <bcl@redhat.com> - 0.26.6-1
- Update to 0.26.6 (CVE-2018-15501)
Resolves: rhbz#1615588
* Mon Aug 13 2018 Brian C. Lane <bcl@redhat.com> - 0.26.5-2
- Use python3-devel in buildroot
Resolves: rhbz#1615577
* Tue Jul 17 2018 Brian C. Lane <bcl@redhat.com> - 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
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1.1.0-6
- Rebuilt with OpenSSL 3.0.0
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Mar 18 2021 Kamil Dudka <kdudka@redhat.com> - 1.1.0-4
- make the run-time dependency on libssh2 optional
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 28 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.1.0-2
- Rebuild
* Mon Dec 28 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.1.0-1
- Update to 1.1.0
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jun 15 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.0.1-2
- Fix removing untracked files by path in subdirectories
* Thu Jun 04 2020 Pete Walter <pwalter@fedoraproject.org> - 1.0.1-1
- Update to 1.0.1
* Wed Apr 15 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.0.0-2
- Rebuild for http-parser 2.9.4
* Wed Apr 15 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.0.0-1
- Update to 1.0.0
* Tue Mar 03 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.99.0-2
- Fix broken deps for pcre2
* Mon Mar 02 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.99.0-1
- Update to 0.99.0
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.28.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Dec 11 09:00:52 CET 2019 Igor Gnatenko <ingnatenkobrain@fedoraproject.org> - 0.28.4-1
- Update to 0.28.4
* Fri Sep 13 2019 Pete Walter <pwalter@fedoraproject.org> - 0.28.3-1
- Update to 0.28.3
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.28.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jul 14 13:34:04 CEST 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.28.2-2
- Obsolete libgit2_0.28
* Thu Jun 06 14:22:16 CEST 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.28.2-1
- Update to 0.28.2
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.27.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 28 2019 Pete Walter <pwalter@fedoraproject.org> - 0.27.8-1
- Update to 0.27.8
* Fri Oct 26 2018 Pete Walter <pwalter@fedoraproject.org> - 0.27.7-1
- Update to 0.27.7
* Mon Oct 08 2018 Pete Walter <pwalter@fedoraproject.org> - 0.27.5-1
- Update to 0.27.5
* Fri Aug 10 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.27.4-1
- Update to 0.27.4
- Update upstream URL
* Tue Aug 07 2018 Pete Walter <pwalter@fedoraproject.org> - 0.26.6-1
- Update to 0.26.6
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.26.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 10 2018 Pete Walter <pwalter@fedoraproject.org> - 0.26.5-1
- Update to 0.26.5 (CVE-2018-10887, CVE-2018-10888)
* Mon Jun 25 2018 Pete Walter <pwalter@fedoraproject.org> - 0.26.4-1
- Update to 0.26.4 (CVE-2018-11235)
* Mon Mar 12 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.26.3-1
- Update to 0.26.3

@ -0,0 +1,112 @@
# libssh2 is not available on RHEL
%if 0%{?rhel}
%bcond_with libssh2
%else
%bcond_without libssh2
%endif
Name: libgit2
Version: 1.7.2
Release: %autorelease
Summary: C implementation of the Git core methods as a library with a solid API
License: GPLv2 with exceptions
URL: https://libgit2.org/
Source0: https://github.com/libgit2/libgit2/archive/refs/tags/v%{version}.tar.gz#/libgit2-%{version}.tar.gz
BuildRequires: gcc
BuildRequires: cmake >= 3.5.1
BuildRequires: ninja-build
BuildRequires: http-parser-devel
BuildRequires: krb5-devel
BuildRequires: libcurl-devel
%if %{with libssh2}
BuildRequires: libssh2-devel
%endif
BuildRequires: openssl-devel
BuildRequires: pcre2-devel
BuildRequires: python3
BuildRequires: zlib-devel
Provides: bundled(libxdiff)
%if 0%{?fedora} >= 38
Obsoletes: libgit2_1.3 < 1.3.2-3
Obsoletes: libgit2_1.4 < 1.4.6-3
%endif
%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}
%if 0%{?fedora} >= 38
Obsoletes: libgit2_1.3-devel < 1.3.2-3
Obsoletes: libgit2_1.4-devel < 1.4.6-3
%endif
%description devel
This package contains libraries and header files for
developing applications that use %{name}.
%prep
%autosetup -p1 -n libgit2-%{version}
# Remove VCS files from examples
find examples -name ".gitignore" -delete -print
# Don't run "online" tests
sed -i '/-sonline/s/^/#/' tests/libgit2/CMakeLists.txt
%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10
# On Fedora 40+ and RHEL 10+, we're using zlib-ng rather than
# zlib for compression. As a result, all of the pack tests fail
# due to checking the hashes of the packed data against static
# values that were created with zlib.
# https://github.com/libgit2/libgit2/issues/6728
sed -i 's/-xonline/-xonline -xpack/' tests/libgit2/CMakeLists.txt
%endif
# Remove bundled libraries (except libxdiff)
pushd deps
find . -maxdepth 1 -not -name xdiff -exec rm -rf {} ';'
popd
%build
%cmake \
-GNinja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DREGEX_BACKEND=pcre2 \
-DBUILD_CLI=OFF \
-DUSE_HTTP_PARSER=system \
-DUSE_SHA1=HTTPS \
-DUSE_HTTPS=OpenSSL \
-DUSE_NTLMCLIENT=OFF \
%if %{with libssh2}
-DUSE_SSH=ON \
%else
-DUSE_SSH=OFF \
%endif
%{nil}
%cmake_build
%install
%cmake_install
%check
%ctest
%files
%license COPYING
%{_libdir}/libgit2.so.1.7*
%files devel
%doc AUTHORS docs examples README.md
%{_libdir}/libgit2.so
%{_libdir}/pkgconfig/libgit2.pc
%{_includedir}/git2.h
%{_includedir}/git2/
%changelog
%autochangelog

@ -0,0 +1 @@
SHA512 (libgit2-1.7.2.tar.gz) = 825737e4a1991fba50ea535f15b0e560ebe76ead752e04aeba36925b944d0da77fe9826a70980a1aa3d0bf9afbedfab79dd92e799c9252931384c89ebec9b012
Loading…
Cancel
Save