Compare commits

..

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
8d10f00a2d
!46 [sync] PR-44: fix requirement error
From: @openeuler-sync-bot 
Reviewed-by: @t_feng 
Signed-off-by: @t_feng
2023-08-21 02:08:59 +00:00
hanhuihui
3dd9d7d831 fix requirement error
(cherry picked from commit 571f9443ba37b0c56154e00906e6e239e64c4be7)
2023-08-21 09:15:10 +08:00
openeuler-ci-bot
3da6d4deba
!43 [sync] PR-42: update libsolv to 0.7.22
From: @openeuler-sync-bot 
Reviewed-by: @anonymous_z 
Signed-off-by: @anonymous_z
2022-11-09 10:01:06 +00:00
han_hui_hui
e27564feac update libsolv to 0.7.22
(cherry picked from commit 84c51b04bd1b3fa32c0a69d52dfeda1f597e4857)
2022-11-09 17:46:08 +08:00
openeuler-ci-bot
0f581dec93
!39 [sync] PR-35: ensure duplinvolvedmap_all is reset
From: @openeuler-sync-bot 
Reviewed-by: @t_feng 
Signed-off-by: @t_feng
2022-10-25 01:25:16 +00:00
han_hui_hui
46d8d2f1ea ensure duplinvolvedmap_all is reset
(cherry picked from commit 5304a229606e0b7d2bad7d9f3724f783cf4be578)
2022-10-24 15:44:18 +08:00
openeuler-ci-bot
6bab0e5bcf
!37 [sync] PR-31: 回合libsolv上游社区补丁
From: @openeuler-sync-bot 
Reviewed-by: @t_feng 
Signed-off-by: @t_feng
2022-10-24 07:41:21 +00:00
zjay998
02b1bdeed0 Sync upstream patches
(cherry picked from commit 31e4ae2574222affc118073cb80aac0c30977025)
2022-10-24 10:29:57 +08:00
openeuler-ci-bot
6049a99ba5 !23 update to 0.7.20
Merge pull request !23 from kerongw/master
2021-12-25 08:06:03 +00:00
wangkerong
ee1de0c2ad update to 0.7.20 2021-12-25 14:16:03 +08:00
7 changed files with 234 additions and 15 deletions

BIN
0.7.22.tar.gz Normal file

Binary file not shown.

View File

@ -0,0 +1,29 @@
From 9a361f5248557e032f15890aac54c0db53c52098 Mon Sep 17 00:00:00 2001
From: banjiuqingshan <63209634+banjiuqingshan@users.noreply.github.com>
Date: Sun, 19 Jun 2022 01:43:51 +0800
Subject: [PATCH] Fix memory leak when using testsolv to execute cases
*resultp will only keep the pointer of the last cycle, which will lead to memory leakage.
This solves the first memory leak problem in issue #496 "==255147==error..."
---
ext/testcase.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/ext/testcase.c b/ext/testcase.c
index 035cfdbd..c529057a 100644
--- a/ext/testcase.c
+++ b/ext/testcase.c
@@ -2448,7 +2448,10 @@ testcase_read(Pool *pool, FILE *fp, const char *testcase, Queue *job, char **res
}
}
if (resultp)
+ {
+ solv_free(*resultp);
*resultp = result;
+ }
else
solv_free(result);
if (resultflagsp)
--
2.27.0

View File

@ -0,0 +1,26 @@
From 47734e26d67ad236a29c160ff224fcb1910e3a6f Mon Sep 17 00:00:00 2001
From: Michael Schroeder <mls@suse.de>
Date: Tue, 18 Apr 2023 12:36:40 +0200
Subject: [PATCH] Add testcase for last commit
---
test/testcases/cplxdeps/ifelse_rec.t | 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 test/testcases/cplxdeps/ifelse_rec.t
diff --git a/test/testcases/cplxdeps/ifelse_rec.t b/test/testcases/cplxdeps/ifelse_rec.t
new file mode 100644
index 000000000..ea467027c
--- /dev/null
+++ b/test/testcases/cplxdeps/ifelse_rec.t
@@ -0,0 +1,10 @@
+repo appstream 0 testtags <inline>
+#>=Pkg: xorg-x11-server-Xorg 1.20.11 18.el9 noarch
+#>=Req: missing-req
+#>=Pkg: pass 1.7.4 6.el9 noarch
+#>=Rec: xclip <IF> (xorg-x11-server-Xorg <ELSE> wl-clipboard)
+repo @System 0 empty
+system unset * @System
+job install pkg pass-1.7.4-6.el9.noarch@appstream
+result transaction,problems <inline>
+#>install pass-1.7.4-6.el9.noarch@appstream

View File

