tis-virtualbox6 icon

Oracle VM VirtualBox 6

Paquet d’installation silencieuse pour Oracle VM VirtualBox 6

6.1.50-29

  • package: tis-virtualbox6
  • name: Oracle VM VirtualBox 6
  • version: 6.1.50-29
  • categories: System and network
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Simon Fonteneau
  • editor: Oracle Corporation
  • licence: GPLv2
  • locale: all
  • target_os: darwin
  • impacted_process: VirtualBox,VBoxWebSrv,VBoxSVC,VBoxAutostartSvc,VBoxBalloonCtrl,VBoxBugReport,VBoxDTrace,VBoxManage,VBoxSDS,VBoxExtPackHelperApp,VBoxTestOGL,VBoxNetDHCP,VBoxNetNAT,VirtualBoxVM,VBoxHeadless,VBoxSDL,vbox-img
  • architecture: x64
  • signature_date:
  • size: 138.95 Mo
  • installed_size: 506.54 Mo
  • homepage : https://www.virtualbox.org/

package           : tis-virtualbox6
version           : 6.1.50-29
architecture      : x64
section           : base
priority          : optional
name              : Oracle VM VirtualBox 6
categories        : System and network
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ,Simon Fonteneau
description       : Oracle VM VirtualBox (formerly VirtualBox) is a free virtualization software published by Oracle
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : darwin
min_wapt_version  : 2.3
sources           : https://www.virtualbox.org/wiki/Downloads
installed_size    : 506540032
impacted_process  : VirtualBox,VBoxWebSrv,VBoxSVC,VBoxAutostartSvc,VBoxBalloonCtrl,VBoxBugReport,VBoxDTrace,VBoxManage,VBoxSDS,VBoxExtPackHelperApp,VBoxTestOGL,VBoxNetDHCP,VBoxNetNAT,VirtualBoxVM,VBoxHeadless,VBoxSDL,vbox-img
description_fr    : Oracle VM VirtualBox (anciennement VirtualBox) est un logiciel libre de virtualisation publié par Oracle
description_pl    : Oracle VM VirtualBox (dawniej VirtualBox) to darmowe oprogramowanie do wirtualizacji opublikowane przez Oracle
description_de    : Oracle VM VirtualBox (ehemals VirtualBox) ist eine von Oracle veröffentlichte kostenlose Virtualisierungssoftware
description_es    : Oracle VM VirtualBox (antes VirtualBox) es un software de virtualización libre publicado por Oracle
description_pt    : Oracle VM VirtualBox (anteriormente VirtualBox) é um software de virtualização gratuito publicado pela Oracle
description_it    : Oracle VM VirtualBox (precedentemente VirtualBox) è un software di virtualizzazione gratuito pubblicato da Oracle
description_nl    : Oracle VM VirtualBox (voorheen VirtualBox) is een gratis virtualisatiesoftware, gepubliceerd door Oracle
description_ru    : Oracle VM VirtualBox (ранее VirtualBox) - это бесплатное программное обеспечение для виртуализации, опубликованное компанией Oracle
audit_schedule    : 
editor            : Oracle Corporation
keywords          : virtualization,host,vm,virtual,machine,hosts,oracle
licence           : GPLv2
homepage          : https://www.virtualbox.org/
package_uuid      : a6078d40-d649-4ee7-bbf4-4e7a6dead65f
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.virtualbox.org/wiki/Changelog
min_os_version    : 10.16
max_os_version    : 
icon_sha256sum    : e951bcceaa888dbfed95529b40efcbc483e9c9f0b6cc7b50efe93f9459030a36
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : Ib/flk2luA1xpskEaDBOFNtxO8c6oayh/f/wb2P7QRkEvUqk4fe4AXffWbGcLKDFkhwl3ulAwYG48VhPoBNVVvH32z1sziaj4Ps7Ne3vpQYi+iZu6wXDRwd1ACWPVlfUdYyijgUSSpK3TGBiFuYTGWlDq8fkVRYQRb73Fwp6Cp1WSkCvzgVuZX0IJ+ylrf3oQTctupil7WaRtqvTuTJkrC8klMP2CNIZQpTfrKpaa1P7XaPsS/J+JmW/JWh47z+CbqiAtR84VOVJLWQ9VW4X3NPnatDyYUuPRX0o3+/CIWwWX+LTKR3N7JKkbX1R/pi3OGk2vL7kGMTsajaHqAq9QQ==
signature_date    : 2024-01-21T18:02:07.561016
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes

