From: Andrew Tropin <andrew@trop.in>
To: Sharlatan Hellseher <sharlatanus@gmail.com>, 66047-done@debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus@gmail.com>
Subject: bug#66047: [PATCH 1/2] gnu: Add VMware open-vm-tools.
Date: Wed, 18 Oct 2023 13:56:25 +0400 [thread overview]
Message-ID: <877cnkckza.fsf@trop.in> (raw)
In-Reply-To: <c4011be027f91668706486fad3e77a5f81bbc740.1694948061.git.sharlatanus@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 8230 bytes --]
On 2023-09-17 12:06, Sharlatan Hellseher wrote:
> * gnu/packages/virtualization.scm (vmware-open-vm-tools,
> vmware-open-vm-tools-gtk): New variables.
> ---
> gnu/packages/virtualization.scm | 154 ++++++++++++++++++++++++++++++++
> 1 file changed, 154 insertions(+)
>
> diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
> index f5bdedd45e..04ed253e8a 100644
> --- a/gnu/packages/virtualization.scm
> +++ b/gnu/packages/virtualization.scm
> @@ -30,6 +30,7 @@
> ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
> ;;; Copyright © 2023 Juliana Sims <juli@incana.org>
> ;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
> +;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -65,6 +66,7 @@ (define-module (gnu packages virtualization)
> #:use-module (gnu packages compression)
> #:use-module (gnu packages containers)
> #:use-module (gnu packages cross-base)
> + #:use-module (gnu packages crypto)
> #:use-module (gnu packages cryptsetup)
> #:use-module (gnu packages curl)
> #:use-module (gnu packages cyrus-sasl)
> @@ -1722,6 +1724,158 @@ (define-public virt-manager
> domains, their live performance and resource utilization statistics.")
> (license license:gpl2+)))
>
> +(define-public vmware-open-vm-tools
> + (package
> + (name "vmware-open-vm-tools")
> + (version "12.3.0")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/vmware/open-vm-tools")
> + (commit (string-append "stable-" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "1hbimhady0v1kd45azknl1lgzgldhgdjd7bj540rn3y4cai5cnk1"))))
> + (build-system gnu-build-system)
> + (arguments
> + (list
> + #:configure-flags
> + #~(list "--with-fuse=fuse3"
> + "--without-kernel-modules"
> + "--without-x"
> + (string-append
> + "--with-udev-rules-dir=" #$output "/lib/udev/rules.d"))
> + ;; TODO: Add iproute2 dbus which commands wrap.
> + #:phases
> + #~(modify-phases %standard-phases
> + (add-after 'unpack 'chdir
> + (lambda _
> + (chdir "open-vm-tools")))
> + (replace 'bootstrap
> + (lambda _
> + (system* "autoreconf" "-if")))
> + (add-after 'bootstrap 'patch-paths
> + (lambda _
> + (substitute* "Makefile.am"
> + (("/etc/vmware-tools/")
> + (string-append #$output "/etc/vmware-tools/")))
> + (substitute* "scripts/Makefile.am"
> + (("/etc/vmware-tools")
> + (string-append #$output "/etc/vmware-tools"))
> + (("/usr/bin")
> + (string-append #$output "/bin")))
> + (substitute* "services/vmtoolsd/Makefile.am"
> + (("/etc/vmware-tools")
> + (string-append #$output "/etc/vmware-tools"))
> + (("\\$\\(PAM_PREFIX\\)")
> + (string-append #$output "/$(PAM_PREFIX)")))
> + (substitute* "vgauth/service/Makefile.am"
> + (("/etc/vmware-tools/vgauth/schemas")
> + (string-append #$output "/etc/vmware-tools/vgauth/schemas"))
> + (("etc/vmware-tools/vgauth.conf")
> + (string-append #$output "/etc/vmware-tools/vgauth.conf")))
> + (substitute* "vmhgfs-fuse/config.c"
> + (("/bin/fusermount3")
> + (string-append
> + #$(this-package-input "fuse") "/bin/fusermount3")))
> + ;; XXX: This part might need more testing with shutdown and halt
> + ;; commands provided by Shepherd.
> + (substitute* "lib/system/systemLinux.c"
> + (("/sbin/shutdown")
> + (string-append
> + #$(this-package-input "shepherd") "/sbin/shutdown"))
> + (("/bin/reboot")
> + (string-append
> + #$(this-package-input "shepherd") "/sbin/reboot")))
> + (substitute* "services/plugins/vix/foundryToolsDaemon.c"
> + (("/bin/mount")
> + (string-append
> + #$(this-package-input "util-linux") "/bin/mount"))
> + (("/usr/bin/vmhgfs-fuse")
> + (string-append #$output "/bin/vmhgfs-fuse"))))))))
> + (native-inputs
> + (list `(,glib "bin") ; for glib-genmarshal
> + autoconf
> + automake
> + libltdl
> + libtool
> + pkg-config))
> + (inputs
> + (list eudev
> + fuse
> + glib
> + xmlsec
> + libmspack
> + ;; libdnet ; Not packed
> + libtirpc
> + libxcrypt
> + libxml2
> + linux-pam
> + openssl
> + procps
> + rpcsvc-proto
> + shepherd ;for 'halt' and 'reboot', invoked from VMWare host.
> + util-linux
> + xmlsec))
> + (home-page "https://github.com/vmware/open-vm-tools")
> + (synopsis "Tools for VMWare guest VM to enhance host-guest integration")
> + (description
> + "@code{open-vm-tools} is a set of services and modules that enable several
> +features in VMware products for better management of, and seamless user
> +interactions with, guests. It includes kernel modules for enhancing the
> +performance of virtual machines running Linux or other VMware supported Unix
> +like guest operating systems.
The package built without kernel modules, so I remove this sentence from
description.
> +
> +@code{open-vm-tools} enables the following features in VMware products:
> +
> +@itemize
> +@item The ability to perform virtual machine power operations gracefully.
> +@item Execution of VMware provided or user configured scripts in guests during
> +various power operations.
> +@item The ability to run programs, commands and file system operation in guests
> +to enhance guest automation.
> +@item Authentication for guest operations.
> +@item Periodic collection of network, disk, and memory usage information from
> +the guest.
> +@item Generation of heartbeat from guests to hosts so VMware's HA solution can
> +determine guests' availability.
> +@item Clock synchronization between guests and hosts or client desktops.
> +@item Quiescing guest file systems to allow hosts to capture
> +file-system-consistent guest snapshots.
> +@item Execution of pre-freeze and post-thaw scripts while quiescing guest file
> +systems.
> +@item The ability to customize guest operating systems immediately after
> +powering on virtual machines.
> +@item Enabling shared folders between host and guest file systems on VMware
> +Workstation and VMware Fusion.
> +@item Copying and pasting text, graphics, and files between guests and hosts or
> +client desktops.
> +@end itemize")
> + (license license:gpl2)))
> +
> +(define-public vmware-open-vm-tools-gtk
> + (package/inherit vmware-open-vm-tools
> + (name "vmware-open-vm-tools-gtk")
> + (inputs
> + (modify-inputs (package-inputs vmware-open-vm-tools)
> + (prepend gdk-pixbuf-xlib
> + gtk+
> + gtkmm-3
> + libdrm
> + libx11
> + libxext
> + libxi
> + libxinerama
> + libxrandr
> + libxrender
> + libxtst)))
> + (arguments
> + (substitute-keyword-arguments (package-arguments vmware-open-vm-tools)
> + ((#:configure-flags flags)
> + #~(delete "--without-x" #$flags))))
> + (description "This package provides a GTK+ support for @code{open-vm-tools}.")))
> +
> (define-public criu
> (package
> (name "criu")
Thank you very much for the patches! Applied, pushed.
--
Best regards,
Andrew Tropin
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
next prev parent reply other threads:[~2023-10-18 9:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-17 11:05 [bug#66047] [PATCH 0/2] gnu: Add VMware open-vm-tools Sharlatan Hellseher
2023-09-17 11:06 ` [bug#66047] [PATCH 1/2] " Sharlatan Hellseher
2023-10-18 9:56 ` Andrew Tropin [this message]
2023-09-17 11:06 ` [bug#66047] [PATCH 2/2] gnu: Sort use-module in (gnu packages virtualization) alphabetically Sharlatan Hellseher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877cnkckza.fsf@trop.in \
--to=andrew@trop.in \
--cc=66047-done@debbugs.gnu.org \
--cc=sharlatanus@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).