platform/upstream/libsolv.git
11 years agopysolv: do not import from solv
Michael Schroeder [Wed, 15 May 2013 16:30:10 +0000 (18:30 +0200)]
pysolv: do not import from solv

11 years agosome minor binding tweaks to make it more flexible
Michael Schroeder [Wed, 15 May 2013 15:39:56 +0000 (17:39 +0200)]
some minor binding tweaks to make it more flexible

11 years agoLookat at keepexplicitobsoletes when creating update rules for multiversion packages
Michael Schroeder [Wed, 15 May 2013 14:48:59 +0000 (16:48 +0200)]
Lookat at keepexplicitobsoletes when creating update rules for multiversion packages

11 years agofix multiversion handling when the update rule is an assertion
Michael Schroeder [Wed, 15 May 2013 10:03:48 +0000 (12:03 +0200)]
fix multiversion handling when the update rule is an assertion

11 years agoadd case statements for completeness
Michael Schroeder [Tue, 7 May 2013 09:38:46 +0000 (11:38 +0200)]
add case statements for completeness

11 years agoadd SOLVER_RULE_JOB_UNSUPPORTED and SOLVER_RULE_JOB_UNKNOWN_PACKAGE
Michael Schroeder [Tue, 7 May 2013 09:35:05 +0000 (11:35 +0200)]
add SOLVER_RULE_JOB_UNSUPPORTED and SOLVER_RULE_JOB_UNKNOWN_PACKAGE

11 years agocleanup dumpsolv code
Michael Schroeder [Mon, 6 May 2013 13:35:29 +0000 (15:35 +0200)]
cleanup dumpsolv code

11 years agoadd utf8 helpers to util.c
Michael Schroeder [Mon, 6 May 2013 09:23:31 +0000 (11:23 +0200)]
add utf8 helpers to util.c

11 years agodumpsolv: add experimental json dumping support
Michael Schroeder [Fri, 3 May 2013 12:17:54 +0000 (14:17 +0200)]
dumpsolv: add experimental json dumping support

11 years agofix iso-8859-1 to utf8 transcoding bug
Michael Schroeder [Fri, 3 May 2013 12:15:37 +0000 (14:15 +0200)]
fix iso-8859-1 to utf8 transcoding bug

11 years agoadd multiversion testcase
Michael Schroeder [Fri, 26 Apr 2013 13:09:13 +0000 (15:09 +0200)]
add multiversion testcase

11 years agobring libsolv in line with currrent rpm's multiversion handling
Michael Schroeder [Fri, 26 Apr 2013 12:49:55 +0000 (14:49 +0200)]
bring libsolv in line with currrent rpm's multiversion handling

A multiversion install still obeys the obsoletes of a package.
The solver already had a flag to support this, "keepexplicitobsoletes",
but as this is a feature of the package manager it belongs in the
pool, so that the transaction code can do the right thing.
We now have a "noobsoletesmultiversion" flag in the pool that also
defines the default for "keepexplicitobsoletes".

11 years agosupport 64bit filesizes in rpm adddudata()
Michael Schroeder [Thu, 25 Apr 2013 13:03:20 +0000 (15:03 +0200)]
support 64bit filesizes in rpm adddudata()

11 years agoadd ILLEGAL_NAMECHANGE support to bindings
Michael Schroeder [Wed, 24 Apr 2013 15:43:35 +0000 (17:43 +0200)]
add ILLEGAL_NAMECHANGE support to bindings

11 years agosolverdebug: add solver_get_orphaned call that somehow got lost
Michael Schroeder [Wed, 24 Apr 2013 15:29:43 +0000 (17:29 +0200)]
solverdebug: add solver_get_orphaned call that somehow got lost

11 years agoterminate solver_create_decisions_obsoletesmap function
Michael Schroeder [Wed, 24 Apr 2013 14:22:37 +0000 (16:22 +0200)]
terminate solver_create_decisions_obsoletesmap function

11 years agomove stringification functions from solverdebug to more correct places
Michael Schroeder [Wed, 24 Apr 2013 14:19:59 +0000 (16:19 +0200)]
move stringification functions from solverdebug to more correct places

