]> git.ipfire.org Git - thirdparty/libsolv.git/log
thirdparty/libsolv.git
7 years agoAdapt for changed pubring naming in gpg
Michael Schroeder [Wed, 18 Jul 2018 19:52:17 +0000 (21:52 +0200)] 
Adapt for changed pubring naming in gpg

7 years agoFix getinstalledrpmdbids handling of the match attribute
Michael Schroeder [Wed, 18 Jul 2018 19:50:10 +0000 (21:50 +0200)] 
Fix getinstalledrpmdbids handling of the match attribute

We currently have to iterate through all package names
because rpm lacks an interface to just get one specific name.

7 years agono bindings for sles11
Michael Schroeder [Wed, 18 Jul 2018 15:11:20 +0000 (17:11 +0200)] 
no bindings for sles11

7 years agoNo python3 in SLE11
Michael Schroeder [Wed, 18 Jul 2018 13:36:49 +0000 (15:36 +0200)] 
No python3 in SLE11

7 years agolibzstd is only available for >= leap15
Michael Schroeder [Wed, 18 Jul 2018 13:29:54 +0000 (15:29 +0200)] 
libzstd is only available for >= leap15

7 years agoAdd back missing changes line
Michael Schroeder [Wed, 18 Jul 2018 13:23:53 +0000 (15:23 +0200)] 
Add back missing changes line

7 years agoUpdate the spec to current standards
Michael Schroeder [Wed, 18 Jul 2018 12:43:36 +0000 (14:43 +0200)] 
Update the spec to current standards

Based in pull request 250 by Neil Gompa and Tomas Chvatal.

7 years agozchunk: support extracting of streams other than "1"
Michael Schroeder [Wed, 18 Jul 2018 11:36:11 +0000 (13:36 +0200)] 
zchunk: support extracting of streams other than "1"

7 years agoFix parsing of susetags when the content file does not have a DESCRDIR entry
Michael Schroeder [Tue, 17 Jul 2018 13:09:15 +0000 (15:09 +0200)] 
Fix parsing of susetags when the content file does not have a DESCRDIR entry

7 years agoBuild with zstd and zchunk support
Michael Schroeder [Tue, 17 Jul 2018 12:31:51 +0000 (14:31 +0200)] 
Build with zstd and zchunk support

7 years agoFix reading of content file in susetags
Michael Schroeder [Tue, 17 Jul 2018 11:50:17 +0000 (13:50 +0200)] 
Fix reading of content file in susetags

7 years agoDrop the patchcheck tool
Michael Schroeder [Tue, 17 Jul 2018 09:42:37 +0000 (11:42 +0200)] 
Drop the patchcheck tool

Nobody uses and maintains it anymore.

7 years agoAdd compat symlink for repo2solv
Michael Schroeder [Mon, 16 Jul 2018 19:58:52 +0000 (21:58 +0200)] 
Add compat symlink for repo2solv

7 years agoMove old repo2solv.sh into examples
Michael Schroeder [Mon, 16 Jul 2018 19:56:10 +0000 (21:56 +0200)] 
Move old repo2solv.sh into examples

7 years agoFix bug in susedata languages extension
Michael Schroeder [Mon, 16 Jul 2018 19:51:47 +0000 (21:51 +0200)] 
Fix bug in susedata languages extension

Adding new repodatas may corrupt the current dataiterator,
so we need to first collect all entries and then add them
afterwards.

7 years agoAdd repo2solv manpage
Michael Schroeder [Mon, 16 Jul 2018 19:51:07 +0000 (21:51 +0200)] 
Add repo2solv manpage

7 years agoAdd new repo2solv tool replacing the old shell script
Michael Schroeder [Mon, 16 Jul 2018 13:56:04 +0000 (15:56 +0200)] 
Add new repo2solv tool replacing the old shell script

7 years agoAdd missing solv_zchunk.h file
Michael Schroeder [Fri, 13 Jul 2018 09:58:58 +0000 (11:58 +0200)] 
Add missing solv_zchunk.h file

Oops. Should look more carful at the untracked files list.

7 years agosolv_zchunk: bite should be unsigned int
Michael Schroeder [Thu, 12 Jul 2018 14:45:33 +0000 (16:45 +0200)] 
solv_zchunk: bite should be unsigned int

