[Libguestfs] [PATCH 1/3] sysprep, get-kernel: explicit the Guestfs parameter

Richard W.M. Jones rjones at redhat.com
Wed Feb 3 18:35:01 UTC 2016


On Wed, Feb 03, 2016 at 07:28:16PM +0100, Pino Toscano wrote:
> Help the OCaml compiler by expliciting Guestfs.guestfs as type for 'g'
> in some functions.

Looks mechanical, ACK.

Does Hindley-Milner type inference have problems here?  I've not seen
them in this case.

Rich.

>  get-kernel/get_kernel.ml                             | 2 +-
>  sysprep/sysprep_operation_abrt_data.ml               | 2 +-
>  sysprep/sysprep_operation_bash_history.ml            | 2 +-
>  sysprep/sysprep_operation_ca_certificates.ml         | 2 +-
>  sysprep/sysprep_operation_crash_data.ml              | 2 +-
>  sysprep/sysprep_operation_dhcp_client_state.ml       | 2 +-
>  sysprep/sysprep_operation_dhcp_server_state.ml       | 2 +-
>  sysprep/sysprep_operation_dovecot_data.ml            | 2 +-
>  sysprep/sysprep_operation_firewall_rules.ml          | 2 +-
>  sysprep/sysprep_operation_kerberos_data.ml           | 2 +-
>  sysprep/sysprep_operation_logfiles.ml                | 2 +-
>  sysprep/sysprep_operation_mail_spool.ml              | 2 +-
>  sysprep/sysprep_operation_net_hostname.ml            | 2 +-
>  sysprep/sysprep_operation_net_hwaddr.ml              | 2 +-
>  sysprep/sysprep_operation_pacct_log.ml               | 2 +-
>  sysprep/sysprep_operation_package_manager_cache.ml   | 2 +-
>  sysprep/sysprep_operation_pam_data.ml                | 2 +-
>  sysprep/sysprep_operation_puppet_data_log.ml         | 2 +-
>  sysprep/sysprep_operation_rh_subscription_manager.ml | 2 +-
>  sysprep/sysprep_operation_rpm_db.ml                  | 2 +-
>  sysprep/sysprep_operation_samba_db_log.ml            | 2 +-
>  sysprep/sysprep_operation_ssh_hostkeys.ml            | 2 +-
>  sysprep/sysprep_operation_ssh_userdir.ml             | 2 +-
>  sysprep/sysprep_operation_sssd_db_log.ml             | 2 +-
>  sysprep/sysprep_operation_tmp_files.ml               | 2 +-
>  25 files changed, 25 insertions(+), 25 deletions(-)
> 
> diff --git a/get-kernel/get_kernel.ml b/get-kernel/get_kernel.ml
> index 812138f..6f26ca4 100644
> --- a/get-kernel/get_kernel.ml
> +++ b/get-kernel/get_kernel.ml
> @@ -149,7 +149,7 @@ let rec do_fetch ~transform_fn ~outputdir g root =
>  
>    g#umount_all ()
>  
> -and pick_kernel_files_linux g root =
> +and pick_kernel_files_linux (g : Guestfs.guestfs) root =
>    (* Get all kernels and initramfses. *)
>    let glob w = Array.to_list (g#glob_expand w) in
>    let kernels = glob "/boot/vmlinuz-*" in
> diff --git a/sysprep/sysprep_operation_abrt_data.ml b/sysprep/sysprep_operation_abrt_data.ml
> index d950270..0d94271 100644
> --- a/sysprep/sysprep_operation_abrt_data.ml
> +++ b/sysprep/sysprep_operation_abrt_data.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let abrt_data_perform g root side_effects =
> +let abrt_data_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let paths = g#glob_expand "/var/spool/abrt/*" in
> diff --git a/sysprep/sysprep_operation_bash_history.ml b/sysprep/sysprep_operation_bash_history.ml
> index 67eb4e3..5ddd515 100644
> --- a/sysprep/sysprep_operation_bash_history.ml
> +++ b/sysprep/sysprep_operation_bash_history.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let bash_history_perform g root side_effects =
> +let bash_history_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let files = g#glob_expand "/home/*/.bash_history" in
> diff --git a/sysprep/sysprep_operation_ca_certificates.ml b/sysprep/sysprep_operation_ca_certificates.ml
> index 213f4ac..1d85fda 100644
> --- a/sysprep/sysprep_operation_ca_certificates.ml
> +++ b/sysprep/sysprep_operation_ca_certificates.ml
> @@ -22,7 +22,7 @@ open Common_gettext.Gettext
>  module StringSet = Set.Make (String)
>  module G = Guestfs
>  
> -let ca_certificates_perform g root side_effects =
> +let ca_certificates_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let paths = [ "/etc/pki/CA/certs/*.crt";
> diff --git a/sysprep/sysprep_operation_crash_data.ml b/sysprep/sysprep_operation_crash_data.ml
> index 79f3d7f..70633fc 100644
> --- a/sysprep/sysprep_operation_crash_data.ml
> +++ b/sysprep/sysprep_operation_crash_data.ml
> @@ -26,7 +26,7 @@ let globs = [
>    "/var/log/dump/*";
>  ]
>  
> -let crash_data_perform g root side_effects =
> +let crash_data_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ = "linux" then (
>      List.iter (fun glob -> Array.iter g#rm_rf (g#glob_expand glob)) globs
> diff --git a/sysprep/sysprep_operation_dhcp_client_state.ml b/sysprep/sysprep_operation_dhcp_client_state.ml
> index 3ee91df..bf5361f 100644
> --- a/sysprep/sysprep_operation_dhcp_client_state.ml
> +++ b/sysprep/sysprep_operation_dhcp_client_state.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let dhcp_client_state_perform g root side_effects =
> +let dhcp_client_state_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ = "linux" then (
>      List.iter (
> diff --git a/sysprep/sysprep_operation_dhcp_server_state.ml b/sysprep/sysprep_operation_dhcp_server_state.ml
> index dfc71b2..b9fe936 100644
> --- a/sysprep/sysprep_operation_dhcp_server_state.ml
> +++ b/sysprep/sysprep_operation_dhcp_server_state.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let dhcp_server_state_perform g root side_effects =
> +let dhcp_server_state_perform (g : Guestfs.guestfs) root side_effects =
>    Array.iter g#rm_rf (g#glob_expand "/var/lib/dhcpd/*")
>  
>  let op = {
> diff --git a/sysprep/sysprep_operation_dovecot_data.ml b/sysprep/sysprep_operation_dovecot_data.ml
> index 976d483..3ca8bf5 100644
> --- a/sysprep/sysprep_operation_dovecot_data.ml
> +++ b/sysprep/sysprep_operation_dovecot_data.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let dovecot_data_perform g root side_effects =
> +let dovecot_data_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let files = g#glob_expand "/var/lib/dovecot/*" in
> diff --git a/sysprep/sysprep_operation_firewall_rules.ml b/sysprep/sysprep_operation_firewall_rules.ml
> index f5967fc..0a70169 100644
> --- a/sysprep/sysprep_operation_firewall_rules.ml
> +++ b/sysprep/sysprep_operation_firewall_rules.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let firewall_rules_perform g root side_effects =
> +let firewall_rules_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let paths = [ "/etc/sysconfig/iptables";
> diff --git a/sysprep/sysprep_operation_kerberos_data.ml b/sysprep/sysprep_operation_kerberos_data.ml
> index 449d604..9dc794f 100644
> --- a/sysprep/sysprep_operation_kerberos_data.ml
> +++ b/sysprep/sysprep_operation_kerberos_data.ml
> @@ -22,7 +22,7 @@ open Common_gettext.Gettext
>  module StringSet = Set.Make (String)
>  module G = Guestfs
>  
> -let kerberos_data_perform g root side_effects =
> +let kerberos_data_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let excepts = [ "/var/kerberos/krb5kdc/kadm5.acl";
> diff --git a/sysprep/sysprep_operation_logfiles.ml b/sysprep/sysprep_operation_logfiles.ml
> index 7b81959..0a9e054 100644
> --- a/sysprep/sysprep_operation_logfiles.ml
> +++ b/sysprep/sysprep_operation_logfiles.ml
> @@ -132,7 +132,7 @@ let globs = List.sort compare [
>  ]
>  let globs_as_pod = String.concat "\n" (List.map ((^) " ") globs)
>  
> -let logfiles_perform g root side_effects =
> +let logfiles_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ = "linux" then (
>      List.iter (fun glob -> Array.iter g#rm_rf (g#glob_expand glob)) globs
> diff --git a/sysprep/sysprep_operation_mail_spool.ml b/sysprep/sysprep_operation_mail_spool.ml
> index 0db831c..873f753 100644
> --- a/sysprep/sysprep_operation_mail_spool.ml
> +++ b/sysprep/sysprep_operation_mail_spool.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let mail_spool_perform g root side_effects =
> +let mail_spool_perform (g : Guestfs.guestfs) root side_effects =
>    List.iter (
>      fun glob -> Array.iter g#rm_rf (g#glob_expand glob)
>    ) [
> diff --git a/sysprep/sysprep_operation_net_hostname.ml b/sysprep/sysprep_operation_net_hostname.ml
> index 9b13ffd..3824d42 100644
> --- a/sysprep/sysprep_operation_net_hostname.ml
> +++ b/sysprep/sysprep_operation_net_hostname.ml
> @@ -22,7 +22,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let net_hostname_perform g root side_effects =
> +let net_hostname_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    let distro = g#inspect_get_distro root in
>    match typ, distro with
> diff --git a/sysprep/sysprep_operation_net_hwaddr.ml b/sysprep/sysprep_operation_net_hwaddr.ml
> index 9052fcb..439da6d 100644
> --- a/sysprep/sysprep_operation_net_hwaddr.ml
> +++ b/sysprep/sysprep_operation_net_hwaddr.ml
> @@ -22,7 +22,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let net_hwaddr_perform g root side_effects =
> +let net_hwaddr_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    let distro = g#inspect_get_distro root in
>    match typ, distro with
> diff --git a/sysprep/sysprep_operation_pacct_log.ml b/sysprep/sysprep_operation_pacct_log.ml
> index 355198d..1f9f0be 100644
> --- a/sysprep/sysprep_operation_pacct_log.ml
> +++ b/sysprep/sysprep_operation_pacct_log.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let pacct_log_perform g root side_effects =
> +let pacct_log_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    let distro = g#inspect_get_distro root in
>    match typ, distro with
> diff --git a/sysprep/sysprep_operation_package_manager_cache.ml b/sysprep/sysprep_operation_package_manager_cache.ml
> index 5eb0453..f35764a 100644
> --- a/sysprep/sysprep_operation_package_manager_cache.ml
> +++ b/sysprep/sysprep_operation_package_manager_cache.ml
> @@ -22,7 +22,7 @@ open Common_utils
>  
>  module G = Guestfs
>  
> -let package_manager_cache_perform g root side_effects =
> +let package_manager_cache_perform (g : Guestfs.guestfs) root side_effects =
>    let packager = g#inspect_get_package_management root in
>    let cache_dirs =
>      match packager with
> diff --git a/sysprep/sysprep_operation_pam_data.ml b/sysprep/sysprep_operation_pam_data.ml
> index c3b988f..698a052 100644
> --- a/sysprep/sysprep_operation_pam_data.ml
> +++ b/sysprep/sysprep_operation_pam_data.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let pam_data_perform g root side_effects =
> +let pam_data_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let paths = [ "/var/run/console/*";
> diff --git a/sysprep/sysprep_operation_puppet_data_log.ml b/sysprep/sysprep_operation_puppet_data_log.ml
> index f00e4a9..b8cb244 100644
> --- a/sysprep/sysprep_operation_puppet_data_log.ml
> +++ b/sysprep/sysprep_operation_puppet_data_log.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let puppet_data_log_perform g root side_effects =
> +let puppet_data_log_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let paths = [ "/var/log/puppet/*";
> diff --git a/sysprep/sysprep_operation_rh_subscription_manager.ml b/sysprep/sysprep_operation_rh_subscription_manager.ml
> index d6c38b2..443feac 100644
> --- a/sysprep/sysprep_operation_rh_subscription_manager.ml
> +++ b/sysprep/sysprep_operation_rh_subscription_manager.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let rh_subscription_manager_perform g root side_effects =
> +let rh_subscription_manager_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    let distro = g#inspect_get_distro root in
>  
> diff --git a/sysprep/sysprep_operation_rpm_db.ml b/sysprep/sysprep_operation_rpm_db.ml
> index 55e50fe..81190e0 100644
> --- a/sysprep/sysprep_operation_rpm_db.ml
> +++ b/sysprep/sysprep_operation_rpm_db.ml
> @@ -22,7 +22,7 @@ open Common_gettext.Gettext
>  module StringSet = Set.Make (String)
>  module G = Guestfs
>  
> -let rpm_db_perform g root side_effects =
> +let rpm_db_perform (g : Guestfs.guestfs) root side_effects =
>    let pf = g#inspect_get_package_format root in
>    if pf = "rpm" then (
>      let paths = g#glob_expand "/var/lib/rpm/__db.*" in
> diff --git a/sysprep/sysprep_operation_samba_db_log.ml b/sysprep/sysprep_operation_samba_db_log.ml
> index 126a7ac..19fdbf4 100644
> --- a/sysprep/sysprep_operation_samba_db_log.ml
> +++ b/sysprep/sysprep_operation_samba_db_log.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let samba_db_log_perform g root side_effects =
> +let samba_db_log_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let paths = [ "/var/log/samba/old/*";
> diff --git a/sysprep/sysprep_operation_ssh_hostkeys.ml b/sysprep/sysprep_operation_ssh_hostkeys.ml
> index 417e792..fbbf4a6 100644
> --- a/sysprep/sysprep_operation_ssh_hostkeys.ml
> +++ b/sysprep/sysprep_operation_ssh_hostkeys.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let ssh_hostkeys_perform g root side_effects =
> +let ssh_hostkeys_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let files = g#glob_expand "/etc/ssh/*_host_*" in
> diff --git a/sysprep/sysprep_operation_ssh_userdir.ml b/sysprep/sysprep_operation_ssh_userdir.ml
> index 19f8890..2ff9581 100644
> --- a/sysprep/sysprep_operation_ssh_userdir.ml
> +++ b/sysprep/sysprep_operation_ssh_userdir.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let ssh_userdir_perform g root side_effects =
> +let ssh_userdir_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let dirs = g#glob_expand "/home/*/.ssh" in
> diff --git a/sysprep/sysprep_operation_sssd_db_log.ml b/sysprep/sysprep_operation_sssd_db_log.ml
> index 8f1bc88..9e35679 100644
> --- a/sysprep/sysprep_operation_sssd_db_log.ml
> +++ b/sysprep/sysprep_operation_sssd_db_log.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let sssd_db_log_perform g root side_effects =
> +let sssd_db_log_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let paths = [ "/var/log/sssd/*";
> diff --git a/sysprep/sysprep_operation_tmp_files.ml b/sysprep/sysprep_operation_tmp_files.ml
> index af600db..1892d63 100644
> --- a/sysprep/sysprep_operation_tmp_files.ml
> +++ b/sysprep/sysprep_operation_tmp_files.ml
> @@ -21,7 +21,7 @@ open Common_gettext.Gettext
>  
>  module G = Guestfs
>  
> -let tmp_files_perform g root side_effects =
> +let tmp_files_perform (g : Guestfs.guestfs) root side_effects =
>    let typ = g#inspect_get_type root in
>    if typ <> "windows" then (
>      let paths = [ "/tmp";
> -- 
> 2.5.0
> 
> _______________________________________________
> Libguestfs mailing list
> Libguestfs at redhat.com
> https://www.redhat.com/mailman/listinfo/libguestfs

-- 
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