Update to 0.6.14; Backport patches from upstream
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
This commit is contained in:
parent
ac50906acb
commit
19941199c5
1
.gitignore
vendored
1
.gitignore
vendored
@ -17,3 +17,4 @@
|
||||
/2db517f87a8c0364d28c0fa2590ba034e866a4b8.tar.gz
|
||||
/libsolv-1f9abfb.tar.gz
|
||||
/libsolv-0.6.12.tar.gz
|
||||
/libsolv-0.6.14.tar.gz
|
||||
|
64
0001-Move-allowuninstall-map-creation.patch
Normal file
64
0001-Move-allowuninstall-map-creation.patch
Normal file
@ -0,0 +1,64 @@
|
||||
From 80ddee19786b7b96d28cde1b972721dc631ee055 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Schroeder <mls@suse.de>
|
||||
Date: Mon, 12 Oct 2015 13:43:05 +0200
|
||||
Subject: [PATCH 1/4] Move allowuninstall map creation
|
||||
|
||||
We need to test for them when we have dup jobs
|
||||
---
|
||||
src/solver.c | 26 ++++++++++++++------------
|
||||
1 file changed, 14 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/solver.c b/src/solver.c
|
||||
index c6cad6b..f371546 100644
|
||||
--- a/src/solver.c
|
||||
+++ b/src/solver.c
|
||||
@@ -3561,6 +3561,19 @@ solver_solve(Solver *solv, Queue *job)
|
||||
MAPSET(&solv->droporphanedmap, p - installed->start);
|
||||
}
|
||||
break;
|
||||
+ case SOLVER_ALLOWUNINSTALL:
|
||||
+ if (select == SOLVER_SOLVABLE_ALL || (select == SOLVER_SOLVABLE_REPO && installed && what == installed->repoid))
|
||||
+ solv->allowuninstall_all = 1;
|
||||
+ FOR_JOB_SELECT(p, pp, select, what)
|
||||
+ {
|
||||
+ s = pool->solvables + p;
|
||||
+ if (s->repo != installed)
|
||||
+ continue;
|
||||
+ if (!solv->allowuninstallmap.size)
|
||||
+ map_grow(&solv->allowuninstallmap, installed->end - installed->start);
|
||||
+ MAPSET(&solv->allowuninstallmap, p - installed->start);
|
||||
+ }
|
||||
+ break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -3608,7 +3621,7 @@ solver_solve(Solver *solv, Queue *job)
|
||||
if (how & SOLVER_FORCEBEST)
|
||||
solv->bestupdatemap_all = 1;
|
||||
}
|
||||
- if (!solv->dupmap_all || solv->allowuninstall)
|
||||
+ if (!solv->dupmap_all || solv->allowuninstall || solv->allowuninstall_all || solv->allowuninstallmap.size)
|
||||
hasdupjob = 1;
|
||||
break;
|
||||
default:
|
||||
@@ -3917,17 +3930,6 @@ solver_solve(Solver *solv, Queue *job)
|
||||
break;
|
||||
case SOLVER_ALLOWUNINSTALL:
|
||||
POOL_DEBUG(SOLV_DEBUG_JOB, "job: allowuninstall %s\n", solver_select2str(pool, select, what));
|
||||
- if (select == SOLVER_SOLVABLE_ALL || (select == SOLVER_SOLVABLE_REPO && installed && what == installed->repoid))
|
||||
- solv->allowuninstall_all = 1;
|
||||
- FOR_JOB_SELECT(p, pp, select, what)
|
||||
- {
|
||||
- s = pool->solvables + p;
|
||||
- if (s->repo != installed)
|
||||
- continue;
|
||||
- if (!solv->allowuninstallmap.size)
|
||||
- map_grow(&solv->allowuninstallmap, installed->end - installed->start);
|
||||
- MAPSET(&solv->allowuninstallmap, p - installed->start);
|
||||
- }
|
||||
break;
|
||||
default:
|
||||
POOL_DEBUG(SOLV_DEBUG_JOB, "job: unknown job\n");
|
||||
--
|
||||
2.6.1
|
||||
|
@ -1,7 +1,18 @@
|
||||
diff -up libsolv/bindings/ruby/CMakeLists.txt.rubyinclude libsolv/bindings/ruby/CMakeLists.txt
|
||||
--- libsolv/bindings/ruby/CMakeLists.txt.rubyinclude 2012-06-07 10:06:19.372687533 +0200
|
||||
+++ libsolv/bindings/ruby/CMakeLists.txt 2012-06-07 10:09:57.313968719 +0200
|
||||
@@ -6,8 +6,17 @@ ELSE (USE_VENDORDIRS AND RUBY_VENDORARCH
|
||||
From d82a26ca0950191546f546264e79ff72e2dbf09f Mon Sep 17 00:00:00 2001
|
||||
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
Date: Mon, 12 Oct 2015 18:52:16 +0200
|
||||
Subject: [PATCH] ruby: make compatible with ruby 2.2
|
||||
|
||||
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
---
|
||||
bindings/ruby/CMakeLists.txt | 11 ++++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bindings/ruby/CMakeLists.txt b/bindings/ruby/CMakeLists.txt
|
||||
index 6c3bd50..a7a3394 100644
|
||||
--- a/bindings/ruby/CMakeLists.txt
|
||||
+++ b/bindings/ruby/CMakeLists.txt
|
||||
@@ -6,8 +6,17 @@ ELSE (USE_VENDORDIRS AND RUBY_VENDORARCH_DIR)
|
||||
SET (RUBY_INSTALL_DIR ${RUBY_SITEARCH_DIR})
|
||||
ENDIF (USE_VENDORDIRS AND RUBY_VENDORARCH_DIR)
|
||||
|
||||
@ -26,5 +37,8 @@ diff -up libsolv/bindings/ruby/CMakeLists.txt.rubyinclude libsolv/bindings/ruby/
|
||||
-INCLUDE_DIRECTORIES (${RUBY_INCLUDE_PATH})
|
||||
+INCLUDE_DIRECTORIES (${RUBY_INCLUDE_DIRS})
|
||||
|
||||
ADD_LIBRARY (bindings_ruby SHARED solv_ruby.c)
|
||||
ADD_LIBRARY (bindings_ruby MODULE solv_ruby.c)
|
||||
SET_TARGET_PROPERTIES (bindings_ruby PROPERTIES PREFIX "" OUTPUT_NAME "solv")
|
||||
--
|
||||
2.6.1
|
||||
|
42
0002-Prefer-to-autouninstall-orphans.patch
Normal file
42
0002-Prefer-to-autouninstall-orphans.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From 36a4434559e3885f75f3e1e878f11f3b18fce920 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Schroeder <mls@suse.de>
|
||||
Date: Mon, 12 Oct 2015 14:03:25 +0200
|
||||
Subject: [PATCH 2/4] Prefer to autouninstall orphans
|
||||
|
||||
---
|
||||
src/solver.c | 13 ++++++++++++-
|
||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/solver.c b/src/solver.c
|
||||
index f371546..87b6c45 100644
|
||||
--- a/src/solver.c
|
||||
+++ b/src/solver.c
|
||||
@@ -217,13 +217,24 @@ autouninstall(Solver *solv, Id *problem)
|
||||
Rule *r;
|
||||
if (m && !MAPTST(m, v - solv->updaterules))
|
||||
continue;
|
||||
- /* check if identical to feature rule, we don't like that */
|
||||
+ /* check if identical to feature rule, we don't like that (except for orphans) */
|
||||
r = solv->rules + solv->featurerules + (v - solv->updaterules);
|
||||
if (!r->p)
|
||||
{
|
||||
/* update rule == feature rule */
|
||||
if (v > lastfeature)
|
||||
lastfeature = v;
|
||||
+ /* prefer orphaned packages in dup mode */
|
||||
+ if (solv->dupmap_all && solv->keep_orphans)
|
||||
+ {
|
||||
+ r = solv->rules + v;
|
||||
+ if (!r->d && r->p == (solv->installed->start + (v - solv->updaterules)))
|
||||
+ {
|
||||
+ lastfeature = v;
|
||||
+ lastupdate = 0;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
continue;
|
||||
}
|
||||
if (v > lastupdate)
|
||||
--
|
||||
2.6.1
|
||||
|
33
0003-Check-keep_orphans-flag-in-solver_addduprules.patch
Normal file
33
0003-Check-keep_orphans-flag-in-solver_addduprules.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From d5af25c0ef8fb01e5b0d377a2d7223281991b960 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Schroeder <mls@suse.de>
|
||||
Date: Mon, 12 Oct 2015 14:03:55 +0200
|
||||
Subject: [PATCH 3/4] Check keep_orphans flag in solver_addduprules
|
||||
|
||||
solver_addduprules is called if allowuninstall is set
|
||||
---
|
||||
src/rules.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/src/rules.c b/src/rules.c
|
||||
index b941986..ead78d6 100644
|
||||
--- a/src/rules.c
|
||||
+++ b/src/rules.c
|
||||
@@ -1835,6 +1835,15 @@ solver_addduprules(Solver *solv, Map *addedmap)
|
||||
if (is->evr == ps->evr && solvable_identical(ps, is))
|
||||
break;
|
||||
}
|
||||
+ if (!ip && solv->dupmap_all && solv->keep_orphans)
|
||||
+ {
|
||||
+ /* is this an orphan we should keep? */
|
||||
+ Rule *r = solv->rules + solv->featurerules + (p - solv->installed->start);
|
||||
+ if (!r->p)
|
||||
+ r = solv->rules + solv->updaterules + (p - solv->installed->start);
|
||||
+ if (r->p == p && !r->d)
|
||||
+ ip = p;
|
||||
+ }
|
||||
if (!ip)
|
||||
solver_addrule(solv, -p, 0, 0); /* no match, sorry */
|
||||
else
|
||||
--
|
||||
2.6.1
|
||||
|
25
0004-Fix-spelling-duh.patch
Normal file
25
0004-Fix-spelling-duh.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 18f93e12d10aa2a507ffa3689725e21a85a81e7f Mon Sep 17 00:00:00 2001
|
||||
From: Michael Schroeder <mls@suse.de>
|
||||
Date: Mon, 12 Oct 2015 14:04:54 +0200
|
||||
Subject: [PATCH 4/4] Fix spelling, duh...
|
||||
|
||||
---
|
||||
ext/testcase.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ext/testcase.c b/ext/testcase.c
|
||||
index 3c40451..b9fddef 100644
|
||||
--- a/ext/testcase.c
|
||||
+++ b/ext/testcase.c
|
||||
@@ -164,7 +164,7 @@ static struct selflags2str {
|
||||
};
|
||||
|
||||
static const char *features[] = {
|
||||
-#ifdef ENABLE_LINKED_PACKAGES
|
||||
+#ifdef ENABLE_LINKED_PKGS
|
||||
"linked_packages",
|
||||
#endif
|
||||
#ifdef ENABLE_COMPLEX_DEPS
|
||||
--
|
||||
2.6.1
|
||||
|
18
libsolv.spec
18
libsolv.spec
@ -29,12 +29,19 @@
|
||||
%filter_setup
|
||||
|
||||
Name: libsolv
|
||||
Version: 0.6.12
|
||||
Version: 0.6.14
|
||||
Release: 1%{?dist}
|
||||
License: BSD
|
||||
Url: https://github.com/openSUSE/libsolv
|
||||
Source: https://github.com/openSUSE/libsolv/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
Patch0: libsolv-rubyinclude.patch
|
||||
Patch0: 0001-ruby-make-compatible-with-ruby-2.2.patch
|
||||
|
||||
Patch1: 0001-Move-allowuninstall-map-creation.patch
|
||||
Patch2: 0002-Prefer-to-autouninstall-orphans.patch
|
||||
Patch3: 0003-Check-keep_orphans-flag-in-solver_addduprules.patch
|
||||
Patch4: 0004-Fix-spelling-duh.patch
|
||||
BuildRequires: git-core
|
||||
|
||||
Group: Development/Libraries
|
||||
Summary: Package dependency solver
|
||||
BuildRequires: cmake libdb-devel expat-devel rpm-devel zlib-devel
|
||||
@ -130,8 +137,7 @@ Perl bindings for sat solver.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .rubyinclude
|
||||
%autosetup -S git
|
||||
|
||||
%if %{with python3}
|
||||
rm -rf %{py3dir}
|
||||
@ -223,6 +229,10 @@ make ARGS="-V" test
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Oct 12 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.6.14-1
|
||||
- Update to 0.6.14
|
||||
- Backport patches from upstream
|
||||
|
||||
* Thu Sep 10 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.6.12-1
|
||||
- Update to 0.6.12
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user