[Pkg-ocaml-maint-commits] [dose3] 01/01: Backport more commits from upstream
Johannes Schauer
josch at moszumanska.debian.org
Sun Oct 16 10:31:20 UTC 2016
This is an automated email from the git hooks/post-receive script.
josch pushed a commit to branch master
in repository dose3.
commit e288614f65480b2affb5b650cacf0648e9bbf90b
Author: Johannes Schauer <josch at debian.org>
Date: Sun Oct 16 12:30:25 2016 +0200
Backport more commits from upstream
---
debian/changelog | 14 ++++++
...st_using-can-return-discording-result-bet.patch | 2 +-
...ix-for-missing-essential-problem-apt-cudf.patch | 2 +-
...s-distcheck.ml-Consider-essential-package.patch | 26 +++++++++++
...tdUtils.ml-It-s-d.byte-and-not-p.byte-for.patch | 28 +++++++++++
...ver.ml-reset-progress-bar-after-univcheck.patch | 34 ++++++++++++++
...ver.ml-set-correct-value-for-Util.Progres.patch | 35 ++++++++++++++
...s-deb-buildcheck.ml-fix-regression-that-l.patch | 54 ++++++++++++++++++++++
.../0008-Catch-expection-in-diagnostic.ml.patch | 27 +++++++++++
debian/patches/series | 6 +++
10 files changed, 226 insertions(+), 2 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 91a9657..a02e9b1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+dose3 (5.0.1-2) UNRELEASED; urgency=medium
+
+ * Backport more commits from upstream to fix remaining bugs considering
+ - the handling of Essential:yes packages:
+ 0003-applications-distcheck.ml-Consider-essential-package.patch
+ 0007-applications-deb-buildcheck.ml-fix-regression-that-l.patch
+ 0008-Catch-expection-in-diagnostic.ml.patch
+ - library bugs that affect packages using libdose3-dev:
+ 0004-doseparse-stdUtils.ml-It-s-d.byte-and-not-p.byte-for.patch
+ 0005-algo-depsolver.ml-reset-progress-bar-after-univcheck.patch
+ 0006-algo-depsolver.ml-set-correct-value-for-Util.Progres.patch
+
+ -- Johannes Schauer <josch at debian.org> Sun, 16 Oct 2016 12:26:59 +0200
+
dose3 (5.0.1-1) unstable; urgency=medium
* new upstream release
diff --git a/debian/patches/0001-check_request_using-can-return-discording-result-bet.patch b/debian/patches/0001-check_request_using-can-return-discording-result-bet.patch
index 3ede757..fed8726 100644
--- a/debian/patches/0001-check_request_using-can-return-discording-result-bet.patch
+++ b/debian/patches/0001-check_request_using-can-return-discording-result-bet.patch
@@ -1,7 +1,7 @@
From 4f355af62b6fed07d077f1f52b9762af092b79b9 Mon Sep 17 00:00:00 2001
From: Pietro Abate <pietro.abate at pps.univ-paris-diderot.fr>
Date: Tue, 6 Sep 2016 14:09:50 +0200
-Subject: [PATCH 1/2] check_request_using can return discording result between
+Subject: [PATCH 1/8] check_request_using can return discording result between
internal and external solver
---
diff --git a/debian/patches/0002-tentative-fix-for-missing-essential-problem-apt-cudf.patch b/debian/patches/0002-tentative-fix-for-missing-essential-problem-apt-cudf.patch
index 0b013a6..29e6f93 100644
--- a/debian/patches/0002-tentative-fix-for-missing-essential-problem-apt-cudf.patch
+++ b/debian/patches/0002-tentative-fix-for-missing-essential-problem-apt-cudf.patch
@@ -1,7 +1,7 @@
From 64098ce1a7dfec991ccc61f1033f8daf547d1e76 Mon Sep 17 00:00:00 2001
From: Pietro Abate <pietro.abate at pps.univ-paris-diderot.fr>
Date: Tue, 6 Sep 2016 18:17:23 +0200
-Subject: [PATCH 2/2] tentative fix for missing essential problem apt-cudf
+Subject: [PATCH 2/8] tentative fix for missing essential problem apt-cudf
---
algo/depsolver.ml | 57 +++++++++++++++++++++++++++++++++---------------
diff --git a/debian/patches/0003-applications-distcheck.ml-Consider-essential-package.patch b/debian/patches/0003-applications-distcheck.ml-Consider-essential-package.patch
new file mode 100644
index 0000000..ea13b74
--- /dev/null
+++ b/debian/patches/0003-applications-distcheck.ml-Consider-essential-package.patch
@@ -0,0 +1,26 @@
+From d2c470c78472e4dc157ca5f5014541a6a21f0af1 Mon Sep 17 00:00:00 2001
+From: Johannes 'josch' Schauer <josch at mister-muffin.de>
+Date: Wed, 7 Sep 2016 09:04:50 +0200
+Subject: [PATCH 3/8] applications/distcheck.ml: Consider essential packages
+ when using --coinst
+
+---
+ applications/distcheck.ml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/applications/distcheck.ml b/applications/distcheck.ml
+index cd5829b..388f4e3 100644
+--- a/applications/distcheck.ml
++++ b/applications/distcheck.ml
+@@ -221,7 +221,7 @@ let main () =
+ Util.Timer.start timer;
+
+ if (OptParse.Opt.is_set Options.coinst) && (List.length coinstlist) > 0 then begin
+- let rl = Depsolver.edos_coinstall_prod universe coinstlist in
++ let rl = Depsolver.edos_coinstall_prod ~global_constraints universe coinstlist in
+ let nbt = List.length (List.filter (fun r -> not (Diagnostic.is_solution r)) rl) in
+ let number_checks = List.length rl in
+ ignore(Util.Timer.stop timer ());
+--
+2.9.3
+
diff --git a/debian/patches/0004-doseparse-stdUtils.ml-It-s-d.byte-and-not-p.byte-for.patch b/debian/patches/0004-doseparse-stdUtils.ml-It-s-d.byte-and-not-p.byte-for.patch
new file mode 100644
index 0000000..7b100ee
--- /dev/null
+++ b/debian/patches/0004-doseparse-stdUtils.ml-It-s-d.byte-and-not-p.byte-for.patch
@@ -0,0 +1,28 @@
+From d1dc41e73a7fe15e3e8c563601c778750456211c Mon Sep 17 00:00:00 2001
+From: Johannes 'josch' Schauer <josch at mister-muffin.de>
+Date: Wed, 7 Sep 2016 09:43:20 +0200
+Subject: [PATCH 4/8] doseparse/stdUtils.ml: It's d.byte and not p.byte for
+ OCaml bytecode with debugging information
+
+---
+ doseparse/stdUtils.ml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/doseparse/stdUtils.ml b/doseparse/stdUtils.ml
+index 5799988..198d46d 100644
+--- a/doseparse/stdUtils.ml
++++ b/doseparse/stdUtils.ml
+@@ -77,8 +77,8 @@ let if_application ?(alternatives=[]) filename main =
+ let normalize f =
+ let bf = Filename.basename f in
+ try
+- if String.ends_with bf ".p.byte" then
+- String.slice ~last:(String.find bf ".p.byte") bf
++ if String.ends_with bf ".d.byte" then
++ String.slice ~last:(String.find bf ".d.byte") bf
+ else if String.ends_with bf ".p.native" then
+ String.slice ~last:(String.find bf ".p.native") bf
+ else
+--
+2.9.3
+
diff --git a/debian/patches/0005-algo-depsolver.ml-reset-progress-bar-after-univcheck.patch b/debian/patches/0005-algo-depsolver.ml-reset-progress-bar-after-univcheck.patch
new file mode 100644
index 0000000..97e0afa
--- /dev/null
+++ b/debian/patches/0005-algo-depsolver.ml-reset-progress-bar-after-univcheck.patch
@@ -0,0 +1,34 @@
+From 1993406e4c2a1b3b00ee4493f70a12c33e85038d Mon Sep 17 00:00:00 2001
+From: Johannes 'josch' Schauer <josch at mister-muffin.de>
+Date: Sat, 17 Sep 2016 16:10:21 +0200
+Subject: [PATCH 5/8] algo/depsolver.ml: reset progress bar after univcheck and
+ listcheck to allow realistic progress values when calling the functions
+ multiple times
+
+---
+ algo/depsolver.ml | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/algo/depsolver.ml b/algo/depsolver.ml
+index 52b3762..91d143a 100644
+--- a/algo/depsolver.ml
++++ b/algo/depsolver.ml
+@@ -56,6 +56,7 @@ let univcheck ?(global_constraints=[]) ?callback ?(explain=true) universe =
+ (* we do not test the last package that encodes the global constraints
+ * on the universe as it is tested all the time with all other packages. *)
+ for id = 0 to size - 2 do if not(check id) then incr failed done;
++ Util.Progress.reset Depsolver_int.progressbar_univcheck;
+ Util.Timer.stop timer_solver !failed
+ in
+ let map = new Common.Util.identity in
+@@ -98,6 +99,7 @@ let listcheck ?(global_constraints=[]) ?callback ?(explain=true) universe pkglis
+ |id ->if not(check id) then incr failed
+ ) idlist
+ end;
++ Util.Progress.reset Depsolver_int.progressbar_univcheck;
+ Util.Timer.stop timer_solver !failed
+ in
+ let idlist = List.map (CudfAdd.pkgtoint universe) pkglist in
+--
+2.9.3
+
diff --git a/debian/patches/0006-algo-depsolver.ml-set-correct-value-for-Util.Progres.patch b/debian/patches/0006-algo-depsolver.ml-set-correct-value-for-Util.Progres.patch
new file mode 100644
index 0000000..18a0cc3
--- /dev/null
+++ b/debian/patches/0006-algo-depsolver.ml-set-correct-value-for-Util.Progres.patch
@@ -0,0 +1,35 @@
+From 7dbe81b5e150de747975fe8ae80ef014ae32c3ee Mon Sep 17 00:00:00 2001
+From: Johannes 'josch' Schauer <josch at mister-muffin.de>
+Date: Sat, 17 Sep 2016 16:11:27 +0200
+Subject: [PATCH 6/8] algo/depsolver.ml: set correct value for
+ Util.Progress.set_total in univcheck and listcheck
+
+---
+ algo/depsolver.ml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/algo/depsolver.ml b/algo/depsolver.ml
+index 91d143a..27f9367 100644
+--- a/algo/depsolver.ml
++++ b/algo/depsolver.ml
+@@ -51,7 +51,7 @@ let univcheck ?(global_constraints=[]) ?callback ?(explain=true) universe =
+ * universe as a package that must be tested like any other *)
+ let size = (Cudf.universe_size univ) + 1 in
+ let tested = Array.make size false in
+- Util.Progress.set_total Depsolver_int.progressbar_univcheck size ;
++ Util.Progress.set_total Depsolver_int.progressbar_univcheck (Cudf.universe_size univ) ;
+ let check = Depsolver_int.pkgcheck callback explain solver tested in
+ (* we do not test the last package that encodes the global constraints
+ * on the universe as it is tested all the time with all other packages. *)
+@@ -87,7 +87,7 @@ let listcheck ?(global_constraints=[]) ?callback ?(explain=true) universe pkglis
+ let failed = ref 0 in
+ let size = (Cudf.universe_size univ) + 1 in
+ let tested = Array.make size false in
+- Util.Progress.set_total Depsolver_int.progressbar_univcheck size ;
++ Util.Progress.set_total Depsolver_int.progressbar_univcheck (List.length idlist) ;
+ let check = Depsolver_int.pkgcheck callback explain solver tested in
+ begin match (fst solver.Depsolver_int.globalid) with
+ |(false,false) ->
+--
+2.9.3
+
diff --git a/debian/patches/0007-applications-deb-buildcheck.ml-fix-regression-that-l.patch b/debian/patches/0007-applications-deb-buildcheck.ml-fix-regression-that-l.patch
new file mode 100644
index 0000000..a61e3ff
--- /dev/null
+++ b/debian/patches/0007-applications-deb-buildcheck.ml-fix-regression-that-l.patch
@@ -0,0 +1,54 @@
+From 5aa8e8ed97cc8a3d223b4e9af1f22b06528ef855 Mon Sep 17 00:00:00 2001
+From: Johannes 'josch' Schauer <josch at mister-muffin.de>
+Date: Wed, 7 Sep 2016 07:26:05 +0200
+Subject: [PATCH 7/8] applications/deb-buildcheck.ml: fix regression that lead
+ to Essential:yes packages not being considered
+
+Generating the sub-universe doesn't work anymore by using CudfAdd.cone
+because that ignores the implicit dependencies on Essential:yes
+packages. Instead, the depsolver dependency module would have to
+calculate a dependency closure. At this point the added complexity is
+probably not worth the benefit. We thus do not calculate a sub-universe
+anymore but carry out a normal listcheck operation.
+---
+ applications/deb-buildcheck.ml | 17 ++---------------
+ 1 file changed, 2 insertions(+), 15 deletions(-)
+
+diff --git a/applications/deb-buildcheck.ml b/applications/deb-buildcheck.ml
+index 16140b2..30f0ebd 100644
+--- a/applications/deb-buildcheck.ml
++++ b/applications/deb-buildcheck.ml
+@@ -140,6 +140,7 @@ let main () =
+ end
+ in
+ let tables = Debcudf.init_tables (srclist @ pkglist) in
++ let global_constraints = Debian.Debcudf.get_essential ~options tables in
+ let to_cudf (p,v) = (p,Debian.Debcudf.get_cudf_version tables (p,v)) in
+ let from_cudf (p,v) = Debian.Debcudf.get_real_version tables (p,v) in
+ let pp = CudfAdd.pp from_cudf in
+@@ -212,21 +213,7 @@ let main () =
+ in
+
+ Util.Timer.start timer;
+- let subuniverse =
+- if checklist <> sl then
+- let l =
+- if not(OptParse.Opt.get Options.deb_ignore_essential) then
+- Cudf.fold_packages (fun acc pkg ->
+- match pkg.Cudf.keep with
+- |`Keep_package |`Keep_version -> pkg::acc
+- |_ -> acc
+- ) checklist universe
+- else checklist
+- in
+- Cudf.load_universe (CudfAdd.cone universe l)
+- else universe
+- in
+- let nbp = Depsolver.listcheck ~callback ~explain subuniverse checklist in
++ let nbp = Depsolver.listcheck ~global_constraints ~callback ~explain universe checklist in
+ ignore(Util.Timer.stop timer ());
+
+ if failure || success then Format.fprintf fmt "@]@.";
+--
+2.9.3
+
diff --git a/debian/patches/0008-Catch-expection-in-diagnostic.ml.patch b/debian/patches/0008-Catch-expection-in-diagnostic.ml.patch
new file mode 100644
index 0000000..a7732b4
--- /dev/null
+++ b/debian/patches/0008-Catch-expection-in-diagnostic.ml.patch
@@ -0,0 +1,27 @@
+From 5810d1c89ac9fe9fb0b043ca0c0ea21ff0742ddb Mon Sep 17 00:00:00 2001
+From: Pietro Abate <pietro.abate at pps.univ-paris-diderot.fr>
+Date: Wed, 5 Oct 2016 10:59:47 +0200
+Subject: [PATCH 8/8] Catch expection in diagnostic.ml
+
+Ref [#20701] Not_found exception when dependencies of Essential:yes
+packages cannot be satisfied
+---
+ algo/diagnostic.ml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/algo/diagnostic.ml b/algo/diagnostic.ml
+index d150928..6189f12 100644
+--- a/algo/diagnostic.ml
++++ b/algo/diagnostic.ml
+@@ -539,7 +539,7 @@ let print_error ?(condense=false) ?(minimal=false) pp root fmt l =
+ Format.fprintf fmt "@[<v 1>pkg:@,%a@]"
+ (pp_dependency_list ~label:"unsat-dependency" pp) (i,List.unique vpkgs);
+ if not minimal then begin
+- let (pl,_) = DJ.shortest_path gr vroot vi in
++ let pl = try fst(DJ.shortest_path gr vroot vi) with Not_found -> [] in
+ if pl <> [] then begin
+ Format.fprintf fmt "@,@[<v 1>depchains:@,%a@]" (pp_dependencies pp) pl;
+ Format.fprintf fmt "@]"
+--
+2.9.3
+
diff --git a/debian/patches/series b/debian/patches/series
index 9c1cf73..2aea94f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,9 @@
binaries-prefix-edos
0001-check_request_using-can-return-discording-result-bet.patch
0002-tentative-fix-for-missing-essential-problem-apt-cudf.patch
+0003-applications-distcheck.ml-Consider-essential-package.patch
+0004-doseparse-stdUtils.ml-It-s-d.byte-and-not-p.byte-for.patch
+0005-algo-depsolver.ml-reset-progress-bar-after-univcheck.patch
+0006-algo-depsolver.ml-set-correct-value-for-Util.Progres.patch
+0007-applications-deb-buildcheck.ml-fix-regression-that-l.patch
+0008-Catch-expection-in-diagnostic.ml.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/dose3.git
More information about the Pkg-ocaml-maint-commits
mailing list