a47a41b
From 3b200475c1c3904e38a38f26c6ee24a0dcd6fcf2 Mon Sep 17 00:00:00 2001
a47a41b
From: Igor Gnatenko <ignatenko@redhat.com>
a47a41b
Date: Wed, 17 May 2017 22:06:21 +0200
a47a41b
Subject: [PATCH] bindings: expose sourcepkg functions
a47a41b
a47a41b
Closes: https://github.com/openSUSE/libsolv/issues/197
a47a41b
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
a47a41b
---
a47a41b
 bindings/solv.i          |  6 ++++++
a47a41b
 doc/libsolv-bindings.3   | 28 ++++++++++++++++++++++++++++
a47a41b
 doc/libsolv-bindings.txt | 12 ++++++++++++
a47a41b
 3 files changed, 46 insertions(+)
a47a41b
a47a41b
diff --git a/bindings/solv.i b/bindings/solv.i
a47a41b
index 7302d3a..96e5d23 100644
a47a41b
--- a/bindings/solv.i
a47a41b
+++ b/bindings/solv.i
a47a41b
@@ -2830,6 +2830,9 @@ rb_eval_string(
a47a41b
   const char *lookup_location(unsigned int *OUTPUT) {
a47a41b
     return solvable_lookup_location($self->pool->solvables + $self->id, OUTPUT);
a47a41b
   }
a47a41b
+  const char *lookup_sourcepkg() {
a47a41b
+    return solvable_lookup_sourcepkg($self->pool->solvables + $self->id);
a47a41b
+  }
a47a41b
   %newobject Dataiterator;
a47a41b
   Dataiterator *Dataiterator(Id key, const char *match = 0, int flags = 0) {
a47a41b
     return new_Dataiterator($self->pool, 0, $self->id, key, match, flags);
a47a41b
@@ -3792,6 +3795,9 @@ rb_eval_string(
a47a41b
     if (buf)
a47a41b
       repodata_set_bin_checksum(repo_id2repodata($self->repo, $self->id), solvid, keyname, solv_chksum_get_type(chksum), buf);
a47a41b
   }
a47a41b
+  void set_sourcepkg(Id solvid, const char *sourcepkg) {
a47a41b
+    repodata_set_sourcepkg(repo_id2repodata($self->repo, $self->id), solvid, sourcepkg);
a47a41b
+  }
a47a41b
   const char *lookup_str(Id solvid, Id keyname) {
a47a41b
     return repodata_lookup_str(repo_id2repodata($self->repo, $self->id), solvid, keyname);
a47a41b
   }
a47a41b
diff --git a/doc/libsolv-bindings.3 b/doc/libsolv-bindings.3
a47a41b
index 477a6e4..f2d8e8d 100644
a47a41b
--- a/doc/libsolv-bindings.3
a47a41b
+++ b/doc/libsolv-bindings.3
a47a41b
@@ -2425,6 +2425,21 @@ Return a tuple containing the on\-media location and an optional media number fo
a47a41b
 .RS 4
a47a41b
 .\}
a47a41b
 .nf
a47a41b
+\fBconst char *lookup_sourcepkg()\fR;
a47a41b
+my \fR\fI$sourcepkg\fR\fB =\fR \fI$solvable\fR\fB\->lookup_sourcepkg()\fR;
a47a41b
+\fIsourcepkg\fR\fB \fB=\fR \fIsolvable\fR\fB\&.lookup_sourcepkg()\fR
a47a41b
+\fIsourcepkg\fR\fB \fB=\fR \fIsolvable\fR\fB\&.lookup_sourcepkg()\fR
a47a41b
+.fi
a47a41b
+.if n \{\
a47a41b
+.RE
a47a41b
+.\}
a47a41b
+.sp
a47a41b
+Return a sourcepkg name associated with solvable\&.
a47a41b
+.sp
a47a41b
+.if n \{\
a47a41b
+.RS 4
a47a41b
+.\}
a47a41b
+.nf
a47a41b
 \fBDataiterator Dataiterator(Id\fR \fIkeyname\fR\fB, const char *\fR\fImatch\fR \fB= 0, int\fR \fIflags\fR \fB= 0)\fR
a47a41b
 my \fI$di\fR \fB=\fR \fI$solvable\fR\fB\->Dataiterator(\fR\fI$keyname\fR\fB,\fR \fI$match\fR\fB,\fR \fI$flags\fR\fB)\fR;
a47a41b
 \fIdi\fR \fB=\fR \fIsolvable\fR\fB\&.Dataiterator(\fR\fIkeyname\fR\fB,\fR \fImatch\fR\fB,\fR \fIflags\fR\fB)\fR
a47a41b
@@ -5557,6 +5572,19 @@ Lookup functions\&. Return the data element stored in the specified solvable\&.
a47a41b
 .RS 4
a47a41b
 .\}
