]>
git.ipfire.org Git - thirdparty/libsolv.git/log
Michael Schroeder [Wed, 26 Aug 2015 09:23:07 +0000 (11:23 +0200)]
tcl bindings: rename __str__ to str, __repr__ to repr, __eq__ to ==, and __ne__ to !=
Also rename __repr__ to repr for the perl bindings.
Michael Schroeder [Wed, 26 Aug 2015 09:16:25 +0000 (11:16 +0200)]
tcl bindings: implement the solver->solve method the hard way
Michael Schroeder [Tue, 25 Aug 2015 15:21:17 +0000 (17:21 +0200)]
Update tclsolv, still work in progress
* use arrays instead of dics for the repos, so we can use the $foo(bar)
syntax which makes the code a bit more readable
* implement susetags reading and cache writing
Michael Schroeder [Tue, 25 Aug 2015 15:09:39 +0000 (17:09 +0200)]
bindings: fix SWIG_AsCharPtrAndSize usage
The returned size seems to be always incremented for some reason.
Michael Schroeder [Tue, 25 Aug 2015 14:43:38 +0000 (16:43 +0200)]
tcl bindings: use Tcl_GetByteArrayFromObj to get the raw binary data
We do not want utf8 encoding of binary data...
Michael Schroeder [Tue, 25 Aug 2015 12:00:32 +0000 (14:00 +0200)]
[backend] support a -T option that writes a testcase
Useful for verification purposes.
Michael Schroeder [Tue, 25 Aug 2015 11:59:46 +0000 (13:59 +0200)]
Remove support for THEN, make ELSE work with IF
Michael Schroeder [Tue, 25 Aug 2015 10:48:05 +0000 (12:48 +0200)]
Fix REL_COND for weak deps corner cases
Michael Schroeder [Mon, 24 Aug 2015 20:06:41 +0000 (22:06 +0200)]
Add support for REL_ELSE
Also make REL_COND strictly OR_NOT, even in an OR
context like Conflicts or Supplements.
Michael Schroeder [Fri, 21 Aug 2015 15:26:45 +0000 (17:26 +0200)]
work in progress: the solv tool written in tcl
Michael Schroeder [Fri, 21 Aug 2015 11:05:37 +0000 (13:05 +0200)]
tcl bindings: add solv::iter for iterator support
Usage: solv::iter var iterator code
Michael Schroeder [Fri, 21 Aug 2015 09:26:57 +0000 (11:26 +0200)]
tcl bindings: fix appdata code
Michael Schroeder [Thu, 20 Aug 2015 16:00:31 +0000 (18:00 +0200)]
fix binary data handling in tcl
Michael Schroeder [Thu, 20 Aug 2015 10:32:00 +0000 (12:32 +0200)]
Support the solver.describe_weakdep_decision method
It returns an array of 3-tuples.
Michael Schroeder [Wed, 12 Aug 2015 14:00:12 +0000 (16:00 +0200)]
fix pc file directory
Michael Schroeder [Wed, 12 Aug 2015 13:38:07 +0000 (15:38 +0200)]
Adapt specfile for libsolv.pc
Michael Schroeder [Wed, 12 Aug 2015 13:33:46 +0000 (15:33 +0200)]
Merge pull request #67 from kirgene/master
Added pkg-config file for library.
Michael Schroeder [Wed, 5 Aug 2015 09:50:19 +0000 (11:50 +0200)]
Change mandriva disttag/distepoch handling
It's now more in sync with what mandriva's perl-URPM does, and it
also does not penalize mageia anymore.
Michael Schroeder [Tue, 4 Aug 2015 12:30:04 +0000 (14:30 +0200)]
Specify PYTHONLIBS_VERSION_STRING on the FIND_PACKAGE call
Otherwise the configure will fail for newer cmake versions, as
they expect _MAJOR/_MINOR/_COUNT to be set as well.
Michael Schroeder [Tue, 4 Aug 2015 09:45:56 +0000 (11:45 +0200)]
Merge pull request #96 from mtoman/add_mips
Extend support for MIPS architectures
Michal Toman [Tue, 4 Aug 2015 07:30:44 +0000 (09:30 +0200)]
Extend support for MIPS architectures
Signed-off-by: Michal Toman <mtoman@fedoraproject.org>
Michael Schroeder [Mon, 3 Aug 2015 09:29:45 +0000 (11:29 +0200)]
Support testcase writing in bindings
Michael Schroeder [Mon, 3 Aug 2015 09:27:50 +0000 (11:27 +0200)]
Add "const" to some args
Michael Schroeder [Mon, 20 Jul 2015 13:16:29 +0000 (15:16 +0200)]
Enable the comps parser for SUSE
This is to allow kiwi to deal with comps groups.
Michael Schroeder [Wed, 15 Jul 2015 09:47:54 +0000 (11:47 +0200)]
do not ignore the result of solv_realloc when shrinking whatprovidesauxdata
As we're always shrinking the code worked with glibc, but resulted
in a segfault under valgrind.
Michael Schroeder [Thu, 11 Jun 2015 11:46:25 +0000 (13:46 +0200)]
Merge pull request #90 from neverpanic/master
Implement Tcl bindings
Clemens Lang [Sat, 30 May 2015 19:56:22 +0000 (21:56 +0200)]
Fix incorrect comparison with multiple values
a == X || Y
is valid C, but does interesting things and probably not what you would
expect. Luckily, clang warns for this kind of problem:
warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
Fix this by using the proper comparison logic, which is
a == X || a == Y
Signed-off-by: Clemens Lang <neverpanic@gmail.com>
Clemens Lang [Wed, 10 Jun 2015 23:07:16 +0000 (01:07 +0200)]
Fix library install names on OS X
Libraries on OS X are referenced using abolute paths. When linking
against a library, its so-called install name is copied into the binary
to reference the library. CMake supports setting this install name using
the INSTALL_NAME_DIR target property.
Signed-off-by: Clemens Lang <neverpanic@gmail.com>
Clemens Lang [Wed, 10 Jun 2015 23:14:59 +0000 (01:14 +0200)]
Add warnings for missing parts in new languages
This should simplify porting the libsolv bindings to new languages
because rather than failing with a cryption SWIG error, these warnings
should give developers a hint what needs to be done at minimum.
Signed-off-by: Clemens Lang <neverpanic@gmail.com>
Clemens Lang [Sat, 30 May 2015 13:29:43 +0000 (15:29 +0200)]
Implement libsolv Tcl bindings
Add the necessary build system changes and modifications in the SIWG
interface definition file to enable generation of Tcl bindings. The
build system generates and installs a Tcl module that can used from
tclsh using
% package require solv
Constants and operations are available in the solv:: namespace, e.g.
% puts $solv::Solver_POLICY_ILLEGAL_DOWNGRADE
will echo "1".
Rudimentary testing has been done, but this should be considered
experimental for now. We will fix problems as we encounter them.
Signed-off-by: Clemens Lang <neverpanic@gmail.com>
Michael Schroeder [Tue, 2 Jun 2015 09:45:09 +0000 (11:45 +0200)]
add changes, bump version
Michael Schroeder [Tue, 2 Jun 2015 09:40:13 +0000 (11:40 +0200)]
Add SHA512 also to data_skip_verify for completeness
data_skip_verify is currently unused.
Michael Schroeder [Mon, 1 Jun 2015 16:57:34 +0000 (18:57 +0200)]
Add forgotten checksum types to data_skip.
This should have been in commit
c8164bfecf2ba8bcf4c24329534d3104f19da73c .
Thanks to tuxmaster for helping me to reproduce the crash.
Michael Schroeder [Mon, 1 Jun 2015 12:29:03 +0000 (14:29 +0200)]
ABI compat: move whatprovidesaux to private part of pool
Michael Schroeder [Mon, 1 Jun 2015 11:43:41 +0000 (13:43 +0200)]
Fix distupgrade with allowuninstall
It used to dump core in rare circumstances, it also did not
always produce the correct result.
Michael Schroeder [Fri, 29 May 2015 11:28:06 +0000 (13:28 +0200)]
Add POOL_FLAG_NOWHATPROVIDESAUX pool flag
The whatprovidesaux data takes up a lot of mem, so if mem is rare
you can turn it off now.
Michael Schroeder [Fri, 29 May 2015 09:41:25 +0000 (11:41 +0200)]
Prepare for disabling of whatprovidesaux
Michael Schroeder [Thu, 28 May 2015 15:16:06 +0000 (17:16 +0200)]
Add whatprovidesaux helper arrays
They need quite a bit of space, but may speed up whatprovides_rel
creation significantly in some cases.
Michael Schroeder [Wed, 27 May 2015 14:52:13 +0000 (16:52 +0200)]
Some cleanup
Michael Schroeder [Wed, 27 May 2015 09:39:19 +0000 (11:39 +0200)]
solver_reset no longer creates problems
Michael Schroeder [Wed, 27 May 2015 09:34:16 +0000 (11:34 +0200)]
Do rule assertions in the main solver loop
We now start with level == 0, which means that we need to do
the assertions. Also, we now return 0 from analyze_unsolvable,
meaning the assertions are no longer done there.
Michael Schroeder [Wed, 27 May 2015 08:36:21 +0000 (10:36 +0200)]
Use level == -1 as unsolvable marker
So that we can use level 0 for the initial decisions.
Michael Schroeder [Wed, 27 May 2015 08:21:23 +0000 (10:21 +0200)]
Cleanup analyze and analyze_unsolvable
Use the FOR_RULELITERAL macro, rename some stuff.
Michael Schroeder [Tue, 26 May 2015 14:00:37 +0000 (16:00 +0200)]
convert some testcase to "any disttype"
Michael Schroeder [Tue, 26 May 2015 13:59:22 +0000 (15:59 +0200)]
Support multiple dist types in testcases
and * as "march any" dist type.
Michael Schroeder [Fri, 22 May 2015 13:45:10 +0000 (15:45 +0200)]
installcheck: support archlinux repos
Michael Schroeder [Fri, 22 May 2015 13:44:51 +0000 (15:44 +0200)]
Make MULTI_SEMANTICS more prominent
Michael Schroeder [Fri, 22 May 2015 13:43:38 +0000 (15:43 +0200)]
Treat an unsupported disttype as missing feature
Doesn't help much as no test will be run if 'rpm' is
not supported, but hey...
Michael Schroeder [Wed, 20 May 2015 13:21:37 +0000 (15:21 +0200)]
Old cmake does not support parenthetical expressions
Michael Schroeder [Wed, 20 May 2015 13:05:05 +0000 (15:05 +0200)]
Fix linker checks
Michael Schroeder [Mon, 18 May 2015 12:40:18 +0000 (14:40 +0200)]
Reduce the number if identical conflict rules
reduces memory usage and speeds up rule creation a bit.
Michael Schroeder [Fri, 15 May 2015 10:10:53 +0000 (12:10 +0200)]
move the "requires provided by same package" check
So that we don't add the other requires to the todo list, thus
reducing the number of packages to look at.
Michael Schroeder [Wed, 13 May 2015 15:28:45 +0000 (17:28 +0200)]
allow complex erase jobs
Michael Schroeder [Wed, 13 May 2015 15:19:24 +0000 (17:19 +0200)]
only create weakrulemap when needed
Michael Schroeder [Wed, 13 May 2015 15:07:48 +0000 (17:07 +0200)]
remove useless if statement
Michael Schroeder [Wed, 13 May 2015 12:43:13 +0000 (14:43 +0200)]
rename vars in analyze()
For consistency with other functions...
Michael Schroeder [Wed, 13 May 2015 12:38:01 +0000 (14:38 +0200)]
Now that we cleaned up the code we can merge the 2/3 literals cases again
Michael Schroeder [Tue, 12 May 2015 14:53:00 +0000 (16:53 +0200)]
Move learnt rule creation into analyze()
This way we can make use of the new solver_addrule2 function.
Michael Schroeder [Tue, 12 May 2015 14:04:20 +0000 (16:04 +0200)]
Rework rules handling
Instead of having a bastard solver_addrule which wither takes an offset
into whatprovides or a direct literal, we now have two functions:
solver_addrule2 will add a rule with one or two literals
solver_addrulen will add a rule specified by an offset into whatprovides
This should make the code cleaner, faster, and less memory is used also.
This commit also adds a pool_ids2whatprovides function.
Michael Schroeder [Tue, 12 May 2015 14:01:21 +0000 (16:01 +0200)]
Support CPLXDEPS_NAME flag
This selects nevr filterinf, used for SOLVER_SOLVABLE_NAME complex
deps.
Michael Schroeder [Mon, 13 Apr 2015 11:57:30 +0000 (13:57 +0200)]
Propagate initial decisions right away
Makes the code less error prone.
Michael Schroeder [Tue, 12 May 2015 09:24:40 +0000 (11:24 +0200)]
Merge pull request #84 from neverpanic/master
Avoid linker flags when not available, fixes OS X
Clemens Lang [Mon, 11 May 2015 17:54:51 +0000 (19:54 +0200)]
Avoid linker flags when not available, fixes OS X
The build currently fails on OS X because the OS X linker ld64 does not
support --as-needed or --version-script. Fix this by checking whether
these flags are supported by the currently used linker and only passing
them if they are.
Michael Schroeder [Tue, 5 May 2015 15:37:21 +0000 (17:37 +0200)]
Merge pull request #82 from coolo/master
fix ruby calls
Stephan Kulow [Tue, 5 May 2015 15:27:34 +0000 (17:27 +0200)]
fix ruby calls
Michael Schroeder [Wed, 8 Apr 2015 11:22:58 +0000 (13:22 +0200)]
Postpone creation of alternatives until all other rules are resolved
Also optimize the sort_by_common_deps code a bit.
Michael Schroeder [Tue, 7 Apr 2015 14:31:10 +0000 (16:31 +0200)]
Add SOLVER_FLAG_NEED_UPDATEPROVIDE
This flag makes the solver only consider packages providing the
old package name as update candidates.
Michael Schroeder [Thu, 26 Mar 2015 11:43:36 +0000 (12:43 +0100)]
commit GET_USERINSTALLED_NAMEARCH bits
The repo_deb part was already committed by mistake...
Michael Schroeder [Mon, 23 Mar 2015 14:13:37 +0000 (15:13 +0100)]
Add str2dep testcases using the genid feature
Michael Schroeder [Mon, 23 Mar 2015 14:12:56 +0000 (15:12 +0100)]
fix namespace escaping in testcase_dep2str
Michael Schroeder [Mon, 23 Mar 2015 11:45:59 +0000 (12:45 +0100)]
add support for id generation to testcase.c
This will be used to unit test testcase_dep2str and testcase_str2dep.
Michael Schroeder [Sat, 21 Mar 2015 17:53:41 +0000 (18:53 +0100)]
check_complex_dep: ignore blocks with no positive literals
Michael Schroeder [Fri, 20 Mar 2015 15:31:54 +0000 (16:31 +0100)]
allow dumping of all rules in testcases
We can use this to write tests for the rule generation of
complex dependencies.
Michael Schroeder [Fri, 20 Mar 2015 12:54:50 +0000 (13:54 +0100)]
refactor check_complex_dep/recheck_complex_deps
Now much easier to understand...
Michael Schroeder [Fri, 20 Mar 2015 12:49:32 +0000 (13:49 +0100)]
support feature checks in testcases
Michael Schroeder [Thu, 19 Mar 2015 15:42:16 +0000 (16:42 +0100)]
refactor complex deps code a bit
Michael Schroeder [Thu, 19 Mar 2015 12:23:28 +0000 (13:23 +0100)]
remove NAMESPACE_INSTALLED from the documentation
Michael Schroeder [Thu, 19 Mar 2015 12:21:02 +0000 (13:21 +0100)]
Fix (harmless) typo in testcase
Michael Schroeder [Thu, 19 Mar 2015 12:19:43 +0000 (13:19 +0100)]
kill NAMESPACE_INSTALLED support
Nobody needs it and it was not functual anyway.
Michael Schroeder [Wed, 18 Mar 2015 16:02:01 +0000 (17:02 +0100)]
Unify supplements alreadyinstalled handling
We now use the installsuppdepq idea for packages as well. This also
has the positive side-effect that a supplements with an OR is
installed if one of the ORed packages is installed/updated and the
other was already installed.
Michael Schroeder [Wed, 18 Mar 2015 10:05:46 +0000 (11:05 +0100)]
add changes, bump version
Michael Schroeder [Wed, 18 Mar 2015 10:00:02 +0000 (11:00 +0100)]
Fix a bug in dislike_old_versions that could make a package id negative
This lead to a segfault in sort_by_common_dep later on. Also, the
commit cleans up the dislike_old_versions code.
Michael Schroeder [Mon, 9 Mar 2015 15:46:46 +0000 (16:46 +0100)]
add changes, bump version
Michael Schroeder [Mon, 9 Mar 2015 14:08:47 +0000 (15:08 +0100)]
rework splitprovides handling
We no longer consult the updatmap, but now check if a package was
updated with the update rule. This is so that we don't get
false positives if a package can't be updated for whatever
reason.
Michael Schroeder [Wed, 4 Mar 2015 12:28:02 +0000 (13:28 +0100)]
add experimental alternatives bindings
Michael Schroeder [Wed, 4 Mar 2015 12:23:50 +0000 (13:23 +0100)]
add solver_alternative2str
Michael Schroeder [Wed, 4 Mar 2015 12:21:28 +0000 (13:21 +0100)]
make reorder_dq_for_jobrules also look at recommends/suggests
Michael Schroeder [Tue, 3 Mar 2015 13:54:44 +0000 (14:54 +0100)]
Add alternative introspection functions & testcase support
Michael Schroeder [Thu, 26 Feb 2015 17:13:26 +0000 (18:13 +0100)]
Allow auto-minimization with the same level
This is for some odd case where one of the possible packages
requires the other one.
Michael Schroeder [Thu, 26 Feb 2015 17:02:01 +0000 (18:02 +0100)]
Rework branch handling
We now store more information for introspection. Also, some
bugs in the auto-minimization code have been fixed.
Michael Schroeder [Wed, 25 Feb 2015 12:23:01 +0000 (13:23 +0100)]
Cleaned up branch creation code
Michael Schroeder [Wed, 25 Feb 2015 11:01:22 +0000 (12:01 +0100)]
Support userinstalled flags in pool_deb_get_autoinstalled
(This is so that we can support a name+arch flag later)
Michael Schroeder [Tue, 24 Feb 2015 18:00:00 +0000 (19:00 +0100)]
Add testcases for the last change
Michael Schroeder [Tue, 24 Feb 2015 17:56:48 +0000 (18:56 +0100)]
Improve package choosing code
Multiple changes:
- we no longer prune to suggests/enhances, instead we move them
to the front so that a branch is created. This enables auto-minimization
later on.
- we de-prefer old versions, i.e. packages that have an update candidate.
- If there are common versioned dependencies, we use them to order
the packages.
Michael Schroeder [Tue, 24 Feb 2015 17:55:20 +0000 (18:55 +0100)]
Add debug output for branch creation
Michael Schroeder [Thu, 19 Feb 2015 15:04:39 +0000 (16:04 +0100)]
another REL_COMPAT special case
Michael Schroeder [Wed, 18 Feb 2015 15:20:48 +0000 (16:20 +0100)]
chain comparison ops with REL_COMPAT
Michael Schroeder [Wed, 18 Feb 2015 13:23:34 +0000 (14:23 +0100)]
switch to new testcase dependency format
No more dependency rewiting, plus support for complex deps.
Note that we can no longer support the .arch suffix, as many
dependency names contain a '.' and we don't know all valid
architectures. So you need to use 'name . arch' instead of
'name.arch'.
Michael Schroeder [Wed, 18 Feb 2015 12:42:11 +0000 (13:42 +0100)]
Add repo version info to namespaceprovides.t
Michael Schroeder [Tue, 3 Feb 2015 13:21:55 +0000 (14:21 +0100)]
add experimental pool_deb_get_autoinstalled
This can be used to read the autoinstalled package list from
/var/lib/apt/extended_states. Note that the pool must have
the whatprovides hash in place for this to work.