7 years agoGet rid of some warnings
Michael Schroeder [Thu, 12 Jul 2018 14:06:31 +0000 (16:06 +0200)] 
Get rid of some warnings

7 years agoSupport zchunk compression
Michael Schroeder [Thu, 12 Jul 2018 13:49:47 +0000 (15:49 +0200)] 
Support zchunk compression

7 years agoFix handling of deleted keys in repo_search when a keyname is given
Michael Schroeder [Thu, 12 Jul 2018 08:45:35 +0000 (10:45 +0200)] 
Fix handling of deleted keys in repo_search when a keyname is given

7 years agoExport repodata_set_kv and make use of it in repo_rpmdb.c
Michael Schroeder [Wed, 11 Jul 2018 14:41:59 +0000 (16:41 +0200)] 
Export repodata_set_kv and make use of it in repo_rpmdb.c

7 years agoSupport saving the solvable dependencies as normal idarray
Michael Schroeder [Wed, 11 Jul 2018 11:33:53 +0000 (13:33 +0200)] 
Support saving the solvable dependencies as normal idarray

The default is still relidarray, i.e. sorted arrays.

7 years agoSupport solvable dependency arrays of type REPOKEY_TYPE_IDARRAY
Michael Schroeder [Wed, 11 Jul 2018 11:32:16 +0000 (13:32 +0200)] 
Support solvable dependency arrays of type REPOKEY_TYPE_IDARRAY

7 years agoRefactor pool_resize_rels_hash
Michael Schroeder [Mon, 9 Jul 2018 11:32:54 +0000 (13:32 +0200)] 
Refactor pool_resize_rels_hash

7 years agoRefactor internal stringpool_resize_hash function
Michael Schroeder [Mon, 9 Jul 2018 10:59:20 +0000 (12:59 +0200)] 
Refactor internal stringpool_resize_hash function

7 years agoSupport zstd compression
Michael Schroeder [Mon, 9 Jul 2018 09:34:10 +0000 (11:34 +0200)] 
Support zstd compression

7 years agoMerge pull request #274 from ignatenkobrain/solvable2id
Michael Schroeder [Wed, 11 Jul 2018 13:34:45 +0000 (15:34 +0200)] 
Merge pull request #274 from ignatenkobrain/solvable2id

add pool_solvable2id()

7 years agobindings: fix dir2str function return type
Igor Gnatenko [Wed, 4 Jul 2018 14:06:22 +0000 (15:06 +0100)] 
bindings: fix dir2str function return type

Fixes: 316c436de3b57e1c22d8368b366ef62a66d72e8e
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
7 years agoadd pool_solvable2id() 274/head
Igor Gnatenko [Wed, 27 Jun 2018 16:27:07 +0000 (18:27 +0200)] 
add pool_solvable2id()

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
7 years agoFix fp double close, work around some false positives from covscan
Michael Schroeder [Wed, 27 Jun 2018 15:27:44 +0000 (17:27 +0200)] 
Fix fp double close, work around some false positives from covscan

7 years agoMerge pull request #273 from dbnicholson/deb-control-size
Michael Schroeder [Fri, 22 Jun 2018 08:39:36 +0000 (10:39 +0200)] 
Merge pull request #273 from dbnicholson/deb-control-size

Bump debian control.tar size limit

7 years agoBump debian control.tar size limit 273/head
Dan Nicholson [Thu, 21 Jun 2018 16:51:55 +0000 (11:51 -0500)] 
Bump debian control.tar size limit

Increase the arbitrary control.tar limit from 1 MB to 16 MB. We came
across an openjdk-7-jdk package that had a 2.4MB control.tar.gz and
libsolv failed to parse it. dpkg doesn't actually apply a limit to these
files.

7 years agoTweak documentation of add_dirstr method
Michael Schroeder [Fri, 15 Jun 2018 13:49:40 +0000 (15:49 +0200)] 
Tweak documentation of add_dirstr method

7 years agoMerge pull request #271 from ignatenkobrain/python
Michael Schroeder [Fri, 15 Jun 2018 13:44:10 +0000 (15:44 +0200)] 
Merge pull request #271 from ignatenkobrain/python

bindings: expose repodata_str2dir, repodata_dir2str and repodata_add_…