a47a41b
 .nf
a47a41b
+\fBvoid set_sourcepkg(Id\fR \fIsolvid\fR\fB, const char *\fR\fIsourcepkg\fR\fB)\fR;
a47a41b
+\fI$data\fR\fB\->set_sourcepkg(\fR\fI$solvid\fR\fB, \fI$sourcepkg\fR\fB)\fR;
a47a41b
+\fIdata\fR\fB\&.set_sourcepkg(\fR\fIsolvid\fR\fB,\fR \fIsourcepkg\fR\fB)\fR
a47a41b
+\fIdata\fR\fB\&.set_sourcepkg(\fR\fIsolvid\fR\fB,\fR \fIsourcepkg\fR\fB)\fR
a47a41b
+.fi
a47a41b
+.if n \{\
a47a41b
+.RE
a47a41b
+.\}
a47a41b
+.sp
a47a41b
+.if n \{\
a47a41b
+.RS 4
a47a41b
+.\}
a47a41b
+.nf
a47a41b
 \fBvoid add_idarray(Id\fR \fIsolvid\fR\fB, Id\fR \fIkeyname\fR\fB, DepId\fR \fIid\fR\fB)\fR;
a47a41b
 \fI$data\fR\fB\->add_idarray(\fR\fI$solvid\fR\fB,\fR \fI$keyname\fR\fB,\fR \fI$id\fR\fB)\fR;
a47a41b
 \fIdata\fR\fB\&.add_idarray(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB,\fR \fIid\fR\fB)\fR
a47a41b
diff --git a/doc/libsolv-bindings.txt b/doc/libsolv-bindings.txt
a47a41b
index e44d53a..4de090f 100644
a47a41b
--- a/doc/libsolv-bindings.txt
a47a41b
+++ b/doc/libsolv-bindings.txt
a47a41b
@@ -1357,6 +1357,13 @@ Return a tuple containing the on-media location and an optional
a47a41b
 media number for multi-part repositories (e.g. repositories
a47a41b
 spawning multiple DVDs).
a47a41b
 
a47a41b
+	const char *lookup_sourcepkg();
a47a41b
+	my $sourcepkg = $solvable->lookup_sourcepkg();
a47a41b
+	sourcepkg = solvable.lookup_sourcepkg()
a47a41b
+	sourcepkg = solvable.lookup_sourcepkg()
a47a41b
+
a47a41b
+Return a sourcepkg name associated with solvable.
a47a41b
+
a47a41b
 	Dataiterator Dataiterator(Id keyname, const char *match = 0, int flags = 0)
a47a41b
 	my $di = $solvable->Dataiterator($keyname, $match, $flags);
a47a41b
 	di = solvable.Dataiterator(keyname, match, flags)
a47a41b
@@ -3412,6 +3419,11 @@ SOLVID_META solvid that stores repodata meta information.
a47a41b
 	data.set_checksum(solvid, keyname, chksum)
a47a41b
 	data.set_checksum(solvid, keyname, chksum)
a47a41b
 
a47a41b
+	void set_sourcepkg(Id solvid, const char *sourcepkg);
a47a41b
+	$data.set_sourcepkg($solvid, $sourcepkg);
a47a41b
+	data.set_sourcepkg(solvid, sourcepkg)
a47a41b
+	data.set_sourcepkg(solvid, sourcepkg)
a47a41b
+
a47a41b
 	void add_idarray(Id solvid, Id keyname, DepId id);
a47a41b
 	$data->add_idarray($solvid, $keyname, $id);
a47a41b
 	data.add_idarray(solvid, keyname, id)
a47a41b
-- 
a47a41b
2.13.0
a47a41b