@ -0,0 +1,27 @@
From 1edb35a3bd9abcede3a200471a4d1868f8054c99 Mon Sep 17 00:00:00 2001
From: Michael Schroeder <mls@suse.de>
Date: Tue, 18 Apr 2023 11:57:50 +0200
Subject: [PATCH] Treat condition both as positive and negative literal in
pool_add_pos_literals_complex_dep
That's because (A IF B ELSE C) gets rewritten to (A OR ~B) AND (C OR B) and
(A UNLESS B ELSE C) gets rewritten to (A AND ~B) OR (C AND B). In both
cases we have A, B, ~B, C.
This resolves issue #527
---
src/cplxdeps.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/cplxdeps.c b/src/cplxdeps.c
index 6c40752e2..26e754d95 100644
--- a/src/cplxdeps.c
+++ b/src/cplxdeps.c
@@ -405,6 +405,7 @@ pool_add_pos_literals_complex_dep(Pool *pool, Id dep, Queue *q, Map *m, int neg)
Reldep *rd2 = GETRELDEP(pool, rd->evr);
if (rd2->flags == REL_ELSE)
{
+ pool_add_pos_literals_complex_dep(pool, rd2->name, q, m, !neg);
pool_add_pos_literals_complex_dep(pool, rd2->evr, q, m, !neg);
dep = rd2->name;
}

View File

