Rebase to 0.7.33

Resolves: RHEL-86940

Signed-off-by: Jonathan Wright <jonathan@almalinux.org>
This commit is contained in:
Jonathan Wright 2025-04-11 10:13:54 -05:00
parent 76c1fa4068
commit 7b7aac1834
4 changed files with 62 additions and 41 deletions

5
.gitignore vendored
View File

@ -66,3 +66,8 @@
/libsolv-0.7.27.tar.gz
/libsolv-0.7.28.tar.gz
/libsolv-0.7.29.tar.gz
/libsolv-0.7.30.tar.gz
/libsolv-0.7.31.tar.gz
/libsolv-0.7.32.tar.gz
/libsolv-0.7.33.tar.gz

View File

@ -1,3 +1,7 @@
From: Jonathan Wright <jonathan@almalinux.org>
Date: Fri Jun 6 16:47:14 2025 -0500
Subject: Rebase patch to libsolv-0.7.32
From 49859c1ad32487de6adb65eedf4b81f021e1b0e8 Mon Sep 17 00:00:00 2001
From: Jaroslav Rohel <jrohel@redhat.com>
Date: Fri, 25 Oct 2019 14:33:22 +0200
@ -6,26 +10,20 @@ Subject: [PATCH] Add support for computing hashes using OpenSSL
It adds WITH_OPENSSL build option.
If it is ON, OpenSSL will be used instead of internal implementation
of computing hashes (MD5, SHA1, SHA224, SHA256, SHA384, SHA512).
---
CMakeLists.txt | 13 +++++++++++--
src/CMakeLists.txt | 13 ++++++++++---
src/chksum.c | 32 ++++++++++++++++++++++++++++++++
tools/CMakeLists.txt | 2 +-
4 files changed, 54 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f899c49..23615bd 100644
index 5ba5ed5..16750ae 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,6 +40,7 @@ OPTION (ENABLE_ZCHUNK_COMPRESSION "Build with zchunk compression support?" OFF)
@@ -42,6 +42,7 @@ OPTION (ENABLE_ZCHUNK_COMPRESSION "Build with zchunk compression support?" OFF)
OPTION (WITH_SYSTEM_ZCHUNK "Use system zchunk library?" OFF)
OPTION (WITH_LIBXML2 "Build with libxml2 instead of libexpat?" OFF)
OPTION (WITHOUT_COOKIEOPEN "Disable the use of stdio cookie opens?" OFF)
+OPTION (WITH_OPENSSL "Use OpenSSL instead of internal implementation of hashes?" OFF)
include (GNUInstallDirs)
message (STATUS "Libraries will be installed in ${CMAKE_INSTALL_FULL_LIBDIR}")
@@ -164,6 +165,11 @@ INCLUDE_DIRECTORIES (${EXPAT_INCLUDE_DIRS})
OPTION (ENABLE_STATIC_TOOLS "Link the tools against the static version of the libraries?" OFF)
OPTION (ENABLE_STATIC_BINDINGS "Link the bindings against the static version of the libraries?" OFF)
@@ -173,6 +174,11 @@ INCLUDE_DIRECTORIES (${EXPAT_INCLUDE_DIRS})
ENDIF (WITH_LIBXML2 )
ENDIF (ENABLE_RPMMD OR ENABLE_SUSEREPO OR ENABLE_APPDATA OR ENABLE_COMPS OR ENABLE_HELIXREPO OR ENABLE_MDKREPO)
@ -37,7 +35,7 @@ index f899c49..23615bd 100644
IF (ENABLE_ZLIB_COMPRESSION)
FIND_PACKAGE (ZLIB REQUIRED)
INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
@@ -288,8 +294,8 @@ ENDIF (${CMAKE_MAJOR_VERSION} GREATER 2)
@@ -292,8 +298,8 @@ check_linker_flag("-Wl,--version-script=${CMAKE_SOURCE_DIR}/src/libsolv.ver" HAV
# should create config.h with #cmakedefine instead...
FOREACH (VAR HAVE_STRCHRNUL HAVE_FOPENCOOKIE HAVE_FUNOPEN WORDS_BIGENDIAN
@ -48,7 +46,7 @@ index f899c49..23615bd 100644
IF(${VAR})
ADD_DEFINITIONS (-D${VAR}=1)
SET (SWIG_FLAGS ${SWIG_FLAGS} -D${VAR})
@@ -426,6 +432,9 @@ ENDIF (ENABLE_ZSTD_COMPRESSION)
@@ -432,6 +438,9 @@ ENDIF (ENABLE_ZSTD_COMPRESSION)
IF (WITH_SYSTEM_ZCHUNK)
SET (SYSTEM_LIBRARIES ${SYSTEM_LIBRARIES} ${ZCHUNK_LIBRARIES})
ENDIF (WITH_SYSTEM_ZCHUNK)
@ -59,23 +57,19 @@ index f899c49..23615bd 100644
SET (SYSTEM_LIBRARIES ${RPMDB_LIBRARY} ${SYSTEM_LIBRARIES})
ENDIF (ENABLE_RPMDB)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ca04b39..a0ce267 100644
index 25ad09b..4265dfb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -18,9 +18,9 @@ SET (libsolv_SRCS
@@ -18,7 +18,7 @@ SET (libsolv_SRCS
solver.c solverdebug.c repo_solv.c repo_write.c evr.c pool.c
queue.c repo.c repodata.c repopage.c util.c policy.c solvable.c
transaction.c order.c rules.c problems.c linkedpkg.c cplxdeps.c
- chksum.c md5.c sha1.c sha2.c solvversion.c selection.c
- fileprovides.c diskusage.c suse.c solver_util.c cleandeps.c
- userinstalled.c filelistfilter.c decision.c)
+ chksum.c solvversion.c selection.c fileprovides.c diskusage.c
+ suse.c solver_util.c cleandeps.c userinstalled.c
+ filelistfilter.c decision.c)
+ chksum.c solvversion.c selection.c
fileprovides.c diskusage.c suse.c solver_util.c cleandeps.c
userinstalled.c filelistfilter.c decision.c)
SET (libsolv_HEADERS
bitmap.h evr.h hash.h policy.h poolarch.h poolvendor.h pool.h
@@ -43,14 +43,21 @@ IF (WIN32)
@@ -47,6 +47,10 @@ IF (WIN32)
LIST (APPEND libsolv_SRCS ${WIN32_COMPAT_SOURCES})
ENDIF (WIN32)
@ -86,8 +80,7 @@ index ca04b39..a0ce267 100644
IF (HAVE_LINKER_VERSION_SCRIPT)
SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINK_FLAGS} -Wl,--version-script=${CMAKE_SOURCE_DIR}/src/libsolv.ver")
ENDIF (HAVE_LINKER_VERSION_SCRIPT)
IF (DISABLE_SHARED)
@@ -55,6 +59,9 @@ IF (DISABLE_SHARED)
ADD_LIBRARY (libsolv STATIC ${libsolv_SRCS})
ELSE (DISABLE_SHARED)
ADD_LIBRARY (libsolv SHARED ${libsolv_SRCS})
@ -145,18 +138,15 @@ index 1f8ab47..9189b74 100644
#include "strfncs.h"
#endif
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index f19030e..d477e19 100644
index 4b3548a..c405743 100644
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -116,7 +116,7 @@ SET(tools_list ${tools_list} repo2solv)
ENDIF (NOT WIN32)
@@ -19,7 +19,7 @@ ENDIF (WIN32)
SET (tools_list testsolv mergesolv dumpsolv installcheck testsolv)
ADD_EXECUTABLE (dumpsolv dumpsolv.c )
-TARGET_LINK_LIBRARIES (dumpsolv libsolv)
+TARGET_LINK_LIBRARIES (dumpsolv libsolv ${SYSTEM_LIBRARIES})
-TARGET_LINK_LIBRARIES (dumpsolv ${LIBSOLV_TOOLS_LIBRARY})
+TARGET_LINK_LIBRARIES (dumpsolv ${LIBSOLV_TOOLS_LIBRARY} ${SYSTEM_LIBRARIES})
ADD_EXECUTABLE (mergesolv mergesolv.c )
TARGET_LINK_LIBRARIES (mergesolv toolstuff libsolvext libsolv ${SYSTEM_LIBRARIES})
--
libgit2 1.3.2
IF (ENABLE_RPMDB)
ADD_EXECUTABLE (rpmdb2solv rpmdb2solv.c)

View File

@ -14,6 +14,7 @@
%bcond_without suse_repo
%bcond_without debian_repo
%bcond_without arch_repo
%bcond_without apk_repo
# For handling deb + rpm at the same time
%bcond_without multi_semantics
%if %{defined rhel}
@ -26,17 +27,36 @@
%define __cmake_switch(b:) %[%{expand:%%{?with_%{-b*}}} ? "ON" : "OFF"]
Name: lib%{libname}
Version: 0.7.29
Version: 0.7.33
Release: %autorelease
Summary: Package dependency solver
# LICENSE.BSD: BSD-3-Clause text
# other files: "read LICENSE.BSD"
# src/sha2.c: BSD-3-Clause
# src/sha2.h: BSD-3-Clause
## Used at build time but not in any binary package
# cmake/modules/_CMakeParseArguments.cmake: BSD-3-Clause
# cmake/modules/FindPackageHandleStandardArgs.cmake: BSD-3-Clause
# cmake/modules/FindRuby.cmake: BSD-3-Clause
# package/libsolv.spec.in: (project's license IF open-source) XOR (MIT IF not in open-source project)
## Not used at build time and not in any binary package
# src/qsort_r.c: BSD-3-Clause
# win32/LICENSE: MIT text AND BSD-2-Clause text
# win32/regcomp.c: BSD-2-Clause
# win32/regexec.c: BSD-2-Clause
# win32/tre.h: BSD-2-Clause
# win32/tre-mem.c: BSD-2-Clause
License: BSD-3-Clause
SourceLicense: %{license} AND BSD-2-Clause AND MIT
URL: https://github.com/openSUSE/libsolv
Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
# Downstream-only, RHEL-41048
# Submitted upstream https://github.com/openSUSE/libsolv/pull/598
Patch0: 0001-Add-support-for-computing-hashes-using-OpenSSL.patch
BuildRequires: cmake
BuildRequires: cmake >= 3.5
BuildRequires: gcc-c++
BuildRequires: ninja-build
BuildRequires: pkgconfig(rpm)
@ -49,7 +69,7 @@ BuildRequires: pkgconfig(openssl)
BuildRequires: xz-devel
# -DENABLE_BZIP2_COMPRESSION=ON
BuildRequires: bzip2-devel
%if %{with zstd}
%if %{with zchunk} || %{with zstd} || %{with apk}
# -DENABLE_ZSTD_COMPRESSION=ON
BuildRequires: libzstd-devel
%endif
@ -80,6 +100,7 @@ Development files for %{name}.
Summary: Utilities used by libzypp to manage .solv files
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: libsolv-tools:%{_bindir}/repo2solv
Conflicts: libsolv-tools < %{version}
%description tools-base
This subpackage contains utilities used by libzypp to manage solv files.
@ -88,7 +109,6 @@ This subpackage contains utilities used by libzypp to manage solv files.
Summary: Package dependency solver tools
Requires: %{name}%{?_isa} = %{version}-%{release}
# repo2solv dependencies. Used as execl()
Requires: /usr/bin/find
Requires: libsolv-tools-base = %{version}-%{release}
%description tools
@ -154,6 +174,8 @@ rm src/{md5,sha1,sha2}.{c,h}
-DENABLE_RPMDB_LIBRPM=ON \
-DENABLE_RPMPKG_LIBRPM=ON \
-DENABLE_RPMMD=ON \
-DENABLE_STATIC_BINDINGS=OFF \
-DENABLE_STATIC_TOOLS=OFF \
-DENABLE_COMPS=%{__cmake_switch -b comps} \
-DENABLE_APPDATA=%{__cmake_switch -b appdata} \
-DUSE_VENDORDIRS=ON \
@ -170,6 +192,7 @@ rm src/{md5,sha1,sha2}.{c,h}
-DENABLE_SUSEREPO=%{__cmake_switch -b suse_repo} \
-DENABLE_DEBIAN=%{__cmake_switch -b debian_repo} \
-DENABLE_ARCHREPO=%{__cmake_switch -b arch_repo} \
-DENABLE_APK=%{__cmake_switch -b apk_repo} \
-DMULTI_SEMANTICS=%{__cmake_switch -b multi_semantics} \
-DENABLE_COMPLEX_DEPS=%{__cmake_switch -b complex_deps} \
-DENABLE_CONDA=%{__cmake_switch -b conda} \
@ -195,7 +218,7 @@ export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
%files
%license LICENSE*
%doc README
%doc NEWS README
%{_libdir}/%{name}.so.*
%{_libdir}/%{name}ext.so.*
@ -242,6 +265,9 @@ export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
%solv_tool archpkgs2solv
%solv_tool archrepo2solv
%endif
%if %{with apk_repo}
%solv_tool apk2solv
%endif
%if %{with helix_repo}
%solv_tool helix2solv
%endif

View File

@ -1 +1 @@
SHA512 (libsolv-0.7.29.tar.gz) = 5c76a4f2173999a7741ba613368209ee98942a82ca910ab455d19690ddade06d69a791406495a4bd50988c032fc6aa94b613fb00d54e1a5d36d6db1e8912599c
SHA512 (libsolv-0.7.33.tar.gz) = 10cbbe58c3c084593cccd3dfed9931296f8a3fe92843d7d42f732365039c1ab42ebca91a9778f991013650cd59f73f13b5d4de9ba3bb7cb845af98fe12256bee