]>
git.ipfire.org Git - thirdparty/libsolv.git/log
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()
Petr Písař [Wed, 10 Jul 2024 14:54:56 +0000 (16:54 +0200)]
Fix a possible format overflow in dump_genid()
GCC 14 called with CFLAGS='-O2 -Wformat-overflow' complains:
/tmp/libsolv/ext/testcase.c: In function ‘dump_genid’:
/tmp/libsolv/ext/testcase.c:1275:33: warning: ‘: genid ’ directive writing 8 bytes into a region of size between 3 and 12 [-Wformat-overflow=]
1275 | sprintf(cntbuf, "genid %2d: genid ", cnt++);
| ^~~~~~~~
/tmp/libsolv/ext/testcase.c:1275:7: note: ‘sprintf’ output between 17 and 26 bytes into a destination of size 20
1275 | sprintf(cntbuf, "genid %2d: genid ", cnt++);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/libsolv/ext/testcase.c:1270:33: warning: ‘: genid ’ directive writing 8 bytes into a region of size between 3 and 12 [-Wformat-overflow=]
1270 | sprintf(cntbuf, "genid %2d: genid ", cnt++);
| ^~~~~~~~
/tmp/libsolv/ext/testcase.c:1270:7: note: ‘sprintf’ output between 17 and 26 bytes into a destination of size 20
1270 | sprintf(cntbuf, "genid %2d: genid ", cnt++);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
That's indeed a bug: sprintf() writes into a 20-byte array cntbuf. cnt
is int, 32-bit long integer on x86_64 Linux platform. dump_genid()
starts with cnt = 1 and increases. It can go up to
2147483647 decimal
value, then wrap to -
2147483648 decimal value. That's up to 11 bytes
of the integer, plus 14 bytes of a static string, plus 1 byte of
a trailing '\0'. 26 bytes in total.
While it's improbable that cnt would amount that long number in real
life, it's better to be prepared for the worst. Also a benefit is that
static analyzers will be be content.
This patch increases cntbuf[] size to accomodate common 32-bit
ints. (Generic, albeit illegible, expression would be:
cntbuf[((sizeof(cnt) * 8 - 1) * 3 / 10 + 1 + 1) + 14 + 1];
but I'm not sure that long expression is worth of it.)
Michael Schroeder [Tue, 9 Jul 2024 11:06:16 +0000 (13:06 +0200)]
Add new SOLVER_FLAG_FOCUS_NEW focus type
First resolve the given jobs, then the dependencies of the
resulting packages ignoreing the ones provided by currently
installed packages. After that resolve all already installed
packages. This is similar to SOLVER_FLAG_FOCUS_BEST but less
aggressive in updating packages.
Fixes issue #549
Michael Schroeder [Mon, 8 Jul 2024 10:27:35 +0000 (12:27 +0200)]
repo2solv: no longer use "find" to find rpms
This commit implements the file tree work needed
for the "plaindir" format. Like with the "find" command,
we do not follow symlinks to directories in recursive
mode.
Michael Schroeder [Fri, 7 Jun 2024 13:31:18 +0000 (15:31 +0200)]
Add more changes
Michael Schroeder [Fri, 7 Jun 2024 09:34:15 +0000 (11:34 +0200)]
Use %version in the new conflict and add a changes entry
Michael Schroeder [Fri, 7 Jun 2024 09:31:45 +0000 (11:31 +0200)]
Merge pull request #565 from bmwiedemann/conflict
Add a Conflicts in libsolv-tools-base
Bernhard M. Wiedemann [Fri, 7 Jun 2024 08:24:45 +0000 (10:24 +0200)]
Add a Conflicts in libsolv-tools-base
so this does not get installed in parallel with older versions
of libsolv-tools
Michael Schroeder [Tue, 21 May 2024 11:43:32 +0000 (13:43 +0200)]
bindings: fix return value of repodata.add_solv()
Found by Dante Grapiuna de Almeida, thanks!
Fixes #564
Michael Schroeder [Thu, 16 May 2024 13:46:23 +0000 (15:46 +0200)]
Also set errno for unsupported compressions in solv_xfopen_fd()
Michael Schroeder [Tue, 14 May 2024 10:01:52 +0000 (12:01 +0200)]
Fix SHA-224 oid in solv_pgpvrfy
Michael Schroeder [Thu, 16 May 2024 13:41:31 +0000 (15:41 +0200)]
Merge pull request #563 from ppisar/solv_xfopen_unsupported_error
Report unsupported compression in solv_xfopen() with errno
Petr Písař [Mon, 13 May 2024 07:55:01 +0000 (09:55 +0200)]
Report unsupported compression in solv_xfopen() with errno
If libsolv was built without Zstandard support and "primary.xml.zst"
was passed solv_xfopen(), solv_xfopen() returned 0 without setting
errno. A calling application could not distinguish an unsupported
compression format from other I/O errors.
This patch improves this situation by setting errno variable to an
appropriate value. The value macros are documented in POSIX 2017.
Michael Schroeder [Tue, 30 Apr 2024 13:29:06 +0000 (15:29 +0200)]
Add changes, bump version to 0.7.29
Michael Schroeder [Tue, 30 Apr 2024 13:08:54 +0000 (15:08 +0200)]
Use exclude of repo2solv/rpmdb2solv in libsolv-tools
Michael Schroeder [Tue, 30 Apr 2024 13:06:06 +0000 (15:06 +0200)]
Merge pull request #559 from dirkmueller/master
Split libsolv-tools
Michael Schroeder [Tue, 30 Apr 2024 13:04:16 +0000 (15:04 +0200)]
Merge pull request #561 from dirkmueller/remove_o3
Remove o3
Dirk Müller [Mon, 22 Apr 2024 19:21:46 +0000 (21:21 +0200)]
Split libsolv-tools
Dirk Müller [Wed, 24 Apr 2024 10:58:51 +0000 (12:58 +0200)]
Go back to -O2 for relwithdebuginfo
This removes about 11% of code size with neglegible performance
impact (tested via testsolv on a tumbleweed upgrade gives
equal performance)
Michael Schroeder [Wed, 10 Apr 2024 11:08:05 +0000 (13:08 +0200)]
make testcases debian proof
Michael Schroeder [Wed, 10 Apr 2024 10:33:17 +0000 (12:33 +0200)]
Add testcases for proof generation
Michael Schroeder [Wed, 10 Apr 2024 09:04:52 +0000 (11:04 +0200)]
testsolv: Add missing entries to resultflags2str
Michael Schroeder [Wed, 10 Apr 2024 08:45:07 +0000 (10:45 +0200)]
Revert accidental change when sorting the decicions
This reverts a wrong change from commit
29ebc283f819dc4c24534fa50a62931e262a5c32
Michael Schroeder [Wed, 10 Apr 2024 08:40:43 +0000 (10:40 +0200)]
Unbreak code to not end a proof with SOLVER_RULE_RPM_SAME_NAME
We broke it with commit
f6b47040159e905e62317ef846b26ffcaa8dad8f
when we added the reason to the decisionlist entry but forgot
to adapt the code.
We need to add decisionlist testcases...
Michael Schroeder [Tue, 9 Apr 2024 09:26:39 +0000 (11:26 +0200)]
getdecisionlist: keep track of all literals from a unit rule
Otherwise, sort_unit_decisions() may not find a unit rule and
go into and endless loop. Before this commit, we left out
conflicted packages to make the decisionlist shorter.
An alternative would be to track those left out literals.
Fixes #558.
Michael Schroeder [Wed, 27 Mar 2024 13:05:11 +0000 (14:05 +0100)]
luasolv: delete debug line
Michael Schroeder [Wed, 27 Mar 2024 12:48:19 +0000 (13:48 +0100)]
bindings: implement returnself for lua
And add a warning if the definition is missing for a new language.
Michael Schroeder [Wed, 27 Mar 2024 12:24:25 +0000 (13:24 +0100)]
Some lua typemap cleanups
Michael Schroeder [Wed, 27 Mar 2024 10:38:52 +0000 (11:38 +0100)]
Add datamatch.dep attribute support to the bindings
Michael Schroeder [Tue, 26 Mar 2024 13:33:36 +0000 (14:33 +0100)]
Globally rename __str__ to str for perl and tcl
Michael Schroeder [Tue, 26 Mar 2024 13:28:57 +0000 (14:28 +0100)]
Globally rename __str__ to to_s for ruby
Michael Schroeder [Tue, 26 Mar 2024 12:05:17 +0000 (13:05 +0100)]
Add stringification for the solutionelement class
Also globalize some renames.
Michael Schroeder [Wed, 27 Mar 2024 09:56:39 +0000 (10:56 +0100)]
Merge pull request #557 from dcantrell/uninitialized-structs
Fix a couple small static analysis findings for uninitialized structs
David Cantrell [Tue, 26 Mar 2024 16:13:55 +0000 (12:13 -0400)]
Fix a couple small static analysis findings for uninitialized structs
The memset() on the KeyValue is more explicit even though if you trace
the code you will see it fills out the struct. However, it's possible
that not every struct member will be initialized and adding the
memset() makes things more obvious and appeases the static analyzer.
The queue_init() appeared to just be missing.
Michael Schroeder [Mon, 25 Mar 2024 12:06:10 +0000 (13:06 +0100)]
Delete duplicated lines
Michael Schroeder [Mon, 25 Mar 2024 12:03:01 +0000 (13:03 +0100)]
Add lua to bindings documentation
Michael Schroeder [Mon, 25 Mar 2024 11:38:34 +0000 (12:38 +0100)]
Add lua bindings
Michael Schroeder [Mon, 25 Mar 2024 10:41:24 +0000 (11:41 +0100)]
Do __eq__ and __ne__ renaming as global rename for tcl
I didn't know this was possible...
Michael Schroeder [Mon, 25 Mar 2024 10:35:32 +0000 (11:35 +0100)]
Call appdata_get_helper with a pointer to the appdata
This adds more flexibility to the helper which is needed for the
upcoming lua bindings.
Michael Schroeder [Thu, 15 Feb 2024 10:01:06 +0000 (11:01 +0100)]
Enable MULTI_SEMANTICS in the spec file
There's no good reason not to do it.
Michael Schroeder [Wed, 14 Feb 2024 09:34:57 +0000 (10:34 +0100)]
Remove now unused argument
Michael Schroeder [Wed, 14 Feb 2024 09:31:33 +0000 (10:31 +0100)]
Remove more dead code
Michael Schroeder [Wed, 14 Feb 2024 09:24:47 +0000 (10:24 +0100)]
Also fulfill the update rule if we did a "special updater" update
Michael Schroeder [Tue, 13 Feb 2024 15:33:48 +0000 (16:33 +0100)]
Always use PyObject_Call as suggested by Jan Kolarik
PyObject_Call is available since python 2.2
Michael Schroeder [Tue, 13 Feb 2024 15:13:52 +0000 (16:13 +0100)]
fix last commit
Swig is weird.
Michael Schroeder [Tue, 13 Feb 2024 15:02:50 +0000 (16:02 +0100)]
Replace deprecated PyEval_CallObject will PyObject_Call when build for python >= 3.0
Fixes issue #551
Michael Schroeder [Tue, 13 Feb 2024 14:26:28 +0000 (15:26 +0100)]
Add testcase for issue #550
Michael Schroeder [Tue, 13 Feb 2024 14:25:47 +0000 (15:25 +0100)]
Handle installed packages in three passes
Fixes issue #550
Michael Schroeder [Tue, 13 Feb 2024 13:42:25 +0000 (14:42 +0100)]
Move special updaters handling into its own function
Michael Schroeder [Tue, 13 Feb 2024 11:43:50 +0000 (12:43 +0100)]
resolve_installed: remove dead code
Since we simplified our dup handling the update rules always
start with the installed package.
Michael Schroeder [Tue, 6 Feb 2024 14:01:11 +0000 (15:01 +0100)]
Bring python singlespec nearer to the documentation
Michael Schroeder [Tue, 6 Feb 2024 13:09:15 +0000 (14:09 +0100)]
Get rid of a couple of time_t uses
We are using our 'unsigned long long' numeric data type anyway
later on.
Michael Schroeder [Fri, 26 Jan 2024 10:36:15 +0000 (11:36 +0100)]
Add changes, bump version to 0.7.28
Michael Schroeder [Fri, 26 Jan 2024 10:34:01 +0000 (11:34 +0100)]
Add 'make clean' in singlespec build
This seems to be unneeded as the Makefile written by cmake
automatically detects that it needs to rebuild if a different
python version is used. But just be be on the safe side...
Michael Schroeder [Fri, 26 Jan 2024 10:15:43 +0000 (11:15 +0100)]
Merge pull request #542 from bluca/typos
Fix various typos found by Lintian
Michael Schroeder [Thu, 25 Jan 2024 15:20:28 +0000 (16:20 +0100)]
Get rid of cmake warning
Michael Schroeder [Thu, 25 Jan 2024 13:27:36 +0000 (14:27 +0100)]
Build for multiple python versions for SUSE
Michael Schroeder [Mon, 11 Dec 2023 11:31:20 +0000 (12:31 +0100)]
Merge pull request #546 from jonashaag/patch-1
Disable choice rules for Conda
Jonas Haag [Sat, 2 Dec 2023 11:21:51 +0000 (12:21 +0100)]
Disable choice rules for Conda
Luca Boccassi [Sat, 11 Nov 2023 16:26:58 +0000 (16:26 +0000)]
Fix various typos found by Lintian
Michael Schroeder [Thu, 23 Nov 2023 14:14:11 +0000 (15:14 +0100)]
Add changes, bump version to 0.7.27
Michael Schroeder [Thu, 23 Nov 2023 14:08:02 +0000 (15:08 +0100)]
Further optimize dirpool caching in repo_write
This halves the time to convert the rawhide/Everything repo.
Michael Schroeder [Thu, 23 Nov 2023 13:40:04 +0000 (14:40 +0100)]
Add license blurb to findfileconflicts tool
Like with all the other tools...
Michael Schroeder [Thu, 23 Nov 2023 12:26:48 +0000 (13:26 +0100)]
installcheck: use solver_problemruleinfo2str()
Michael Schroeder [Thu, 23 Nov 2023 12:03:31 +0000 (13:03 +0100)]
No longer use legacy problem types in installcheck
No functual changes.
Michael Schroeder [Thu, 23 Nov 2023 11:54:53 +0000 (12:54 +0100)]
Rewrite strlen_comp so that it no longer has its own list of compression types
Michael Schroeder [Thu, 23 Nov 2023 11:43:52 +0000 (12:43 +0100)]
Merge pull request #544 from Vogtinator/zst
installcheck: Support .zst files and fix .lzma
Fabian Vogt [Thu, 23 Nov 2023 10:09:08 +0000 (11:09 +0100)]
installcheck: Support .zst files and fix .lzma
Michael Schroeder [Wed, 8 Nov 2023 12:53:11 +0000 (13:53 +0100)]
repo_write: add a small cache for putinowndirpool()
This helps a lot with diskusage data or filelists.
Michael Schroeder [Tue, 7 Nov 2023 11:46:48 +0000 (12:46 +0100)]
Add changes, bump version to 0.7.26
Michael Schroeder [Tue, 7 Nov 2023 10:54:09 +0000 (11:54 +0100)]
repo_rpmdb.c: Do not use deprecated headerUnload with newer rpm versions
We check the definition of RPM_MASK_TYPE to find out it rpm is
new enough.
Michael Schroeder [Wed, 27 Sep 2023 15:24:34 +0000 (17:24 +0200)]
Fix evr roundtrip
Remove the "0:" stripping from the evr in testcase_read. Messing
with the evr is not our business, we need to reproduce the data
as faithful as possible.
Michael Schroeder [Thu, 14 Sep 2023 12:18:10 +0000 (14:18 +0200)]
Add changes, bump version to 0.7.25