# -*- coding: utf-8 -*-
from setuphelpers import *


app_install_path = "/Applications/VirtualBox.app"
app_uninstall_tool = makepath(app_install_path, "VirtualBox_Uninstall.tool")
app_vbm = makepath(app_install_path, "Contents", "MacOS", "VBoxManage")


def install():
    bin_name = glob.glob("VirtualBox-*.dmg")[0]

    # Avoid VMs to be shutted unexpectedl
    if isrunning("virtualbox") and not force:
        error("ERROR: VirtualBox is running")

    # Uninstalling older major versions of the software
    for to_uninstall in installed_softwares("VirtualBox"):
        if Version(to_uninstall["version"], 1) < Version(control.get_software_version(), 1) or force:
            print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
            killalltasks(control.get_impacted_process_list())
            if isfile(app_uninstall_tool):
                uninstall()
            else:
                if isdir(app_install_path):
                    print("uninstall_tool not installed, removing app instead")
                    remove_tree(app_install_path)

    install_dmg(bin_name, min_version=control.get_software_version())

    # Copying uninstaller
    mount_dmg(bin_name)
    filecopyto("/Volumes/VirtualBox/VirtualBox_Uninstall.tool", app_uninstall_tool)
    unmount_dmg("/Volumes/VirtualBox")

    # Remove all file extpack
    for file in glob.glob(makepath(app_install_path, "Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack")):
        print("Removing: %s" % file)
        remove_file(file)

    # Copy new extpack
    for ext in glob.glob("Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack"):
        print("Copying: %s to: %s" % (ext, app_install_path))
        filecopyto(ext, app_install_path)
        # Install new extpack
        try:
            print(
                run(
                    'echo y | "%s" extpack install --replace "%s" --accept-license=33d7284dc4a0ece381196fda3cfe2ed0e1e8e7ed7f27b9a9ebc4ee22e24bd23c'
                    % (app_vbm, ext)
                )
            )
        except:
            print(run('"%s" extpack cleanup' % (app_vbm)))
            print(
                run(
                    'echo y | "%s" extpack install --replace "%s" --accept-license=33d7284dc4a0ece381196fda3cfe2ed0e1e8e7ed7f27b9a9ebc4ee22e24bd23c'
                    % (app_vbm, ext)
                )
            )


def session_setup():
    print("Disabling: Auto update checks")
    run('"%s" setextradata global GUI/UpdateDate never' % app_vbm)


def uninstall():
    print("uninstalling Virtualbox with uninstall tool")
    print(run(f"{app_uninstall_tool} --unattended"))
    if not installed_softwares("virtualbox"):
        if isdir(app_install_path):
            remove_tree(app_install_path)

        if isfile(app_uninstall_tool):
            remove_file(app_uninstall_tool)

