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