7 years agobindings: expose repodata_str2dir, repodata_dir2str and repodata_add_dirstr 271/head
Igor Gnatenko [Fri, 15 Jun 2018 13:40:11 +0000 (15:40 +0200)] 
bindings: expose repodata_str2dir, repodata_dir2str and repodata_add_dirstr

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
7 years agoRemove wrong solv_free(data->vincore) in repodata_internalize
Michael Schroeder [Thu, 7 Jun 2018 12:18:25 +0000 (14:18 +0200)] 
Remove wrong solv_free(data->vincore) in repodata_internalize

We're extending the old buffer, so the free is always wrong.

7 years agoMerge pull request #262 from j-mracek/const
Michael Schroeder [Mon, 4 Jun 2018 14:23:45 +0000 (16:23 +0200)] 
Merge pull request #262 from j-mracek/const

Add const for second variable

7 years agoMerge pull request #266 from ignatenkobrain/typo
Michael Schroeder [Mon, 4 Jun 2018 14:20:36 +0000 (16:20 +0200)] 
Merge pull request #266 from ignatenkobrain/typo

doc: fix typo

7 years agoAdd RPMDB_KEEP_GPG_PUBKEY flag
Michael Schroeder [Mon, 4 Jun 2018 14:19:31 +0000 (16:19 +0200)] 
Add RPMDB_KEEP_GPG_PUBKEY flag

7 years agoAdd const for second variable 262/head
Jaroslav Mracek [Tue, 10 Apr 2018 10:47:18 +0000 (12:47 +0200)] 
Add const for second variable

The second variable is used as a source for copy and it is not modified
therefore it should be marked as s const. Then it is more easy to identify what
is source and what is target and also it is clear that the source variable will
be not modify by the function.

Additionally it allows to use const map or queue to create a copy or other
operations.

7 years agodoc: fix typo 266/head
Igor Gnatenko [Fri, 11 May 2018 14:26:15 +0000 (16:26 +0200)] 
doc: fix typo

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
7 years agoTweak source heuristic in ENABLE_RPMPKG_LIBRPM case
Michael Schroeder [Mon, 7 May 2018 09:54:28 +0000 (11:54 +0200)] 
Tweak source heuristic in ENABLE_RPMPKG_LIBRPM case

Use HEADERGET_MINMEM to make the code faster and save some memory.

7 years agoRefactor repodata_set_kv function
Michael Schroeder [Fri, 4 May 2018 11:29:39 +0000 (13:29 +0200)] 
Refactor repodata_set_kv function

7 years agoGet rid of old cmake cruft
Michael Schroeder [Fri, 4 May 2018 11:28:37 +0000 (13:28 +0200)] 
Get rid of old cmake cruft

The -DVERSION definition is never used, so we can delete it plus
the cmake_policy setting.

7 years agoMerge pull request #264 from m-blaha/rpmsourceheuristic
Michael Schroeder [Mon, 7 May 2018 09:27:18 +0000 (11:27 +0200)] 
Merge pull request #264 from m-blaha/rpmsourceheuristic

source/binary rpm detection heuristic when ENABLE_RPMPKG_LIBRPM used

7 years agosource/binary rpm detection heuristic when ENABLE_RPMPKG_LIBRPM used 264/head
Marek Blaha [Fri, 4 May 2018 14:30:41 +0000 (16:30 +0200)] 
source/binary rpm detection heuristic when ENABLE_RPMPKG_LIBRPM used

The headerIsSource() simply checks a presence of the RPMTAG_SOURCERPM
tag in package header, which is not really useful in this context.
This patch provides the same "heuristic" as the librpm uses for
detecting source/binary rpm.

Relevant bug: https://bugzilla.redhat.com/show_bug.cgi?id=1572338

7 years agoAdd changes, bump version to 0.6.34 0.6.34
Michael Schroeder [Fri, 23 Mar 2018 11:04:14 +0000 (12:04 +0100)] 
Add changes, bump version to 0.6.34

7 years agoMake sure the product file comes from /etc/products.d for the fallback product search
Michael Schroeder [Fri, 23 Mar 2018 11:00:00 +0000 (12:00 +0100)] 
Make sure the product file comes from /etc/products.d for the fallback product search