11 years agoallow ls for list command
Michael Schroeder [Wed, 24 Apr 2013 14:19:19 +0000 (16:19 +0200)]
allow ls for list command

11 years agouse SOLVER_TRANSACTION_OBSOLETE_IS_UPGRADE in transaction_print
Michael Schroeder [Wed, 24 Apr 2013 12:17:00 +0000 (14:17 +0200)]
use SOLVER_TRANSACTION_OBSOLETE_IS_UPGRADE in transaction_print

11 years agoadd_rpmdb: copy solvables a bit faster
Michael Schroeder [Wed, 24 Apr 2013 12:04:13 +0000 (14:04 +0200)]
add_rpmdb: copy solvables a bit faster

11 years agouse add_rpmdb_reffp in examples
Michael Schroeder [Wed, 24 Apr 2013 10:20:50 +0000 (12:20 +0200)]
use add_rpmdb_reffp in examples

11 years agoDo not segfault when undef/None/nil is passwd as FILE/Dep
Michael Schroeder [Wed, 24 Apr 2013 10:19:49 +0000 (12:19 +0200)]
Do not segfault when undef/None/nil is passwd as FILE/Dep

11 years agoadd SOLVER_TRANSACTION_OBSOLETE_IS_UPGRADE helper flag
Michael Schroeder [Wed, 24 Apr 2013 09:53:00 +0000 (11:53 +0200)]
add SOLVER_TRANSACTION_OBSOLETE_IS_UPGRADE helper flag

Many users don't want to show the obsoletes as extra part of the
classification. Only makes sense when SOLVER_TRANSACTION_SHOW_OBSOLETES
is also specified.

11 years agochange specfile to allow building without python bindings again
Michael Schroeder [Tue, 23 Apr 2013 15:36:14 +0000 (17:36 +0200)]
change specfile to allow building without python bindings again

11 years agoadapt for older cmake versions
Michael Schroeder [Tue, 23 Apr 2013 14:55:40 +0000 (16:55 +0200)]
adapt for older cmake versions

11 years agoadd repodata_translate_id to get rid of some "implement me" assertions
Michael Schroeder [Tue, 23 Apr 2013 13:49:53 +0000 (15:49 +0200)]
add repodata_translate_id to get rid of some "implement me" assertions

11 years agoadd add_rpmdb_reffp method to bindings
Michael Schroeder [Tue, 23 Apr 2013 13:31:47 +0000 (15:31 +0200)]
add add_rpmdb_reffp method to bindings

11 years agoadd repo_add_rpmdb_reffp to easily add rpmdb content when there is an old solv file
Michael Schroeder [Tue, 23 Apr 2013 13:18:20 +0000 (15:18 +0200)]
add repo_add_rpmdb_reffp to easily add rpmdb content when there is an old solv file

11 years agoremove "ref" argument from add_rpmdb() in the bindings
Michael Schroeder [Tue, 23 Apr 2013 08:54:00 +0000 (10:54 +0200)]
remove "ref" argument from add_rpmdb() in the bindings

This is done mainly for consistency reasons (plus nobody
used the ref argument anyway). When we need the ref back,
we'll add a new method.

11 years agosupport 'rpmbuild --with zypp' as shortcut to enable things the zypp stack needs
Michael Schroeder [Tue, 23 Apr 2013 08:37:39 +0000 (10:37 +0200)]
support 'rpmbuild --with zypp' as shortcut to enable things the zypp stack needs

11 years agoM&M uses rpm, so automatically set ENABLE_RPMDB
Michael Schroeder [Tue, 23 Apr 2013 08:12:57 +0000 (10:12 +0200)]
M&M uses rpm, so automatically set ENABLE_RPMDB

11 years agoadd pool_setnamespacecallback() and pool_flush_namespaceproviders()
Michael Schroeder [Mon, 22 Apr 2013 09:36:19 +0000 (11:36 +0200)]
add pool_setnamespacecallback() and pool_flush_namespaceproviders()

11 years agosmall cleanup in id2str
Michael Schroeder [Mon, 22 Apr 2013 09:18:35 +0000 (11:18 +0200)]
small cleanup in id2str

