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 <jo...@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 <jo...@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.ab...@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.ab...@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 <jo...@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 <jo...@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 <jo...@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 <jo...@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 <jo...@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.ab...@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

_______________________________________________
Pkg-ocaml-maint-commits mailing list
Pkg-ocaml-maint-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ocaml-maint-commits

Reply via email to