7 years agoAlso use suggests for ordering packages
Michael Schroeder [Thu, 1 Mar 2018 10:00:00 +0000 (11:00 +0100)] 
Also use suggests for ordering packages

7 years agoAdd changes, bump version to 0.6.33 0.6.33
Michael Schroeder [Wed, 28 Feb 2018 15:31:35 +0000 (16:31 +0100)] 
Add changes, bump version to 0.6.33

7 years agoFix Selection.clone implementation and documentation
Michael Schroeder [Wed, 28 Feb 2018 15:26:21 +0000 (16:26 +0100)] 
Fix Selection.clone implementation and documentation

7 years agoUse %license instead of %doc for the license
Michael Schroeder [Wed, 28 Feb 2018 15:13:19 +0000 (16:13 +0100)] 
Use %license instead of %doc for the license

7 years agoMerge pull request #257 from ignatenkobrain/seleciton-clone
Michael Schroeder [Wed, 28 Feb 2018 14:59:29 +0000 (15:59 +0100)] 
Merge pull request #257 from ignatenkobrain/seleciton-clone

bindings: use $self for Selection.clone()

7 years agoFix saving of branches when refining problems
Michael Schroeder [Tue, 27 Feb 2018 14:00:31 +0000 (15:00 +0100)] 
Fix saving of branches when refining problems

This bug caused a mem-leak which led to its discovery...

7 years agobindings: use $self for Selection.clone() 257/head
Igor Gnatenko [Mon, 26 Feb 2018 14:15:05 +0000 (15:15 +0100)] 
bindings: use $self for Selection.clone()

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
7 years agoFix parserpmrichdep conditional
Michael Schroeder [Mon, 26 Feb 2018 14:27:24 +0000 (15:27 +0100)] 
Fix parserpmrichdep conditional

7 years agoMerge pull request #256 from ignatenkobrain/python-rich
Michael Schroeder [Mon, 26 Feb 2018 14:24:32 +0000 (15:24 +0100)] 
Merge pull request #256 from ignatenkobrain/python-rich

bindings: expose parserpmrichdep()

7 years agobindings: expose parserpmrichdep() 256/head
Igor Gnatenko [Sun, 25 Feb 2018 16:10:10 +0000 (17:10 +0100)] 
bindings: expose parserpmrichdep()

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
7 years agoWork around rpm bug if HEADERIMPORT_FAST is used
Michael Schroeder [Mon, 19 Feb 2018 10:51:44 +0000 (11:51 +0100)] 
Work around rpm bug if HEADERIMPORT_FAST is used

With HEADERIMPORT_FAST, rpm uses the difference between offsets
to determine the entry length. Unfortunately, the length is
used as entry count for RPM_BIN_TYPE, so the cound may end up
to big. So trim it again to match the md5 length.

Thanks to Oleg Girko <ol@infoserver.lv> for investigating this.

7 years agoFix changes
Michael Schroeder [Thu, 15 Feb 2018 16:21:55 +0000 (17:21 +0100)] 
Fix changes

7 years agoAdd changes, bump version to 0.6.32 0.6.32
Michael Schroeder [Tue, 13 Feb 2018 10:52:33 +0000 (11:52 +0100)] 
Add changes, bump version to 0.6.32

7 years agoRework fetch phase in fileconflict handling
Michael Schroeder [Mon, 12 Feb 2018 14:06:10 +0000 (15:06 +0100)] 
Rework fetch phase in fileconflict handling

We now handle all files of one package in one go instead of
iterating over every file. In most cases this does not make
a difference, as the pruned candidate list is very small. But
it can be big if two packages with the same content get
installed, e.g. two kernels with same version but different
rebuild count.

7 years agoImprove file conflict output in example solver
Michael Schroeder [Mon, 12 Feb 2018 13:59:14 +0000 (14:59 +0100)] 
Improve file conflict output in example solver

7 years agofileconflicts: make sure at least one candidate is a new install
Michael Schroeder [Thu, 8 Feb 2018 15:46:05 +0000 (16:46 +0100)] 
fileconflicts: make sure at least one candidate is a new install

No need to get only installed packages.