11 years agorpmdb_pubkey: more bounds checking
Michael Schroeder [Fri, 19 Apr 2013 13:39:03 +0000 (15:39 +0200)]
rpmdb_pubkey: more bounds checking

11 years agoMerge pull request #29 from weinhold/upstream
Michael Schroeder [Fri, 19 Apr 2013 09:07:39 +0000 (02:07 -0700)]
Merge pull request #29 from weinhold/upstream

Haiku pre-release version component separator changed

11 years agoselection_filter(): Don't leak Queue q1 and Map m2
Ingo Weinhold [Thu, 18 Apr 2013 14:22:57 +0000 (16:22 +0200)]
selection_filter(): Don't leak Queue q1 and Map m2

11 years agoHaiku: The notation for the pre-release version part changed
Ingo Weinhold [Thu, 18 Apr 2013 14:11:01 +0000 (16:11 +0200)]
Haiku: The notation for the pre-release version part changed

Instead of using '-' as the separator for the pre-release '~' is used
now. This allows to drop code in a few places where Haiku had to be
special-cased before.

11 years agorepo_haiku: get rid of haiku_version_to_string()
Ingo Weinhold [Thu, 18 Apr 2013 13:14:04 +0000 (15:14 +0200)]
repo_haiku: get rid of haiku_version_to_string()

Use BPackageVersion::ToString() instead.

11 years agorules/selection: use strrchr in EVR checks as well
Michael Schroeder [Wed, 17 Apr 2013 13:52:21 +0000 (15:52 +0200)]
rules/selection: use strrchr in EVR checks as well

11 years agorepo_haiku: do not use ":" for an empty epoch
Michael Schroeder [Wed, 17 Apr 2013 13:44:48 +0000 (15:44 +0200)]
repo_haiku: do not use ":" for an empty epoch

11 years agosplit arch from the right for debian/haiku (thanks Ingo!)
Michael Schroeder [Wed, 17 Apr 2013 13:39:50 +0000 (15:39 +0200)]
split arch from the right for debian/haiku (thanks Ingo!)

11 years agoadapt SET_EV/SET_EVR magic to haiku for completeness
Michael Schroeder [Wed, 17 Apr 2013 12:02:09 +0000 (14:02 +0200)]
adapt SET_EV/SET_EVR magic to haiku for completeness

11 years agotreat overlong utf8 sequences as error
Michael Schroeder [Wed, 17 Apr 2013 11:51:25 +0000 (13:51 +0200)]
treat overlong utf8 sequences as error

11 years agomake sure releases start numeric for haiku
Michael Schroeder [Wed, 17 Apr 2013 09:32:14 +0000 (11:32 +0200)]
make sure releases start numeric for haiku

otherwise a pre_release might be interpreted as a revision

11 years agoMerge pull request #28 from weinhold/upstream
Michael Schroeder [Tue, 16 Apr 2013 13:32:02 +0000 (06:32 -0700)]
Merge pull request #28 from weinhold/upstream

repo_haiku: add_dependency(): Fix typo

11 years agorepo_haiku: add_dependency(): Fix typo
Ingo Weinhold [Tue, 16 Apr 2013 12:57:17 +0000 (14:57 +0200)]
repo_haiku: add_dependency(): Fix typo

11 years agomention haiku in README
Michael Schroeder [Tue, 16 Apr 2013 12:28:26 +0000 (14:28 +0200)]
mention haiku in README

11 years agomake pool_solvable2str use -<arch> for haiku
Michael Schroeder [Tue, 16 Apr 2013 12:11:06 +0000 (14:11 +0200)]
make pool_solvable2str use -<arch> for haiku

11 years agosupport haiku package naming in selection_canon
Michael Schroeder [Tue, 16 Apr 2013 12:06:33 +0000 (14:06 +0200)]
support haiku package naming in selection_canon

11 years agoswitch range->name and range->evr in REL_COMPAT deps so that stringification works
Michael Schroeder [Tue, 16 Apr 2013 11:19:50 +0000 (13:19 +0200)]
switch range->name and range->evr in REL_COMPAT deps so that stringification works

