From owner-svn-ports-all@freebsd.org Thu Jul 27 15:21:33 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0CC95DCD5D4; Thu, 27 Jul 2017 15:21:33 +0000 (UTC) (envelope-from decke@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AA3867E2FC; Thu, 27 Jul 2017 15:21:32 +0000 (UTC) (envelope-from decke@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6RFLWMK038184; Thu, 27 Jul 2017 15:21:32 GMT (envelope-from decke@FreeBSD.org) Received: (from decke@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6RFLVO5038177; Thu, 27 Jul 2017 15:21:31 GMT (envelope-from decke@FreeBSD.org) Message-Id: <201707271521.v6RFLVO5038177@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: decke set sender to decke@FreeBSD.org using -f From: Bernhard Froehlich Date: Thu, 27 Jul 2017 15:21:31 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r446746 - in head/www/phpvirtualbox: . files X-SVN-Group: ports-head X-SVN-Commit-Author: decke X-SVN-Commit-Paths: in head/www/phpvirtualbox: . files X-SVN-Commit-Revision: 446746 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Jul 2017 15:21:33 -0000 Author: decke Date: Thu Jul 27 15:21:31 2017 New Revision: 446746 URL: https://svnweb.freebsd.org/changeset/ports/446746 Log: - Update to an unofficial 5.1-1 which supports VirtualBox 5.1 Sadly upstream is very silent and has not released a new version which supports VirtualBox 5.1, supports PHP 7.1 or fixes bugs. In the meantime the community has created patches which are collected in the github projects bugtracker and pull requests. This unofficial version cherry picks the useful stuff of it. Highlights of unofficial phpvirtualbox 5.1-1: * based on git commit 65ebced (latest commit from May 19, 2016) * Patch to support Virtualbox 5.1 https://github.com/phpvirtualbox/phpvirtualbox/pull/22 * Fix argument count mismatches revealed by PHP 7.1 https://github.com/phpvirtualbox/phpvirtualbox/pull/24 * Make decryption of images/VMs work by not providing a password ID https://github.com/phpvirtualbox/phpvirtualbox/pull/55 * Tried to make clearOnSuspend work https://github.com/phpvirtualbox/phpvirtualbox/pull/57 PR: ports/220171 Submitted By: rozhuk.im With hat: vbox@ (kind of) Added: head/www/phpvirtualbox/files/ head/www/phpvirtualbox/files/patch-endpoints_lib_config.php (contents, props changed) head/www/phpvirtualbox/files/patch-endpoints_lib_vboxServiceWrappers.php (contents, props changed) head/www/phpvirtualbox/files/patch-endpoints_lib_vboxconnector.php (contents, props changed) head/www/phpvirtualbox/files/patch-endpoints_lib_vboxweb-5.1.wsdl (contents, props changed) head/www/phpvirtualbox/files/patch-endpoints_lib_vboxwebService-5.1.wsdl (contents, props changed) head/www/phpvirtualbox/files/patch-panes_mediumEncryptionPasswords.html (contents, props changed) Modified: head/www/phpvirtualbox/Makefile head/www/phpvirtualbox/distinfo head/www/phpvirtualbox/pkg-plist Modified: head/www/phpvirtualbox/Makefile ============================================================================== --- head/www/phpvirtualbox/Makefile Thu Jul 27 15:11:50 2017 (r446745) +++ head/www/phpvirtualbox/Makefile Thu Jul 27 15:21:31 2017 (r446746) @@ -2,9 +2,8 @@ # $FreeBSD$ PORTNAME= phpvirtualbox -DISTVERSION= 5.0-5 +DISTVERSION= 5.1-1 CATEGORIES= www -MASTER_SITES= SF/${PORTNAME} MAINTAINER= vbox@FreeBSD.org COMMENT= AJAX Web Interface for VirtualBox @@ -13,11 +12,18 @@ LICENSE= GPLv3 NO_ARCH= yes NO_BUILD= yes +USES= dos2unix php USE_PHP= json session simplexml soap xml -USES= dos2unix php zip +USE_GITHUB= yes +GH_TAGNAME= 65ebced + DOS2UNIX_REGEX= .*\.(php|txt|js|css|html) ETCDIR= ${WWWDIR} + +post-patch: + @${MV} ${WRKSRC}/endpoints/lib/vboxweb-5.0.wsdl ${WRKSRC}/endpoints/lib/vboxweb-5.1.wsdl + @${MV} ${WRKSRC}/endpoints/lib/vboxwebService-5.0.wsdl ${WRKSRC}/endpoints/lib/vboxwebService-5.1.wsdl do-install: ${MKDIR} ${STAGEDIR}${WWWDIR} Modified: head/www/phpvirtualbox/distinfo ============================================================================== --- head/www/phpvirtualbox/distinfo Thu Jul 27 15:11:50 2017 (r446745) +++ head/www/phpvirtualbox/distinfo Thu Jul 27 15:21:31 2017 (r446746) @@ -1,2 +1,3 @@ -SHA256 (phpvirtualbox-5.0-5.zip) = c80c423fda30e5795872c9b9adc68429deee5726e468729472a573c324303c05 -SIZE (phpvirtualbox-5.0-5.zip) = 4093766 +TIMESTAMP = 1501174865 +SHA256 (phpvirtualbox-phpvirtualbox-5.1-1-65ebced_GH0.tar.gz) = d7b36c84aa2cf8be650f6da74860a4af4abf17bd878590e31fd948f45ed51753 +SIZE (phpvirtualbox-phpvirtualbox-5.1-1-65ebced_GH0.tar.gz) = 3716806 Added: head/www/phpvirtualbox/files/patch-endpoints_lib_config.php ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/phpvirtualbox/files/patch-endpoints_lib_config.php Thu Jul 27 15:21:31 2017 (r446746) @@ -0,0 +1,11 @@ +--- endpoints/lib/config.php.orig 2017-07-27 16:54:58 UTC ++++ endpoints/lib/config.php +@@ -14,7 +14,7 @@ + /* + * This version of phpVirtualBox + */ +-define('PHPVBOX_VER', '5.0-6'); ++define('PHPVBOX_VER', '5.1-1'); + + class phpVBoxConfigClass { + Added: head/www/phpvirtualbox/files/patch-endpoints_lib_vboxServiceWrappers.php ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/phpvirtualbox/files/patch-endpoints_lib_vboxServiceWrappers.php Thu Jul 27 15:21:31 2017 (r446746) @@ -0,0 +1,13 @@ +--- endpoints/lib/vboxServiceWrappers.php.orig 2017-07-27 16:54:58 UTC ++++ endpoints/lib/vboxServiceWrappers.php +@@ -7889,6 +7889,10 @@ class IMedium extends VBox_ManagedObject + + public function changeEncryption($arg_currentPassword, $arg_cipher, $arg_newPassword, $arg_newPasswordId) + { ++ // No password ID in case of decryption and de-/encryption are both handled here. ++ $isDecryption = ($arg_cipher == '') && ($arg_newPassword == ''); ++ $arg_newPasswordId = $isDecryption ? '' : $arg_newPasswordId; ++ + $request = new stdClass(); + $request->_this = $this->handle; + $request->currentPassword = $arg_currentPassword; Added: head/www/phpvirtualbox/files/patch-endpoints_lib_vboxconnector.php ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/phpvirtualbox/files/patch-endpoints_lib_vboxconnector.php Thu Jul 27 15:21:31 2017 (r446746) @@ -0,0 +1,209 @@ +--- endpoints/lib/vboxconnector.php.orig 2017-07-27 16:54:58 UTC ++++ endpoints/lib/vboxconnector.php +@@ -1126,7 +1126,7 @@ class vboxconnector { + // Try to register medium. + foreach($checks as $iso) { + try { +- $gem = $this->vbox->openMedium($iso,'DVD','ReadOnly'); ++ $gem = $this->vbox->openMedium($iso,'DVD','ReadOnly',null); + break; + } catch (Exception $e) { + // Ignore +@@ -1358,7 +1358,7 @@ class vboxconnector { + $src = $nsrc->machine; + } + /* @var $m IMachine */ +- $m = $this->vbox->createMachine($this->vbox->composeMachineFilename($args['name'],null,null),$args['name'],null,null,null,false); ++ $m = $this->vbox->createMachine($this->vbox->composeMachineFilename($args['name'],null,null,null),$args['name'],null,null,null,false); + $sfpath = $m->settingsFilePath; + + /* @var $cm CloneMode */ +@@ -1522,7 +1522,7 @@ class vboxconnector { + $md->releaseRemote(); + } + } else { +- $med = $this->vbox->openMedium($ma['medium']['location'],$ma['type']); ++ $med = $this->vbox->openMedium($ma['medium']['location'],$ma['type'],null,null); + } + } else { + $med = null; +@@ -1591,7 +1591,7 @@ class vboxconnector { + if($state != 'Saved') { + + // Network properties +- $eprops = $n->getProperties(); ++ $eprops = $n->getProperties(null); + $eprops = array_combine($eprops[1],$eprops[0]); + $iprops = array_map(create_function('$a','$b=explode("=",$a); return array($b[0]=>$b[1]);'),preg_split('/[\r|\n]+/',$args['networkAdapters'][$i]['properties'])); + $inprops = array(); +@@ -2028,7 +2028,7 @@ class vboxconnector { + } + } else { + /* @var $med IMedium */ +- $med = $this->vbox->openMedium($ma['medium']['location'],$ma['type']); ++ $med = $this->vbox->openMedium($ma['medium']['location'],$ma['type'],null,null); + } + } else { + $med = null; +@@ -2111,7 +2111,7 @@ class vboxconnector { + */ + + // Network properties +- $eprops = $n->getProperties(); ++ $eprops = $n->getProperties(null); + $eprops = array_combine($eprops[1],$eprops[0]); + $iprops = array_map(create_function('$a','$b=explode("=",$a); return array($b[0]=>$b[1]);'),preg_split('/[\r|\n]+/',$args['networkAdapters'][$i]['properties'])); + $inprops = array(); +@@ -2519,7 +2519,7 @@ class vboxconnector { + */ + public function remote_vboxGetEnumerationMap($args) { + +- $c = new $args['class']; ++ $c = new $args['class'](null,null); + return (@isset($args['ValueMap']) ? $c->ValueMap : $c->NameMap); + } + +@@ -3697,7 +3697,7 @@ class vboxconnector { + $hds = array(); + $delete = $machine->unregister('DetachAllReturnHardDisksOnly'); + foreach($delete as $hd) { +- $hds[] = $this->vbox->openMedium($hd->location,'HardDisk')->handle; ++ $hds[] = $this->vbox->openMedium($hd->location,'HardDisk',null,null)->handle; + } + + /* @var $progress IProgress */ +@@ -3772,7 +3772,7 @@ class vboxconnector { + $args['name'] = $_SESSION['user'] . '_' . $args['name']; + + /* Check if file exists */ +- $filename = $this->vbox->composeMachineFilename($args['name'],($this->settings->phpVboxGroups ? '' : $args['group']),$this->vbox->systemProperties->defaultMachineFolder); ++ $filename = $this->vbox->composeMachineFilename($args['name'],($this->settings->phpVboxGroups ? '' : $args['group']),$this->vbox->systemProperties->defaultMachineFolder,null); + + if($this->remote_fileExists(array('file'=>$filename))) { + return array('exists' => $filename); +@@ -3874,7 +3874,7 @@ class vboxconnector { + + $sc->releaseRemote(); + +- $m = $this->vbox->openMedium($args['disk'],'HardDisk'); ++ $m = $this->vbox->openMedium($args['disk'],'HardDisk',null,null); + + $this->session->machine->attachDevice(trans($HDbusType,'UIMachineSettingsStorage'),0,0,'HardDisk',$m->handle); + +@@ -3941,7 +3941,7 @@ class vboxconnector { + if($at == 'NAT') $nd = $n->NATEngine; /* @var $nd INATEngine */ + else $nd = null; + +- $props = $n->getProperties(); ++ $props = $n->getProperties(null); + $props = implode("\n",array_map(create_function('$a,$b','return "$a=$b";'),$props[1],$props[0])); + + $adapters[] = array( +@@ -4381,7 +4381,7 @@ class vboxconnector { + } + + try { +- $this->session->console->addDiskEncryptionPassword($creds['id'], $creds['password'], (bool)@$args['clearOnSuspend']); ++ $this->session->console->addDiskEncryptionPassword($creds['id'], $creds['password'], (bool)$creds['clearOnSuspend']); + $response['accepted'][] = $creds['id']; + } catch (Exception $e) { + $response['failed'][] = $creds['id']; +@@ -4690,7 +4690,7 @@ class vboxconnector { + $machine->lockMachine($this->session->handle, ((string)$machine->sessionState == 'Unlocked' ? 'Write' : 'Shared')); + + /* @var $progress IProgress */ +- list($progress, $snapshotId) = $this->session->machine->takeSnapshot($args['name'], $args['description']); ++ list($progress, $snapshotId) = $this->session->machine->takeSnapshot($args['name'], $args['description'],null); + + // Does an exception exist? + try { +@@ -4853,7 +4853,7 @@ class vboxconnector { + // Connect to vboxwebsrv + $this->connect(); + +- $m = $this->vbox->openMedium($args['medium'],'HardDisk'); ++ $m = $this->vbox->openMedium($args['medium'],'HardDisk',null,null); + + $retval = $m->checkEncryptionPassword($args['password']); + +@@ -4874,7 +4874,7 @@ class vboxconnector { + // Connect to vboxwebsrv + $this->connect(); + +- $m = $this->vbox->openMedium($args['medium'], 'HardDisk', 'ReadWrite'); ++ $m = $this->vbox->openMedium($args['medium'], 'HardDisk', 'ReadWrite',null); + + /* @var $progress IProgress */ + $progress = $m->changeEncryption($args['old_password'], +@@ -4915,7 +4915,7 @@ class vboxconnector { + // Connect to vboxwebsrv + $this->connect(); + +- $m = $this->vbox->openMedium($args['medium'], 'HardDisk'); ++ $m = $this->vbox->openMedium($args['medium'], 'HardDisk',null,null); + + /* @var $progress IProgress */ + $progress = $m->resize($args['bytes']); +@@ -4953,7 +4953,7 @@ class vboxconnector { + $mid = $target->id; + + /* @var $src IMedium */ +- $src = $this->vbox->openMedium($args['src'], 'HardDisk'); ++ $src = $this->vbox->openMedium($args['src'], 'HardDisk',null,null); + + $type = array(($args['type'] == 'fixed' ? 'Fixed' : 'Standard')); + if($args['split']) $type[] = 'VmdkSplit2G'; +@@ -4991,7 +4991,7 @@ class vboxconnector { + $this->connect(); + + /* @var $m IMedium */ +- $m = $this->vbox->openMedium($args['medium'], 'HardDisk'); ++ $m = $this->vbox->openMedium($args['medium'], 'HardDisk',null,null); + $m->type = $args['type']; + $m->releaseRemote(); + +@@ -5074,7 +5074,7 @@ class vboxconnector { + // Connect to vboxwebsrv + $this->connect(); + +- return $this->vbox->composeMachineFilename($args['name'],($this->settings->phpVboxGroups ? '' : $args['group']),$this->vbox->systemProperties->defaultMachineFolder); ++ return $this->vbox->composeMachineFilename($args['name'],($this->settings->phpVboxGroups ? '' : $args['group']),$this->vbox->systemProperties->defaultMachineFolder,null); + + } + +@@ -5129,7 +5129,7 @@ class vboxconnector { + $this->connect(); + + /* @var $m IMedium */ +- $m = $this->vbox->openMedium($args['medium'],$args['type']); ++ $m = $this->vbox->openMedium($args['medium'],$args['type'],null,null); + $mediumid = $m->id; + + // connected to... +@@ -5211,7 +5211,7 @@ class vboxconnector { + if(!$args['type']) $args['type'] = 'HardDisk'; + + /* @var $m IMedium */ +- $m = $this->vbox->openMedium($args['medium'],$args['type']); ++ $m = $this->vbox->openMedium($args['medium'],$args['type'],null,null); + + if($args['delete'] && @$this->settings->deleteOnRemove && (string)$m->deviceType == 'HardDisk') { + +@@ -5380,7 +5380,7 @@ class vboxconnector { + // Normal medium + } else { + /* @var $med IMedium */ +- $med = $this->vbox->openMedium($args['medium']['location'],$args['medium']['deviceType']); ++ $med = $this->vbox->openMedium($args['medium']['location'],$args['medium']['deviceType'],null,null); + } + } + +@@ -5445,7 +5445,7 @@ class vboxconnector { + } + + // For $fixed value +- $mvenum = new MediumVariant(); ++ $mvenum = new MediumVariant(null,null); + $variant = 0; + + foreach($m->variant as $mv) { Added: head/www/phpvirtualbox/files/patch-endpoints_lib_vboxweb-5.1.wsdl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/phpvirtualbox/files/patch-endpoints_lib_vboxweb-5.1.wsdl Thu Jul 27 15:21:31 2017 (r446746) @@ -0,0 +1,2647 @@ +--- endpoints/lib/vboxweb-5.0.wsdl 2017-07-10 13:31:02 UTC ++++ endpoints/lib/vboxweb-5.1.wsdl +@@ -38,6 +38,7 @@ + v1_13: 15 - + v1_14: 16 - + v1_15: 17 - ++ v1_16: 18 - + Future: 99999 - + --> + +@@ -60,6 +61,7 @@ + + + ++ + + + +@@ -156,13 +158,17 @@ + PAE: 1 - + LongMode: 2 - + TripleFaultReset: 3 - ++ APIC: 4 - ++ X2APIC: 5 - + --> + + + + + + ++ ++ + + + ++ ++ ++ ++ ++ ++ ++ + ++ ++ ++ ++ ++ ++ ++ ++ + + + +@@ -1456,6 +1490,8 @@ + + + ++ ++ + + + +@@ -1522,11 +1558,23 @@ + + + + + ++ ++ ++ ++ ++ ++ ++ ++ + + + + + +@@ -1759,6 +1808,7 @@ + + + ++ + + + + + +@@ -1785,6 +1836,7 @@ + + + ++ + + + +@@ -3738,6 +3792,353 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +@@ -3799,6 +4200,21 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +@@ -4240,6 +4656,34 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +@@ -5614,6 +6058,21 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +@@ -6483,6 +6942,62 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +@@ -9289,6 +9804,38 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***