]>
git.ipfire.org Git - thirdparty/libsolv.git/log
Michael Schroeder [Fri, 11 Sep 2020 09:53:55 +0000 (11:53 +0200)]
Merge pull request #395 from SylvainCorlay/track-feature-over-version
Feature depriorization first
Michael Schroeder [Fri, 11 Sep 2020 09:46:58 +0000 (11:46 +0200)]
Use unset as architecure in the blacklist testcases
Otherwise the tests will fail on debian.
Michael Schroeder [Thu, 10 Sep 2020 13:17:12 +0000 (15:17 +0200)]
Support SOLVABLE_BUILDHOST in rpm and rpmmd parsers
Fixes issue #400
Michael Schroeder [Thu, 10 Sep 2020 10:26:30 +0000 (12:26 +0200)]
Update comment in addedmap2deduceq
The old "can't happen" is wrong as we now support complex
dependencies.
Michael Schroeder [Tue, 8 Sep 2020 13:03:41 +0000 (15:03 +0200)]
Fix deduceq2addedmap clearing bits outside of the added map
Michael Schroeder [Tue, 8 Sep 2020 10:00:21 +0000 (12:00 +0200)]
Add testcase_mangle_repo_names function
This will return an array containing the mangled names testcase_write
will use.
Michael Schroeder [Tue, 8 Sep 2020 09:31:19 +0000 (11:31 +0200)]
Revert the testcase meta commits
The libzypp folks will use an extraa file to store their meta
data, so we do not need the changes for now.
We can revive them later if we need them again.
Michael Schroeder [Thu, 3 Sep 2020 12:53:32 +0000 (14:53 +0200)]
Testcase meta: put strings in double quotes
This allows us to support other types in the future.
Michael Schroeder [Thu, 3 Sep 2020 12:16:06 +0000 (14:16 +0200)]
Dump repository metadata as comments for convenience
Michael Schroeder [Thu, 3 Sep 2020 12:05:05 +0000 (14:05 +0200)]
repo_testcase: support reading/writing of repository meta data
The meta data is stored in a REPOSITORY_TESTCASE_META flexarray.
We currently only read/write strings.
Sylvain Corlay [Tue, 28 Jul 2020 07:41:32 +0000 (09:41 +0200)]
Feature depriorization first
Michael Schroeder [Fri, 3 Jul 2020 10:07:50 +0000 (12:07 +0200)]
Merge pull request #392 from wolfv/fix_startswith
small conda startswith improvement
Wolf Vollprecht [Wed, 1 Jul 2020 09:15:24 +0000 (11:15 +0200)]
small conda startswith improvement
Michael Schroeder [Fri, 26 Jun 2020 13:41:46 +0000 (15:41 +0200)]
Use memcpy instead of strncpy
To silence gcc's warning about "strncpy specified bound depends on
the length of the source argument".
Michael Schroeder [Fri, 26 Jun 2020 13:40:15 +0000 (15:40 +0200)]
Rename testcases so that they get used by 'make test'
Michael Andres [Tue, 23 Jun 2020 10:41:45 +0000 (12:41 +0200)]
Enable zstd compression support for sle15
Michael Schroeder [Mon, 8 Jun 2020 12:12:58 +0000 (14:12 +0200)]
Cleandeps: do find_update_seeds() call before changing the userinstalled map
See issue #387
Michael Andres [Thu, 4 Jun 2020 10:13:36 +0000 (12:13 +0200)]
Revert "Disable zstd compression support for sle15-sp2 again"
This reverts commit
8038b53356d52c2930a683d0d0c627f310d04876 .
Michael Schroeder [Thu, 4 Jun 2020 09:45:47 +0000 (11:45 +0200)]
Merge pull request #376 from mikhirev/master
Fix build with rpm headers in non-standard path
Michael Andres [Thu, 4 Jun 2020 09:37:27 +0000 (11:37 +0200)]
Disable zstd compression support for sle15-sp2 again
Michael Schroeder [Wed, 3 Jun 2020 12:27:10 +0000 (14:27 +0200)]
Fix all memory errors found in 'make test'
Based on pull request #391 by Aaron D. Marasco. Thanks!
Michael Schroeder [Wed, 3 Jun 2020 12:06:32 +0000 (14:06 +0200)]
Add solv_fmemopen() function
The solv_xfopen_buf() function we have has the disadvantage
that it updates the buffer pointer/length when reading/writing.
This can easily lead to writing to locations that went out of
scope, like with our usage in testcase.c.
So solv_fmemopen() removes that indirection and directly takes
the buffer pointer and length as arguments. Only reading is
currently supported.
Michael Schroeder [Thu, 28 May 2020 09:51:58 +0000 (11:51 +0200)]
Enable zstd compression support for sle15-sp2
Michael Schroeder [Wed, 27 May 2020 09:55:11 +0000 (11:55 +0200)]
Add changes, bump version to 0.7.14
Michael Schroeder [Wed, 27 May 2020 09:47:41 +0000 (11:47 +0200)]
Tweak last commit
Michael Schroeder [Wed, 27 May 2020 09:41:21 +0000 (11:41 +0200)]
Merge pull request #384 from wolfv/enable_subprio_comparison
conda: take subprio into account for initial sort
Michael Schroeder [Wed, 27 May 2020 09:36:56 +0000 (11:36 +0200)]
Support rules with multiple neg literals in choice rule generation
Michael Schroeder [Tue, 26 May 2020 15:32:43 +0000 (17:32 +0200)]
Support blacklisted packages in solver_findproblemrule()
Should have been in commit
4120051be87d2cccc2146a30c5128edd5c78d76d
Michael Schroeder [Tue, 26 May 2020 12:53:02 +0000 (14:53 +0200)]
Merge pull request #386 from cgwalters/usr-sqlite
rpmdb: Also detect rpmdb.sqlite in /usr/share/rpm
Colin Walters [Mon, 25 May 2020 20:43:37 +0000 (20:43 +0000)]
rpmdb: Also detect rpmdb.sqlite in /usr/share/rpm
See: https://bugzilla.redhat.com/show_bug.cgi?id=
1838691
This is obviously adding to a tower of hacks; what we really
want is for this logic to live in librpm and be standardized.
But in order to fix the immediate issue of detecting the rpmdb
on rpm-ostree based systems (and any others that use `/usr/share/rpm`),
add the sqlite path to detection.
See also http://lists.rpm.org/pipermail/rpm-maint/2017-October/006681.html
Michael Schroeder [Mon, 25 May 2020 13:00:52 +0000 (15:00 +0200)]
Improve speed of
ed25519 code
Wolf Vollprecht [Tue, 19 May 2020 17:33:10 +0000 (19:33 +0200)]
conda: take subprio into account for initial sort
Michael Schroeder [Tue, 19 May 2020 13:51:45 +0000 (15:51 +0200)]
ed25519 : do not use mppow anymore
This speeds up signature verification by a factor of three.
Michael Schroeder [Tue, 19 May 2020 12:13:26 +0000 (14:13 +0200)]
Add USE_RPM_PUBKEY_BUILTTIME flag to switch to rpm style pubkey build times
Michael Schroeder [Tue, 19 May 2020 12:04:44 +0000 (14:04 +0200)]
Do no longer use internal rpm data to get the pubkey build time
Using internal rpm data is just too fragile. This time the code
did not work anymore because the time in the pgpDigParams_s was
changed to a uint32_t, leading to two padding bytes being added.
Rpm's way of calculating the pubkey build time did not change
the last 10 years, so just replicate the way rpm finds the
build time in libsolv. It's simply taking the creation time
of the first signature, which is pretty broken.
Michael Schroeder [Tue, 19 May 2020 11:59:16 +0000 (13:59 +0200)]
Michael Schroeder [Mon, 18 May 2020 16:17:42 +0000 (18:17 +0200)]
Add support for
ed25519 signature verification
I did this to learn about elliptic curve cryptography. All test
vectors from the
ed25519 reference implementation verify.
Michael Schroeder [Sun, 17 May 2020 16:21:35 +0000 (18:21 +0200)]
solv_pgpvrfy: rename mpmult to mpmul
No functual changes.
Michael Schroeder [Sun, 17 May 2020 16:15:59 +0000 (18:15 +0200)]
solv_pgpvrfy: simplify mpdec() a bit
Michael Schroeder [Sun, 17 May 2020 16:12:51 +0000 (18:12 +0200)]
solv_pgpvrfy: add mpisequal() helper
It just does the memcmp we did before.
Michael Schroeder [Sun, 17 May 2020 16:10:14 +0000 (18:10 +0200)]
solv_pgpvrfy: split mpsetfrombe from mpbuild
Michael Schroeder [Sun, 17 May 2020 16:05:43 +0000 (18:05 +0200)]
solv_pgpvrfy: fix buf in modulo reduction
The carry propagation did not work when subtracting
the modulo at the end of the computation.
I am amazed that this did not show up earlier.
Michael Schroeder [Fri, 24 Apr 2020 10:02:05 +0000 (12:02 +0200)]
Add changes, bump version to 0.7.13
Michael Schroeder [Fri, 24 Apr 2020 09:59:01 +0000 (11:59 +0200)]
Refactor track_feature parsing a bit
Michael Schroeder [Fri, 24 Apr 2020 09:54:01 +0000 (11:54 +0200)]
Clear repodata->lasthandle for freed/swapped solvable
Fixes issue #377
Dmitry Mikhirev [Thu, 23 Apr 2020 12:27:38 +0000 (15:27 +0300)]
Fix build with rpm headers in non-standard path
Michael Schroeder [Mon, 20 Apr 2020 15:33:22 +0000 (17:33 +0200)]
Add changes, bump version to 0.7.12
Michael Schroeder [Mon, 20 Apr 2020 15:30:20 +0000 (17:30 +0200)]
Make repo_mark_retracted_packages only look at the provided repo
Before this commit it worked like pool_mark_retracted_packages,
which is also something that we might need in the future.
For now, limit the search to the specified repo. This change
does nothing for the only use case that we currently have,
namely the repo2solv tool.
Michael Schroeder [Mon, 20 Apr 2020 15:19:36 +0000 (17:19 +0200)]
Move win32 suff into an extra block
Just cosmetics, no functual changes
Michael Schroeder [Mon, 20 Apr 2020 15:15:51 +0000 (17:15 +0200)]
Merge pull request #375 from wolfv/allow_win32_shared
allow win32 to build shared lib
Wolf Vollprecht [Mon, 20 Apr 2020 12:37:43 +0000 (14:37 +0200)]
add WIN32 guards
Wolf Vollprecht [Sat, 18 Apr 2020 20:20:08 +0000 (22:20 +0200)]
also add the export all symbols option
Wolf Vollprecht [Sat, 18 Apr 2020 19:06:07 +0000 (21:06 +0200)]
allow win32 to build shared lib
Michael Schroeder [Fri, 17 Apr 2020 16:17:59 +0000 (18:17 +0200)]
Return a read error for truncated gzip files
The gzread() helper does not return an error if a file is truncated.
This is done to allow reading a file that that is being concurrently
written.
As workaround, get the error code if an EOF is reached and treat
Z_BUF_ERROR as read error.
Michael Schroeder [Fri, 17 Apr 2020 15:37:03 +0000 (17:37 +0200)]
Merge pull request #374 from davidbrochart/conda_track_features
Move feature minimization to pool_buildversioncmp()
David Brochart [Fri, 17 Apr 2020 13:48:09 +0000 (15:48 +0200)]
Move feature minimization to pool_buildversioncmp()
Michael Schroeder [Fri, 17 Apr 2020 12:39:57 +0000 (14:39 +0200)]
conda: deal with repositories containing both new and legacy packages
We ignore the legacy .tar.bz2 entry if we also have a .conda package
with the otherwise same filename.
Michael Schroeder [Fri, 17 Apr 2020 12:25:46 +0000 (14:25 +0200)]
Merge pull request #362 from wolfv/add_conda_packages
add parsing of the packages.conda key
Michael Schroeder [Thu, 16 Apr 2020 21:30:43 +0000 (23:30 +0200)]
Conda: de-priorize track features
Based on a pull request by Wolf Vollprecht. Thanks!
Michael Schroeder [Thu, 16 Apr 2020 21:29:00 +0000 (23:29 +0200)]
Add repo_lookup_count and solvable_lookup_count functions
Also refactor the way we access the dependencies in the solvable
a bit by adding a solvable_offsetptr helper function.
Michael Schroeder [Thu, 16 Apr 2020 21:26:46 +0000 (23:26 +0200)]
Add repodata_lookup_count function
This is currently internal only. It will be used to compare the
numbers of track_features entries in conda.
Wolf Vollprecht [Wed, 1 Apr 2020 07:11:47 +0000 (09:11 +0200)]
Merge pull request #1 from davidbrochart/add_conda_packages
Fix JSON parsing
David Brochart [Tue, 31 Mar 2020 15:10:12 +0000 (17:10 +0200)]
Fix JSON parsing
Michael Schroeder [Thu, 13 Feb 2020 15:11:49 +0000 (16:11 +0100)]
Merge pull request #368 from dralley/bindings-fix
Add ENABLE_PYTHON3 to the conditional that triggers building bindings
Daniel Alley [Wed, 12 Feb 2020 23:05:07 +0000 (18:05 -0500)]
Add ENABLE_PYTHON3 to the conditional that triggers building bindings
ENABLE_PYTHON3 is used in the CMakeLists.txt in the bindings
directory but if it's defined alone it won't trigger building the
bindings.
Michael Schroeder [Wed, 12 Feb 2020 10:33:58 +0000 (11:33 +0100)]
Fix ruleinfo of complex dependencies returning the wrong origin
We order the literals for complex dependencies, so the first
literal is not always the origin package. So patch the origin
when generating rule infos.
Fixes #367
Michael Schroeder [Wed, 22 Jan 2020 12:54:05 +0000 (13:54 +0100)]
Add changes, bump version to 0.7.11
Michael Schroeder [Wed, 22 Jan 2020 12:00:43 +0000 (13:00 +0100)]
Put the path to the database in the state
This allows us to make the path configurable if we need to
do this in the future. It also makes the ostree handling
a bit easier.
Michael Schroeder [Wed, 22 Jan 2020 11:56:21 +0000 (12:56 +0100)]
Simplify infarch rule generation
If bestscore is zero, badq will always be empty.
Michael Schroeder [Tue, 21 Jan 2020 14:16:25 +0000 (15:16 +0100)]
Make add_update_target work with multiversion installs
An installed targeted package is a target for all installed
packages with the same name.
We're currently ignoring obsoletes, but they should not be in
an installed state anyway.
Fixes issue #364
Michael Schroeder [Tue, 21 Jan 2020 13:59:40 +0000 (14:59 +0100)]
Update generated files
Michael Schroeder [Tue, 21 Jan 2020 13:59:09 +0000 (14:59 +0100)]
Update generated files
Michael Schroeder [Tue, 21 Jan 2020 13:51:10 +0000 (14:51 +0100)]
Merge pull request #358 from zoofood/patch-1
Minor changes for readability.
Michael Schroeder [Tue, 21 Jan 2020 13:49:45 +0000 (14:49 +0100)]
Merge pull request #361 from Conan-Kudo/fix-vendorchange-doc-typo
doc: Fix typo in description about libsolv vendor policies
Michael Schroeder [Tue, 21 Jan 2020 13:18:33 +0000 (14:18 +0100)]
solvversion.h: add missing LIBSOLVEXT_FEATURE_ZCHUNK_COMPRESSION
Should have been in commit
75d03059cdaf7770d2217fafaba6af732cd860ba
Michael Schroeder [Tue, 21 Jan 2020 11:00:40 +0000 (12:00 +0100)]
Treat retracted pathes as irrelevant
Wolf Vollprecht [Wed, 15 Jan 2020 17:37:30 +0000 (18:37 +0100)]
add parsing of the packages.conda key
Neal Gompa [Tue, 7 Jan 2020 13:18:17 +0000 (08:18 -0500)]
doc: Fix typo in description about libsolv vendor policies
Michael Schroeder [Thu, 19 Dec 2019 15:28:38 +0000 (16:28 +0100)]
Fix solv_zchunk decoding error if large chunks are used
Oops. This commit is a bit embarassing.
Jeff Rouse [Tue, 17 Dec 2019 07:46:32 +0000 (23:46 -0800)]
Minor changes for readability.
Michael Schroeder [Wed, 11 Dec 2019 14:55:48 +0000 (15:55 +0100)]
Make ENABLE_RPMDB_LIBRPM the default
Direct BerkeleyDB access can still be selected with ENABLE_RPMDB_BDB.
Michael Schroeder [Wed, 11 Dec 2019 13:01:22 +0000 (14:01 +0100)]
Simplify RpmHead handling in repo_rpmdb
Michael Schroeder [Tue, 10 Dec 2019 20:03:29 +0000 (21:03 +0100)]
build with -DENABLE_RPMDB_LIBRPM=1 on SUSE
Michael Schroeder [Tue, 10 Dec 2019 13:21:00 +0000 (14:21 +0100)]
Add changes, bump version to 0.7.10
Michael Schroeder [Tue, 10 Dec 2019 12:10:44 +0000 (13:10 +0100)]
Rework repo_rpmdb.c a bit
- Clean up package dabase handing
- Add rpm_stat_database() function that allows to stat the
package database
- Add rpm_hash_database_state() function that hashes the
package database state
- Use rpm's new rpmdbFStat() function if available
- Use rpmdbNextIteratorHeaderBlob() function (SUSE extension)
if available
Michael Schroeder [Thu, 21 Nov 2019 15:35:30 +0000 (16:35 +0100)]
Add changes, bump version to 0.7.9
Michael Schroeder [Fri, 15 Nov 2019 12:01:45 +0000 (13:01 +0100)]
Don't complain about constrains between two installed packages
Michael Schroeder [Fri, 15 Nov 2019 11:01:23 +0000 (12:01 +0100)]
Delete superflous queue_empty statements
solvable_lookup_idarray already empies the queue.
Michael Schroeder [Fri, 15 Nov 2019 10:58:54 +0000 (11:58 +0100)]
Rename prereqq to depq
We use it also for conda constrains nowadays.
Michael Schroeder [Fri, 15 Nov 2019 10:57:02 +0000 (11:57 +0100)]
Ignore constrains conflicting with itself, tweak constrains problem message
Michael Schroeder [Thu, 14 Nov 2019 14:53:23 +0000 (15:53 +0100)]
Remote unused test for brokeness from addedge
Michael Schroeder [Thu, 14 Nov 2019 13:16:59 +0000 (14:16 +0100)]
Add support for conda constrains
Michael Schroeder [Tue, 12 Nov 2019 10:37:02 +0000 (11:37 +0100)]
Add changes, bump version to 0.7.8
Michael Schroeder [Tue, 12 Nov 2019 10:22:50 +0000 (11:22 +0100)]
Make arch<->noarch pkg changes work for suse patches
This means we add a single pkg < evr conflict for noarch packages,
and both pkg.arch < evr and pkg.noarch < evr conflicts otherwise.
Michael Schroeder [Mon, 11 Nov 2019 11:53:55 +0000 (12:53 +0100)]
Add another SUSE hack: complex requires in ptf packages should only match package names
Michael Schroeder [Fri, 8 Nov 2019 14:09:54 +0000 (15:09 +0100)]
Add experimental support for self-destruct packages
Self-destruct packages will not be part of the transaction. But
they still will obsolete packages, thus updating to a self-destruct
package will lead to the erasure of the old package.
Michael Schroeder [Fri, 8 Nov 2019 13:34:18 +0000 (14:34 +0100)]
Add support for blacklisted packages
This will be used in SUSE's ptf packages and also to retract
released updates. The idea is that it is not possible to pull in
a blacklisted package via a dependency, they can only be installed
by a job that directly addresses them (the SETEVR bit is set).
Michael Schroeder [Tue, 22 Oct 2019 12:16:11 +0000 (14:16 +0200)]
Move marker argument in solvable_matchessolvable()
This makes it similar to the pool_whatmatchessolvable() function.
Michael Schroeder [Tue, 22 Oct 2019 12:08:23 +0000 (14:08 +0200)]
Add solvable_matchessolvable() function
Checks if one of the dependencies of a solvable is matched by
the provides of another solvable. It is also possible to get
the list of matching dependencies.
Michael Schroeder [Mon, 21 Oct 2019 12:52:31 +0000 (14:52 +0200)]
Add workaround to stat_database() to find other database backends
This is pretty horrible. Rpm upstream wants to add a function
that stats the database for us, so we may use that in some future
version.