11 years agoadd DISTTYPE_HAIKU, some small fixes
Michael Schroeder [Tue, 16 Apr 2013 09:59:27 +0000 (11:59 +0200)]
add DISTTYPE_HAIKU, some small fixes

- ARCH_NOARCH -> ARCH_ANY
- use - as prerelease separator
- correct usage of solv_vercmp
- stringify REL_COMPAT, use != instead of <>

11 years agoAdd Haiku repository support to libsolvext
Ingo Weinhold [Sat, 30 Mar 2013 14:48:12 +0000 (14:48 +0000)]
Add Haiku repository support to libsolvext

11 years agoAdd support for Haiku compat version comparison
Ingo Weinhold [Sat, 30 Mar 2013 13:22:24 +0000 (13:22 +0000)]
Add support for Haiku compat version comparison

11 years agoAdd Haiku semantics version comparison
Ingo Weinhold [Sat, 30 Mar 2013 13:20:28 +0000 (13:20 +0000)]
Add Haiku semantics version comparison

11 years agoAdd basic Haiku support to build system
Ingo Weinhold [Sat, 30 Mar 2013 13:19:26 +0000 (13:19 +0000)]
Add basic Haiku support to build system

11 years agoUse the hidden fopencookie() on Haiku
Ingo Weinhold [Sat, 30 Mar 2013 11:18:36 +0000 (11:18 +0000)]
Use the hidden fopencookie() on Haiku

11 years agosplit ugly pubkey handling into separate repo_rpmdb_pubkey.c
Michael Schroeder [Mon, 15 Apr 2013 15:57:43 +0000 (17:57 +0200)]
split ugly pubkey handling into separate repo_rpmdb_pubkey.c

11 years agorefactor rpmdb handling to remove some code duplication
Michael Schroeder [Mon, 15 Apr 2013 15:17:44 +0000 (17:17 +0200)]
refactor rpmdb handling to remove some code duplication

11 years agosome other perror->pool_error changes
Michael Schroeder [Mon, 15 Apr 2013 12:55:48 +0000 (14:55 +0200)]
some other perror->pool_error changes

11 years agofix repo_add_rpmdb error messages, they should not include the function name
Michael Schroeder [Mon, 15 Apr 2013 12:49:47 +0000 (14:49 +0200)]
fix repo_add_rpmdb error messages, they should not include the function name

11 years agoconvert perror() and fprintf() calls to pool_error()
Michael Schroeder [Mon, 15 Apr 2013 12:46:47 +0000 (14:46 +0200)]
convert perror() and fprintf() calls to pool_error()

11 years agoadd pool parameter to rpm_state_create so that we can use pool_error for error reporting
Michael Schroeder [Mon, 15 Apr 2013 12:19:02 +0000 (14:19 +0200)]
add pool parameter to rpm_state_create so that we can use pool_error for error reporting

11 years agoalso check repodata in fileconflicts precheck code
Michael Schroeder [Mon, 15 Apr 2013 12:11:31 +0000 (14:11 +0200)]
also check repodata in fileconflicts precheck code

11 years agoadd credits file
Michael Schroeder [Mon, 15 Apr 2013 11:45:29 +0000 (13:45 +0200)]
add credits file

11 years agoalso use prechecking for non-aliased mode
Michael Schroeder [Mon, 15 Apr 2013 11:22:45 +0000 (13:22 +0200)]
also use prechecking for non-aliased mode

11 years agocleanup code a bit
Michael Schroeder [Fri, 12 Apr 2013 16:31:47 +0000 (18:31 +0200)]
cleanup code a bit

11 years agofix two small bugs
Michael Schroeder [Fri, 12 Apr 2013 15:42:25 +0000 (17:42 +0200)]
fix two small bugs

11 years agosupport checking for directory aliases when searching for file conflicts
Michael Schroeder [Fri, 12 Apr 2013 14:46:08 +0000 (16:46 +0200)]
support checking for directory aliases when searching for file conflicts

11 years agofix error handling in rpm_byrpmdbid
Michael Schroeder [Fri, 12 Apr 2013 11:36:05 +0000 (13:36 +0200)]
fix error handling in rpm_byrpmdbid

