From 7b7aac1834854985fc4e1bf299dc87e565323156 Mon Sep 17 00:00:00 2001 From: Jonathan Wright Date: Fri, 11 Apr 2025 10:13:54 -0500 Subject: [PATCH] Rebase to 0.7.33 Resolves: RHEL-86940 Signed-off-by: Jonathan Wright --- .gitignore | 5 ++ ...t-for-computing-hashes-using-OpenSSL.patch | 60 ++++++++----------- libsolv.spec | 36 +++++++++-- sources | 2 +- 4 files changed, 62 insertions(+), 41 deletions(-) diff --git a/.gitignore b/.gitignore index d64e0ac..6def7d2 100644 --- a/.gitignore +++ b/.gitignore @@ -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 + diff --git a/0001-Add-support-for-computing-hashes-using-OpenSSL.patch b/0001-Add-support-for-computing-hashes-using-OpenSSL.patch index b1af556..77e5bce 100644 --- a/0001-Add-support-for-computing-hashes-using-OpenSSL.patch +++ b/0001-Add-support-for-computing-hashes-using-OpenSSL.patch @@ -1,3 +1,7 @@ +From: Jonathan Wright +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 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) diff --git a/libsolv.spec b/libsolv.spec index b51cac1..35e1cdf 100644 --- a/libsolv.spec +++ b/libsolv.spec @@ -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 diff --git a/sources b/sources index bd3d5d9..46f4891 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libsolv-0.7.29.tar.gz) = 5c76a4f2173999a7741ba613368209ee98942a82ca910ab455d19690ddade06d69a791406495a4bd50988c032fc6aa94b613fb00d54e1a5d36d6db1e8912599c +SHA512 (libsolv-0.7.33.tar.gz) = 10cbbe58c3c084593cccd3dfed9931296f8a3fe92843d7d42f732365039c1ab42ebca91a9778f991013650cd59f73f13b5d4de9ba3bb7cb845af98fe12256bee