@ -0,0 +1,50 @@
From 2c85ed581422e072ad95119f3d7dc19eb45f29ac Mon Sep 17 00:00:00 2001
From: Michael Schroeder <mls@suse.de>
Date: Fri, 19 May 2023 15:17:53 +0200
Subject: [PATCH] choice rules: also do solver_choicerulecheck for package
downgrades
Fixes issue #514
---
src/rules.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/rules.c b/src/rules.c
index 660656f01..7d57cfdee 100644
--- a/src/rules.c
+++ b/src/rules.c
@@ -3449,6 +3449,7 @@ solver_addchoicerules(Solver *solv)
int lastaddedcnt;
unsigned int now;
int isinstalled;
+ int dodowngradecheck = solv->allowdowngrade;
solv->choicerules = solv->nrules;
if (!pool->installed)
@@ -3457,6 +3458,8 @@ solver_addchoicerules(Solver *solv)
return;
}
now = solv_timems(0);
+ if ((solv->dupinvolvedmap_all || solv->dupinvolvedmap.size) && solv->dup_allowdowngrade)
+ dodowngradecheck = 1;
queue_init(&q);
queue_init(&qi);
queue_init(&qcheck);
@@ -3532,8 +3535,16 @@ solver_addchoicerules(Solver *solv)
/* do extra checking for packages related to installed packages */
for (i = j = 0; i < qi.count; i += 2)
{
+ int isdowngrade = 0;
p2 = qi.elements[i];
- if (solv->updatemap_all || (solv->updatemap.size && MAPTST(&solv->updatemap, p2 - solv->installed->start)))
+ if (dodowngradecheck)
+ {
+ p = qi.elements[i + 1];
+ if (pool->solvables[p2].name == pool->solvables[p].name)
+ if (pool_evrcmp(pool, pool->solvables[p2].evr, pool->solvables[p].evr, EVRCMP_COMPARE) > 0)
+ isdowngrade = 1;
+ }
+ if (isdowngrade || solv->updatemap_all || (solv->updatemap.size && MAPTST(&solv->updatemap, p2 - solv->installed->start)))
{
if (solver_choicerulecheck(solv, p2, r, &m, &qcheck))
continue;

Binary file not shown.

View File

@ -11,20 +11,29 @@
%bcond_without multi_semantics
%bcond_with zchunk
%bcond_without zstd
%bcond_without conda
Name: libsolv
Version: 0.7.17
Release: 1
Version: 0.7.22
Release: 2
Summary: Package dependency solver
License: BSD
URL: https://github.com/openSUSE/libsolv
Source: https://github.com/openSUSE/libsolv/archive/%{version}/%{name}-%{version}.tar.gz
Source: https://github.com/openSUSE/libsolv/archive/refs/tags/%{version}.tar.gz
Patch0: Fix-memory-leak-when-using-testsolv-to-execute-cases.patch
Patch6001: backport-Treat-condition-both-as-positive-and-negative-literal-in-pool_add_pos_literals_complex_dep.patch
Patch6002: backport-Add-testcase-for-last-commit.patch
Patch6003: backport-choice-rules-also-do-solver_choicerulecheck-for-package-downgrades.patch
BuildRequires: cmake gcc-c++ ninja-build pkgconfig(rpm) zlib-devel
BuildRequires: libxml2-devel xz-devel bzip2-devel libzstd-devel
Requires: %{_bindir}/find %{_bindir}/curl %{_bindir}/gpg2
Provides: libsolv-tools libsolv-demo
Obsoletes: libsolv-tools < %{version}-%{release}
Obsoletes: libsolv-demo < %{version}-%{release}
BuildRequires: libxml2-devel xz-devel bzip2-devel
%if %{with zstd}
BuildRequires: libzstd-devel
%endif
%if %{with zchunk}
BuildRequires: pkgconfig(zck)
%endif
Requires: rpm
@ -45,6 +54,23 @@ Requires: %{name} = %{version}-%{release} rpm-devel
%description devel
Development files for %{name}.
%package tools
Summary: Package dependency solver tools
Requires: %{name} = %{version}-%{release}
Requires: /usr/bin/find
%description tools
Package dependency solver tools.
%package demo
Summary: Applications demoing the %{name} library
Requires: %{name} = %{version}-%{release}
Requires: /usr/bin/curl
Requires: /usr/bin/gpg2
%description demo
Applications demoing the %{name} library.
%package -n perl-solv
Summary: Perl bindings for the %{name} library
BuildRequires: swig perl-devel perl-generators
@ -101,6 +127,7 @@ Python 3 version.
%{?with_arch_repo:-DENABLE_ARCHREPO=ON} \
%{?with_multi_semantics:-DMULTI_SEMANTICS=ON} \
%{?with_complex_deps:-DENABLE_COMPLEX_DEPS=1} \
%{?with_conda:-DENABLE_CONDA=ON} \
%{?with_perl_bindings:-DENABLE_PERL=ON} \
%{?with_ruby_bindings:-DENABLE_RUBY=ON} \
%if %{with python3_bindings}
@ -127,10 +154,6 @@ Python 3 version.
%license LICENSE*
%{_libdir}/%{name}.so.*
%{_libdir}/%{name}ext.so.*
%{_bindir}/{solv,dumpsolv,installcheck,mergesolv,rpmdb2solv}
%{_bindir}/{rpms2solv,testsolv,repo2solv,comps2solv,appdata2solv,deb2solv}
%{_bindir}/{archpkgs2solv,archrepo2solv,helix2solv,repomdxml2solv}
%{_bindir}/{deltainfoxml2solv,updateinfoxml2solv,rpmmd2solv,susetags2solv}
%files devel
%{_libdir}/%{name}.so
@ -141,6 +164,44 @@ Python 3 version.
%dir %{_datadir}/cmake/Modules/
%{_datadir}/cmake/Modules/FindLibSolv.cmake
%files tools
%{_bindir}/deltainfoxml2solv
%{_bindir}/dumpsolv
%{_bindir}/installcheck
%{_bindir}/mergesolv
%{_bindir}/repomdxml2solv
%{_bindir}/rpmdb2solv
%{_bindir}/rpmmd2solv
%{_bindir}/rpms2solv
%{_bindir}/testsolv
%{_bindir}/updateinfoxml2solv
%{_bindir}/repo2solv
%if %{with comps}
%{_bindir}/comps2solv
%endif
%if %{with appdata}
%{_bindir}/appdata2solv
%endif
%if %{with debian_repo}
%{_bindir}/deb2solv
%endif
%if %{with arch_repo}
%{_bindir}/archpkgs2solv
%{_bindir}/archrepo2solv
%endif
%if %{with helix_repo}
%{_bindir}/helix2solv
%endif
%if %{with suse_repo}
%{_bindir}/susetags2solv
%endif
%if %{with conda}
%{_bindir}/conda2solv
%endif
%files demo
%{_bindir}/solv
%files -n perl-solv
%{perl_vendorarch}/solv.pm
%{perl_vendorarch}/solv.so
@ -149,9 +210,7 @@ Python 3 version.
%{ruby_vendorarchdir}/solv.so
%files -n python3-solv
%{python3_sitearch}/_solv.so
%{python3_sitearch}/solv.py
%{python3_sitearch}/__pycache__/solv.*
%{python3_sitearch}/*
%files help
%doc README
@ -159,6 +218,34 @@ Python 3 version.
%{_mandir}/man3/%{name}*.3*
%changelog
* Sat Aug 19 2023 hanhuihui<hanhuihui5@huawei.com> - 0.7.22-2
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix requirement error
* Tue Nov 8 2022 hanhuihui<hanhuihui5@huawei.com> - 0.7.22-1
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:update libsolv to 0.7.22-1
* Fri Oct 21 2022 hanhuihui<hanhuihui5@huawei.com> - 0.7.20-3
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:ensure-duplinvolvedmap_all-is-reset.patch
* Tue Oct 11 2022 zhangjun<zhangjun@kylinos.cn> - 0.7.20-2
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:Fix memory leak when using testsolv to execute cases
Fix segfault on conflict resolution when using bindings
* Sat Dec 25 2021 wangkerong<wangkerong@huawei.com> - 0.7.20-1
- update to 0.7.20
* Sat Jan 30 2021 xihaochen <xihaochen@huawei.com> - 0.7.17-1
- Type:requirements
- Id:NA