commit f6c62a169e5b0509fafd18a008c00cadcd97247a Author: CentOS Sources Date: Tue May 7 05:36:37 2019 -0400 import libgit2-0.26.6-3.el8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..026ef39 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libgit2-0.26.6.tar.gz diff --git a/.libgit2.metadata b/.libgit2.metadata new file mode 100644 index 0000000..c39b00c --- /dev/null +++ b/.libgit2.metadata @@ -0,0 +1 @@ +b663c12fadaa886781334d745b914dc3a1afd16d SOURCES/libgit2-0.26.6.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/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..3e1b3e8 --- /dev/null +++ b/SPECS/libgit2.spec @@ -0,0 +1,248 @@ +Name: libgit2 +Version: 0.26.6 +Release: 3%{?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 + +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 + +# Don't test network +sed -i 's/ionline/xonline/' CMakeLists.txt + +# 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 +* 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.