tis-virtualbox

6.1.12-1
Oracle VM VirtualBox (formerly VirtualBox) is a free virtualization software published by Oracle.
94090 downloads
Download
default icon

  Description 

  • package : tis-virtualbox
  • version : 6.1.12-1
  • architecture : x64
  • categories : System and network
  • maintainer : WAPT Team,Jimmy PELÉ,Simon Fonteneau
  • description : Oracle VM VirtualBox (formerly VirtualBox) is a free virtualization software published by Oracle.
  • locale : all
  • target_os : windows
  • min_wapt_version : 1.5
  • sources : https://www.virtualbox.org/wiki/Downloads
  • installed_size : 396652544
  • impacted_process : VirtualBox.exe,VBoxManage.exe,VBoxSVC.exe,VBoxSDS.exe
  • 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 :
  • description_it :
  • description_nl :
  • description_ru :
  • editor : Oracle Corporation
  • licence : GPLv2
  • signature_date : 2020-07-15T10:52:59.341972
  • Homepage : https://www.virtualbox.org/

  Setup.py 

# -*- coding: utf-8 -*-
from setuphelpers import *
try:
    import bs4 as BeautifulSoup
except:
    import BeautifulSoup
import platform
import json
import requests

uninstallkey = []

# Declaring specific app values (TO CHANGE)
bin_name_string = 'VirtualBox-%s-Win.exe'
bin_ext_name_string = 'Oracle_VM_VirtualBox_Extension_Pack-%s.vbox-extpack'
bin_ext_name_joker = '*.vbox-extpack'
silent_args = '--silent --msiparams REBOOT=ReallySuppress ALLUSERS=2 VBOX_INSTALLDESKTOPSHORTCUT=0 VBOX_START=0 VBOX_INSTALLQUICKLAUNCHSHORTCUT=0'
app_uninstallkey = '{4FA0A6EA-79EF-40D4-AD48-08D9A6A163AA}'
app_install_path = makepath(programfiles,'Oracle','VirtualBox')
app_vbm = makepath(app_install_path,'VBoxManage.exe')


def install():
    # Specific app values
    package_version = control.version.split('-',1)[0]

	# Getting the used storage on programfiles before installation (place it on the top)
    get_disk_free_space_before = get_disk_free_space(programfiles)

    # Installing the package
    if not installed_softwares('Oracle VM VirtualBox ' + package_version) or force:
        if isrunning('virtualbox.exe') and not force:
            error('VirtualBOX is running !')
        run(r'"%s" %s' % (bin_name_string % package_version,silent_args),accept_returncodes=[0,3010],timeout=300)
    else:
        print('Exe setup %s already installed. Skipping' % bin_name_string % package_version)
        
        if not installed_softwares('Oracle VM VirtualBox ' + package_version):
            error('Setup %s has been and uninstall but %s not found' % (bin_name_string % package_version,'Oracle VM VirtualBox ' + package_version))  
        

    # Remove all file extpack
    for file in glob.glob(makepath(app_install_path,bin_ext_name_joker)):
        remove_file(file)
    # Copy new extpack
    for ext in glob.glob(bin_ext_name_joker):
        filecopyto(ext,app_install_path)
        # Install new extpack
        try:
            run('echo y | "%s" extpack install --replace "%s"' % (app_vbm,ext))
        except:
            run('"%s" extpack cleanup '  % (app_vbm))
            run('echo y | "%s" extpack install --replace "%s"' % (app_vbm,ext))

    # Disable update check
    run('"%s" setextradata global GUI/UpdateDate never' % app_vbm)

	# Return used storage of the program. (place it on the bottom)
    get_disk_free_space_after = get_disk_free_space(programfiles)
    free_space_after_diff = get_disk_free_space_before - get_disk_free_space_after
    print("Storage used: " + str(free_space_after_diff))


def uninstall():
    if isdir(app_install_path):
        remove_tree(app_install_path)


def update_package():
    print('Download/Update package content from upstream binary sources')

    # Getting proxy informations from WAPT settings
    proxy = {}
    if platform.system()=='Windows' and isfile(makepath(user_local_appdata(),'waptconsole','waptconsole.ini')):
        proxywapt = inifile_readstring(makepath(user_local_appdata(),'waptconsole','waptconsole.ini'),'global','http_proxy')
        if proxywapt :
            proxy = {'http':proxywapt,'https':proxywapt}

    # Specific app values
    app_name = control.name
    url = control.sources

    # Getting latest version from official website
    page = requests.get(url,headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'}).text
    bs = BeautifulSoup.BeautifulSoup(page)
    #bs = BeautifulSoup.BeautifulSoup(page,features="html.parser") # For bs4 only
    bs_raw_string = bs.find('a',{'class':'ext-link'})
    url_dl = bs_raw_string['href']
    real_latest_bin = url_dl.split('/')[-1]
    version = real_latest_bin.split('-')[1]
    latest_bin = bin_name_string % version
    latest_bin_ext = bin_ext_name_string % version
    url_dl_ext = url_dl.replace(real_latest_bin,latest_bin_ext)

    print('Latest ' + app_name + ' version is: ' + version)
    print('Download url is: ' + url_dl)
    print('Download url for the Extension Pack is: ' + url_dl_ext)

    # Downloading latest binaries
    if not isfile(latest_bin):
        print('Downloading: ' + latest_bin)
        wget(url_dl,latest_bin,proxies=proxy)

    if not isfile(latest_bin_ext):
        print('Downloading: ' + latest_bin_ext)
        wget(url_dl_ext,latest_bin_ext,proxies=proxy)

		# Change version of the package
        print('Writing ' + version + '-0 in WAPT\\control')
        pe = PackageEntry()
        pe.load_control_from_wapt(os.getcwd())

        pe.version = version + '-0'
        pe.save_control_to_wapt(os.getcwd())
        print('Update package done. You can now build-upload your package')
    else:
        print('This package is already up-to-date')

    # Deleting outdated binaries
    for bin_in_dir in glob.glob('*.exe') or glob.glob('*.msi'):
        if bin_in_dir != latest_bin :
            print('Outdated binary: ' + bin_in_dir + ' Deleted')
            remove_file(bin_in_dir)
    for ext_in_dir in glob.glob('*.vbox-extpack'):
        if ext_in_dir != latest_bin_ext :
            print('Outdated binary: ' + ext_in_dir + ' Deleted')
            remove_file(ext_in_dir)



										

  Changelog 



Changelog software url : https://www.virtualbox.org/wiki/Changelog



No changelog.txt.
									
  manifest.sha256