# -*- coding: utf-8 -*-
from setuphelpers import *


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    url = "https://download.virtualbox.org/virtualbox/"
    vbox_fixed_version = "6"
    download_dict = {
        "windows-x64": "-Win.exe",
        "darwin-x64": "-OSX.dmg",
        "debian-stretch-x64": "stretch",
        "debian-buster-x64": "buster",
        "debian-bullseye-x64": "bullseye",
        "centos8,centos-8,almalinux-x64": "el8",
        "centos7-x64": "el7",
    }

    # Getting latest "vbox_fixed_version"'s version
    print("URL used is: %s" % url)
    url_dict = bs_index_of_to_dict(url, proxies=proxies)
    version = Version("0")
    for key in url_dict.keys():
        if key.startswith(vbox_fixed_version) and Version(key.strip("/")) > Version(version):
            version = key.strip("/")
    version_url = url_dict[version + "/"]

    binaries_dict = bs_index_of_to_dict(version_url, proxies=proxies)
    for elem in binaries_dict.values():
        # Getting Vbox binary download link
        if download_dict[control.target_os + "-" + ensure_list(control.architecture)[0]] in elem:
            download_url = elem
            latest_bin = download_url.split("/")[-1]
        # Getting Vbox extensions pack binary download link
        if ".vbox-extpack" in elem:
            download_ext_url = elem
            latest_ext_bin = download_ext_url.split("/")[-1]

    # Downloading latest binaries
    print("Latest %s version is: %s" % (control.name, version))
    print("Download URL is: %s" % download_url)
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print("Binary is present: %s" % latest_bin)

    # Downloading extension pack
    print("Download Extension Pack URL is: %s" % download_ext_url)
    if not isfile(latest_ext_bin):
        print("Downloading: %s" % latest_ext_bin)
        wget(download_ext_url, latest_ext_bin, proxies=proxies)
    else:
        print("Extension pack binary is present: %s" % latest_ext_bin)

    # Deleting outdated binaries
    remove_outdated_binaries(version, list_extensions=[download_dict[control.target_os + "-" + ensure_list(control.architecture)[0]], "vbox-extpack"])

    # Checking version from file
    if get_os_version() == "Windows":
        version_from_file = get_version_from_binary(latest_bin)
        if Version(version_from_file, 4) != Version(version, 4) and version_from_file != "":
            print("ERROR: Binary file version do NOT corresponds to online version")
        else:
            print("INFO: Binary file version corresponds to online version")

    # Changing version of the package
    if Version(version, 4) > Version(control.get_software_version(), 4):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        package_updated = True
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating or not update-package-sources
    return package_updated


def bs_index_of_to_dict(url, **kwargs):
    r"""Parse html "Index of" web page with BeautifulSoup and get a dict of the result

    Args:
        url (str): url of the web page to parse

    Return:
        result: a dict of the index URLs

    """
    result = {}
    if not url.endswith("/"):
        url = url + "/"

    for elem in bs_find_all(url, "a"):
        result[elem.text] = url + elem.get("href", "")

    return result

059b8683ef98901dd962fa131d667b08bc7857692d653a43435ac9ae0155b633 : setup.py
ab84457fc09aa127badc4fa2a6618dca37ef16efad29231476c80c2baec896c8 : update_package.py
e951bcceaa888dbfed95529b40efcbc483e9c9f0b6cc7b50efe93f9459030a36 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
ee05932bdb48e19afe495f0df3c717c4fcb3676a8db6a1037c9dc28045a004bb : WAPT/changelog.txt
b70d28695730b33f0a9abbce6b3c675d9031f2983a0429eb5ea7e979df95ea80 : VirtualBox-6.1.50-161033-OSX.dmg
07515348efb4f574007888afbf58bf60290530e52506ed8142b10e1745828e85 : Oracle_VM_VirtualBox_Extension_Pack-6.1.50.vbox-extpack
9a8b2d6ae07adc09c3bdb2ff33b7e68d9a7c9c7f08cbd73c2989c97d7fc41f9a : luti.json
c2259be9eb55b4a9fde8eeaaedad0952e98dbdd691088e84cf12a7f0663715ff : WAPT/control

https://www.virtualbox.org/wiki/Changelog
7.0.0-27
===
Avoid VMs to be shutted unexpectedly
Uninstalling older major versions of the software

6.1.38-26
===
Unix : now installing VirtualBox_Extension_Pack and disable update check like Windows
Debian : Fix binary name crashes ("~")
Windows : reducing variables