[Pkg-ocaml-maint-commits] [SCM] dose3 packaging branch, master, updated. debian/3.0.2-1-7-g4a9a15e
Ralf Treinen
treinen at pps.univ-paris-diderot.fr
Wed Sep 26 15:28:48 UTC 2012
The following commit has been merged in the master branch:
commit f9e91232fed156e5c94b63636d491325321699cc
Author: Ralf Treinen <treinen at pps.univ-paris-diderot.fr>
Date: Fri Sep 14 16:05:35 2012 +0200
fix version numbers in CUDF installation requests
diff --git a/debian/changelog b/debian/changelog
index 014516a..4e32631 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,8 +5,11 @@ dose3 (3.0.2-2) unstable; urgency=low
architectures. (closes: #685171). Extracted from the upstream git
repository (commit 7c30da3d). Thanks to Pietro Abate for having fixed
this.
+ * Patch apt-cudf-pinning: Fix version numbers in the package installation
+ requests in the translation process from EDSP to CUDF (closes: #687643).
+ Thanks to Pietro Abate for the patch!
- -- Ralf Treinen <treinen at debian.org> Sat, 08 Sep 2012 13:29:48 +0200
+ -- Ralf Treinen <treinen at debian.org> Fri, 14 Sep 2012 16:04:03 +0200
dose3 (3.0.2-1) unstable; urgency=low
diff --git a/debian/patches/apt-cudf-pinning b/debian/patches/apt-cudf-pinning
new file mode 100644
index 0000000..d101e58
--- /dev/null
+++ b/debian/patches/apt-cudf-pinning
@@ -0,0 +1,60 @@
+Author: Pietro Abate <pietro.abate at pps.jussieu.fr>
+Integrated: Ralf Treinen <treinen at debian.org>
+Description: Fixes version numbers in CUDF installation requests
+
+diff --git a/applications/apt-cudf.ml b/applications/apt-cudf.ml
+index ffbb872..5ae7fdc 100644
+--- a/applications/apt-cudf.ml
++++ b/applications/apt-cudf.ml
+@@ -63,27 +63,37 @@ let print_progress ?i msg =
+ Format.printf "Message: %s at ." msg
+ ;;
+
++
++(* Debian specific assumption: only one version of a package
++ can be installed at a given time.
++ Hence, when a remove request is issued without version constraint,
++ we return (candidate.Cudf.package,None) that designates the only
++ package installed.
++ *)
++
+ let make_request tables universe native_arch request =
+ let to_cudf (p,v) = (p,Debian.Debcudf.get_cudf_version tables (p,v)) in
++ let get_candidate (name,constr) =
++ try
++ List.find
++ (fun pkg ->
++ try (Cudf.lookup_package_property pkg "apt-candidate") = "true"
++ with Not_found -> false)
++ (CudfAdd.who_provides universe (name,constr))
++ with Not_found ->
++ print_error "Package %s does not have a suitable candidate" name
++ in
+ let select_packages ?(remove=false) l =
+ List.map (fun ((n,a),c) ->
+ let (name,constr) = Boilerplate.debvpkg ~native_arch to_cudf ((n,a),c) in
+- let candidate =
+- try
+- List.find (fun pkg ->
+- if request.Edsp.strict_pin then
+- try (Cudf.lookup_package_property pkg "apt-candidate") = "true"
+- with Not_found -> false
+- else
+- true
+- ) (CudfAdd.who_provides universe (name,constr))
+- with Not_found ->
+- print_error "Package %s does not have a suitable candidate" n
+- in
+ if remove then
+- (candidate.Cudf.package,None)
++ (name,None)
+ else
+- (candidate.Cudf.package,Some(`Eq,candidate.Cudf.version))
++ match constr, request.Edsp.strict_pin with
++ None, false -> (name, None)
++ | _, _ -> (name,Some(`Eq,(get_candidate (name,constr)).Cudf.version))
++ (* FIXME: when apt will accept version constraints different from `Eq,
++ we will need to pass them through. *)
+ ) l
+ in
+ if request.Edsp.upgrade || request.Edsp.distupgrade then
diff --git a/debian/patches/series b/debian/patches/series
index 8405a18..b6ff5fe 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
binaries-prefix-edos
version-3.0.2
multiarch-conflicts
+apt-cudf-pinning
--
dose3 packaging
More information about the Pkg-ocaml-maint-commits
mailing list