]>
git.ipfire.org Git - thirdparty/libsolv.git/log
Wolf Vollprecht [Tue, 19 Mar 2019 08:31:36 +0000 (09:31 +0100)]
Add MSVC compilation support with musl, enable OS X testing
Michael Schroeder [Thu, 11 Apr 2019 12:13:46 +0000 (14:13 +0200)]
Be more correct with multiversion packages that obsolete their own name
We used to simply ignore the obsoletes. There are use cases which
need them, though. So do the right thing.
Michael Schroeder [Tue, 9 Apr 2019 14:32:01 +0000 (16:32 +0200)]
Use buildversion for comparison if two versions are identical
Michael Schroeder [Tue, 9 Apr 2019 14:30:47 +0000 (16:30 +0200)]
pool_conda_matchspec: return a simple dependency if we can
Michael Schroeder [Tue, 9 Apr 2019 11:11:22 +0000 (13:11 +0200)]
Test last commit
Michael Schroeder [Tue, 9 Apr 2019 11:04:25 +0000 (13:04 +0200)]
Fix SOLVER_FLAG_FOCUS_BEST updateing packages without reason
Michael Schroeder [Tue, 9 Apr 2019 09:36:40 +0000 (11:36 +0200)]
Better support for SOLVABLE_BUILDFLAVOR
This changes pool_solvable2str, testcase_str2solvid and
testcase_solvid2str to append the build flavor.
Michael Schroeder [Tue, 9 Apr 2019 09:35:31 +0000 (11:35 +0200)]
Fix a couple of signed/unsigned comparisons
Michael Schroeder [Tue, 9 Apr 2019 09:13:17 +0000 (11:13 +0200)]
Allow to lookup a single id with repodata_lookup_idarray
I don't see any harm in allowing this and it makes dealing with
things like SOLVABLE_LICENSE easier which can be either an id
(the old way) or an id array (the new way).
Michael Schroeder [Mon, 8 Apr 2019 13:07:14 +0000 (15:07 +0200)]
Use system type rpm in testcase
Otherwise arch 'noarch' is unknown
Michael Schroeder [Mon, 8 Apr 2019 12:49:07 +0000 (14:49 +0200)]
Fix tests
All tests should have a results section
Michael Schroeder [Mon, 8 Apr 2019 11:25:55 +0000 (13:25 +0200)]
Merge pull request #315 from ignatenkobrain/todo
trivial: Drop implemented items from TODO
Igor Gnatenko [Sun, 7 Apr 2019 09:08:33 +0000 (11:08 +0200)]
trivial: Drop implemented items from TODO
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Michael Schroeder [Fri, 5 Apr 2019 12:17:09 +0000 (14:17 +0200)]
Tweak solvable_identical and pool_solvable2str for conda
Michael Schroeder [Fri, 5 Apr 2019 11:37:04 +0000 (13:37 +0200)]
Drop unused diskusagexml2solv.c
Whatever that was...
Michael Schroeder [Fri, 5 Apr 2019 10:01:26 +0000 (12:01 +0200)]
Split testcase repo reading/writing into repo_testcase.c
This is done so that programs that just want to read/write
repos in testcase format do not need to drag in all of the
solver code. (This matters only for static linking, of course.)
Michael Schroeder [Thu, 4 Apr 2019 14:23:39 +0000 (16:23 +0200)]
Add repo_add_conda() and conda2solv
Michael Schroeder [Wed, 3 Apr 2019 14:37:59 +0000 (16:37 +0200)]
Get rid of the favorq
We do not need it anymore. It's easier to create the favormap
directly from the job list.
Michael Schroeder [Wed, 3 Apr 2019 14:10:08 +0000 (16:10 +0200)]
Merge pull request #313 from ignatenkobrain/solver-free-favorq
solver: Free favorq when running solver_solve()
Michael Schroeder [Wed, 3 Apr 2019 13:02:02 +0000 (15:02 +0200)]
More conda work
- add pool_conda_matchspec() to create a REL_CONDA dep from a string
- add name globbing for REL_CONDA
- support build flavor matching
Michael Schroeder [Wed, 3 Apr 2019 09:28:31 +0000 (11:28 +0200)]
Escape \ in file argument before calling ADD_TEST
Igor Gnatenko [Tue, 2 Apr 2019 12:22:08 +0000 (14:22 +0200)]
solver: Free favorq when running solver_solve()
Otherwise, favorq leaks from previous executions.
Fixes: https://github.com/openSUSE/libsolv/issues/312
Fixes: 2645bc64b322460ac77d0d051de63434d4a90a0a
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Michael Schroeder [Tue, 2 Apr 2019 11:34:30 +0000 (13:34 +0200)]
Add solv_cloexec() function
Windows needs a different implementation, and with that solv_cloexec
we need to patch just one place in the code.
Michael Schroeder [Mon, 1 Apr 2019 14:29:55 +0000 (16:29 +0200)]
Fix leak in last commit
Michael Schroeder [Mon, 1 Apr 2019 14:20:33 +0000 (16:20 +0200)]
Allow to build libsolv without stdio cookie opens
Igor Gnatenko [Mon, 2 Jul 2018 11:56:41 +0000 (12:56 +0100)]
build: use GNUInstallDirs
Fixes: #128
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Michael Schroeder [Fri, 29 Mar 2019 15:05:11 +0000 (16:05 +0100)]
Add changes, bump version to 0.7.4
Igor Gnatenko [Fri, 29 Mar 2019 12:18:25 +0000 (13:18 +0100)]
Merge pull request #305 from ignatenkobrain/matchsolvable
bindings: Add matchsolvable() for Pool and Selection
Michael Schroeder [Fri, 29 Mar 2019 10:49:37 +0000 (11:49 +0100)]
Implement complex conda version matches
This turned out to be easier than expected.
Michael Schroeder [Thu, 28 Mar 2019 14:08:04 +0000 (15:08 +0100)]
Add support for REL_CONDA
Still to do: support for chaining versions with ',' or '|'.
Michael Schroeder [Wed, 27 Mar 2019 12:43:24 +0000 (13:43 +0100)]
Revert last two commits, we need to do this different
Seems like we really need REL_CONDA to implement conda's MatchSpec.
Michael Schroeder [Wed, 27 Mar 2019 12:20:32 +0000 (13:20 +0100)]
Fix REL_EQ for conda, it's "==" and not "="
"=" is a fuzzy match.
Michael Schroeder [Wed, 27 Mar 2019 12:16:53 +0000 (13:16 +0100)]
Support DISTTYPE_CONDA in dep2str()
This basically strips the spaces from the relops and uses ',' for
REL_WITH and '|' for REL_OR.
Michael Schroeder [Wed, 27 Mar 2019 11:02:09 +0000 (12:02 +0100)]
repo_add_rpmdb: do not copy bad solvables from the old solv file
Michael Schroeder [Wed, 27 Mar 2019 11:00:01 +0000 (12:00 +0100)]
Document rpmdb2solv options
Michael Schroeder [Wed, 27 Mar 2019 10:55:10 +0000 (11:55 +0100)]
repodata_unset_uninternalized: allow to delete all attributes
This is done when the keyname is zero.
Michael Schroeder [Tue, 26 Mar 2019 10:50:10 +0000 (11:50 +0100)]
Add testcase for cleandeps fix
Michael Schroeder [Mon, 25 Mar 2019 15:58:50 +0000 (16:58 +0100)]
Optimize last commit a bit
There's no need to look at already conflicted packages, they cannot
be in the package list.
Michael Schroeder [Mon, 25 Mar 2019 14:53:52 +0000 (15:53 +0100)]
Fix cleandeps updates not updating all packages
Issue #309
Igor Gnatenko [Mon, 25 Mar 2019 08:43:26 +0000 (09:43 +0100)]
Merge pull request #303 from wolfv/patch-1
Add zlib include directories
Michael Schroeder [Thu, 21 Mar 2019 14:28:24 +0000 (15:28 +0100)]
Add DISTTYPE_CONDA and implement version comparison
Michael Schroeder [Thu, 21 Mar 2019 14:21:06 +0000 (15:21 +0100)]
Drop uio.h include
I don't know why it needs to be there. Lets see if removing it
breaks anything.
Igor Gnatenko [Sat, 16 Mar 2019 11:10:21 +0000 (12:10 +0100)]
bindings: Add matchsolvable() for Pool and Selection
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Wolf Vollprecht [Wed, 13 Mar 2019 14:14:39 +0000 (15:14 +0100)]
Add ZSTD_INCLUDE_DIRS
Wolf Vollprecht [Wed, 13 Mar 2019 13:09:40 +0000 (14:09 +0100)]
Add include_directory command to more compression libs
Wolf Vollprecht [Tue, 12 Mar 2019 17:09:10 +0000 (18:09 +0100)]
Add zlib include directories
Michael Schroeder [Tue, 5 Mar 2019 13:03:32 +0000 (14:03 +0100)]
Split SOLV_DEBUG_WATCHES from SOLV_DEBUG_PROPAGATE
Looking at the watches move from literal to literal is tedious
and distracts from the interesting messages.
Also make the debug output a bit less noisy.
Michael Schroeder [Wed, 13 Feb 2019 13:02:31 +0000 (14:02 +0100)]
Simplify moldule code
Use repodata_set_poolstr instead of converting the string to an id
and calling repodata_set_id.
Michael Schroeder [Wed, 13 Feb 2019 12:54:41 +0000 (13:54 +0100)]
Merge pull request #296 from j-mracek/module-updateinfo
Add support for modular updateinfo.xml data
Michael Schroeder [Wed, 13 Feb 2019 12:41:29 +0000 (13:41 +0100)]
Remove identical pool check for now
We'll use SolvableId like DepId in the future, so this needs to
be done in a different way.
Michael Schroeder [Wed, 13 Feb 2019 12:34:57 +0000 (13:34 +0100)]
Merge pull request #298 from ignatenkobrain/bindings
bindings: Add best_solvables/whatmatchessolvable
Igor Gnatenko [Sat, 9 Feb 2019 20:51:32 +0000 (21:51 +0100)]
bindings: Add pool.whatmatchessolvable()
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Igor Gnatenko [Sat, 9 Feb 2019 17:30:29 +0000 (18:30 +0100)]
bindings: Add pool.best_solvables()
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Igor Gnatenko [Tue, 12 Feb 2019 22:10:39 +0000 (23:10 +0100)]
doc: remove whitespaces at EOL
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Jaroslav Mracek [Thu, 17 Jan 2019 11:48:05 +0000 (12:48 +0100)]
Add support for modular updateinfo.xml data
Module advisory data can specify which advisory is applicable for which
modular stream. Module information can be absent or there could be
multiple entries.
If there is a module entry in advisory and none of modules in advisory
is enabled on the system, advisory is not relevant for the system and
should be ignored.
Michael Schroeder [Thu, 7 Feb 2019 12:11:02 +0000 (13:11 +0100)]
Merge pull request #297 from adelcast/dev/adelcast/recommends
solver_solve: only disfavor recommends if there are any
Alejandro del Castillo [Wed, 6 Feb 2019 19:24:04 +0000 (13:24 -0600)]
solver_solve: only disfavor recommends if there are any
In a repo that have pkg 'a' and 'b' available, and 'b' is disfavored,
but 'a' doesn't recommend 'b', libsolv segfaults on
solver_addrecommendsrules, since solv->recommendsruleq is null. Only
call solver_addrecommendsrules if there are recommends rules.
Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Michael Schroeder [Wed, 30 Jan 2019 15:09:51 +0000 (16:09 +0100)]
Add changes, bump version to 0.7.3
Michael Schroeder [Wed, 30 Jan 2019 14:46:04 +0000 (15:46 +0100)]
Specify source directoy for cmake call
This becomes mandatory with cmake 3.13.3.
Michael Schroeder [Thu, 24 Jan 2019 15:26:21 +0000 (16:26 +0100)]
zchunk: support skipping of optional elements
Michael Schroeder [Wed, 16 Jan 2019 12:00:32 +0000 (13:00 +0100)]
Make solver_addinfarchrules slightly more readable
Michael Schroeder [Tue, 22 Jan 2019 08:57:46 +0000 (09:57 +0100)]
Merge pull request #295 from pvuorela/master
Fix repo2solv to work with Busybox find tool
Pekka Vuorela [Mon, 21 Jan 2019 14:45:04 +0000 (16:45 +0200)]
Fix repo2solv to work with Busybox find tool
Busybox find got quite confused by "." as arg0. Added a new instance of
dot as first real parameter as I could assume that being the original
intention.
Michael Schroeder [Tue, 15 Jan 2019 13:10:38 +0000 (14:10 +0100)]
Add testcase for last commit
Michael Schroeder [Tue, 15 Jan 2019 13:06:08 +0000 (14:06 +0100)]
Do not disable infarch rules when they don't conflict with the job
Otherwise installing a package with the best arch might allow to
pull in the inferior arch as well.
Michael Schroeder [Mon, 7 Jan 2019 13:45:45 +0000 (14:45 +0100)]
Change pool_str2id calls to use "1" instead of "9"
Michael Schroeder [Thu, 20 Dec 2018 16:32:13 +0000 (17:32 +0100)]
testcase: support more selection types in disable commands
Michael Schroeder [Thu, 20 Dec 2018 15:26:37 +0000 (16:26 +0100)]
Small cleanup
Michael Schroeder [Wed, 19 Dec 2018 13:25:01 +0000 (14:25 +0100)]
Rename bestrules_pkg to bestrules_info, choicerules_ref to choicerules_info
Michael Schroeder [Tue, 18 Dec 2018 15:55:29 +0000 (16:55 +0100)]
Add testcase for the last commit
Michael Schroeder [Tue, 18 Dec 2018 15:40:00 +0000 (16:40 +0100)]
Make disfavoring recommended packages work if strong recommends is enabled
Unfortunately this needs a new rule type, which is just the original
recommends rule minus the disfavored packages.
Michael Schroeder [Tue, 18 Dec 2018 14:08:20 +0000 (15:08 +0100)]
bindings: support SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED
Michael Schroeder [Tue, 18 Dec 2018 12:57:48 +0000 (13:57 +0100)]
Refactor weak rule handling
Michael Schroeder [Tue, 11 Dec 2018 13:25:07 +0000 (14:25 +0100)]
Cleanups
Michael Schroeder [Tue, 11 Dec 2018 12:58:00 +0000 (13:58 +0100)]
Merge pull request #291 from jrohel/fix/memLeaks_memAccess
Fix: memory leaks, memory access, non used values
Michael Schroeder [Tue, 11 Dec 2018 12:51:54 +0000 (13:51 +0100)]
Cosmetics
Jaroslav Rohel [Tue, 11 Dec 2018 11:58:34 +0000 (12:58 +0100)]
Don't set values that are never read
Jaroslav Rohel [Tue, 11 Dec 2018 11:40:42 +0000 (12:40 +0100)]
Fix: Be sure that NONBLOCK is set
Jaroslav Rohel [Tue, 11 Dec 2018 09:27:15 +0000 (10:27 +0100)]
Fix: testsolv segfaults
ERROR: AddressSanitizer: SEGV on unknown address 0x0000000002f0 (pc 0x7f31501d3bd2 bp 0x7ffcfe4d4a50 sp 0x7ffcfe4d4a30 T0)
0 0x7f31501d3bd1 in pool_whatprovides /home/company/real_sanitize/libsolv-master/src/pool.h:331
1 0x7f31501d895e in testcase_str2solvid /home/company/real_sanitize/libsolv-master/ext/testcase.c:793
2 0x7f31501e8388 in testcase_read /home/company/real_sanitize/libsolv-master/ext/testcase.c:2807
3 0x402aa5 in main /home/company/real_sanitize/libsolv-master/tools/testsolv.c:148
4 0x7f314fa8da3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20a3f)
5 0x401bb8 in _start (/home/company/real_sanitize/libsolv-master/build/install/bin/testsolv+0x401bb8)
ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f5af9e7815f bp 0x7ffc4c843a40 sp 0x7ffc4c8436c0 T0)
0 0x7f5af9e7815e in testcase_read /home/company/real_sanitize/libsolv-master/ext/testcase.c:2799
1 0x402aa5 in main /home/company/real_sanitize/libsolv-master/tools/testsolv.c:148
2 0x7f5af971da3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20a3f)
3 0x401bb8 in _start (/home/company/real_sanitize/libsolv-master/build/install/bin/testsolv+0x401bb8)
Jaroslav Rohel [Tue, 11 Dec 2018 09:22:09 +0000 (10:22 +0100)]
Fix: testsolv segfault
ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fab0e11bf2b bp 0x7ffdfc044b70 sp 0x7ffdfc044a90 T0)
0 0x7fab0e11bf2a in testcase_str2dep_complex /home/company/real_sanitize/libsolv-master/ext/testcase.c:577
1 0x7fab0e11c80f in testcase_str2dep /home/company/real_sanitize/libsolv-master/ext/testcase.c:656
2 0x7fab0e12e64a in testcase_read /home/company/real_sanitize/libsolv-master/ext/testcase.c:2952
3 0x402aa5 in main /home/company/real_sanitize/libsolv-master/tools/testsolv.c:148
4 0x7fab0d9d2a3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20a3f)
5 0x401bb8 in _start (/home/company/real_sanitize/libsolv-master/build/install/bin/testsolv+0x401bb8)
Jaroslav Rohel [Tue, 11 Dec 2018 09:14:04 +0000 (10:14 +0100)]
Fix: Memory leaks
Jaroslav Rohel [Tue, 11 Dec 2018 08:50:06 +0000 (09:50 +0100)]
Fix: Add va_end() before return
The va_end() performs cleanup.
If va_end() is not called before a function that calls va_start() returns,
the behavior is undefined.
Jaroslav Rohel [Fri, 7 Dec 2018 06:05:10 +0000 (07:05 +0100)]
Fix: Dereference of null pointer
Michael Schroeder [Mon, 10 Dec 2018 14:05:39 +0000 (15:05 +0100)]
Do favor evaluation before pruning
This allows to support favoring single packages. As a side effect,
we'll have the best version displayed as alternative.
This changes the code to use a favor id for every solvable, which
means that it uses quite a bit of memory but makes the code much
easier and faster.
Michael Schroeder [Fri, 7 Dec 2018 14:17:15 +0000 (15:17 +0100)]
Add changes, bump version to 0.7.2
Michael Schroeder [Fri, 7 Dec 2018 14:05:11 +0000 (15:05 +0100)]
Get rid of the solve_helper function
We now use a special typemap to convert an array of Job objects
into a queue. (We already did that for tcl.)
Also generalize the DepId array code, we can now easily support
other dual types.
Michael Schroeder [Fri, 7 Dec 2018 14:03:14 +0000 (15:03 +0100)]
tclsolv: Adapt to Selection-flags change
Should have been in commit
c6b300573f9974706db9dfd061b6e6c5b0e81bf8
Michael Schroeder [Thu, 6 Dec 2018 13:42:01 +0000 (14:42 +0100)]
Docu tweaks
Michael Schroeder [Fri, 30 Nov 2018 15:16:51 +0000 (16:16 +0100)]
Tweak README
Michael Schroeder [Fri, 30 Nov 2018 14:05:33 +0000 (15:05 +0100)]
Do not autouninstall packages because of forcebest updates
Michael Schroeder [Fri, 30 Nov 2018 13:35:16 +0000 (14:35 +0100)]
Note to self: do not commit unfinished test cases...
Michael Schroeder [Fri, 30 Nov 2018 13:28:59 +0000 (14:28 +0100)]
Do not auto-erase disabled packages
Michael Schroeder [Mon, 26 Nov 2018 13:20:16 +0000 (14:20 +0100)]
Switch order of tilde and caret check in evr.c
Tilde must come before caret, so that 1.0~1 < 1.0^1
Also add this to the testcase.
Michael Schroeder [Mon, 26 Nov 2018 11:57:48 +0000 (12:57 +0100)]
Also look at recommends in only_namespace_recommended mode
We cheat by just checking if the dependency contains a namespace
relation. This is not 100% correct for complex dependencies where
we have multiple blocks after normalsation. But doing it right
is a lot of effort and there should be no difference in practice.
Michael Schroeder [Mon, 26 Nov 2018 11:55:20 +0000 (12:55 +0100)]
Enable support for new rpm's caret comparison
And add a testcase.
Michael Schroeder [Fri, 23 Nov 2018 13:19:16 +0000 (14:19 +0100)]
Add a small json parser
It's always good to have a json parser...
Michael Schroeder [Thu, 22 Nov 2018 15:18:56 +0000 (16:18 +0100)]
Add experimental SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED flag
This limits the recommends/supplements to namespace dependencies.
Michael Schroeder [Thu, 22 Nov 2018 12:28:38 +0000 (13:28 +0100)]
Fix last commit. Oops.
Michael Schroeder [Thu, 22 Nov 2018 11:53:20 +0000 (12:53 +0100)]
Get rid of the xmlparser's error callback
It's much simpler to just return an error from the parse
call.
Michael Schroeder [Thu, 22 Nov 2018 11:52:15 +0000 (12:52 +0100)]
Add a solvable_free() inline helper function