11 years agosmall fixes
Michael Schroeder [Thu, 11 Apr 2013 13:04:14 +0000 (15:04 +0200)]
small fixes

11 years agomore speed: read all packages just once in 3rd pass
Michael Schroeder [Thu, 11 Apr 2013 12:43:47 +0000 (14:43 +0200)]
more speed: read all packages just once in 3rd pass

11 years agoadd extra flag paramter to find_fileconflicts
Michael Schroeder [Thu, 11 Apr 2013 12:10:27 +0000 (14:10 +0200)]
add extra flag paramter to find_fileconflicts

In the future we'll add support for a flag that tells
it to check for aliased dirs.

11 years agothree missed dig->pubkey => digpubkey changes
Michael Schroeder [Wed, 10 Apr 2013 13:56:02 +0000 (15:56 +0200)]
three missed dig->pubkey => digpubkey changes

11 years agoimprove iterate_filelist, it now calls the callback with a struct filelistinfo
Michael Schroeder [Wed, 10 Apr 2013 13:47:18 +0000 (15:47 +0200)]
improve iterate_filelist, it now calls the callback with a struct filelistinfo

This makes the code extensible, plus we can now pass things like
the diridx and the dirlen which can be used to speed up the
fileconflict code.

11 years agoremove dead code
Michael Schroeder [Wed, 10 Apr 2013 12:49:38 +0000 (14:49 +0200)]
remove dead code

11 years agouse pgpDigGetParams() if available
Michael Schroeder [Wed, 10 Apr 2013 12:32:39 +0000 (14:32 +0200)]
use pgpDigGetParams() if available

11 years agoReimplement state handling in rpm_by functions
Michael Schroeder [Wed, 10 Apr 2013 10:52:08 +0000 (12:52 +0200)]
Reimplement state handling in rpm_by functions

We now have rpm_state_create and rpm_state_free to create/free
the state. API change, but should be pretty internal.

11 years agorefactor: split off openpkgdb()
Michael Schroeder [Wed, 10 Apr 2013 09:57:41 +0000 (11:57 +0200)]
refactor: split off openpkgdb()

11 years agorefactor solv demo a bit
Michael Schroeder [Mon, 8 Apr 2013 11:29:04 +0000 (13:29 +0200)]
refactor solv demo a bit

11 years agoremove strange 5 year old TODO file
Michael Schroeder [Mon, 8 Apr 2013 09:38:46 +0000 (11:38 +0200)]
remove strange 5 year old TODO file

What does "xml metadata: prereq for store" even mean?

11 years agofix bugs in fileconflicts code and prepare for aliased dirs
Michael Schroeder [Mon, 8 Apr 2013 09:36:43 +0000 (11:36 +0200)]
fix bugs in fileconflicts code and prepare for aliased dirs

Breaks API but that should not be a problem as noone seems to
use the function yet.

11 years agoimprove fileconflicts code
Michael Schroeder [Fri, 5 Apr 2013 17:02:35 +0000 (19:02 +0200)]
improve fileconflicts code

11 years agosmall cleanups in pubkey handling
Michael Schroeder [Fri, 5 Apr 2013 15:17:11 +0000 (17:17 +0200)]
small cleanups in pubkey handling

11 years agocleanup hash code, it makes no sense to have an extra type for the mask
Michael Schroeder [Fri, 5 Apr 2013 15:00:30 +0000 (17:00 +0200)]
cleanup hash code, it makes no sense to have an extra type for the mask

11 years agomake queue_insertn more flexible
Michael Schroeder [Fri, 5 Apr 2013 13:51:36 +0000 (15:51 +0200)]
make queue_insertn more flexible

Yes, it's an API change, but I'm pretty sure that nobody
other than the solver itself uses queue_insertn.

11 years agorefactor a bit
Michael Schroeder [Fri, 5 Apr 2013 08:38:13 +0000 (10:38 +0200)]
refactor a bit

11 years agoDo extra checking for choice rules so that they don't interfere with package splits
Michael Schroeder [Thu, 4 Apr 2013 16:45:45 +0000 (18:45 +0200)]
Do extra checking for choice rules so that they don't interfere with package splits

