]>
git.ipfire.org Git - thirdparty/libsolv.git/log
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
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
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.
Michael Schroeder [Mon, 21 Oct 2019 11:17:29 +0000 (13:17 +0200)]
repo_rpmdb.c: move "Packages" string into backend implementations
Other rpm database implementations like "ndb" use different names.
Michael Schroeder [Fri, 18 Oct 2019 11:30:21 +0000 (13:30 +0200)]
Add UPDATE_STATUS to knownids
Should have been in last commit.
Michael Schroeder [Fri, 18 Oct 2019 09:04:36 +0000 (11:04 +0200)]
Parse the patch status in the updateinfo xml
The status is usually 'stable', but can also be things like
'testing' or 'retracted'
Michael Schroeder [Fri, 18 Oct 2019 08:54:57 +0000 (10:54 +0200)]
Add changes, bump version to 0.7.7
Michael Schroeder [Mon, 14 Oct 2019 10:06:09 +0000 (12:06 +0200)]
Fix lto_cflags definition
Michael Schroeder [Tue, 8 Oct 2019 12:11:55 +0000 (14:11 +0200)]
Remove ununsed inline functions
Michael Schroeder [Tue, 8 Oct 2019 11:41:45 +0000 (13:41 +0200)]
Add testcases for POOL_FLAG_WHATPROVIDESWITHDISABLED
Michael Schroeder [Tue, 8 Oct 2019 11:40:45 +0000 (13:40 +0200)]
Fix handling of disabled installed packages in distupgrade
Such packages must not be touched, i.e. they must stay installed.
Michael Schroeder [Mon, 30 Sep 2019 12:35:57 +0000 (14:35 +0200)]
Add POOL_FLAG_WHATPROVIDESWITHDISABLED pool flag
This makes libsolv keep disabled packages (i.e. packages
not in the considered map) in the whatprovides hash.
It is useful if you want to modify the considered map after
the whatprovides hash is generated.
Note that using the flag will change the reported problems
as disabled packages are now seen by the solver but
considered uninstallable.
Michael Schroeder [Wed, 25 Sep 2019 13:37:11 +0000 (15:37 +0200)]
Fix updating of too many packages in focusbest mode
Michael Schroeder [Wed, 28 Aug 2019 12:56:21 +0000 (14:56 +0200)]
Add changes, bump version to 0.7.6
Michael Schroeder [Wed, 28 Aug 2019 12:45:51 +0000 (14:45 +0200)]
Merge pull request #344 from haoren3696/master
repodata_schema2id: fix heap-buffer-overflow in memcmp
StefanBruens [Mon, 12 Aug 2019 22:27:42 +0000 (00:27 +0200)]
Make code compatible with swig 4.0, remove obj0 instances
The deprecated "-aliasobj0" option was removed in swig 4.0, and
obj0, which was only meant as a porting helper, is no longer available:
https://github.com/swig/swig/commit/
cd8fc0a025fb
Use the correct "$self" notation, which is expanded to the correct
code regardless of swig version and options.
Zhipeng Xie [Tue, 6 Aug 2019 01:50:57 +0000 (09:50 +0800)]
repodata_schema2id: fix heap-buffer-overflow in memcmp
When the length of last schema in data->schemadata is
less than length of input schema, we got a read overflow
in asan test.
Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com>
Michael Schroeder [Fri, 2 Aug 2019 14:33:00 +0000 (16:33 +0200)]
Improve fix for issue #343
The old commit just checked if the package was identical to the
one we're updating. But we need to check against all the installed
packages.
Michael Schroeder [Fri, 2 Aug 2019 09:43:28 +0000 (11:43 +0200)]
Add a TODO entry
Michael Schroeder [Thu, 1 Aug 2019 14:28:00 +0000 (16:28 +0200)]
Special updaters handling: put identical to installed also on the list
We need to do this so that repo priority pruning does the right thing.
Fixes issue #343
Mikhail Terekhov [Mon, 29 Jul 2019 03:17:45 +0000 (23:17 -0400)]
typo
Daniel Alley [Wed, 17 Jul 2019 18:40:25 +0000 (14:40 -0400)]
Expose pool_whatcontainsdep() in the bindings
Document both pool_whatcontainsdep() and pool_whatmatchesdep()
closes #335
Michael Schroeder [Tue, 16 Jul 2019 11:20:12 +0000 (13:20 +0200)]
parseRichDep: merge duplicated code into a skipnonwhite() inline function
Michael Schroeder [Mon, 15 Jul 2019 14:49:02 +0000 (16:49 +0200)]
pool_match_dep: support interval REL_WITH deps
See https://bugzilla.redhat.com/show_bug.cgi?id=
1534123
I have a feeling that I'm going to regret this...
Michael Schroeder [Fri, 12 Jul 2019 12:12:51 +0000 (14:12 +0200)]
Merge pull request #336 from marxin/fix-static-library-lto-bytecode
Fix lto-bytecode errors:
Martin Liska [Wed, 10 Jul 2019 13:31:21 +0000 (15:31 +0200)]
Fix lto-bytecode errors:
[ 250s] libsolv-devel.x86_64: E: lto-bytecode (Badness: 10000) /usr/lib64/libsolv.a
[ 250s] libsolv-devel.x86_64: E: lto-bytecode (Badness: 10000) /usr/lib64/libsolvext.a
- Add -ffat-lto-objects to $optflags as the package provides
static libraries
- Remove NO_BRP_STRIP_DEBUG=true as brp-15-strip-debug will
not strip debug info for archives
Michael Schroeder [Tue, 9 Jul 2019 12:44:36 +0000 (14:44 +0200)]
bindings: make the selection filters return the self object
Michael Schroeder [Mon, 1 Jul 2019 12:52:24 +0000 (14:52 +0200)]
Always do nevr check for src rpms, even if there are provides
Newer rpm versions add a "rpmlib(DynamicBuildRequires)" provides
to source rpms in some cases. Sigh.
Michael Schroeder [Mon, 1 Jul 2019 11:12:26 +0000 (13:12 +0200)]
Document get/set_considered/disabled_list
Michael Schroeder [Mon, 1 Jul 2019 09:29:22 +0000 (11:29 +0200)]
Merge pull request #323 from wolfv/osx_rpath_cmake
OS X rpath handling
Wolf Vollprecht [Fri, 19 Apr 2019 10:16:07 +0000 (12:16 +0200)]
enable os x rpath usage in cmake
Michael Schroeder [Mon, 17 Jun 2019 11:11:02 +0000 (13:11 +0200)]
repo2solv: support zchunk compressed data
Michael Schroeder [Mon, 17 Jun 2019 09:20:04 +0000 (11:20 +0200)]
bindings: add get_disabled_list() and set_disabled_list()
Michael Schroeder [Thu, 13 Jun 2019 14:16:19 +0000 (16:16 +0200)]
Add changes