Michael Schroeder [Fri, 3 May 2013 12:17:54 +0000 (14:17 +0200)]
dumpsolv: add experimental json dumping support
Michael Schroeder [Fri, 3 May 2013 12:15:37 +0000 (14:15 +0200)]
fix iso-8859-1 to utf8 transcoding bug
Michael Schroeder [Fri, 26 Apr 2013 13:09:13 +0000 (15:09 +0200)]
add multiversion testcase
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".
Michael Schroeder [Thu, 25 Apr 2013 13:03:20 +0000 (15:03 +0200)]
support 64bit filesizes in rpm adddudata()
Michael Schroeder [Wed, 24 Apr 2013 15:43:35 +0000 (17:43 +0200)]
add ILLEGAL_NAMECHANGE support to bindings
Michael Schroeder [Wed, 24 Apr 2013 15:29:43 +0000 (17:29 +0200)]
solverdebug: add solver_get_orphaned call that somehow got lost
Michael Schroeder [Wed, 24 Apr 2013 14:22:37 +0000 (16:22 +0200)]
terminate solver_create_decisions_obsoletesmap function
Michael Schroeder [Wed, 24 Apr 2013 14:19:59 +0000 (16:19 +0200)]
move stringification functions from solverdebug to more correct places
Michael Schroeder [Wed, 24 Apr 2013 14:19:19 +0000 (16:19 +0200)]
allow ls for list command
Michael Schroeder [Wed, 24 Apr 2013 12:17:00 +0000 (14:17 +0200)]
use SOLVER_TRANSACTION_OBSOLETE_IS_UPGRADE in transaction_print
Michael Schroeder [Wed, 24 Apr 2013 12:04:13 +0000 (14:04 +0200)]
add_rpmdb: copy solvables a bit faster
Michael Schroeder [Wed, 24 Apr 2013 10:20:50 +0000 (12:20 +0200)]
use add_rpmdb_reffp in examples
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
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.
Michael Schroeder [Tue, 23 Apr 2013 15:36:14 +0000 (17:36 +0200)]
change specfile to allow building without python bindings again
Michael Schroeder [Tue, 23 Apr 2013 14:55:40 +0000 (16:55 +0200)]
adapt for older cmake versions
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
Michael Schroeder [Tue, 23 Apr 2013 13:31:47 +0000 (15:31 +0200)]
add add_rpmdb_reffp method to bindings
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
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.
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
Michael Schroeder [Tue, 23 Apr 2013 08:12:57 +0000 (10:12 +0200)]
M&M uses rpm, so automatically set ENABLE_RPMDB
Michael Schroeder [Mon, 22 Apr 2013 09:36:19 +0000 (11:36 +0200)]
add pool_setnamespacecallback() and pool_flush_namespaceproviders()
Michael Schroeder [Mon, 22 Apr 2013 09:18:35 +0000 (11:18 +0200)]
small cleanup in id2str
Michael Schroeder [Fri, 19 Apr 2013 13:39:03 +0000 (15:39 +0200)]
rpmdb_pubkey: more bounds checking
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
Ingo Weinhold [Thu, 18 Apr 2013 14:22:57 +0000 (16:22 +0200)]
selection_filter(): Don't leak Queue q1 and Map m2
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.
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.
Michael Schroeder [Wed, 17 Apr 2013 13:52:21 +0000 (15:52 +0200)]
rules/selection: use strrchr in EVR checks as well
Michael Schroeder [Wed, 17 Apr 2013 13:44:48 +0000 (15:44 +0200)]
repo_haiku: do not use ":" for an empty epoch
Michael Schroeder [Wed, 17 Apr 2013 13:39:50 +0000 (15:39 +0200)]
split arch from the right for debian/haiku (thanks Ingo!)
Michael Schroeder [Wed, 17 Apr 2013 12:02:09 +0000 (14:02 +0200)]
adapt SET_EV/SET_EVR magic to haiku for completeness
Michael Schroeder [Wed, 17 Apr 2013 11:51:25 +0000 (13:51 +0200)]
treat overlong utf8 sequences as error
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
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
Ingo Weinhold [Tue, 16 Apr 2013 12:57:17 +0000 (14:57 +0200)]
repo_haiku: add_dependency(): Fix typo
Michael Schroeder [Tue, 16 Apr 2013 12:28:26 +0000 (14:28 +0200)]
mention haiku in README
Michael Schroeder [Tue, 16 Apr 2013 12:11:06 +0000 (14:11 +0200)]
make pool_solvable2str use -<arch> for haiku
Michael Schroeder [Tue, 16 Apr 2013 12:06:33 +0000 (14:06 +0200)]
support haiku package naming in selection_canon
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
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 <>
Ingo Weinhold [Sat, 30 Mar 2013 14:48:12 +0000 (14:48 +0000)]
Add Haiku repository support to libsolvext
Ingo Weinhold [Sat, 30 Mar 2013 13:22:24 +0000 (13:22 +0000)]
Add support for Haiku compat version comparison
Ingo Weinhold [Sat, 30 Mar 2013 13:20:28 +0000 (13:20 +0000)]
Add Haiku semantics version comparison
Ingo Weinhold [Sat, 30 Mar 2013 13:19:26 +0000 (13:19 +0000)]
Add basic Haiku support to build system
Ingo Weinhold [Sat, 30 Mar 2013 11:18:36 +0000 (11:18 +0000)]
Use the hidden fopencookie() on Haiku
Michael Schroeder [Mon, 15 Apr 2013 15:57:43 +0000 (17:57 +0200)]
split ugly pubkey handling into separate repo_rpmdb_pubkey.c
Michael Schroeder [Mon, 15 Apr 2013 15:17:44 +0000 (17:17 +0200)]
refactor rpmdb handling to remove some code duplication
Michael Schroeder [Mon, 15 Apr 2013 12:55:48 +0000 (14:55 +0200)]
some other perror->pool_error changes
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
Michael Schroeder [Mon, 15 Apr 2013 12:46:47 +0000 (14:46 +0200)]
convert perror() and fprintf() calls to pool_error()
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
Michael Schroeder [Mon, 15 Apr 2013 12:11:31 +0000 (14:11 +0200)]
also check repodata in fileconflicts precheck code
Michael Schroeder [Mon, 15 Apr 2013 11:45:29 +0000 (13:45 +0200)]
add credits file
Michael Schroeder [Mon, 15 Apr 2013 11:22:45 +0000 (13:22 +0200)]
also use prechecking for non-aliased mode
Michael Schroeder [Fri, 12 Apr 2013 16:31:47 +0000 (18:31 +0200)]
cleanup code a bit
Michael Schroeder [Fri, 12 Apr 2013 15:42:25 +0000 (17:42 +0200)]
fix two small bugs
Michael Schroeder [Fri, 12 Apr 2013 14:46:08 +0000 (16:46 +0200)]
support checking for directory aliases when searching for file conflicts
Michael Schroeder [Fri, 12 Apr 2013 11:36:05 +0000 (13:36 +0200)]
fix error handling in rpm_byrpmdbid
Michael Schroeder [Thu, 11 Apr 2013 13:04:14 +0000 (15:04 +0200)]
small fixes
Michael Schroeder [Thu, 11 Apr 2013 12:43:47 +0000 (14:43 +0200)]
more speed: read all packages just once in 3rd pass
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.
Michael Schroeder [Wed, 10 Apr 2013 13:56:02 +0000 (15:56 +0200)]
three missed dig->pubkey => digpubkey changes
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.
Michael Schroeder [Wed, 10 Apr 2013 12:49:38 +0000 (14:49 +0200)]
remove dead code
Michael Schroeder [Wed, 10 Apr 2013 12:32:39 +0000 (14:32 +0200)]
use pgpDigGetParams() if available
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.
Michael Schroeder [Wed, 10 Apr 2013 09:57:41 +0000 (11:57 +0200)]
refactor: split off openpkgdb()
Michael Schroeder [Mon, 8 Apr 2013 11:29:04 +0000 (13:29 +0200)]
refactor solv demo a bit
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?
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.
Michael Schroeder [Fri, 5 Apr 2013 17:02:35 +0000 (19:02 +0200)]
improve fileconflicts code
Michael Schroeder [Fri, 5 Apr 2013 15:17:11 +0000 (17:17 +0200)]
small cleanups in pubkey handling
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
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.
Michael Schroeder [Fri, 5 Apr 2013 08:38:13 +0000 (10:38 +0200)]
refactor a bit
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
Michael Schroeder [Tue, 2 Apr 2013 11:12:26 +0000 (13:12 +0200)]
small cleanup
Michael Schroeder [Tue, 2 Apr 2013 11:06:52 +0000 (04:06 -0700)]
Merge pull request #27 from weinhold/upstream
Various Portability Improvements
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.
Ingo Weinhold [Sat, 30 Mar 2013 16:17:39 +0000 (16:17 +0000)]
solv_sort(): Fix build for non-glibc without qsort_r()
Ingo Weinhold [Sat, 30 Mar 2013 15:40:08 +0000 (15:40 +0000)]
Use futimens() instead of futimes()
futimens() is POSIX, futimes() isn't.
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.
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.
Michael Schroeder [Wed, 27 Mar 2013 12:47:16 +0000 (05:47 -0700)]
Merge pull request #26 from dirkmueller/master
Add support for aarch64
Dirk Mueller [Wed, 27 Mar 2013 12:31:31 +0000 (13:31 +0100)]
Support aarch64
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
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));
^
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.
Michael Schroeder [Fri, 22 Mar 2013 12:45:45 +0000 (13:45 +0100)]
turn splitprovides off when doing the alreadyrecommended check
Michael Schroeder [Fri, 22 Mar 2013 12:02:31 +0000 (13:02 +0100)]
susetags: don't warn on unknown tags
Michael Schroeder [Wed, 20 Mar 2013 10:26:28 +0000 (11:26 +0100)]
improve pool_solvable2str output if the evr or arch is empty
Michael Schroeder [Wed, 6 Mar 2013 17:35:44 +0000 (18:35 +0100)]
cleanup code now that the vendorcheck callback is in the pool
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
Michael Schroeder [Wed, 6 Mar 2013 15:58:41 +0000 (16:58 +0100)]
add changes, bump version
Michael Schroeder [Wed, 6 Mar 2013 15:55:26 +0000 (16:55 +0100)]
shuffle some ids now that we break the ABI
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.
Michael Schroeder [Thu, 28 Feb 2013 10:49:34 +0000 (11:49 +0100)]
refactor a bit, add possibility to test the selection code