]>
git.ipfire.org Git - thirdparty/libsolv.git/log
Michael Schroeder [Wed, 10 Dec 2025 14:10:27 +0000 (15:10 +0100)]
Merge pull request #601 from arrowd/master
Add support for the Elbrus2000 (e2k) architecture
Gleb Popov [Tue, 9 Dec 2025 16:31:59 +0000 (19:31 +0300)]
Add support for the Elbrus2000 (e2k) architecture
Gleb Popov [Tue, 9 Dec 2025 16:26:21 +0000 (19:26 +0300)]
runtestcases.sh: Use portable shebang
Michael Schroeder [Wed, 22 Oct 2025 11:10:55 +0000 (13:10 +0200)]
Merge pull request #600 from goodspeed34/qsort_r_fix
Fix qsort_r preprocessor for musl and FreeBSD
Gong Zhile [Wed, 22 Oct 2025 10:14:30 +0000 (18:14 +0800)]
Fix qsort_r preprocessor for musl and FreeBSD
The original mentioned qsort_r signature difference now only exists in DragonFly
BSD & MacOS. However, the preprocessor also broke the compliation on musl+linux
and FreeBSD, leading the compilation error on buildroot.
musl: https://git.musl-libc.org/cgit/musl/commit/?id=
b76f37fd5625d038141b52184956fb4b7838e9a5
freebsd, dragonfly, macos: QSORT(3)
FreeBSD and musl use the same GNU-like signature.
Signed-off-by: Gong Zhile <gongzl.oerv@isrc.iscas.ac.cn>
Michael Schroeder [Tue, 5 Aug 2025 10:03:15 +0000 (12:03 +0200)]
tarhead: add a line size limit to catch broken entries
Also write back the allocated line length.
Michael Schroeder [Tue, 5 Aug 2025 09:59:35 +0000 (11:59 +0200)]
repo_apk: move entry size limit to the top of the file
Michael Schroeder [Tue, 5 Aug 2025 09:57:14 +0000 (11:57 +0200)]
repo_arch: limit the package entry size
Michael Schroeder [Tue, 5 Aug 2025 09:24:16 +0000 (11:24 +0200)]
repo_apkv3: move arbitrary limits to the top of the file
Michael Schroeder [Tue, 5 Aug 2025 09:14:27 +0000 (11:14 +0200)]
repo_apkv3: improve blob length check
Michael Schroeder [Mon, 4 Aug 2025 09:14:31 +0000 (11:14 +0200)]
Add changes, bump version to 0.7.35
Michael Schroeder [Fri, 1 Aug 2025 13:35:01 +0000 (15:35 +0200)]
Rename pool_dep_fulfilled_in_map to pool_satisfieddep_map
This is more similar to the other functions we already have.
Michael Schroeder [Wed, 30 Jul 2025 10:40:59 +0000 (12:40 +0200)]
Move pool_dep_fulfilled_in_map into pooldep.c
Michael Schroeder [Wed, 30 Jul 2025 07:49:26 +0000 (09:49 +0200)]
Merge pull request #596 from m-blaha/doc-solver-flag-strong-recommends
Document SOLVER_FLAG_STRONG_RECOMMENDS flag
Michael Schroeder [Wed, 30 Jul 2025 07:45:48 +0000 (09:45 +0200)]
Merge pull request #592 from kontura/dep_fulfilled
Add pool_dep_fulfilled_in_map function
Michael Schroeder [Tue, 29 Jul 2025 13:48:33 +0000 (15:48 +0200)]
Split off pool_init_rels from pool_create and moveit to poolid.c
This allows us to remove the REL_BLOCK definition from
poolid_private.h.
Michael Schroeder [Tue, 29 Jul 2025 13:34:59 +0000 (15:34 +0200)]
Split grow_whatprovides_rel from pool_rel2id
Michael Schroeder [Tue, 29 Jul 2025 13:34:09 +0000 (15:34 +0200)]
Move dependency matching from pool.c to pooldep.c
Marek Blaha [Tue, 29 Jul 2025 12:37:49 +0000 (14:37 +0200)]
Document SOLVER_FLAG_STRONG_RECOMMENDS flag
Michael Schroeder [Tue, 29 Jul 2025 11:21:34 +0000 (13:21 +0200)]
Add comments to explain the whatprovidesaux a bit
Michael Schroeder [Tue, 29 Jul 2025 10:04:58 +0000 (12:04 +0200)]
Do not inline pool_is_kind
Michael Schroeder [Tue, 29 Jul 2025 09:52:42 +0000 (11:52 +0200)]
Move whatprovides handling from pool.c to poolwhatprovides.c
Michael Schroeder [Tue, 29 Jul 2025 08:02:04 +0000 (10:02 +0200)]
Fix potential access of freed mem in the genid testcase
Michael Schroeder [Fri, 25 Jul 2025 09:08:59 +0000 (11:08 +0200)]
solver_addbestrules: recalculate pointer to current rule after adding a new rule
The code adds new rules in a FOR_RULELITERALS loop. The iterator needs
to access elements of the rule it iterates over, so if we add a new
rule in the loop body, we have to make sure that the pointer to the
current rule stays valid.
Fixes issue #594
Michael Schroeder [Thu, 24 Jul 2025 13:04:47 +0000 (15:04 +0200)]
Merge pull request #593 from Redbeanw44602/master
Fix build on win32 & mingw.
Redbeanw44602 [Thu, 24 Jul 2025 05:43:26 +0000 (13:43 +0800)]
fix compile on mingw-w64.
Redbeanw44602 [Thu, 24 Jul 2025 05:42:07 +0000 (13:42 +0800)]
fix msvc c2036.
Michael Schroeder [Mon, 7 Jul 2025 11:51:03 +0000 (13:51 +0200)]
Add changes, bump version to 0.7.34
Michael Schroeder [Mon, 7 Jul 2025 11:27:04 +0000 (13:27 +0200)]
repo_autopattern: support creation of obsoletes for product packages
This adds support for provides of the type "product-obsoletes(name)".
We translate this to "Obsoletes: product:<name>" in the generated
product pseudo package.
We need this because people used "Obsoletes: product:name" in the
"release" package, but this is no longer allowed in newer rpm versions.
Besides, the obsoletes is kind of wrong in the "release" package
anyway, it belongs in the generated "product:" package.
Aleš Matěj [Tue, 1 Jul 2025 12:25:38 +0000 (14:25 +0200)]
Add pool_dep_fulfilled_in_map function
This is can be used to determine dependency closure on a given set of
packages (even with complex dependencies).
Michael Schroeder [Wed, 4 Jun 2025 15:13:53 +0000 (17:13 +0200)]
Merge pull request #591 from AntoinePrv/missing-headers
Fix Unix header on Windows
AntoinePrv [Wed, 4 Jun 2025 12:55:53 +0000 (14:55 +0200)]
Fix Unix header on Windows
Michael Schroeder [Tue, 3 Jun 2025 11:40:58 +0000 (13:40 +0200)]
Add changes, bump version to 0.7.33
Michael Schroeder [Tue, 3 Jun 2025 11:20:20 +0000 (13:20 +0200)]
Support orderwithrequires dependencies in susedata.xml
Michael Schroeder [Tue, 3 Jun 2025 09:47:54 +0000 (11:47 +0200)]
repo parsers: use strtoull instead of atoi to parse the time
Michael Schroeder [Mon, 2 Jun 2025 09:30:59 +0000 (11:30 +0200)]
Transaction ordering: Allow more uninst->uninst edges
Only skip uninst->uninst edges if both elements are build to
inst elements.
Michael Schroeder [Fri, 16 May 2025 08:19:15 +0000 (10:19 +0200)]
Merge pull request #590 from gruenich/feature/cppcheck-warnings
Simlify some if conditions to fix Cppcheck warnings
Christoph Grüninger [Wed, 14 May 2025 19:31:56 +0000 (21:31 +0200)]
pool.c: Remove identical if condition
It is always true.
Found by Cppcheck (identicalInnerCondition).
Christoph Grüninger [Wed, 14 May 2025 19:24:05 +0000 (21:24 +0200)]
order.c: Combine if's with identical conditions
Found by Cppcheck (duplicateCondition).
Christoph Grüninger [Wed, 14 May 2025 19:21:31 +0000 (21:21 +0200)]
rules.c: Simplify if condition
rid <=0 is checked two lines before.
Found by Cppcheck (knownConditionTrueFalse).
Christoph Grüninger [Wed, 14 May 2025 19:16:19 +0000 (21:16 +0200)]
decision.c: Simplify else condition
Found by Cppcheck: "Expression is always true because
'else if' condition is opposite to previous condition
at line 608." (multiCondition)
Michael Schroeder [Wed, 14 May 2025 12:06:52 +0000 (14:06 +0200)]
Merge pull request #589 from gruenich/feature/implicit-function-declaration
Add includes for getopt() and strcasecmp()
Michael Schroeder [Wed, 14 May 2025 12:06:11 +0000 (14:06 +0200)]
Merge pull request #588 from gruenich/feature/decision-return-void
decision.c: void function should not return anything
Christoph Grüninger [Tue, 13 May 2025 17:34:04 +0000 (19:34 +0200)]
Add includes for getopt() and strcasecmp()
Found by GCC in C23 mode (implicit-function-declaration).
Christoph Grüninger [Tue, 13 May 2025 17:11:35 +0000 (19:11 +0200)]
decision.c: void function should not return anything
Do not call to solver_get_proof as part of return statement
Found by GCC ("ISO C forbids ‘return’ with expression, in
function returning void", pedantic).
Michael Schroeder [Tue, 15 Apr 2025 11:11:30 +0000 (13:11 +0200)]
Add apk2solv man page
Michael Schroeder [Tue, 15 Apr 2025 10:52:47 +0000 (12:52 +0200)]
Add regression test for last commit
Michael Schroeder [Mon, 14 Apr 2025 13:18:14 +0000 (15:18 +0200)]
Merge pull request #584 from AntoinePrv/missing-headers
Add missing headers
AntoinePrv [Mon, 14 Apr 2025 12:15:53 +0000 (14:15 +0200)]
add missing headers
Michael Schroeder [Mon, 14 Apr 2025 12:14:59 +0000 (14:14 +0200)]
Implement color filtering when adding update targets
The old code created update jobs spanning multiple architectures
even if "implicitobsoleteusescolors" was set.
Also add color filtering in replaces_installed_package, where it
seems to be also missing
Fixes issue #583.
Michael Schroeder [Thu, 10 Apr 2025 13:43:09 +0000 (15:43 +0200)]
rpms2solv: add -i option to include the pkgid
Michael Schroeder [Thu, 10 Apr 2025 13:40:59 +0000 (15:40 +0200)]
Use the truncated sha256 sigtag if there is no header+payload md5
Rpmv6 will no longer have a header+payload digest.
Michael Schroeder [Thu, 3 Apr 2025 11:10:26 +0000 (13:10 +0200)]
Add changes, bump version to 0.7.32
Michael Schroeder [Thu, 3 Apr 2025 11:05:54 +0000 (13:05 +0200)]
Add dataiterator_final_{solvable,repo} functions
Those are needed by libzypp. They tell the dataiterator that it
should stay in the solvable/repository.
Michael Schroeder [Thu, 3 Apr 2025 09:36:00 +0000 (11:36 +0200)]
Merge pull request #578 from bmwiedemann/yastruby
Provide a symbol specific for the ruby-version
Michael Schroeder [Wed, 2 Apr 2025 14:01:15 +0000 (16:01 +0200)]
Fix typo that broke restoration of CMAKE_FIND_LIBRARY_SUFFIXES
Bernhard M. Wiedemann [Wed, 15 Jan 2025 09:21:25 +0000 (10:21 +0100)]
Provide a symbol specific for the ruby-version
so that yast does not break across updates (boo#
1235598 )
Michael Schroeder [Mon, 31 Mar 2025 14:21:20 +0000 (16:21 +0200)]
SEARCH_THISSOLVID is in use by libzypp
Michael Schroeder [Mon, 31 Mar 2025 13:59:57 +0000 (15:59 +0200)]
Hide a couple of internal definitions
Michael Schroeder [Fri, 28 Mar 2025 13:24:22 +0000 (14:24 +0100)]
Merge pull request #576 from gruenich/feature/drop-travis-ci
Remove file for travis CI
Michael Schroeder [Fri, 28 Mar 2025 13:21:41 +0000 (14:21 +0100)]
Merge pull request #577 from gruenich/feature/github-action-checkout-v4
[ci] Update actions/checkout to version 4
Christoph Grüninger [Sat, 21 Dec 2024 13:49:46 +0000 (14:49 +0100)]
Remove file for travis CI
This should be no longer used for a long time
Michael Schroeder [Thu, 20 Mar 2025 14:37:10 +0000 (15:37 +0100)]
Change the package to build both static and dynamic
This is done for suse_version >= 1600, i.e. openSUSE and SLES16.
There will be a new subpackage called libsolv-devel-static.
Michael Schroeder [Thu, 20 Mar 2025 14:11:19 +0000 (15:11 +0100)]
apk: tweak apk_add_hdrid a bit
Make sure that the checksum starts with 'Q'.
Michael Schroeder [Thu, 20 Mar 2025 10:06:01 +0000 (11:06 +0100)]
Allow to link the tools/bindings against the static version of the libraries
This is only relevant if both the static and dynamic versions are
built.
Michael Schroeder [Thu, 20 Mar 2025 10:04:23 +0000 (11:04 +0100)]
repo_apkv3: be more correct in add_add_idb_pkg
Should not matter because the adb blocks are always fitting
in 30 bits.
Michael Schroeder [Thu, 20 Mar 2025 10:03:41 +0000 (11:03 +0100)]
Split off common apk_fillbuf function
Michael Schroeder [Wed, 19 Mar 2025 14:26:20 +0000 (15:26 +0100)]
Remove CMAKE_MAJOR_VERSION comparison
Michael Schroeder [Wed, 19 Mar 2025 14:23:16 +0000 (15:23 +0100)]
Merge pull request #581 from ppisar/cmake4
Increase CMake version to 3.5
Petr Písař [Tue, 4 Mar 2025 08:02:22 +0000 (09:02 +0100)]
Increase CMake version to 3.5
CMake 4.0.0 removed a support for CMake scripts older than 3.5 and a build
with CMake 4.0.0-rc2 fails like this:
$ /usr/bin/cmake -S . -B redhat-linux-build
CMake Warning (dev) at CMakeLists.txt:1 (PROJECT):
cmake_minimum_required() should be called prior to this top-level project()
call. Please see the cmake-commands(7) manual for usage documentation of
both commands.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at CMakeLists.txt:3 (CMAKE_MINIMUM_REQUIRED):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
-- Configuring incomplete, errors occurred!
There seems to be no way of making the script working with all
versions. CMake 3.5 was relased in 2016.
This patch increases the minimal version to 3.5 and moves it to the top
of the script as it needs to be the very first thing of a script as
recommeded by cmake:
CMake Warning (dev) at CMakeLists.txt:1 (PROJECT):
cmake_minimum_required() should be called prior to this top-level project()
call. Please see the cmake-commands(7) manual for usage documentation of
both commands.
I did not set a supported upper version of CMake since I guess
we do not want to update it with every new minor CMake release.
Other printed CMake warnings are not news are not addressed with
this patch.
Michael Schroeder [Mon, 10 Feb 2025 09:56:31 +0000 (10:56 +0100)]
Merge pull request #580 from ppisar/c23
Fix building in ISO C23
Petr Písař [Fri, 7 Feb 2025 14:21:16 +0000 (15:21 +0100)]
Fix building in ISO C23
ISO C23 added bool type as a keyword. It is the standard GCC 15 uses by default and
compilation of bindings/perl/solv_perl.c fails then:
bindings/perl/solv_perl.c:1641:13: error: ‘bool’ cannot be defined via ‘typedef’
1641 | typedef int bool;
| ^~~~
/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/redhat-linux-build/bindings/perl/solv_perl.c:1641:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/redhat-linux-build/bindings/perl/solv_perl.c:1641:1: warning: useless type name in empty declaration
1641 | typedef int bool;
| ^~~~~~~
The typedef comes from bindings/solv.i which attemps to supply it in case Swig
undefines it.
This patch fixes it by not defining it in case ISO C23 or newer is in
use. Keywords cannot be checked by a preprocessor, neither undefined
(by Swig).
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=
2340762
Christoph Grüninger [Sat, 21 Dec 2024 13:55:01 +0000 (14:55 +0100)]
[ci] Update actions/checkout to version 4
Michael Schroeder [Mon, 20 Jan 2025 15:49:21 +0000 (16:49 +0100)]
Fix apkv3 dependency operator handling
Michael Schroeder [Mon, 20 Jan 2025 15:47:10 +0000 (16:47 +0100)]
Also set SOLVABLE_DOWNLOADSIZE for apkv2 indexes
Michael Schroeder [Fri, 17 Jan 2025 13:12:15 +0000 (14:12 +0100)]
Add missing solv_free in the adb_read_adb_blk error case
Michael Schroeder [Fri, 17 Jan 2025 09:13:23 +0000 (10:13 +0100)]
Add liblzma-dev to fix the CI build
Michael Schroeder [Thu, 16 Jan 2025 15:40:21 +0000 (16:40 +0100)]
Fix bit shift in adb_read_blk_header
And also move it to the other file read functions.
Michael Schroeder [Wed, 15 Jan 2025 10:53:17 +0000 (11:53 +0100)]
Rename APK_ADD_INDEX to APK_ADD_INSTALLED_DB while we can
Michael Schroeder [Wed, 15 Jan 2025 10:46:24 +0000 (11:46 +0100)]
Implement apkv3 support
Michael Schroeder [Wed, 18 Dec 2024 10:00:35 +0000 (11:00 +0100)]
Allow an empty index file in repo_add_apk_repo
Michael Schroeder [Tue, 17 Dec 2024 11:15:54 +0000 (12:15 +0100)]
Fix repo_add_arch_repo return type
Michael Schroeder [Tue, 17 Dec 2024 11:11:25 +0000 (12:11 +0100)]
Implement decompression in repo_add_apk_repo()
We need this to support apkv3 index files.
Michael Schroeder [Thu, 28 Nov 2024 13:21:43 +0000 (14:21 +0100)]
Make LIBSOLVEXT_FEATURE_APK available in solvversion.h
Michael Schroeder [Thu, 28 Nov 2024 13:13:13 +0000 (14:13 +0100)]
Add apk.h. Not my day.
Michael Schroeder [Thu, 28 Nov 2024 13:11:40 +0000 (14:11 +0100)]
Add forgotten apk2solv.c file
Michael Schroeder [Thu, 28 Nov 2024 12:47:31 +0000 (13:47 +0100)]
Add a package/repo parser for apk
You need to configure with ENABLE_APK to get them.
Note that we currently only support the v2 format. We'll add
v3 support if somebody uses it in the future.
Michael Schroeder [Thu, 28 Nov 2024 12:31:02 +0000 (13:31 +0100)]
Add support for DISTTYPE_APK to the libsolv core
This is mostly the apk version comparison. We also do not add
spaces around the comparison ops for apk and shorten =~ to ~.
This is currenly bould to MULTI_SEMANTICS as we do not have
an "alpine" target yet.
Michael Schroeder [Thu, 28 Nov 2024 12:08:39 +0000 (13:08 +0100)]
Move tar handling from repo_arch into its own file
We'll need it for apk packages.
Michael Schroeder [Mon, 25 Nov 2024 11:03:29 +0000 (12:03 +0100)]
Fix repo_add_arch_local() declaration
Michael Schroeder [Tue, 12 Nov 2024 09:56:36 +0000 (10:56 +0100)]
Add changes, bump version to 0.7.31
Michael Schroeder [Tue, 12 Nov 2024 09:44:07 +0000 (10:44 +0100)]
Use the correct solvable id when checking the noarch map
Fixes issue #574
Michael Schroeder [Wed, 25 Sep 2024 11:52:40 +0000 (13:52 +0200)]
Init the whatprovides of new ids to an empty list for lazy file provides
Otherwise finding the provides will always search the file list.
Michael Schroeder [Wed, 18 Sep 2024 12:33:20 +0000 (14:33 +0200)]
Make POOL_FLAG_ADDFILEPROVIDESFILTERED behaviour more standard
Turning on POOL_FLAG_ADDFILEPROVIDESFILTERED made the lookup of
all file dependencies lazy, not only the ones required by some
dependency. This changes the way searching works and may also
slow down some use cases.
We now changed addfileprovides() to record the needed non-standard
file dependencies and only make those lazy in createwhatprovides().
Michael Schroeder [Mon, 16 Sep 2024 13:43:45 +0000 (15:43 +0200)]
Add rpm_query_idarray query function
This is added to query the OrderWithRequires dependencies from
downloaded rpms.
Also refactor query code a bit.
Michael Schroeder [Mon, 16 Sep 2024 13:35:17 +0000 (15:35 +0200)]
Support orderwithrequires dependencies in testcases
Michael Schroeder [Thu, 12 Sep 2024 10:37:09 +0000 (12:37 +0200)]
Support rpm's "orderwithrequires" dependency
Note that the rpmmd parser cannot set it as the xml schema
does not include this type of dependency.
Michael Schroeder [Mon, 22 Jul 2024 11:47:47 +0000 (13:47 +0200)]
Refactor string pool merging in repo_solv
Move merging code into strpool.c where it belongs. Also clean up
hashmask handling a bit.
Michael Schroeder [Thu, 11 Jul 2024 11:21:09 +0000 (13:21 +0200)]
Add changes, bump version to 0.7.30
Michael Schroeder [Thu, 11 Jul 2024 08:12:36 +0000 (10:12 +0200)]
Merge pull request #571 from ppisar/dump_genid_format_overflow
Fix a possible format overflow in dump_genid()