]>
git.ipfire.org Git - thirdparty/libsolv.git/log
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.
Michael Schroeder [Mon, 2 Feb 2015 15:22:15 +0000 (16:22 +0100)]
do not ignore the only repodata we have
Michael Schroeder [Thu, 29 Jan 2015 14:16:43 +0000 (15:16 +0100)]
rename DEB_DEBSTATUS to SOLVABLE_INSTALLSTATUS
Also move it to the end of knownid to not break the ABI.
Michael Schroeder [Thu, 29 Jan 2015 14:06:05 +0000 (15:06 +0100)]
Merge pull request #68 from kirgene/deb-status
Save "Status" field of debian packages during parsing of packages list.
Yevhen Kyriukha [Thu, 29 Jan 2015 02:03:04 +0000 (04:03 +0200)]
Save "Status" field of debian packages during parsing of packages list.
When populating packages from "/var/lib/dpkg/status" into repo that should be marked as "installed repo",
there should be possible to filter partially installed packages based on their "Status" field.
This commit makes saving this field for later manual filtering.
Michael Schroeder [Wed, 21 Jan 2015 12:28:21 +0000 (13:28 +0100)]
fix solver_addpkgrulesforweak missing some splitprovide packages
This was because the updatemap gets extended when the dup rules
are created, but the map already gets used in solver_splitprovides.
So temporarily set updatemap_all in that case.
Michael Schroeder [Thu, 15 Jan 2015 10:09:46 +0000 (11:09 +0100)]
rich deps: use f[i] instead of flags
Found by Lubos Kardos.
Michael Schroeder [Wed, 14 Jan 2015 12:07:58 +0000 (13:07 +0100)]
add parser for rpm rich deps
This is work in progress, the rpm format may still change. Also,
THEN/ELSE ops are not yet supported.
Michael Schroeder [Wed, 14 Jan 2015 11:11:10 +0000 (12:11 +0100)]
make build with ENABLE_COMPLEX_DEPS work again
Michael Andres [Wed, 14 Jan 2015 08:02:54 +0000 (09:02 +0100)]
add changes, bump version to 0.6.8
Klaus Kämpf [Wed, 14 Jan 2015 07:20:12 +0000 (08:20 +0100)]
Fix spec url (gitorious -> github)
Klaus Kämpf [Wed, 14 Jan 2015 07:17:21 +0000 (08:17 +0100)]
Merge pull request #65 from kkaempf/fix_comment_characters
Fix comment characters (# -> /* ... */)
Klaus Kämpf [Wed, 14 Jan 2015 07:08:02 +0000 (08:08 +0100)]
Fix comment characters (# -> /* ... */)
Michael Andres [Fri, 19 Dec 2014 10:50:24 +0000 (11:50 +0100)]
Merge pull request #62 from openSUSE/bnc#896224
Bnc#896224 - add product:regflavor attribute
Michael Andres [Fri, 19 Dec 2014 08:04:05 +0000 (09:04 +0100)]
add changes, bump version to 0.6.7
Michael Andres [Fri, 19 Dec 2014 08:03:17 +0000 (09:03 +0100)]
add product:regflavor attribute [bnc#896224]
Michael Schroeder [Mon, 15 Dec 2014 15:11:15 +0000 (16:11 +0100)]
save and restore branches when creating solutions
Michael Schroeder [Fri, 7 Nov 2014 15:19:50 +0000 (16:19 +0100)]
disable build of the solv tool for unsupported system types
Also gets rid of the no longer used NOSYSTEM.
Michael Schroeder [Thu, 9 Oct 2014 13:27:22 +0000 (15:27 +0200)]
Document pool_setdisttype return value
Michael Schroeder [Thu, 9 Oct 2014 13:22:15 +0000 (15:22 +0200)]
always provide pool_setdisttype
Also return an error for unsupported distributions.
Michael Schroeder [Tue, 7 Oct 2014 12:41:37 +0000 (14:41 +0200)]
add changes, bump version to 0.6.6
Michael Schroeder [Mon, 6 Oct 2014 15:19:13 +0000 (17:19 +0200)]
fix bug in reorder_dq_for_jobrules
The next level is actually "level + 1", so by using level we punch
zeros in our decisionmap leading to some nasty bugs later on
(e.g. when we need to revert).
Michael Schroeder [Mon, 29 Sep 2014 09:29:20 +0000 (11:29 +0200)]
rename rpm rules to pkg rules
Long overdue as we support debian/haiku/arch since a long time now.
No ABI change, as we have legacy defines.
Michael Schroeder [Thu, 25 Sep 2014 14:53:06 +0000 (16:53 +0200)]
The last tools manpages
Michael Schroeder [Wed, 24 Sep 2014 16:42:21 +0000 (18:42 +0200)]
even more manpages
Michael Schroeder [Wed, 24 Sep 2014 16:29:22 +0000 (18:29 +0200)]
add more man pages
Michael Schroeder [Tue, 23 Sep 2014 14:26:22 +0000 (16:26 +0200)]
Merge pull request #57 from akozumpl/master
repo_rpmdb's freestate() can free rootdir only after closedbenv() finish...
Ales Kozumplik [Tue, 23 Sep 2014 12:19:22 +0000 (14:19 +0200)]
repo_rpmdb's freestate() can free rootdir only after closedbenv() finishes.
Because serialize_dbenv_ops() still uses rootdir.
Michael Schroeder [Mon, 22 Sep 2014 16:25:43 +0000 (18:25 +0200)]
Start adding man-pages for the tools
Mike Gabriel [Mon, 22 Sep 2014 15:40:39 +0000 (17:40 +0200)]
Fix grammar and spelling errors in man pages
Mike Gabriel [Mon, 22 Sep 2014 15:37:53 +0000 (17:37 +0200)]
Provide support for multi-arch include directory
Michael Schroeder [Mon, 22 Sep 2014 12:37:28 +0000 (14:37 +0200)]
remove strange livsolv-tools requires from the devel package
Michael Schroeder [Wed, 17 Sep 2014 11:50:18 +0000 (13:50 +0200)]
Tweak the README (suggested by Michael Tautschnig)
Michael Schroeder [Tue, 16 Sep 2014 12:47:35 +0000 (14:47 +0200)]
make sure that we have a dirid when adding du data
Michael Schroeder [Thu, 11 Sep 2014 15:38:43 +0000 (17:38 +0200)]
add changes, bump version to 0.6.5