[Libguestfs] [PATCH v3 2/3] v2v: linux: install packages
Richard W.M. Jones
rjones at redhat.com
Wed Nov 7 15:43:37 UTC 2018
On Wed, Nov 07, 2018 at 12:53:19PM +0100, Tomáš Golembiovský wrote:
> Install packages from local files without touching network.
>
> Signed-off-by: Tomáš Golembiovský <tgolembi at redhat.com>
> ---
> v2v/linux.ml | 14 ++++++++++++++
> v2v/linux.mli | 3 +++
> 2 files changed, 17 insertions(+)
>
> diff --git a/v2v/linux.ml b/v2v/linux.ml
> index 177724e39..966170cdd 100644
> --- a/v2v/linux.ml
> +++ b/v2v/linux.ml
> @@ -31,6 +31,20 @@ let augeas_reload g =
> g#aug_load ();
> debug_augeas_errors g
>
> +let rec install_local g { i_package_format = package_format } packages =
> + if packages <> [] then (
> + match package_format with
> + | "rpm" ->
> + let cmd = [ "rpm"; "--upgrade"; "-v" ] @ packages in
> + let cmd = Array.of_list cmd in
> + ignore (g#command cmd)
> + | format ->
> + error (f_"don’t know how to install packages using %s: packages: %s")
> + format (String.concat " " packages)
> + (* Reload Augeas in case anything changed. *)
> + augeas_reload g
> + )
> +
> let rec remove g inspect packages =
> if packages <> [] then (
> do_remove g inspect packages;
> diff --git a/v2v/linux.mli b/v2v/linux.mli
> index 1c604665e..80593cebc 100644
> --- a/v2v/linux.mli
> +++ b/v2v/linux.mli
> @@ -23,6 +23,9 @@ val augeas_reload : Guestfs.guestfs -> unit
> additional debugging information about parsing problems
> that augeas found. *)
>
> +val install_local: Guestfs.guestfs -> Types.inspect -> string list -> unit
> +(** Install pacakge(s). *)
> +
> val remove : Guestfs.guestfs -> Types.inspect -> string list -> unit
> (** Uninstall package(s). *)
This is fine now, assuming we don't want to add dpkg support.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
More information about the Libguestfs
mailing list