From nobody Sat Jul 20 09:38:56 2024 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WR1hJ3r0xz5RLG1; Sat, 20 Jul 2024 09:38:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WR1hJ31zrz4n4K; Sat, 20 Jul 2024 09:38:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1721468336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7H1zOzEIuobpqe8vtdd7K7ieVJLzTtf88fqIGZ2UqA4=; b=AKkszGrQtORrtYicRih9WYGlfrkSH0ilPeRZmzWr8ciRVVBDysP5WYUibgJ9U3Ztg1ubAj CVhxATXIJw7rclncsVU+Yu5I4wH6QiYn0LQJlIWe3KTt/PwQfaDw5Up/Dx8cCQlZNpk2CP eMnm5YQHUPw9v4xTKAx416rm5lgQIfS/+6t5+ZJWg7yRF/KoMtUCyrLkNbZBXuLpq+mW2n PDKhT0dquYkc02H17sR/a1Gkr+O5dshKGUJ3tngaFL85iSjctqhtpySmCObpfZ375lwk+c 37PVUhW5K2P3eKeTad93SgP5H8KjDLUIAvFiigvyTWhyXH5YS0KgrV3DwsFGOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1721468336; a=rsa-sha256; cv=none; b=Q+jZ8dyenUwQy1qVgSr8jhhXK2zG75p2vfle3TbLWAmo3FaGQWJf/81fN6F9aZ70ZEu1GA koS9hRQTZudf5P18N5bVE5pnv7X/W5Q8g5FaYvvXfbOob9pxrSoHqHQLnqUHvI4DgGxiFY h7JAqd1l4U4UTyA82HesWpzJ/aTEgsegxRq5HymD69m6sES39CcTnmYdl6AWDu0BgRR7mQ OSNkTMNoDtJgX6JYHvDF6QVqmJv6Gbz2R47OrdAdLl458jGr5fWjkdzeoOiuo/2Vaak+Eg D1ZBXQ9EPdSaXCtQOTLeB9qR+ApMTCNGu/tYxJKnMykBIyzRH6kom15ZDeTcrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1721468336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7H1zOzEIuobpqe8vtdd7K7ieVJLzTtf88fqIGZ2UqA4=; b=kgw5iFsmZADz8CCZCuz+btglr4SlS6GYDgvqS1WpxZPe9TzDwdfW+uXDAFOfwibpYtwqa4 0slfhmjmrXaAEJTntthJ8CQt9jbrDySsyT35189LBSBHzUp8zO0BnZ8B7b1Zax06gBGfvM B7SZdgXOQja0EeT5PbkGdierKA5h/fIauqs7EHrDLOF1Cj9i7kidaOD/dMNafySUnjkHaE 0q5mpo8izI2RDpJ2s3oGnOhXh60JtBnyIszMf2XuBQ9/DpsIx64sQ++bDH+YC1WAsh2QdH /hcRL4Jh46rmFTUEWuACbBW2u3fqhLhMXmqxVBhoslhmezeQHAsa+F6O7i2bfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WR1hJ2Bc8z1BFc; Sat, 20 Jul 2024 09:38:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 46K9cu9n003937; Sat, 20 Jul 2024 09:38:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 46K9cu2A003934; Sat, 20 Jul 2024 09:38:56 GMT (envelope-from git) Date: Sat, 20 Jul 2024 09:38:56 GMT Message-Id: <202407200938.46K9cu2A003934@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org From: Vladimir Druzenko Subject: git: d03209bbcdd1 - 2024Q3 - emulators/virtualbox-ose{,-nox11}-legacy: add vboxinit start/stop script for VMs which is controlled from phpvirtualbox List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vvd X-Git-Repository: ports X-Git-Refname: refs/heads/2024Q3 X-Git-Reftype: branch X-Git-Commit: d03209bbcdd1c0abcd01a737a49c0785ce714d2d Auto-Submitted: auto-generated The branch 2024Q3 has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=d03209bbcdd1c0abcd01a737a49c0785ce714d2d commit d03209bbcdd1c0abcd01a737a49c0785ce714d2d Author: Vladimir Druzenko AuthorDate: 2024-07-09 21:30:58 +0000 Commit: Vladimir Druzenko CommitDate: 2024-07-20 09:38:04 +0000 emulators/virtualbox-ose{,-nox11}-legacy: add vboxinit start/stop script for VMs which is controlled from phpvirtualbox Set the "Startup Mode" to "Automatic" for the virtual machine in phpvirtualbox to automatically start the virtual machine during OS boot. This script also stops virtual machines during reboot even if vboxinit_enable="YES" is not present in /etc/rc.conf. phpvirtualbox uses the "Web Service" (WEBSERVICE) to configure and manage virtual machines, so we install the script only when the WEBSERVICE option is enabled. PR: 280062 (cherry picked from commit b9b090f62a08fe648332bd20af02deab794d0e03) --- emulators/virtualbox-ose-legacy/Makefile | 4 +- emulators/virtualbox-ose-legacy/files/vboxinit.in | 91 +++++++++++++++++++++++ emulators/virtualbox-ose-nox11-legacy/Makefile | 2 +- 3 files changed, 94 insertions(+), 3 deletions(-) diff --git a/emulators/virtualbox-ose-legacy/Makefile b/emulators/virtualbox-ose-legacy/Makefile index 6fbc761566a2..4ce61c2bb073 100644 --- a/emulators/virtualbox-ose-legacy/Makefile +++ b/emulators/virtualbox-ose-legacy/Makefile @@ -1,6 +1,6 @@ PORTNAME= virtualbox-ose PORTVERSION= 5.2.44 -PORTREVISION?= 19 +PORTREVISION?= 20 CATEGORIES= emulators MASTER_SITES= https://download.oracle.com/virtualbox/${PORTVERSION}/:src \ LOCAL/bofh/emulators/virtualbox-ose-legacy:docs @@ -159,7 +159,7 @@ PLIST_SUB+= QT="@comment " .endif .if ${PORT_OPTIONS:MWEBSERVICE} -USE_RC_SUBR+= vboxwebsrv +USE_RC_SUBR+= vboxinit vboxwebsrv VBOX_LINKS+= vboxwebsrv VBOX_UTILS+= vboxwebsrv webtest .endif diff --git a/emulators/virtualbox-ose-legacy/files/vboxinit.in b/emulators/virtualbox-ose-legacy/files/vboxinit.in new file mode 100644 index 000000000000..13ec9614827d --- /dev/null +++ b/emulators/virtualbox-ose-legacy/files/vboxinit.in @@ -0,0 +1,91 @@ +#!/bin/sh + +# PROVIDE: vboxinit +# REQUIRE: LOGIN vboxnet vboxwebsrv sshd +# KEYWORD: shutdown +# +# Add the following line to /etc/rc.conf[.local] to enable vboxinit +# +# vboxinit_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable vboxinit. +# stop and faststop are always enabled. +# vboxinit_user (str): Default user account to run with. +# (default: %%VBOXUSER%%) +# vboxinit_home (str): Default home directory to run with. +# (default: home of user ${vboxinit_user} +# vboxinit_stop (str): Default stop cmd for VBoxManage controlvm. +# (default: savestate) +# vboxinit_start_delay (int): Default startup delay in seconds. +# (default: 0) +# vboxinit_stop_delay (int): Default shutdown delay in seconds. +# (default: 0) +# +# Set the "Startup Mode" to "Automatic" for the virtual machine in +# phpvirtualbox to automatically start the virtual machine during OS boot. +# + +. /etc/rc.subr + +name="vboxinit" +rcvar="${name}_enable" + +start_cmd="${name}_start" +stop_cmd="${name}_stop" +status_cmd="${name}_status" +restart_cmd="${name}_restart" + +vboxinit_start() +{ + # Get a list of all machines with autorun enabled in phpvirtualbox + ${su_command} "${command} list vms | /usr/bin/tr -d '{}\"'" | while read VMNAME UUID; do + STARTUP=$(${su_command} "${command} getextradata ${UUID} 'pvbx/startupMode'" | /usr/bin/cut -d' ' -f2) + if [ "${STARTUP}" == "auto" ]; then + echo "${name}: starting machine ${VMNAME} ..." + ${su_command} "${command} startvm ${UUID} --type headless" + sleep "${vboxinit_start_delay}" + fi + done +} + +vboxinit_stop() +{ + # Get all running machines + ${su_command} "${command} list runningvms | /usr/bin/tr -d '{}\"'" | while read VMNAME UUID; do + echo "${name}: stopping machine ${VMNAME} with action '${vboxinit_stop}' ..." + ${su_command} "${command} controlvm ${UUID} ${vboxinit_stop}" + sleep "${vboxinit_stop_delay}" + done +} + +vboxinit_status() +{ + # List all running machines + ${su_command} "${command} list runningvms" +} + +vboxinit_restart() +{ + vboxinit_stop + vboxinit_start +} + +load_rc_config $name + +: ${vboxinit_enable="NO"} +: ${vboxinit_user="%%VBOXUSER%%"} +: ${vboxinit_home=$(/usr/sbin/pw usershow -7 -n "${vboxinit_user}" | /usr/bin/cut -d: -f6)} +: ${vboxinit_stop="savestate"} +: ${vboxinit_start_delay="0"} +: ${vboxinit_stop_delay="0"} +HOME=${vboxinit_home} +USER=${vboxinit_user} +export HOME USER + +command="%%VBOXDIR%%/VBoxManage" +su_command="/usr/bin/su -m ${vboxinit_user} -c" + +if [ "x$1" = "xstop" ] || [ "x$1" = "xfaststop" ]; then + vboxinit_enable="YES" +fi + +run_rc_command "$1" diff --git a/emulators/virtualbox-ose-nox11-legacy/Makefile b/emulators/virtualbox-ose-nox11-legacy/Makefile index 33102a46f019..0406eecfc7aa 100644 --- a/emulators/virtualbox-ose-nox11-legacy/Makefile +++ b/emulators/virtualbox-ose-nox11-legacy/Makefile @@ -1,4 +1,4 @@ -PORTREVISION= 17 +PORTREVISION= 18 PKGNAMESUFFIX= -nox11-legacy OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS PULSEAUDIO