7 years agoRemove solver_disableproblem and solver_enableproblem
Michael Schroeder [Wed, 31 Jan 2018 15:35:33 +0000 (16:35 +0100)] 
Remove solver_disableproblem and solver_enableproblem

They are internal to the solver and can't be used from
outside. Seems they were added to the libsolv.ver map by
accident.

7 years agoAdd changes, bump version to 0.6.31 0.6.31
Michael Schroeder [Wed, 31 Jan 2018 10:43:15 +0000 (11:43 +0100)] 
Add changes, bump version to 0.6.31

7 years agoMove new functions into SOLV_1.2 section
Michael Schroeder [Wed, 31 Jan 2018 10:29:19 +0000 (11:29 +0100)] 
Move new functions into SOLV_1.2 section

7 years agoUse exact size types in header access functions
Michael Schroeder [Wed, 31 Jan 2018 10:14:23 +0000 (11:14 +0100)] 
Use exact size types in header access functions

This matters for ENABLE_RPMPKG_LIBRPM, as we must match what
librpm returns.

7 years agoFix comment
Michael Schroeder [Tue, 30 Jan 2018 14:05:36 +0000 (15:05 +0100)] 
Fix comment

7 years agoMake serialize_dbenv_ops static
Michael Schroeder [Tue, 30 Jan 2018 13:48:40 +0000 (14:48 +0100)] 
Make serialize_dbenv_ops static

7 years agoSome more code cleanup
Michael Schroeder [Tue, 30 Jan 2018 13:28:28 +0000 (14:28 +0100)] 
Some more code cleanup

7 years agoAllow pool_error to be called with no pool
Michael Schroeder [Tue, 30 Jan 2018 12:57:00 +0000 (13:57 +0100)] 
Allow pool_error to be called with no pool

In that case we just return with the specified value and
don't log anything.

7 years agoMove database functions in header files
Michael Schroeder [Tue, 30 Jan 2018 12:55:37 +0000 (13:55 +0100)] 
Move database functions in header files

I'm not completely happy with the result, but it's already
much nicer than before. And we can also habe repo_rpmdb_lmdb.h
if we must...

7 years agoAlso use headread if RPMPKG_LIBRPM is not defined
Michael Schroeder [Tue, 30 Jan 2018 10:50:56 +0000 (11:50 +0100)] 
Also use headread if RPMPKG_LIBRPM is not defined

7 years agoFix memory leaks in LIBRPM code
Michael Schroeder [Tue, 30 Jan 2018 09:48:20 +0000 (10:48 +0100)] 
Fix memory leaks in LIBRPM code

7 years agoFix _dbpath macro definition
Michael Schroeder [Tue, 30 Jan 2018 09:20:26 +0000 (10:20 +0100)] 
Fix _dbpath macro definition

The rootdir must come after _dbpath...

7 years agoAdd ENABLE_RPMDB_LIBRPM and ENABLE_RPMPKG_LIBRPM options
Michael Schroeder [Mon, 29 Jan 2018 16:05:49 +0000 (17:05 +0100)] 
Add ENABLE_RPMDB_LIBRPM and ENABLE_RPMPKG_LIBRPM options

Those two control if librpm should be used to read headers
from the rpm database and to get information from the headers.
They are currently a bit experimental, so use at your own risk.

This is based on patches from Florian Festi and Panu Matilainen.
Thanks!

7 years agoAdd pool_set_whatprovides function
Michael Schroeder [Thu, 18 Jan 2018 12:22:36 +0000 (13:22 +0100)] 
Add pool_set_whatprovides function

Set an entry in the whatprovides table. Also make the pool methods
set_namespaceproviders and flush_namespaceproviders available in
the bindings.

7 years agoAdd map_clr_at and MAPCLR_AT
Michael Schroeder [Thu, 18 Jan 2018 12:20:24 +0000 (13:20 +0100)] 
Add map_clr_at and MAPCLR_AT

Clear some bits around the specified bit.

7 years agotestcase_add_testtags: make sure that we have a solvable when adding data
Michael Schroeder [Thu, 11 Jan 2018 14:51:42 +0000 (15:51 +0100)] 
testcase_add_testtags: make sure that we have a solvable when adding data

7 years agoFix last commit when the involvedmap has a zero size
Michael Schroeder [Fri, 5 Jan 2018 14:28:45 +0000 (15:28 +0100)] 
Fix last commit when the involvedmap has a zero size

