This file contains the major changes between
libsolv versions:
+Version 0.6.33
+- new features:
+ * new Selection.clone() method in the bindings
+ * new pool.parserpmrichdep() method in the bindings
+
Version 0.6.32
- fixed bug that could make fileconflict detection very slow
in some cases
SET(LIBSOLV_MAJOR "0")
SET(LIBSOLV_MINOR "6")
-SET(LIBSOLV_PATCH "32")
+SET(LIBSOLV_PATCH "33")
#ifdef SUSE
#include "repo_autopattern.h"
#endif
+#if defined(ENABLE_COMPLEX_DEPS) && (defined(ENABLE_SUSEREPO) || defined(ENABLE_RPMMD) || defined(ENABLE_RPMDB) || defined(ENABLE_RPMPKG))
+#include "pool_parserpmrichdep.h"
+#endif
#include "solv_xfopen.h"
#include "testcase.h"
return $self->q.count == 0;
}
%newobject clone;
- Selection *clone(Selection *from, int flags = 0) {
- Selection *s;
- s = solv_calloc(1, sizeof(*s));
- s->pool = from->pool;
- s->flags = from->flags;
- queue_init_clone(&s->q, &from->q);
+ Selection *clone(int flags = 0) {
+ Selection *s = new_Selection($self->pool);
+ queue_init_clone(&s->q, &$self->q);
+ s->flags = $self->flags;
return s;
}
void filter(Selection *lsel) {
Id id = pool_str2id($self, str, create);
return new_Dep($self, id);
}
+#if defined(ENABLE_COMPLEX_DEPS) && (defined(ENABLE_SUSEREPO) || defined(ENABLE_RPMMD) || defined(ENABLE_RPMDB) || defined(ENABLE_RPMPKG))
+ %newobject Dep;
+ Dep *parserpmrichdep(const char *str) {
+ Id id = pool_parserpmrichdep($self, str);
+ return new_Dep($self, id);
+ }
+#endif
const char *id2str(Id id) {
return pool_id2str($self, id);
}
.\" Title: Libsolv-Bindings
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 01/18/2018
+.\" Date: 02/28/2018
.\" Manual: LIBSOLV
.\" Source: libsolv
.\" Language: English
.\"
-.TH "LIBSOLV\-BINDINGS" "3" "01/18/2018" "libsolv" "LIBSOLV"
+.TH "LIBSOLV\-BINDINGS" "3" "02/28/2018" "libsolv" "LIBSOLV"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.RS 4
.\}
.nf
-\fBint flags()\fR;
+\fBint flags()\fR
my \fI$flags\fR \fB=\fR \fI$sel\fR\fB\->flags()\fR;
\fIflags\fR \fB=\fR \fIsel\fR\fB\&.flags()\fR
\fIflags\fR \fB=\fR \fIsel\fR\fB\&.flags()\fR
.RS 4
.\}
.nf
-\fBbool isempty()\fR;
+\fBbool isempty()\fR
\fI$sel\fR\fB\->isempty()\fR
\fIsel\fR\fB\&.isempty()\fR
\fIsel\fR\fB\&.isempty?\fR
.RS 4
.\}
.nf
+\fBSelection clone(int\fR \fIflags\fR \fB= 0)\fR
+my \fI$cloned\fR \fB=\fR \fI$sel\fR\fB\->clone()\fR;
+\fIcloned\fR \fB=\fR \fIsel\fR\fB\&.clone()\fR
+\fIcloned\fR \fB=\fR \fIsel\fR\fB\&.clone()\fR
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Return a copy of a selection\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
\fBvoid filter(Selection *\fR\fIother\fR\fB)\fR
\fI$sel\fR\fB\->filter(\fR\fI$other\fR\fB)\fR;
\fIsel\fR\fB\&.filter(\fR\fIother\fR\fB)\fR
=== METHODS ===
- int flags();
+ int flags()
my $flags = $sel->flags();
flags = sel.flags()
flags = sel.flags()
if there was a package that matched the name or not. If there was
no match at all, the flags will be zero.
- bool isempty();
+ bool isempty()
$sel->isempty()
sel.isempty()
sel.isempty?
Return true if the selection is empty, i.e. no package could be matched.
+ Selection clone(int flags = 0)
+ my $cloned = $sel->clone();
+ cloned = sel.clone()
+ cloned = sel.clone()
+
+Return a copy of a selection.
+
void filter(Selection *other)
$sel->filter($other);
sel.filter(other)
static unsigned char *
headbinary(RpmHead *h, int tag, unsigned int *sizep)
{
- return headget(h, tag, (int *)sizep, 0);
+ unsigned char *b = headget(h, tag, (int *)sizep, 0);
+ if (b && sizep && (tag == TAG_SIGMD5 || tag == SIGTAG_MD5) && *sizep > 16) {
+ /* due to a bug in rpm the count may be bigger if HEADERIMPORT_FAST is used */
+ *sizep = 16;
+ }
+ return b;
}
static int
-------------------------------------------------------------------
+Wed Feb 28 16:29:55 CET 2018 - mls@suse.de
+
+- fix bad assignment in solution refinement that led
+ to a memory leak
+- use license tag instead of doc in the spec file [bnc#1082318]
+- bump version to 0.6.33
+
+-------------------------------------------------------------------
Tue Feb 13 11:51:11 CET 2018 - mls@suse.de
- fixed bug that could make fileconflict detection very slow
in some cases [bnc#953130]
+- bump version to 0.6.32
-------------------------------------------------------------------
Wed Jan 31 11:41:51 CET 2018 - mls@suse.de
%files -n libsolv@LIBSOLV_SOVERSION@
%defattr(-,root,root)
-%doc LICENSE*
+%license LICENSE*
%{_libdir}/libsolv.so.*
%{_libdir}/libsolvext.so.*
%endif
memset(&solv->problems, 0, sizeof(solv->problems));
/* save branches queue */
- branches_save = solv->problems;
+ branches_save = solv->branches;
memset(&solv->branches, 0, sizeof(solv->branches));
/* save decisionq_reason */