11 years agosmall cleanup
Michael Schroeder [Tue, 2 Apr 2013 11:12:26 +0000 (13:12 +0200)]
small cleanup

11 years agoMerge pull request #27 from weinhold/upstream
Michael Schroeder [Tue, 2 Apr 2013 11:06:52 +0000 (04:06 -0700)]
Merge pull request #27 from weinhold/upstream

Various Portability Improvements

11 years agoMake all public libsolv headers C++ safe
Ingo Weinhold [Sat, 30 Mar 2013 12:02:13 +0000 (12:02 +0000)]
Make all public libsolv headers C++ safe

A few headers already included 'export "C"' blocks, also wrapping
other #include's. This patch cleanly wraps the contents of all public
headers instead.

11 years agosolv_sort(): Fix build for non-glibc without qsort_r()
Ingo Weinhold [Sat, 30 Mar 2013 16:17:39 +0000 (16:17 +0000)]
solv_sort(): Fix build for non-glibc without qsort_r()

11 years agoUse futimens() instead of futimes()
Ingo Weinhold [Sat, 30 Mar 2013 15:40:08 +0000 (15:40 +0000)]
Use futimens() instead of futimes()

futimens() is POSIX, futimes() isn't.

11 years agoImprove C89 compliance
Ingo Weinhold [Sat, 30 Mar 2013 11:12:31 +0000 (11:12 +0000)]
Improve C89 compliance

Make sure variables are declared at the beginning of a block.

11 years agoDefine SYSTEM_LIBRARIES in main CMakeLists.txt
Ingo Weinhold [Sat, 30 Mar 2013 14:10:53 +0000 (14:10 +0000)]
Define SYSTEM_LIBRARIES in main CMakeLists.txt

* There were identical SYSTEM_LIBRARIES definitions in several CMakeLists.txt
  files (well almost identical -- some still checked for DEBIAN instead of
  ENABLE_RPMDB). Now it's defined in the main CMakeLists.txt.
* Remove --as-needed from CMAKE_C_FLAGS and add it to SYSTEM_LIBRARIES. It
  isn't a compiler flag and older gcc's issue a warning when encountering it
  on a compile line.

11 years agoMerge pull request #26 from dirkmueller/master
Michael Schroeder [Wed, 27 Mar 2013 12:47:16 +0000 (05:47 -0700)]
Merge pull request #26 from dirkmueller/master

Add support for aarch64

11 years agoSupport aarch64
Dirk Mueller [Wed, 27 Mar 2013 12:31:31 +0000 (13:31 +0100)]
Support aarch64

11 years agoMerge pull request #25 from andreas-schwab/master
Michael Schroeder [Tue, 26 Mar 2013 09:56:29 +0000 (02:56 -0700)]
Merge pull request #25 from andreas-schwab/master

Fix misuses of memset

11 years agoFix misuses of memset
Andreas Schwab [Tue, 26 Mar 2013 09:11:04 +0000 (10:11 +0100)]
Fix misuses of memset

src/md5.c: In function 'sat_MD5_Final':
src/md5.c:269:23: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess]
  memset(ctx, 0, sizeof(ctx));
                       ^
examples/solv.c: In function 'read_repos':
examples/solv.c:1616:27: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to remove the addressof? [-Werror=sizeof-pointer-memaccess]
     memset(&stb, 0, sizeof(&stb));
                           ^

11 years agorename "NOOBSOLETES" to "MULTIVERSION"
Michael Schroeder [Fri, 22 Mar 2013 15:42:44 +0000 (16:42 +0100)]
rename "NOOBSOLETES" to "MULTIVERSION"

The name was always not very fitting, but newer rpm versions do look
at the obsoletes and just don't remove packages with the same name,
which makes the old name even worse. So rename to "multiversion",
which seems to be what many package managers use anyway.

11 years agoturn splitprovides off when doing the alreadyrecommended check
Michael Schroeder [Fri, 22 Mar 2013 12:45:45 +0000 (13:45 +0100)]
turn splitprovides off when doing the alreadyrecommended check