Compare commits

5 Commits
main ... 1.1

5 changed files with 381 additions and 35 deletions

View File

@@ -2,7 +2,10 @@
<constraints>
<hardware>
<disk>
<size unit="G">5</size>
<size unit="G">25</size>
</disk>
<physicalmemory>
<size unit="M">5000</size>
</physicalmemory>
</hardware>
</constraints>

BIN
libzypp-17.35.16.tar.bz2 (Stored with Git LFS)

Binary file not shown.

BIN
libzypp-17.37.17.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,3 +1,318 @@
-------------------------------------------------------------------
Mon Aug 11 10:56:17 CEST 2025 - ma@suse.de
- Make ld.so ignore the subarch packages during install
(bsc#1246912)
- version 17.37.17 (35)
-------------------------------------------------------------------
Thu Aug 7 16:17:21 CEST 2025 - ma@suse.de
- Fix evaluation of libproxy results (bsc#1247690)
- Replace URL variables inside mirrorlist/metalink files
(fixes #667)
- version 17.37.16 (35)
-------------------------------------------------------------------
Thu Jul 31 17:01:53 CEST 2025 - ma@suse.de
- Append RepoInfo::path() to the mirror URLs in Preloader
(bsc#1247054)
- version 17.37.15 (35)
-------------------------------------------------------------------
Wed Jul 23 17:11:47 CEST 2025 - ma@suse.de
- During installation indicate the backend being used (bsc#1246038)
If some package actually needs to know, it should test for
ZYPP_CLASSIC_RPMTRANS being set in the environment.
Otherwise the transaction is driven by librpm.
- version 17.37.14 (35)
-------------------------------------------------------------------
Tue Jul 22 18:18:07 CEST 2025 - ma@suse.de
- Workaround 'rpm -vv' leaving scriptlets /var/tmp (bsc#1218459)
- Verbose log libproxy results if PX_DEBUG=1 is set.
- BuildRequires: cmake >= 3.17.
- version 17.37.13 (35)
-------------------------------------------------------------------
Thu Jul 17 23:37:54 CEST 2025 - ma@suse.de
- Allow explicit request to probe an added repo's URL
(bsc#1246466)
- Fix tests with -DISABLE_MEDIABACKEND_TESTS=1 (fixes #661)
- version 17.37.12 (35)
-------------------------------------------------------------------
Mon Jul 14 12:06:07 CEST 2025 - ma@suse.de
- Add runtime check for a broken rpm-4.18.0 --runpostrans
(bsc#1246149)
- Add regression test for bsc#1245220 and some other filesize
related tests.
- version 17.37.11 (35)
-------------------------------------------------------------------
Mon Jul 7 16:33:09 CEST 2025 - ma@suse.de
- BuildRequires: %{libsolv_devel_package} >= 0.7.34 (bsc#1243486)
Newer rpm versions no longer allow a ':' in rpm package names or
obsoletes. So injecting an
Obsoletes: product:oldproductname < oldproductversion
into the -release package to indicate a product rename is no longer
possible.
Since libsolv-0.7.34 you can and should use:
Provides: product-obsoletes(oldproductname) < oldproductversion
in the -release package. libsolv will then inject the appropriate
Obsoletes into the Product.
- version 17.37.10 (35)
-------------------------------------------------------------------
Fri Jul 4 16:22:16 CEST 2025 - ma@suse.de
- Ignore DeltaRpm download errors (bsc#1245672)
DeltaRpms are in fact optional resources. In case of a failure
the full rpm is downloaded.
- Improve fix for incorrect filesize handling (bsc#1245220)
- version 17.37.9 (35)
-------------------------------------------------------------------
Wed Jul 2 18:19:07 CEST 2025 - ma@suse.de
- Do not trigger download data exceeded errors on HTTP non data
responses (bsc#1245220)
In some cases a HTTP 401 or 407 did trigger a "filesize exceeded"
error, because the response payload size was compared against the
expected filesize. This patch adds some checks if the response
code is in the success range and only then takes expected
filesize into account. Otherwise the response content-length is
used or a fallback of 2Mb if no content-length is known.
- version 17.37.8 (35)
-------------------------------------------------------------------
Wed Jul 2 17:35:10 CEST 2025 - ma@suse.de
- Fix SEGV in MediaDISK handler (bsc#1245452)
- Explicitly selecting DownloadAsNeeded also selects the
classic_rpmtrans backend.
DownloadAsNeeded can not be combined with the rpm singletrans
installer backend because a rpm transaction requires all package
headers to be available the the beginning of the transaction. So
explicitly selecting this mode also turns on the classic_rpmtrans
backend.
- Fix evaluation of libproxy results (bsc#1244710)
- version 17.37.7 (35)
-------------------------------------------------------------------
Wed Jun 18 12:31:49 CEST 2025 - ma@suse.de
- Enhancements regarding mirror handling during repo refresh.
Added means to disable the use of mirrors when downloading
security relevant files. Requires updaing zypper to 1.14.91.
- Fix autotestcase writer if ZYPP_FULLLOG=1 (bsc#1244042)
If ZYPP_FULLLOG=1 a solver testcase to
"/var/log/YaST2/autoTestcase" should be written for each solver
run. There was no testcase written for the very first solver run.
This is now fixed.
- Pass $1==2 to %posttrans script if it's an update (bsc#1243279)
- version 17.37.6 (35)
-------------------------------------------------------------------
Fri Jun 6 19:02:26 CEST 2025 - ma@suse.de
- Fix credential handling in HEAD requests (bsc#1244105)
- version 17.37.5 (35)
-------------------------------------------------------------------
Wed Jun 4 17:44:37 CEST 2025 - ma@suse.de
- RepoInfo: use pathNameSetTrailingSlash (fixes #643)
- Fix wrong userdata parameter type when running zypp with debug
verbosity (bsc#1239012)
- version 17.37.4 (35)
-------------------------------------------------------------------
Mon Jun 2 17:50:53 CEST 2025 - ma@suse.de
- Do not warn about no mirrors if mirrorlist was switched on
automatically. (bsc#1243901)
- Relax permission of cached packages to 0644 & ~umask
(bsc#1243887)
- version 17.37.3 (35)
-------------------------------------------------------------------
Tue May 27 19:37:53 CEST 2025 - ma@suse.de
- Add a note to service maintained .repo file entries (fixes #638)
- Support using %{url} variable in a RIS service's repo section.
- version 17.37.2 (35)
-------------------------------------------------------------------
Fri May 23 19:55:53 CEST 2025 - ma@suse.de
- Use a cookie file to validate mirrorlist cache.
This patch extends the mirrorlist code to use a cookie file to
validate the contents of the cache against the source URL, making
sure that we do not accidentially use a old cache when the
mirrorlist url was changed. For example when migrating a system
from one release to the next where the same repo alias might just
have a different URL.
- Let Service define and update gpgkey, mirrorlist and metalink.
- Preserve a mirrorlist file in the raw cache during refresh.
- version 17.37.1 (35)
-------------------------------------------------------------------
Thu May 22 16:10:03 CEST 2025 - ma@suse.de
- Code16: Enable curl2 backend and parallel package download by
default. In Code15 it's optional.
Environment variables ZYPP_CURL2=<0|1> and ZYPP_PCK_PRELOAD=<0|1>
can be used to turn the features on or off.
- Make gpgKeyUrl the default source for gpg keys.
When refreshing zypp now primarily uses gpgKeyUrl information
from the repo files and only falls back to a automatically
generated key Url if a gpgKeyUrl was not specified.
- Introduce mirrors into the Media backends (bsc#1240132)
- Drop MediaMultiCurl backend.
- Throttle progress updates when preloading packages (bsc#1239543)
- Check if request is in valid state in CURL callbacks (fixes
openSUSE/zypper#605)
- spec/CMake: add conditional build
'--with[out] classic_rpmtrans_as_default'.
classic_rpmtrans is the current builtin default for SUSE,
otherwise it's single_rpmtrans.
The `enable_preview_single_rpmtrans_as_default_for_zypper` switch
was removed from the spec file. Accordingly the CMake option
ENABLE_PREVIEW_SINGLE_RPMTRANS_AS_DEFAULT_FOR_ZYPPER was removed.
- version 17.37.0 (35)
-------------------------------------------------------------------
Wed Apr 30 12:55:42 CEST 2025 - ma@suse.de
- fixed build with boost 1.88.
- XmlReader: Fix detection of bad input streams (fixes #635)
libxml2 2.14 potentially reads the complete stream, so it may
have the 'eof' bit set. Which is not 'good' but also not 'bad'.
- rpm: Fix detection of %triggerscript starts (bsc#1222044)
- RepoindexFileReader: add more <repo> related attributes a
service may set.
Add optional attributes gpgcheck, repo_gpgcheck, pkg_gpgcheck,
keeppackages, gpgkey, mirrorlist, and metalink with the same
semantic as in a .repo file.
- version 17.36.7 (35)
-------------------------------------------------------------------
Thu Apr 3 16:05:35 CEST 2025 - ma@suse.de
- Drop workaround for broken rpm-4.18 in Code16 (bsc#1237172)
- BuildRequires: %{libsolv_devel_package} >= 0.7.32.
Code16 moved static libs to libsolv-devel-static.
- Drop usage of SHA1 hash algorithm because it will become
unavailable in FIPS mode (bsc#1240529)
- Fix zypp.conf dupAllowVendorChange to reflect the correct
default (false).
The default was true in Code12 (libzypp-16.x) and changed to
false with Code15 (libzypp-17.x). Unfortunately this was done by
shipping a modified zypp.conf file rather than fixing the code.
- zypp.conf: Add `lock_timeout` ($ZYPP_LOCK_TIMEOUT) (bsc#1239809)
- version 17.36.6 (35)
-------------------------------------------------------------------
Mon Mar 17 10:22:21 CET 2025 - ma@suse.de
- Fix computation of RepStatus if Repo URLs change.
- Fix lost double slash when appending to an absolute FTP url
(bsc#1238315)
Ftp actually differs between absolute and relative URL paths.
Absolute path names begin with a double slash encoded as '/%2F'.
This must be preserved when manipulating the path.
- version 17.36.5 (35)
-------------------------------------------------------------------
Fri Feb 28 16:20:03 CET 2025 - ma@suse.de
- Add a transaction package preloader (fixes openSUSE/zypper#104)
This patch adds a preloader that concurrently downloads files
during a transaction commit. It's not yet enabled per default.
To enable the preview set ZYPP_CURL2=1 and ZYPP_PCK_PRELOAD=1
in the environment.
- RpmPkgSigCheck_test: Exchange the test package signingkey
(fixes #622)
- Exclude MediaCurl tests if DISABLE_MEDIABACKEND_TESTS (fixes #626)
- Strip a mediahandler tag from baseUrl querystrings.
- version 17.36.4 (35)
-------------------------------------------------------------------
Thu Feb 27 10:21:22 CET 2025 - ma@suse.de
- Disable zypp.conf:download.use_deltarpm by default (fixes #620)
Measurements show that you don't benefit from using deltarpms
unless your network connection is very slow. That's why most
distributions even stop offering deltarpms. The default remains
unchanged on SUSE-15.6 and older.
- Make sure repo variables are evaluated in the right context
(bsc#1237044)
- Introducing MediaCurl2 a alternative HTTP backend.
This patch adds MediaCurl2 as a testbed for experimenting with a
more simple way to download files. Set ZYPP_CURL2=1 in the
environment to use it.
- version 17.36.3 (35)
-------------------------------------------------------------------
Fri Feb 21 15:08:12 CET 2025 - ma@suse.de
- Filesystem usrmerge must not be done in singletrans mode
(bsc#1236481, bsc#1189788)
Commit will amend the backend in case the transaction would
perform a filesystem usrmerge.
- Workaround bsc#1216091 on Code16.
- version 17.36.2 (35)
-------------------------------------------------------------------
Wed Feb 12 15:58:56 CET 2025 - ma@suse.de
- Don't issue deprecated warnings if -DNDEBUG is set (bsc#1236983)
Released libyui packages compile with -Werror=deprecated-declarations
so we can't add deprecated warnings without breaking them.
- make gcc15 happy (fixes #613)
- version 17.36.1 (35)
-------------------------------------------------------------------
Mon Feb 10 16:18:10 CET 2025 - ma@suse.de
- Drop zypp-CheckAccessDeleted in favor of 'zypper ps'.
- Fix Repoverification plugin not being executed (fixes #614)
- Refresh: Fetch the master index file before key and signature
(bsc#1236820)
- Allow libzypp to compile with C++20.
- Deprecate RepoReports we do not trigger.
- version 17.36.0 (35)
-------------------------------------------------------------------
Wed Jan 22 16:09:09 CET 2025 - ma@suse.de
- Create '.keep_packages' in the package cache dir to enforce
keeping downloaded packages of all repos cahed there (bsc#1232458)
- version 17.35.19 (35)
-------------------------------------------------------------------
Mon Jan 20 17:17:16 CET 2025 - ma@suse.de
- Fix missing UID checks in repomanager workflow (fixes #603)
- version 17.35.18 (35)
-------------------------------------------------------------------
Mon Jan 20 10:36:25 CET 2025 - ma@suse.de
- Move cmake config files to LIB_INSTALL_DIR/cmake/Zypp (fixes #28)
- Fix 'zypper ps' when running in incus container (bsc#1229106)
Should apply to lxc and lxd containers as well.
- Re-enable 'rpm --runposttrans' usage for chrooted systems
(bsc#1216091)
- version 17.35.17 (35)
-------------------------------------------------------------------
Wed Dec 18 22:40:49 CET 2024 - ma@suse.de

View File

@@ -15,6 +15,24 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# Switched to single_rpmtrans as default install backed.
# SUSE distros stay with classic_rpmtrans as default.
# Code16: Want's to switch to single_rpmtrans as default
# (level of enablement is handled in the code)
%if 0%{?suse_version} && 0%{?suse_version} < 1600
%bcond_without classic_rpmtrans_as_default
%else
%bcond_with classic_rpmtrans_as_default
%endif
# In Code16 libsolv moved the static libs from -devel to -devel-static.
# Those are needed while cmake -DSUSE enforces linking libsolv statically.
%if 0%{?suse_version} >= 1600
%define libsolv_devel_package libsolv-devel-static
%else
%define libsolv_devel_package libsolv-devel
%endif
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400 || (0%{?is_opensuse} && 0%{?sle_version} >= 150100)
%bcond_without zchunk
%else
@@ -53,11 +71,8 @@
%bcond_with visibility_hidden
%endif
# Distros using just zypper may want to enable this as default earlier
%bcond_with enable_preview_single_rpmtrans_as_default_for_zypper
Name: libzypp
Version: 17.35.16
Version: 17.37.17
Release: 0
License: GPL-2.0-or-later
URL: https://github.com/openSUSE/libzypp
@@ -73,7 +88,7 @@ Obsoletes: yast2-packagemanager
Conflicts: python2-zypp-plugin < 0.6.4
Conflicts: python3-zypp-plugin < 0.6.4
# API refactoring. Prevent zypper from using (now) private symbols
Conflicts: zypper <= 1.14.76
Conflicts: zypper < 1.14.91
# Features we provide (update doc/autoinclude/FeatureTest.doc):
Provides: libzypp(plugin) = 0.1
@@ -90,7 +105,7 @@ Recommends: logrotate
# lsof is used for 'zypper ps':
Recommends: lsof
%endif
BuildRequires: cmake >= 3.5
BuildRequires: cmake >= 3.17
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(libudev)
%if 0%{?suse_version} >= 1330
@@ -130,11 +145,10 @@ BuildRequires: pkgconfig
BuildRequires: pkg-config
%endif
BuildRequires: libsolv-devel >= 0.7.24
BuildRequires: %{libsolv_devel_package} >= 0.7.34
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150600
BuildRequires: libsolv-tools-base >= 0.7.29
%requires_eq libsolv-tools-base
Requires: ( findutils if libsolv-tools-base <= 0.7.31 )
%else
BuildRequires: libsolv-tools
%requires_eq libsolv-tools
@@ -148,6 +162,7 @@ BuildRequires: readline-devel >= 5.1
%if %{with mediabackend_tests}
BuildRequires: nginx
BuildRequires: vsftpd
BuildRequires: squid
%endif
Requires: rpm
@@ -267,9 +282,9 @@ Requires: libcurl-devel >= %{min_curl_version}
Requires: libcurl-devel >= %{min_curl_version}
%endif
%if 0%{?suse_version}
%requires_ge libsolv-devel
%requires_ge %{libsolv_devel_package}
%else
Requires: libsolv-devel
Requires: %{libsolv_devel_package}
%endif
%description devel
@@ -289,21 +304,38 @@ Developer documentation for libzypp.
%build
mkdir build
cd build
%if 0%{?suse_version} > 1500
# Bug 1189788 - UsrMerge: filesystem package breaks system when upgraded in a single rpm transaction
# While the bug is not fixed, we don't allow ZYPP_SINGLE_RPMTRANS=1 on a not UsrMerged system
export CFLAGS="%{optflags} -DNO_SINGLETRANS_USERMERGE"
export CXXFLAGS="%{optflags} -DNO_SINGLETRANS_USERMERGE"
%else
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
%endif
unset EXTRA_CMAKE_OPTIONS
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DENABLE_BUILD_DOCS=TRUE \
-DENABLE_BUILD_TRANS=TRUE \
-DENABLE_BUILD_TESTS=TRUE \
CMAKE_FLAGS=
%if 0%{?fedora} || 0%{?rhel} >= 6
CMAKE_FLAGS="-DFEDORA=1"
%endif
%if 0%{?mageia}
CMAKE_FLAGS="-DMAGEIA=1"
%endif
%if 0%{?suse_version}
CMAKE_FLAGS="-DSUSE=1"
%endif
EXTRA_CMAKE_OPTIONS=
%if 0%{?suse_version}
EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DLIBZYPP_CODESTREAM=0%{?suse_version}:0%{?sle_version}:0%{?is_opensuse}"
%if 0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150600
EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DLIBZYPP_CONFIG_USE_DELTARPM_BY_DEFAULT=1"
%endif
%if 0%{?suse_version} < 1600
EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DLIBZYPP_CONFIG_USE_LEGACY_CURL_BACKEND_BY_DEFAULT=1"
EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DLIBZYPP_CONFIG_USE_SERIAL_PACKAGE_DOWNLOAD_BY_DEFAULT=1"
%endif
%endif
cmake .. $CMAKE_FLAGS \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DDOC_INSTALL_DIR=%{_docdir} \
-DLIB=%{_lib} \
-DCMAKE_BUILD_TYPE=Release \
@@ -314,9 +346,9 @@ cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
%{?with_zstd:-DENABLE_ZSTD_COMPRESSION=1} \
%{?with_sigc_block_workaround:-DENABLE_SIGC_BLOCK_WORKAROUND=1} \
%{!?with_mediabackend_tests:-DDISABLE_MEDIABACKEND_TESTS=1} \
%{?with enable_preview_single_rpmtrans_as_default_for_zypper:-DENABLE_PREVIEW_SINGLE_RPMTRANS_AS_DEFAULT_FOR_ZYPPER=1} \
${EXTRA_CMAKE_OPTIONS} \
..
%{?with_classic_rpmtrans_as_default:-DLIBZYPP_CONFIG_USE_CLASSIC_RPMTRANS_BY_DEFAULT=1} \
${EXTRA_CMAKE_OPTIONS}
make %{?_smp_mflags} VERBOSE=1
%install
@@ -345,11 +377,6 @@ mkdir -p %{buildroot}/%{_var}/lib/zypp
mkdir -p %{buildroot}/%{_var}/log/zypp
mkdir -p %{buildroot}/%{_var}/cache/zypp
# Default to 'solver.dupAllowVendorChange = false' on TW and post SLE12
%if 0%{?suse_version} >= 1330 || "%{distribution}" == "openSUSE Tumbleweed"
sed -i "s|# solver.dupAllowVendorChange = true|solver.dupAllowVendorChange = false|g" %{buildroot}%{_sysconfdir}/zypp/zypp.conf
%endif
cd ..
# Create filelist with translations
@@ -428,14 +455,15 @@ done
%files devel
%defattr(-,root,root)
%{_libdir}/cmake/Zypp
%{_libdir}/libzypp.so
%{_libdir}/libzypp-tui.a
%{_datadir}/cmake/Modules/*
%{_includedir}/zypp
%{_includedir}/zypp-core
%{_includedir}/zypp-media
%{_includedir}/zypp-curl
%{_includedir}/zypp-tui
%{_includedir}/zypp-common
%{_libdir}/pkgconfig/libzypp.pc
%files devel-doc