]>
git.ipfire.org Git - thirdparty/libsolv.git/log
Jon Turney [Thu, 19 Jan 2017 15:21:34 +0000 (15:21 +0000)]
_GNU_SOURCE should be defined before including any headers
per https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html
"These directives must come before any #include of a system header file."
This actually causes a problem when compiling with newlib headers.
Michael Schroeder [Thu, 25 May 2017 12:47:42 +0000 (14:47 +0200)]
add strong recommends testcase, fix break testcase
Michael Schroeder [Wed, 24 May 2017 14:29:00 +0000 (16:29 +0200)]
Do not own the repo pointer in ruby's each method
Michael Schroeder [Wed, 24 May 2017 14:20:33 +0000 (16:20 +0200)]
Merge pull request #208 from ignatenkobrain/repo-leak
bindings: do not leak Repo in __next__()
Michael Schroeder [Wed, 24 May 2017 10:57:28 +0000 (12:57 +0200)]
Disable all weak recommends rules of a job instead of just the last
See strongrecommends/break.t for a longer explanation.
Michael Schroeder [Wed, 24 May 2017 09:54:02 +0000 (11:54 +0200)]
Add ENABLE_TESTCASE_HELIXREPO as hidden compile option
This is pretty much just for me using testsolv on testcases
generated by libzypp. There used to be a #if 0 in the code which
I manually toggled, but the option is much saner.
Michael Schroeder [Tue, 23 May 2017 09:49:53 +0000 (11:49 +0200)]
Add pool_best_solvables() function
This prunes a set of solvables to the best versions.
Igor Gnatenko [Sun, 21 May 2017 17:05:34 +0000 (19:05 +0200)]
bindings: do not leak Repo in __next__()
We don't create new object in __getitem__, why should we do it in __next__?
Closes: https://github.com/openSUSE/libsolv/issues/207
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
Michael Schroeder [Fri, 19 May 2017 13:10:20 +0000 (15:10 +0200)]
Merge pull request #198 from ignatenkobrain/sourcepkg
bindings: expose sourcepkg functions
Michael Schroeder [Fri, 19 May 2017 13:09:23 +0000 (15:09 +0200)]
Merge pull request #192 from Conan-Kudo/armsfp-support
Add support for armv5tl on armsfp arches
Igor Gnatenko [Wed, 17 May 2017 20:06:21 +0000 (22:06 +0200)]
bindings: expose sourcepkg functions
Closes: https://github.com/openSUSE/libsolv/issues/197
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
Michael Schroeder [Thu, 11 May 2017 08:57:20 +0000 (10:57 +0200)]
Merge pull request #196 from jrohel/fix/rpmhead_read_int64
Fix reading 64bit integer values from RPM header
Jaroslav Rohel [Tue, 9 May 2017 13:20:00 +0000 (15:20 +0200)]
Fix reading 64bit integer values from RPM header
Michael Schroeder [Wed, 26 Apr 2017 09:04:54 +0000 (11:04 +0200)]
Add changes, bump version to 0.6.27
Michael Schroeder [Wed, 26 Apr 2017 09:01:08 +0000 (11:01 +0200)]
Add missing REL_ entries to bindings
Michael Schroeder [Wed, 26 Apr 2017 08:29:52 +0000 (10:29 +0200)]
Allocate in bigger chunks when a queue grows in size.
Michael Schroeder [Tue, 25 Apr 2017 09:25:05 +0000 (11:25 +0200)]
Also check eqmagic in the paux case
I'd love to move some comparisons into the eqmagic helpers,
but profiling showed that gcc doesn't make some optimizations
in that case...
Michael Schroeder [Mon, 24 Apr 2017 12:28:45 +0000 (14:28 +0200)]
Speed up build-id provides queries
They are of the form "foo = md5sum", which is very expensive
because of rpm's evr comparison rules.
Michael Schroeder [Wed, 19 Apr 2017 09:00:02 +0000 (11:00 +0200)]
Add missing 'static' keyword
The addselectionjob() function is internal.
Michael Schroeder [Wed, 19 Apr 2017 08:53:13 +0000 (10:53 +0200)]
Add testcase for deeply nested dependencies
Michael Schroeder [Wed, 19 Apr 2017 07:59:47 +0000 (09:59 +0200)]
Format REL_ERROR as <ERROR>
Michael Schroeder [Wed, 19 Apr 2017 07:59:01 +0000 (09:59 +0200)]
Simplify namespace formatting
Michael Schroeder [Tue, 18 Apr 2017 12:34:40 +0000 (14:34 +0200)]
Change testcase_dep2str_complex so that it handles deeply nested ids
The old implementation relied on the tmpspace holding all sub-elements
of the dependency, which led to segfaults for deeply nested ids.
Michael Schroeder [Tue, 18 Apr 2017 09:19:52 +0000 (11:19 +0200)]
Add REL_ERROR for dependencies that could not be parsed
This will make a solvable not installable in the future.
Neal Gompa [Wed, 12 Apr 2017 15:10:10 +0000 (11:10 -0400)]
Add armv5tl to armsfp arch list
Michael Schroeder [Wed, 22 Mar 2017 10:17:54 +0000 (11:17 +0100)]
Add missing part from last commit
Michael Schroeder [Mon, 13 Mar 2017 14:58:05 +0000 (15:58 +0100)]
Deal with installed packages with both "forcebest" and "allowuninstall"
In this case we're using negative best rules to turn off all packages
that are not in the best set. This allows allowuninstall to do its
job. (We're not always using negative rules to save rule space.
Maywe we need to revisit this in the future.)
Michael Schroeder [Mon, 13 Mar 2017 12:04:47 +0000 (13:04 +0100)]
Do not erase solvables of a different color when requesting a specific solvable
Michael Schroeder [Tue, 7 Mar 2017 10:30:54 +0000 (11:30 +0100)]
Ignore dirstr entries with Id zero when copying
We currently can't handle them, so the code runs into an
assertion.
Michael Schroeder [Mon, 6 Mar 2017 16:18:07 +0000 (17:18 +0100)]
Merge pull request #184 from ignatenkobrain/py3-defined
build: do not ignore PYTHON3_EXECUTABLE
Igor Gnatenko [Mon, 6 Mar 2017 11:13:21 +0000 (12:13 +0100)]
build: do not ignore PYTHON3_EXECUTABLE
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
Michael Schroeder [Fri, 3 Mar 2017 15:48:40 +0000 (16:48 +0100)]
Make dir2str return "/" if did == 1 and suf == NULL
It used to return "", which is wrong. did == 1 is somewhat of
a special case.
Michael Schroeder [Tue, 28 Feb 2017 14:06:10 +0000 (15:06 +0100)]
Change example specfile to build with libxml2
Michael Schroeder [Tue, 28 Feb 2017 13:59:11 +0000 (14:59 +0100)]
Rename ENABLE_LIBXML2 to WITH_LIBXML2
Like with the autotools. Enable is for enabling features.
Michael Schroeder [Fri, 24 Feb 2017 14:20:40 +0000 (15:20 +0100)]
Allow to build with libxml2 instead of libexpat
libxml2 seems to be a tiny bit faster...
Michael Schroeder [Thu, 23 Feb 2017 16:57:52 +0000 (17:57 +0100)]
Clean up header includes in tools
Michael Schroeder [Thu, 23 Feb 2017 16:51:09 +0000 (17:51 +0100)]
Get rid of unneded header file includes
Michael Schroeder [Thu, 23 Feb 2017 16:33:22 +0000 (17:33 +0100)]
Haiku nowadays has fopencookie
Michael Schroeder [Thu, 23 Feb 2017 16:30:29 +0000 (17:30 +0100)]
Make zlib compression somewhat optional
Also do not search for expat if it is not needed.
Michael Schroeder [Thu, 23 Feb 2017 16:15:16 +0000 (17:15 +0100)]
Get rid of no longer needed zlib includes
Michael Schroeder [Thu, 23 Feb 2017 14:28:18 +0000 (15:28 +0100)]
Refactor xml parsing code
Now the parser internals are in solv_xmlparser.c. This makes
it easy to support other parser libraries.
Michael Schroeder [Wed, 22 Feb 2017 13:20:35 +0000 (14:20 +0100)]
Refactor disk usage generation code
Michael Schroeder [Wed, 22 Feb 2017 10:34:56 +0000 (11:34 +0100)]
Bring filelist and diskusage in sync for rpm parsers
Michael Schroeder [Thu, 16 Feb 2017 10:41:55 +0000 (11:41 +0100)]
Change example specfile so that libsolvext.pc is in the file list
Michael Schroeder [Wed, 15 Feb 2017 12:25:33 +0000 (13:25 +0100)]
Add bugzilla reference
Michael Schroeder [Wed, 15 Feb 2017 10:37:49 +0000 (11:37 +0100)]
Add changes, bump version to 0.6.26
Michael Schroeder [Wed, 15 Feb 2017 10:37:22 +0000 (11:37 +0100)]
Export solvable_matchesdep function, as we now use it in the bindings
Michael Schroeder [Mon, 13 Feb 2017 10:56:58 +0000 (11:56 +0100)]
Merge pull request #177 from adelcast/dev/adelcast/split_pkgconfig
Split libsolvext into it's own pkg-config file
Alejandro del Castillo [Thu, 26 Jan 2017 23:10:29 +0000 (17:10 -0600)]
Split libsolvext into it's own pkg-config file
Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Michael Schroeder [Tue, 7 Feb 2017 12:20:53 +0000 (13:20 +0100)]
Add changes, bump version to 0.6.25
Michael Schroeder [Wed, 1 Feb 2017 10:43:41 +0000 (11:43 +0100)]
Clean up directory handling a bit
Improvie copying of a zero dirid (which actually should never
happen). Make the code more readable.
Michael Schroeder [Wed, 1 Feb 2017 10:36:25 +0000 (11:36 +0100)]
Make sure that we have a zero dir entry if repodata_str2dir returns zero
Should not make any difference, but just to be on the safe side...
Michael Schroeder [Wed, 1 Feb 2017 10:23:02 +0000 (11:23 +0100)]
Reject solv files with bad directories
Bad meaning that there is a block with does not have a single
component. Such a block will trip directory traversion leading
to nasty things.
Michael Schroeder [Mon, 30 Jan 2017 15:18:46 +0000 (16:18 +0100)]
Guard against dirpool_add_dir being called with an illegal component id
Michael Schroeder [Wed, 25 Jan 2017 10:05:59 +0000 (11:05 +0100)]
Fix otherprovides() parsing
Do not search for the first '(', because the dependency
may contain it. Just remove the last character like with
the supplements.
Michael Schroeder [Wed, 18 Jan 2017 12:34:09 +0000 (13:34 +0100)]
solver_problemruleinfo2str: return reason why a package is not installable
Michael Schroeder [Wed, 14 Dec 2016 10:34:33 +0000 (11:34 +0100)]
Allow filtering in raw_decisions()
Michael Schroeder [Wed, 14 Dec 2016 10:34:13 +0000 (11:34 +0100)]
Add new solver flags to the documentation
Michael Schroeder [Mon, 12 Dec 2016 14:53:28 +0000 (15:53 +0100)]
Add experimental createshadow moveshadow raw_decisions methods
So patchcheck can be re-implemented in python (and moved out
of libsolv).
Michael Schroeder [Thu, 8 Dec 2016 16:11:16 +0000 (17:11 +0100)]
Merge pull request #164 from roman-neuhauser/fbsd-compat
Fbsd compat
Michael Schroeder [Thu, 8 Dec 2016 13:49:31 +0000 (14:49 +0100)]
Don't special case release-less provides in sort_by_common_dep any more
Instead use EVRCMP_MATCH_RELEASE, but leave the special handling of
the -2 return code intact.
Roman Neuhauser [Mon, 28 Nov 2016 09:01:22 +0000 (10:01 +0100)]
let users define PKGCONFIG_INSTALL_DIR
FreeBSD wants *.pc files in ${PREFIX}/libdata/pkgconfig,
${PREFIX}/lib/pkgconfig is not good eanough a configuration point.
Roman Neuhauser [Mon, 28 Nov 2016 09:00:50 +0000 (10:00 +0100)]
let users override MAN_INSTALL_DIR
this makes the build more cooperative with FreeBSD ports:
FreeBSD wants man pages in ${PREFIX}/man, yet ${PREFIX}/share/man
exists in the staging area as well for some reason. i'm too lazy
to chase the cause, esp. as the copout means more freedom to users.
Michael Schroeder [Wed, 23 Nov 2016 13:27:11 +0000 (14:27 +0100)]
Add SOLVER_FLAG_INSTALL_ALSO_UPDATES solver flag
Michael Schroeder [Wed, 23 Nov 2016 10:45:45 +0000 (11:45 +0100)]
Support a DB_INCLUDE_DIR variable
Michael Schroeder [Wed, 23 Nov 2016 10:00:22 +0000 (11:00 +0100)]
Make build work if expat is coming from /usr/local
Michael Schroeder [Fri, 18 Nov 2016 12:54:00 +0000 (13:54 +0100)]
Add SOLVER_FLAG_STRONG_RECOMMENDS option
Create weak rules for recommends. This makes the solver
backtrack to fulfill recommends dependecies (i.e. update
packages, choose different alternatives...).
Needs testcases.
Michael Schroeder [Fri, 18 Nov 2016 12:52:12 +0000 (13:52 +0100)]
solv: add autopattern right after the repo has been read
Otherwise we get holes and other nasty things.
Michael Schroeder [Thu, 17 Nov 2016 13:54:40 +0000 (14:54 +0100)]
Add matchesdep() method to bindings
Michael Schroeder [Thu, 17 Nov 2016 13:45:43 +0000 (14:45 +0100)]
Add SOLVABLE_NAME hack for pool_whatmatchesdep and solvable_matchesdep
Michael Schroeder [Thu, 17 Nov 2016 13:27:29 +0000 (14:27 +0100)]
pool_intersect_evrs: the evr should be an Id, not an int
Michael Schroeder [Thu, 10 Nov 2016 14:17:10 +0000 (15:17 +0100)]
Add changes, bump version to 0.6.24
Michael Schroeder [Thu, 10 Nov 2016 11:58:55 +0000 (12:58 +0100)]
Oops, fix typo in last commit
Michael Schroeder [Thu, 10 Nov 2016 10:15:20 +0000 (11:15 +0100)]
Further simplify python3 build
Michael Schroeder [Wed, 9 Nov 2016 13:56:08 +0000 (14:56 +0100)]
Merge pull request #140 from nolta/export-testcase_str2solvid
make the testcase_str2solvid function public
Michael Schroeder [Wed, 9 Nov 2016 13:35:33 +0000 (14:35 +0100)]
Remove too much trickery
Michael Schroeder [Tue, 8 Nov 2016 13:58:06 +0000 (14:58 +0100)]
Build both python2 and python3 bindings
Michael Schroeder [Tue, 8 Nov 2016 12:38:14 +0000 (13:38 +0100)]
Support building for python2 and python3 in parallel
Needs some hacking in the recipe file
Michael Schroeder [Fri, 4 Nov 2016 13:17:27 +0000 (14:17 +0100)]
Rework susetags multi-line handling
Michael Schroeder [Tue, 11 Oct 2016 12:52:31 +0000 (14:52 +0200)]
Add "autoinst" functionality
Needed when we can't invert the list in advance, e.g. when converting
libzypp testcases.
Michael Schroeder [Mon, 10 Oct 2016 12:02:43 +0000 (14:02 +0200)]
Refactor resolve_weak and resolve_orphaned
Michael Schroeder [Mon, 10 Oct 2016 10:16:23 +0000 (12:16 +0200)]
Test focus support
Michael Schroeder [Mon, 10 Oct 2016 09:49:55 +0000 (11:49 +0200)]
Add experimental SOLVER_FOCUS_BEST solver flag
Makes the solver resolve dependencies right after the job rules,
thus pulling in the newest packages for dependencies as well.
Michael Schroeder [Mon, 10 Oct 2016 09:15:10 +0000 (11:15 +0200)]
Refactor resolve_installed and resolve_dependencies
Michael Schroeder [Fri, 7 Oct 2016 13:01:16 +0000 (15:01 +0200)]
Strore decision reason in decisionq_reason
This makes the code simpler and more flexible. Do away with
the old way of deducting the reason from the decision index,
instead store the reason in the decision process.
Note that the decisionq_reason is indexed by level, as all
the other decisions for a level are because of unit rules.
Thus the reason queue is much smaller than the decision queue.
Michael Schroeder [Tue, 13 Sep 2016 11:14:26 +0000 (13:14 +0200)]
Allow noarch when comparing architectures in problem rule finding
Michael Schroeder [Thu, 8 Sep 2016 09:11:50 +0000 (11:11 +0200)]
Allow building without rpm database support
Useful for things like OBS that only need to parse packages.
Michael Schroeder [Thu, 8 Sep 2016 08:46:16 +0000 (10:46 +0200)]
Get rid of warning if no repo types are enabled
Michael Schroeder [Wed, 7 Sep 2016 15:16:06 +0000 (17:16 +0200)]
Get rid of another gcc-6 warning
Michael Schroeder [Wed, 7 Sep 2016 15:14:51 +0000 (17:14 +0200)]
Guard against a dirindex of -1
Michael Schroeder [Tue, 6 Sep 2016 12:03:35 +0000 (14:03 +0200)]
More refactoring and hardening
Michael Schroeder [Fri, 2 Sep 2016 14:47:58 +0000 (16:47 +0200)]
Guard better against corrupt rpms
Michael Schroeder [Fri, 2 Sep 2016 14:26:10 +0000 (16:26 +0200)]
Get rid of gcc-6 warnings
Michael Schroeder [Wed, 31 Aug 2016 09:37:54 +0000 (11:37 +0200)]
Do not rely on whatprovides when searching for a specific package
See rhbz#
1263888
Mike Nolta [Sat, 18 Jun 2016 16:44:16 +0000 (12:44 -0400)]
make the testcase_strsolvid function public
Michael Schroeder [Wed, 3 Aug 2016 09:40:43 +0000 (11:40 +0200)]
Merge pull request #151 from ignatenkobrain/gh150
testcase: replace i with repoid
Igor Gnatenko [Sun, 31 Jul 2016 16:54:33 +0000 (18:54 +0200)]
testcase: replace i with repoid
looks like it was typo.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1361831
Closes: https://github.com/openSUSE/libsolv/issues/150
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Michael Schroeder [Fri, 22 Jul 2016 11:03:39 +0000 (13:03 +0200)]
Add changes, bump version to 0.6.23
Michael Schroeder [Thu, 21 Jul 2016 09:52:37 +0000 (11:52 +0200)]
Move LIBSOLV_TOOLVERSION to solvversion.h
Users like libzypp want to check if a solv file was written with
the current tool version.
Michael Schroeder [Thu, 21 Jul 2016 09:43:41 +0000 (11:43 +0200)]
Fix appdata if logic