platform/upstream/libsolv.git
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

11 years agosusetags: don't warn on unknown tags
Michael Schroeder [Fri, 22 Mar 2013 12:02:31 +0000 (13:02 +0100)]
susetags: don't warn on unknown tags

11 years agoimprove pool_solvable2str output if the evr or arch is empty
Michael Schroeder [Wed, 20 Mar 2013 10:26:28 +0000 (11:26 +0100)]
improve pool_solvable2str output if the evr or arch is empty

11 years agocleanup code now that the vendorcheck callback is in the pool
Michael Schroeder [Wed, 6 Mar 2013 17:35:44 +0000 (18:35 +0100)]
cleanup code now that the vendorcheck callback is in the pool

11 years agoget rid of the ugly policy callbacks while we're breaking the ABI, add new pool_set_c...
Michael Schroeder [Wed, 6 Mar 2013 16:53:06 +0000 (17:53 +0100)]
get rid of the ugly policy callbacks while we're breaking the ABI, add new pool_set_custom_vendorcheck function

11 years agoadd changes, bump version upstream/0.3.0
Michael Schroeder [Wed, 6 Mar 2013 15:58:41 +0000 (16:58 +0100)]
add changes, bump version

11 years agoshuffle some ids now that we break the ABI
Michael Schroeder [Wed, 6 Mar 2013 15:55:26 +0000 (16:55 +0100)]
shuffle some ids now that we break the ABI

11 years agofix dataiterator returning random data in some cases
Michael Schroeder [Wed, 6 Mar 2013 14:42:26 +0000 (15:42 +0100)]
fix dataiterator returning random data in some cases

Fixed two issues:
1) iterating over attributes in with vertical storage could return
junk when some other operation paged in some other data.
2) the returned string could also be in the paged area, or also
in tmpspace if stringification was done. We can't simply alloc
memory as this makes things slower, but in most cases the storage
does not matter. So we offer a new function, dataiterator_strdup(),
that makes the kv.str pointer persistent.

WARNING: this commit is an ABI change as it changes the dataiterator
structure. Sorry.

11 years agorefactor a bit, add possibility to test the selection code
Michael Schroeder [Thu, 28 Feb 2013 10:49:34 +0000 (11:49 +0100)]
refactor a bit, add possibility to test the selection code

11 years agofix test so that we no longer flatten when there's just one job
Michael Schroeder [Wed, 27 Feb 2013 14:08:49 +0000 (15:08 +0100)]
fix test so that we no longer flatten when there's just one job

11 years agodo not create solvables with no release
Michael Schroeder [Wed, 27 Feb 2013 13:30:12 +0000 (14:30 +0100)]
do not create solvables with no release

11 years agosupport RPM_ADD_WITH_CHANGELOG in repo_add_rpmdb
Michael Schroeder [Mon, 25 Feb 2013 14:02:24 +0000 (15:02 +0100)]
support RPM_ADD_WITH_CHANGELOG in repo_add_rpmdb

For people who want to make their solv file really big...

11 years agoadd other.xml support to repomd parser
Michael Schroeder [Mon, 25 Feb 2013 12:13:10 +0000 (13:13 +0100)]
add other.xml support to repomd parser

11 years agocosmetics: always return 0 in selection_make if the selection is empty
Michael Schroeder [Tue, 12 Feb 2013 19:02:04 +0000 (20:02 +0100)]
cosmetics: always return 0 in selection_make if the selection is empty

11 years agofix stupid typo introduced when refactoring selection_filter_rel. Argh!
Michael Schroeder [Tue, 12 Feb 2013 18:37:12 +0000 (19:37 +0100)]
fix stupid typo introduced when refactoring selection_filter_rel. Argh!

11 years agoincrease maximum header size for some pathological rpms
Michael Schroeder [Wed, 6 Feb 2013 13:56:40 +0000 (14:56 +0100)]
increase maximum header size for some pathological rpms

11 years agofurther optimize solver_reenablepolicyrules
Michael Schroeder [Tue, 5 Feb 2013 13:06:03 +0000 (14:06 +0100)]
further optimize solver_reenablepolicyrules

11 years agooptimize code a bit to make analyze_unsolvable faster
Michael Schroeder [Mon, 4 Feb 2013 18:23:10 +0000 (19:23 +0100)]
optimize code a bit to make analyze_unsolvable faster

11 years agoreuse solver in examples
Michael Schroeder [Mon, 4 Feb 2013 16:41:31 +0000 (17:41 +0100)]
reuse solver in examples

11 years agodo not call pool_freewhatprovides in pool_add_fileconflicts_deps
Michael Schroeder [Mon, 4 Feb 2013 16:34:33 +0000 (17:34 +0100)]
do not call pool_freewhatprovides in pool_add_fileconflicts_deps

There may be precious job data in the whatprovides area.

11 years agodon't free obsoletes/obsoetes_data in solver cleanup
Michael Schroeder [Mon, 4 Feb 2013 15:11:16 +0000 (16:11 +0100)]
don't free obsoletes/obsoetes_data in solver cleanup

11 years agomake it possible to re-run an existing solver (re-using the rpm rules)
Michael Schroeder [Mon, 4 Feb 2013 14:43:27 +0000 (15:43 +0100)]
make it possible to re-run an existing solver (re-using the rpm rules)

11 years agosmall cleanups
Michael Schroeder [Thu, 31 Jan 2013 15:49:15 +0000 (16:49 +0100)]
small cleanups