Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libzypp for openSUSE:Factory checked in at 2025-04-04 17:29:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzypp (Old) and /work/SRC/openSUSE:Factory/.libzypp.new.1907 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzypp" Fri Apr 4 17:29:09 2025 rev:511 rq:1266917 version:17.36.6 Changes: -------- --- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes 2025-03-18 17:41:32.154128469 +0100 +++ /work/SRC/openSUSE:Factory/.libzypp.new.1907/libzypp.changes 2025-04-04 17:29:23.480722967 +0200 @@ -1,0 +2,16 @@ +Thu Apr 3 16:05:35 CEST 2025 - m...@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) + +------------------------------------------------------------------- Old: ---- libzypp-17.36.5.tar.bz2 New: ---- libzypp-17.36.6.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.PBYm3w/_old 2025-04-04 17:29:24.188752160 +0200 +++ /var/tmp/diff_new_pack.PBYm3w/_new 2025-04-04 17:29:24.192752324 +0200 @@ -15,7 +15,13 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # - +# 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 @@ -59,7 +65,7 @@ %bcond_with enable_preview_single_rpmtrans_as_default_for_zypper Name: libzypp -Version: 17.36.5 +Version: 17.36.6 Release: 0 License: GPL-2.0-or-later URL: https://github.com/openSUSE/libzypp @@ -132,11 +138,10 @@ BuildRequires: pkg-config %endif -BuildRequires: libsolv-devel >= 0.7.24 +BuildRequires: %{libsolv_devel_package} >= 0.7.32 %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 @@ -269,9 +274,9 @@ 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 @@ -292,14 +297,18 @@ mkdir build cd build -%if 0%{?suse_version} == 1600 -# bsc#1216091: rpm-4.18' does not execute 'rpm --runposttrans' -# scripts chroot if --root is used. -export CFLAGS="%{optflags} -DWORKAROUNDDUMPPOSTTRANS_BUG_1216091" -export CXXFLAGS="%{optflags} -DWORKAROUNDDUMPPOSTTRANS_BUG_1216091" -%else export CFLAGS="%{optflags}" export CXXFLAGS="%{optflags}" + +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= @@ -310,10 +319,8 @@ EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DLIBZYPP_CONFIG_USE_DELTARPM_BY_DEFAULT=1" %endif -cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DENABLE_BUILD_DOCS=TRUE \ - -DENABLE_BUILD_TRANS=TRUE \ - -DENABLE_BUILD_TESTS=TRUE \ +cmake .. $CMAKE_FLAGS \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DDOC_INSTALL_DIR=%{_docdir} \ -DLIB=%{_lib} \ -DCMAKE_BUILD_TYPE=Release \ @@ -325,8 +332,8 @@ %{?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} \ - .. + ${EXTRA_CMAKE_OPTIONS} + make %{?_smp_mflags} VERBOSE=1 %install @@ -355,11 +362,6 @@ 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 ++++++ libzypp-17.36.5.tar.bz2 -> libzypp-17.36.6.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/CMakeLists.txt new/libzypp-17.36.6/CMakeLists.txt --- old/libzypp-17.36.5/CMakeLists.txt 2025-02-26 18:40:08.000000000 +0100 +++ new/libzypp-17.36.6/CMakeLists.txt 2025-04-03 10:40:10.000000000 +0200 @@ -59,10 +59,18 @@ SET (have_system ${have_system}x) ENDIF (DEBIAN) -IF (${have_system} STREQUAL x) +IF (SUSE) MESSAGE (STATUS "Building for SUSE (${LIBZYPP_CODESTREAM})") -ENDIF (${have_system} STREQUAL x) + SET(LibSolv_USE_STATIC_LIBS ON) + SET (ENABLE_BUILD_DOCS ON) + SET (ENABLE_BUILD_TRANS ON) + SET (ENABLE_BUILD_TESTS ON) + SET (have_system ${have_system}x) +ENDIF (SUSE) +IF (${have_system} STREQUAL x) + MESSAGE (STATUS "Building for no specific system type.") +ENDIF (${have_system} STREQUAL x) IF (${have_system} STRGREATER xx) MESSAGE (FATAL_ERROR "Can only build for one system type.") ENDIF (${have_system} STRGREATER xx) @@ -217,8 +225,10 @@ SET ( LibSolv_INCLUDE_DIRS ${ZYPP_STACK_INCLUDE_DIRS} ) SET ( LibSolv_LIBRARIES libsolvext libsolv ) else() + if ( LibSolv_USE_STATIC_LIBS ) + MESSAGE( STATUS "Require static libsolv libraries..." ) + endif() FIND_PACKAGE(LibSolv REQUIRED ext) - #SET(LibSolv_USE_STATIC_LIBS ON) IF ( NOT LibSolv_FOUND ) MESSAGE( FATAL_ERROR " libsolv not found" ) ELSE() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/VERSION.cmake new/libzypp-17.36.6/VERSION.cmake --- old/libzypp-17.36.5/VERSION.cmake 2025-03-17 10:30:10.000000000 +0100 +++ new/libzypp-17.36.6/VERSION.cmake 2025-04-03 16:08:00.000000000 +0200 @@ -61,8 +61,8 @@ SET(LIBZYPP_MAJOR "17") SET(LIBZYPP_COMPATMINOR "35") SET(LIBZYPP_MINOR "36") -SET(LIBZYPP_PATCH "5") +SET(LIBZYPP_PATCH "6") # -# LAST RELEASED: 17.36.5 (35) +# LAST RELEASED: 17.36.6 (35) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/libzypp.spec.cmake new/libzypp-17.36.6/libzypp.spec.cmake --- old/libzypp-17.36.5/libzypp.spec.cmake 2025-02-26 18:40:08.000000000 +0100 +++ new/libzypp-17.36.6/libzypp.spec.cmake 2025-04-03 16:08:00.000000000 +0200 @@ -15,7 +15,13 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # - +# 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 @@ -132,11 +138,10 @@ BuildRequires: pkg-config %endif -BuildRequires: libsolv-devel >= 0.7.24 +BuildRequires: %{libsolv_devel_package} >= 0.7.32 %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 @@ -269,9 +274,9 @@ 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 @@ -292,14 +297,18 @@ mkdir build cd build -%if 0%{?suse_version} == 1600 -# bsc#1216091: rpm-4.18' does not execute 'rpm --runposttrans' -# scripts chroot if --root is used. -export CFLAGS="%{optflags} -DWORKAROUNDDUMPPOSTTRANS_BUG_1216091" -export CXXFLAGS="%{optflags} -DWORKAROUNDDUMPPOSTTRANS_BUG_1216091" -%else export CFLAGS="%{optflags}" export CXXFLAGS="%{optflags}" + +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= @@ -310,10 +319,8 @@ EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DLIBZYPP_CONFIG_USE_DELTARPM_BY_DEFAULT=1" %endif -cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DENABLE_BUILD_DOCS=TRUE \ - -DENABLE_BUILD_TRANS=TRUE \ - -DENABLE_BUILD_TESTS=TRUE \ +cmake .. $CMAKE_FLAGS \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DDOC_INSTALL_DIR=%{_docdir} \ -DLIB=%{_lib} \ -DCMAKE_BUILD_TYPE=Release \ @@ -325,8 +332,8 @@ %{?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} \ - .. + ${EXTRA_CMAKE_OPTIONS} + make %{?_smp_mflags} VERBOSE=1 %install @@ -355,11 +362,6 @@ 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/package/libzypp.changes new/libzypp-17.36.6/package/libzypp.changes --- old/libzypp-17.36.5/package/libzypp.changes 2025-03-17 10:30:10.000000000 +0100 +++ new/libzypp-17.36.6/package/libzypp.changes 2025-04-03 16:08:00.000000000 +0200 @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Thu Apr 3 16:05:35 CEST 2025 - m...@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 - m...@suse.de - Fix computation of RepStatus if Repo URLs change. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/zypp/CMakeLists.txt new/libzypp-17.36.6/zypp/CMakeLists.txt --- old/libzypp-17.36.5/zypp/CMakeLists.txt 2025-02-28 15:49:51.000000000 +0100 +++ new/libzypp-17.36.6/zypp/CMakeLists.txt 2025-04-03 15:50:10.000000000 +0200 @@ -28,7 +28,6 @@ Capability.cc CapMatch.cc Changelog.cc - CheckSum.cc CpeId.cc Dep.cc Digest.cc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/zypp/CheckSum.cc new/libzypp-17.36.6/zypp/CheckSum.cc --- old/libzypp-17.36.5/zypp/CheckSum.cc 2023-07-19 11:53:07.000000000 +0200 +++ new/libzypp-17.36.6/zypp/CheckSum.cc 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -/*---------------------------------------------------------------------\ -| ____ _ __ __ ___ | -| |__ / \ / / . \ . \ | -| / / \ V /| _/ _/ | -| / /__ | | | | | | | -| /_____||_| |_| |_| | -| | -\---------------------------------------------------------------------*/ -/** \file zypp/CheckSum.cc - * -*/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/zypp/RepoStatus.cc new/libzypp-17.36.6/zypp/RepoStatus.cc --- old/libzypp-17.36.5/zypp/RepoStatus.cc 2025-03-17 10:20:10.000000000 +0100 +++ new/libzypp-17.36.6/zypp/RepoStatus.cc 2025-04-03 15:50:10.000000000 +0200 @@ -119,7 +119,7 @@ std::stringstream ss; for ( std::string_view c : _checksums ) ss << c; - _cachedchecksum = CheckSum::sha1(ss).checksum(); + _cachedchecksum = CheckSum::sha256(ss).checksum(); } ret = *_cachedchecksum; } @@ -181,13 +181,13 @@ { if ( info.isFile() ) { - _pimpl->assignFromCtor( filesystem::sha1sum( path_r ), Date( info.mtime() ) ); + _pimpl->assignFromCtor( filesystem::checksum( path_r, "SHA256" ), Date( info.mtime() ) ); } else if ( info.isDir() ) { time_t t = info.mtime(); recursiveTimestamp( path_r, t ); - _pimpl->assignFromCtor( CheckSum::sha1FromString( str::numstring( t ) ).checksum(), Date( t ) ); + _pimpl->assignFromCtor( CheckSum::sha256FromString( str::numstring( t ) ).checksum(), Date( t ) ); } } } @@ -195,7 +195,7 @@ RepoStatus::RepoStatus( const RepoInfo & info_r ) : _pimpl( new Impl() ) { - _pimpl->assignFromCtor( CheckSum::sha1FromString( info_r.repoStatusString() ).checksum(), Date() ); + _pimpl->assignFromCtor( CheckSum::sha256FromString( info_r.repoStatusString() ).checksum(), Date() ); } RepoStatus::RepoStatus( std::string checksum_r, Date timestamp_r ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/zypp/ZConfig.cc new/libzypp-17.36.6/zypp/ZConfig.cc --- old/libzypp-17.36.5/zypp/ZConfig.cc 2025-02-26 18:40:08.000000000 +0100 +++ new/libzypp-17.36.6/zypp/ZConfig.cc 2025-04-03 10:40:10.000000000 +0200 @@ -410,7 +410,7 @@ , solver_dupAllowDowngrade ( true ) , solver_dupAllowNameChange ( true ) , solver_dupAllowArchChange ( true ) - , solver_dupAllowVendorChange ( true ) + , solver_dupAllowVendorChange ( false ) , solver_cleandepsOnRemove ( false ) , solver_upgradeTestcasesToKeep ( 2 ) , solverUpgradeRemoveDroppedPackages ( true ) @@ -528,7 +528,10 @@ if ( _initialTargetDefaults.consume( entry, value ) ) continue; - if ( entry == "arch" ) + if ( entry == "lock_timeout" ) { + str::strtonum( value, cfg_lockTimeout ); + } + else if ( entry == "arch" ) { Arch carch( value ); if ( carch != cfg_arch ) @@ -767,6 +770,8 @@ Pathname _parsedZyppConf; Pathname _announced_root_path; + long cfg_lockTimeout = 0; // signed! + Arch cfg_arch; Locale cfg_textLocale; @@ -957,6 +962,15 @@ ZConfig::~ZConfig( ) {} + long ZConfig::lockTimeout() const + { + const char * env = getenv("ZYPP_LOCK_TIMEOUT"); + if ( env ) { + return str::strtonum<long>( env ); + } + return _pimpl->cfg_lockTimeout; + } + void ZConfig::notifyTargetChanged() { return _pimpl->notifyTargetChanged(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/zypp/ZConfig.h new/libzypp-17.36.6/zypp/ZConfig.h --- old/libzypp-17.36.5/zypp/ZConfig.h 2025-02-26 18:40:08.000000000 +0100 +++ new/libzypp-17.36.6/zypp/ZConfig.h 2025-04-01 10:50:09.000000000 +0200 @@ -76,6 +76,10 @@ std::ostream & about( std::ostream & str ) const; public: + /** The number of seconds to wait for the zypp lock to become available. */ + long lockTimeout() const; + + public: /** The target root directory. * Returns an empty path if no target is set. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/zypp/ZYppFactory.cc new/libzypp-17.36.6/zypp/ZYppFactory.cc --- old/libzypp-17.36.5/zypp/ZYppFactory.cc 2024-04-30 15:40:10.000000000 +0200 +++ new/libzypp-17.36.6/zypp/ZYppFactory.cc 2025-04-01 10:50:09.000000000 +0200 @@ -25,6 +25,7 @@ #include <zypp/base/Backtrace.h> #include <zypp/base/LogControl.h> #include <zypp/PathInfo.h> +#include <zypp/ZConfig.h> #include <zypp/ZYppFactory.h> #include <zypp/zypp_detail/ZYppImpl.h> @@ -396,7 +397,7 @@ { bool failed = true; // bsc#1184399,1213231: A negative ZYPP_LOCK_TIMEOUT will wait forever. - const long LOCK_TIMEOUT = str::strtonum<long>( getenv( "ZYPP_LOCK_TIMEOUT" ) ); + const long LOCK_TIMEOUT = ZConfig::instance().lockTimeout(); if ( LOCK_TIMEOUT != 0 ) { Date logwait = Date::now(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.36.5/zypp.conf new/libzypp-17.36.6/zypp.conf --- old/libzypp-17.36.5/zypp.conf 2025-02-26 18:40:08.000000000 +0100 +++ new/libzypp-17.36.6/zypp.conf 2025-04-03 10:40:10.000000000 +0200 @@ -1,11 +1,20 @@ ## Configuration file for software management ## /etc/zypp/zypp.conf ## -## Boolean values are 0 1 yes no on off true false - +## - Boolean values are 0 1 yes no on off true false +## - Environment variables may overwrite corresponding config values [main] - +## +## If zypp is locked by another process this is the number of seconds to wait +## for the lock to become available. A negative value will wait forever. If the +## lock can not be acquired within the specified time an exception is raised. +## +## Valid values: number +## Default value: 0 +## Environment variable: ZYPP_LOCK_TIMEOUT +## +# lock_timeout = 0 ## ## Override the detected architecture @@ -444,17 +453,12 @@ ## ## EXPERTS ONLY: TUNE DISTRIBUTION UPGRADE (DUP) -## Set whether to allow changing the packages vendor upon DUP. If you -## are following a continuous distribution like Tumbleweed or Factory -## where you use 'zypper dup --no-allow-vendor-change' quite frequently, -## you may indeed benefit from disabling the VendorChange. Packages from -## OBS repos will then be kept rather than being overwritten by Tumbleweeds -## version. +## Set whether to allow changing the packages vendor upon DUP. ## ## Valid values: boolean -## Default value: true +## Default value: false (was true in Code12, libzypp-16.x) ## -# solver.dupAllowVendorChange = true +# solver.dupAllowVendorChange = false ## ## EXPERTS ONLY: Cleanup when deleting packages. Whether the solver should