7 years agoSet dup updaters when creating the dup maps
Michael Schroeder [Fri, 5 Jan 2018 14:15:51 +0000 (15:15 +0100)] 
Set dup updaters when creating the dup maps

We used to do this when creating the dup rules. But that
means the update information is not available when creating
the update rules which results in no special update data
being saved. Fixes bnc#1074207.

7 years agoMerge pull request #248 from termim/zlib-typo
Michael Schroeder [Wed, 20 Dec 2017 11:55:25 +0000 (12:55 +0100)] 
Merge pull request #248 from termim/zlib-typo

fix typo

7 years agofix typo 248/head
Mikhail Terekhov [Wed, 20 Dec 2017 03:17:19 +0000 (22:17 -0500)] 
fix typo

7 years agoFix selection_canon when there's a zero epoch provided
Michael Schroeder [Mon, 20 Nov 2017 14:15:23 +0000 (15:15 +0100)] 
Fix selection_canon when there's a zero epoch provided

Also add tests.

7 years agoAdd SELECTION_FILTER_SWAPPED support
Michael Schroeder [Mon, 20 Nov 2017 12:34:13 +0000 (13:34 +0100)] 
Add SELECTION_FILTER_SWAPPED support

7 years agoRemove no longer needed code
Michael Schroeder [Sat, 18 Nov 2017 21:36:44 +0000 (22:36 +0100)] 
Remove no longer needed code

7 years agoRework selection code
Michael Schroeder [Sat, 18 Nov 2017 21:28:00 +0000 (22:28 +0100)] 
Rework selection code

Now a bit faster and with less bugs in disabled/badarch matching.

7 years agoAdd more name/provides tests, test filelist matching
Michael Schroeder [Sat, 18 Nov 2017 21:27:22 +0000 (22:27 +0100)] 
Add more name/provides tests, test filelist matching

7 years agoUpdate selection documentation
Michael Schroeder [Thu, 16 Nov 2017 13:22:42 +0000 (14:22 +0100)] 
Update selection documentation

7 years agoDefault to SELECTION_FILTER | SELECTION_WITH_ALL when no combination mode is provided
Michael Schroeder [Thu, 16 Nov 2017 13:21:15 +0000 (14:21 +0100)] 
Default to SELECTION_FILTER | SELECTION_WITH_ALL when no combination mode is provided

7 years agoSpecial case marchdeps filtering on a repo or all packages.
Michael Schroeder [Thu, 16 Nov 2017 13:20:33 +0000 (14:20 +0100)] 
Special case marchdeps filtering on a repo or all packages.

7 years agoSimplify code a bit
Michael Schroeder [Thu, 16 Nov 2017 13:18:27 +0000 (14:18 +0100)] 
Simplify code a bit

7 years agoRemove duplicated code
Michael Schroeder [Thu, 16 Nov 2017 10:51:13 +0000 (11:51 +0100)] 
Remove duplicated code

7 years agoAdd selection testcases
Michael Schroeder [Thu, 16 Nov 2017 10:50:57 +0000 (11:50 +0100)] 
Add selection testcases

7 years agoRemove auto-adding of SELECTION_REL in selection_make_matchdeps
Michael Schroeder [Thu, 16 Nov 2017 09:53:06 +0000 (10:53 +0100)] 
Remove auto-adding of SELECTION_REL in selection_make_matchdeps

While this is strictly speaking a change in the API, I consider
it more like a bug fix. Nobody seems to be using selection_make_matchdeps
in production code yet, so I guess the change is ok.

7 years agorepo_rpmdb: retry with DB_PRIVATE if dbenv open fails with DB_VERSION_MISMATCH
Michael Schroeder [Wed, 15 Nov 2017 15:14:45 +0000 (16:14 +0100)] 
repo_rpmdb: retry with DB_PRIVATE if dbenv open fails with DB_VERSION_MISMATCH

This is also what rpm does, see rpm commit 2822ccbcdf3e898b960fafb23c4d571e26cef0a4

7 years agobindings: add a selection clone method
Michael Schroeder [Wed, 15 Nov 2017 14:14:20 +0000 (15:14 +0100)] 
bindings: add a selection clone method