diff -Nru zeroinstall-injector-2.3.1/ZeroInstall.xml zeroinstall-injector-2.3.2/ZeroInstall.xml --- zeroinstall-injector-2.3.1/ZeroInstall.xml 2013-07-10 06:56:17.000000000 +0000 +++ zeroinstall-injector-2.3.2/ZeroInstall.xml 2013-07-19 13:27:45.000000000 +0000 @@ -53,6 +53,6 @@ - + diff -Nru zeroinstall-injector-2.3.1/debian/changelog zeroinstall-injector-2.3.2/debian/changelog --- zeroinstall-injector-2.3.1/debian/changelog 2013-07-10 08:34:46.000000000 +0000 +++ zeroinstall-injector-2.3.2/debian/changelog 2013-07-21 17:25:13.000000000 +0000 @@ -1,3 +1,9 @@ +zeroinstall-injector (2.3.2-1) unstable; urgency=low + + * New (bugfix) upstream release. + + -- Thomas Leonard Sun, 21 Jul 2013 17:24:43 +0000 + zeroinstall-injector (2.3.1-1) unstable; urgency=low * New upstream release. diff -Nru zeroinstall-injector-2.3.1/ocaml/binding.ml zeroinstall-injector-2.3.2/ocaml/binding.ml --- zeroinstall-injector-2.3.1/ocaml/binding.ml 2013-07-10 06:56:17.000000000 +0000 +++ zeroinstall-injector-2.3.2/ocaml/binding.ml 2013-07-19 13:27:45.000000000 +0000 @@ -91,11 +91,17 @@ let calc_new_value name mode value env = match mode with - | Replace -> value + | Replace -> + log_info "%s=%s" name value; + value | Add {pos; default; separator} -> let add_to old = match pos with - | Prepend -> value ^ separator ^ old - | Append -> old ^ separator ^ value in + | Prepend -> + log_info "%s=%s%s..." name value separator; + value ^ separator ^ old + | Append -> + log_info "%s=...%s%s" name separator value; + old ^ separator ^ value in match Env.find_opt name env with | Some v -> add_to v (* add to current value of variable *) | None -> match default with diff -Nru zeroinstall-injector-2.3.1/ocaml/cli.ml zeroinstall-injector-2.3.2/ocaml/cli.ml --- zeroinstall-injector-2.3.1/ocaml/cli.ml 2013-07-10 06:56:17.000000000 +0000 +++ zeroinstall-injector-2.3.2/ocaml/cli.ml 2013-07-19 13:27:45.000000000 +0000 @@ -170,16 +170,16 @@ (** Which options are valid with which command *) let command_options = [ - ("add", generic_select_options); - ("select", select_options); + ("add", offline_options @ generic_select_options); + ("select", offline_options @ select_options); ("show", xml_output @ show_options); - ("download", download_options @ select_options); - ("run", run_options @ generic_select_options); - ("update", generic_select_options); + ("download", offline_options @ download_options @ select_options); + ("run", offline_options @ run_options @ generic_select_options); + ("update", offline_options @ generic_select_options); ("whatchanged", diff_options); ("destroy", []); ("config", []); - ("import", []); + ("import", offline_options); ("list", []); ("search", []); ("add-feed", offline_options); @@ -216,6 +216,7 @@ dry_run = false; verbosity = 0; extra_options = []; + network_use = Full_network; args; } in @@ -225,6 +226,7 @@ | Verbose -> increase_verbosity options; None | WithStore store -> add_store options store; None | ShowVersion -> raise Fallback_to_Python + | NetworkUse u -> options.network_use <- u; None | Help -> raise Fallback_to_Python | AmbiguousOption fn -> (match args with | command :: _ -> Some (opt, fn command) diff -Nru zeroinstall-injector-2.3.1/ocaml/main.ml zeroinstall-injector-2.3.2/ocaml/main.ml --- zeroinstall-injector-2.3.1/ocaml/main.ml 2013-07-10 06:56:17.000000000 +0000 +++ zeroinstall-injector-2.3.2/ocaml/main.ml 2013-07-19 13:27:45.000000000 +0000 @@ -41,12 +41,19 @@ | _ -> raise Fallback_to_Python ); match args with - | app_or_sels :: run_args when not (is_option app_or_sels) && not (is_url app_or_sels) -> ( - let sels = match Apps.lookup_app config app_or_sels with - | None -> Selections.load_selections config.system app_or_sels + | prog :: run_args when not (is_option prog) && not (is_url prog) -> ( + let sels = match Apps.lookup_app config prog with + | None -> ( + let root = Support.Qdom.parse_file config.system prog in + match ZI.tag root with + | None -> Support.Qdom.raise_elem "Not a 0install document (wrong namespace on root element): " root + | Some "selections" -> root + | Some "interface" | Some "feed" -> raise Fallback_to_Python + | Some x -> raise_safe "Unexpected root element <%s>" x + ) | Some app_path -> Apps.get_selections config app_path ~may_update:true in try Run.execute_selections config sels run_args ?wrapper:!wrapper - with Safe_exception _ as ex -> reraise_with_context ex "... running selections %s" app_or_sels + with Safe_exception _ as ex -> reraise_with_context ex "... running %s" prog ) | _ -> raise Fallback_to_Python ;; diff -Nru zeroinstall-injector-2.3.1/ocaml/options.mli zeroinstall-injector-2.3.2/ocaml/options.mli --- zeroinstall-injector-2.3.1/ocaml/options.mli 2013-07-10 06:56:17.000000000 +0000 +++ zeroinstall-injector-2.3.2/ocaml/options.mli 2013-07-19 13:27:45.000000000 +0000 @@ -4,7 +4,7 @@ type version = string -type network_use = Offline +type network_use = Full_network | Minimal_network | Offline type yes_no_maybe = Yes | No | Maybe @@ -50,5 +50,6 @@ mutable dry_run : bool; mutable verbosity : int; mutable extra_options : zi_option Support.Argparse.option_value list; + mutable network_use : network_use; mutable args : string list; } diff -Nru zeroinstall-injector-2.3.1/ocaml/support/argparse.ml zeroinstall-injector-2.3.2/ocaml/support/argparse.ml --- zeroinstall-injector-2.3.1/ocaml/support/argparse.ml 2013-07-10 06:56:17.000000000 +0000 +++ zeroinstall-injector-2.3.2/ocaml/support/argparse.ml 2013-07-19 13:27:45.000000000 +0000 @@ -89,16 +89,16 @@ [carg] is the argument to complete, if in range. -1 to complete the option itself. *) let handle_option stream opt ~carg = match lookup_option opt with - | None -> ( - match carg with - | Some -1 -> + | None -> + if carg = Some (-1) then ( (* We are completing this option *) complete := CompleteOptionName opt - | Some _ -> + ) else if cword <> None then ( (* We are completing elsewhere; just skip unknown options *) () - | None -> raise_safe "Unknown option '%s'" opt - ) + ) else ( + raise_safe "Unknown option '%s'" opt + ) | Some handler -> let command = match !args with | command :: _ -> Some command diff -Nru zeroinstall-injector-2.3.1/zeroinstall/0launch-gui/gui.py zeroinstall-injector-2.3.2/zeroinstall/0launch-gui/gui.py --- zeroinstall-injector-2.3.1/zeroinstall/0launch-gui/gui.py 2013-07-10 06:56:17.000000000 +0000 +++ zeroinstall-injector-2.3.2/zeroinstall/0launch-gui/gui.py 2013-07-19 13:27:45.000000000 +0000 @@ -8,7 +8,7 @@ gobject = tasks.get_loop().gobject glib = tasks.get_loop().glib -version = '2.3.1' +version = '2.3.2' class GUIHandler(handler.Handler): dl_callbacks = None # Download -> [ callback ] diff -Nru zeroinstall-injector-2.3.1/zeroinstall/__init__.py zeroinstall-injector-2.3.2/zeroinstall/__init__.py --- zeroinstall-injector-2.3.1/zeroinstall/__init__.py 2013-07-10 06:56:17.000000000 +0000 +++ zeroinstall-injector-2.3.2/zeroinstall/__init__.py 2013-07-19 13:27:45.000000000 +0000 @@ -13,7 +13,7 @@ @var _: a function for translating strings using the zero-install domain (for use internally by Zero Install) """ -version = '2.3.1' +version = '2.3.2' import logging