[pve-devel] [PATCH pve-manager] update build infrastucture to be able to develop with Ext6
Emmanuel Kasper
e.kasper at proxmox.com
Tue Nov 10 14:36:09 CET 2015
---
PVE/ExtJSIndex6.pm | 263 ++++++++++++++++++++++++++++++++++++++++++++++++
PVE/Makefile | 2 +-
PVE/Service/pveproxy.pm | 22 ++--
defines.mk | 2 +-
www/Makefile | 2 +-
www/ext6/Makefile | 40 ++++++++
www/manager5/Readme.md | 21 ++--
7 files changed, 327 insertions(+), 25 deletions(-)
create mode 100644 PVE/ExtJSIndex6.pm
create mode 100644 www/ext6/Makefile
diff --git a/PVE/ExtJSIndex6.pm b/PVE/ExtJSIndex6.pm
new file mode 100644
index 0000000..f7449c8
--- /dev/null
+++ b/PVE/ExtJSIndex6.pm
@@ -0,0 +1,263 @@
+package PVE::ExtJSIndex6;
+
+use strict;
+use warnings;
+
+sub get_index {
+ my ($lang, $username, $csrftoken, $console) = @_;
+
+ my $page = <<_EOD;
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>Proxmox Virtual Environment</title>
+ <link rel="stylesheet" type="text/css" href="/pve2/ext6/theme-neptune/resources/theme-neptune-all.css" />
+ <link rel="stylesheet" type="text/css" href="/pve2/css/ext-pve.css" />
+_EOD
+
+ my $langfile = "/usr/share/pve-manager/locale/pve-lang-${lang}.js";
+ if (-f $langfile) {
+ $page .= "<script type='text/javascript' src='/pve2/locale/pve-lang-${lang}.js'></script>";
+ } else {
+ $page .= '<script type="text/javascript">function gettext(buf) { return buf; }</script>';
+ }
+
+ $page .= <<_EOD;
+ <script type="text/javascript" src="/pve2/ext6/ext-all-debug.js"></script>
+
+ <script type="text/javascript" src="/pve2/manager6/Utils.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/Toolkit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/Parser.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/StateProvider.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/button/Button.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/button/ConsoleButton.js"></script>
+<!--
+ <script type="text/javascript" src="/pve2/manager6/qemu/SendKeyMenu.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/CmdMenu.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/TemplateMenu.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/lxc/CmdMenu.js"></script>
+-->
+ <script type="text/javascript" src="/pve2/manager6/VNCConsole.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/data/TimezoneStore.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/data/reader/JsonObject.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/data/PVEProxy.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/data/UpdateQueue.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/data/UpdateStore.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/data/DiffStore.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/data/ObjectStore.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/data/ResourceStore.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/VLanField.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/Checkbox.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/TextField.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/RRDTypeSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/ComboGrid.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/KVComboBox.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/Boolean.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/CompressionSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/PoolSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/GroupSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/UserSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/RoleSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/VMIDSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/MemoryField.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/NetworkCardSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/DiskFormatSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/BusTypeSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/ControllerSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/EmailNotificationSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/RealmComboBox.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/BondModeSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/ViewSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/NodeSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/FileSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/StorageSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/BridgeSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/SecurityGroupSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/IPRefSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/IPProtocolSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/CPUModelSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/VNCKeyboardSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/LanguageSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/DisplaySelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/CacheTypeSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/SnapshotSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/ContentTypeSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/HotplugFeatureSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/iScsiProviderSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/DayOfWeekSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/BackupModeSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/ScsiHwSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/form/FirewallPolicySelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/Tasks.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/Log.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/panel/StatusPanel.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/panel/RRDView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/panel/InputPanel.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/window/Edit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/window/LoginWindow.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/window/TaskViewer.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/window/Wizard.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/window/NotesEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/window/Backup.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/window/Restore.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/panel/NotesView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/grid/CheckColumn.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/grid/SelectFeature.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/grid/ObjectGrid.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/grid/PendingObjectGrid.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/grid/ResourceGrid.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/grid/PoolMembers.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/grid/FirewallRules.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/grid/FirewallAliases.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/grid/FirewallOptions.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/tree/ResourceTree.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/panel/IPSet.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/panel/ConfigPanel.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/panel/SubConfigPanel.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/grid/BackupView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/panel/LogView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/panel/Firewall.js"></script>
+<!--
+ <script type="text/javascript" src="/pve2/manager6/ceph/Pool.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ceph/OSD.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ceph/Disks.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ceph/Monitor.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ceph/Crush.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ceph/Status.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ceph/Config.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/DNSEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/DNSView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/TimeView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/TimeEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/StatusView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/Summary.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/ServiceView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/NetworkEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/NetworkView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/Tasks.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/Subscription.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/APT.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/node/Config.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/StatusView.js"></script>
+-->
+ <script type="text/javascript" src="/pve2/manager6/window/Migrate.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/window/MigrateAll.js"></script>
+<!--
+ <script type="text/javascript" src="/pve2/manager6/qemu/Monitor.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/Summary.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/OSTypeEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/ProcessorEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/BootOrderEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/MemoryEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/NetworkEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/Smbios1Edit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/CDEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/HDEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/HDResize.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/HDMove.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/HDThrottle.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/CPUOptions.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/DisplayEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/KeyboardEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/HardwareView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/StartupEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/ScsiHwEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/Options.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/Snapshot.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/Clone.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/SnapshotTree.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/Config.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/qemu/CreateWizard.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/lxc/StatusView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/lxc/Summary.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/lxc/Network.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/lxc/Resources.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/lxc/Options.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/lxc/DNS.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/lxc/Config.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/lxc/CreateWizard.js"></script>
+-->
+ <script type="text/javascript" src="/pve2/manager6/pool/StatusView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/pool/Summary.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/pool/Config.js"></script>
+<!--
+ <script type="text/javascript" src="/pve2/manager6/storage/ContentView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/StatusView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/Summary.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/Browser.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/DirEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/NFSEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/GlusterFsEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/IScsiEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/LVMEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/RBDEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/SheepdogEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/ZFSEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/storage/ZFSPoolEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ha/StatusView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ha/GroupSelector.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ha/ResourceEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ha/Resources.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ha/GroupEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ha/Groups.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ha/Fencing.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/ha/Config.js"></script>
+-->
+ <script type="text/javascript" src="/pve2/manager6/dc/Summary.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/OptionView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/StorageView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/UserEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/UserView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/PoolView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/PoolEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/GroupView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/GroupEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/RoleView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/ACLView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/AuthView.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/AuthEdit.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/Backup.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/Support.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/SecurityGroups.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/dc/Config.js"></script>
+ <script type="text/javascript" src="/pve2/manager6/Workspace.js"></script>
+_EOD
+
+ my $jssrc = <<_EOJS;
+if (typeof(PVE) === 'undefined') PVE = {};
+PVE.UserName = '$username'
+PVE.CSRFPreventionToken = '$csrftoken';
+_EOJS
+
+ my $workspace = defined($console) ?
+ "PVE.ConsoleWorkspace" : "PVE.StdWorkspace";
+
+ $jssrc .= <<_EOJS;
+// we need this (the java applet ignores the zindex)
+Ext.useShims = true;
+Ext.History.fieldid = 'x-history-field';
+Ext.onReady(function() {
+ console.log(Ext.getVersion().version);
+ Ext.create('$workspace');
+});
+_EOJS
+
+ $page .= <<_EOD;
+ <script type="text/javascript">$jssrc</script>
+
+ </head>
+ <body>
+ <!-- Fields required for history management -->
+ <form id="history-form" class="x-hidden">
+ <input type="hidden" id="x-history-field"/>
+ </form>
+ </body>
+</html>
+_EOD
+
+ return $page;
+
+}
+
+1;
diff --git a/PVE/Makefile b/PVE/Makefile
index 5472580..4a85901 100644
--- a/PVE/Makefile
+++ b/PVE/Makefile
@@ -7,7 +7,7 @@ PERLSOURCE = \
API2Tools.pm \
API2Client.pm \
ExtJSIndex.pm \
- ExtJSIndex5.pm \
+ ExtJSIndex6.pm \
TouchIndex.pm \
NoVncIndex.pm \
HTTPServer.pm \
diff --git a/PVE/Service/pveproxy.pm b/PVE/Service/pveproxy.pm
index 16edad1..5be7488 100755
--- a/PVE/Service/pveproxy.pm
+++ b/PVE/Service/pveproxy.pm
@@ -18,7 +18,7 @@ use PVE::API2::Formatter::HTML;
use PVE::HTTPServer;
use PVE::ExtJSIndex;
-use PVE::ExtJSIndex5;
+use PVE::ExtJSIndex6;
use PVE::NoVncIndex;
use PVE::TouchIndex;
@@ -40,7 +40,7 @@ my %daemon_options = (
my $daemon = __PACKAGE__->new('pveproxy', $cmdline, %daemon_options);
-my $ext5_dir_exists;
+my $ext6_dir_exists;
sub add_dirs {
my ($result_hash, $alias, $subdir) = @_;
@@ -72,7 +72,7 @@ sub init {
my $family = PVE::Tools::get_host_address_family($self->{nodename});
my $socket = $self->create_reusable_socket(8006, undef, $family);
- $ext5_dir_exists = (-d '/usr/share/pve-manager/ext5');
+ $ext6_dir_exists = (-d '/usr/share/pve-manager/ext6');
my $dirs = {};
@@ -80,9 +80,9 @@ sub init {
add_dirs($dirs, '/pve2/touch/', '/usr/share/pve-manager/touch/');
add_dirs($dirs, '/pve2/ext4/', '/usr/share/pve-manager/ext4/');
- if ($ext5_dir_exists) { # only add ext5 dirs if it was build
- add_dirs($dirs, '/pve2/ext5/', '/usr/share/pve-manager/ext5/');
- add_dirs($dirs, '/pve2/manager5/', '/usr/share/pve-manager/manager5/');
+ if ($ext6_dir_exists) { # only add ext6 dirs if they exist
+ add_dirs($dirs, '/pve2/ext6/', '/usr/share/pve-manager/ext6/');
+ add_dirs($dirs, '/pve2/manager6/', '/usr/share/pve-manager/manager6/');
}
add_dirs($dirs, '/pve2/images/' => '/usr/share/pve-manager/images/');
@@ -191,9 +191,9 @@ sub get_index {
$mobile = $args->{mobile} ? 1 : 0;
}
- my $ext5;
- if (defined($args->{ext5})) {
- $ext5 = $args->{ext5} ? 1 : 0;
+ my $ext6;
+ if (defined($args->{ext6})) {
+ $ext6 = $args->{ext6} ? 1 : 0;
}
my $page;
@@ -202,8 +202,8 @@ sub get_index {
$page = PVE::NoVncIndex::get_index($lang, $username, $token, $args->{console});
} elsif ($mobile) {
$page = PVE::TouchIndex::get_index($lang, $username, $token, $args->{console});
- } elsif ($ext5 && $ext5_dir_exists) {
- $page = PVE::ExtJSIndex5::get_index($lang, $username, $token, $args->{console});
+ } elsif ($ext6 && $ext6_dir_exists) {
+ $page = PVE::ExtJSIndex6::get_index($lang, $username, $token, $args->{console});
} else {
$page = PVE::ExtJSIndex::get_index($lang, $username, $token, $args->{console});
}
diff --git a/defines.mk b/defines.mk
index bea4155..c7c75fa 100644
--- a/defines.mk
+++ b/defines.mk
@@ -20,7 +20,7 @@ WWWROOTDIR=${WWWBASEDIR}/root
WWWLOCALEDIR=${WWWBASEDIR}/locale
WWWIMAGEDIR=${WWWBASEDIR}/images
WWWEXT4DIR=${WWWBASEDIR}/ext4
-WWWEXT5DIR=${WWWBASEDIR}/ext5
+WWWEXT6DIR=${WWWBASEDIR}/ext6
WWWTOUCHDIR=${WWWBASEDIR}/touch
WWWCSSDIR=${WWWBASEDIR}/css
WWWJSDIR=${WWWBASEDIR}/js
diff --git a/www/Makefile b/www/Makefile
index 6f0c8d4..1f265a8 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1,4 +1,4 @@
-# Note: please add ext5 for extJS 5 development
+# Note: please add ext6 for extJS 6 development
SUBDIRS = images ext4 css manager bootstrap touch mobile
all: ${SUBDIRS}
diff --git a/www/ext6/Makefile b/www/ext6/Makefile
new file mode 100644
index 0000000..7c09898
--- /dev/null
+++ b/www/ext6/Makefile
@@ -0,0 +1,40 @@
+include ../../defines.mk
+
+EXTJSDIR=ext-6.0.0
+EXTJSSRC=${EXTJSDIR}-gpl.zip
+
+EXTDATA= \
+ extjs/build/ext-all.js \
+ extjs/build/ext-all-debug.js
+
+EXT_THEME= \
+ extjs/build/classic/theme-classic \
+ extjs/build/classic/theme-neptune \
+
+${EXTDATA}: ${EXTJSSRC}
+ rm -rf ${EXTJSDIR} extjs
+ unzip -x ${EXTJSSRC}
+ mv ${EXTJSDIR} extjs
+ touch ${EXTDATA}
+
+${EXTJSSRC}:
+ wget http://cdn.sencha.com/ext/gpl/ext-6.0.0-gpl.zip
+
+all: ${EXTDATA}
+
+.PHONY: install
+install: ${EXTDATA}
+ install -d ${WWWEXT6DIR}
+ install -m 0644 ${EXTDATA} ${WWWEXT6DIR}
+ install -d ${WWWEXT6DIR}
+ cp -a extjs/build/classic/locale ${WWWEXT6DIR}
+ cp -a ${EXT_THEME} ${WWWEXT6DIR}
+ chown -R www-data:www-data ${WWWEXT6DIR}
+
+.PHONY: distclean
+distclean: clean
+
+.PHONY: clean
+clean:
+ rm -rf *~ ${EXTJSDIR} extjs
+
diff --git a/www/manager5/Readme.md b/www/manager5/Readme.md
index 87e00c3..1c1ccf9 100644
--- a/www/manager5/Readme.md
+++ b/www/manager5/Readme.md
@@ -1,22 +1,21 @@
-pveproxy with ExtJS 5 developpement mini howto
+pveproxy with ExtJS 6 developpement mini howto
==============================================
-unpack the ExtJS 5 sources, and copy them to /usr/share/pve-manager/ext5
+unpack the ExtJS 6 sources, and copy them to /usr/share/pve-manager/ext6
- cd www/ext5/
+ cd www/ext6/
make install
-symlink the to our ext5 compatible javascript code
+symlink the ext6 dir in pve-manager to the manager5 directory
cd /usr/share/pve-manager
- ln -s PATH_TO_YOUR_GIT_REPO/www/manager5
+ ln -s PATH_TO_YOUR_GIT_REPO/www/manager5 #this is not a typo
-access the PVE proxy with ExtJS 5
+access the PVE proxy with ExtJS 6
- https://localhost:8006/?ext5=1
+ https://localhost:8006/?ext6=1
-With the extra parameter **ext5=1**, pve-proxy will call the function **PVE::ExtJSIndex5::get_index()**
-which returns a HTML page, with all javascript files included.
-Provided you included the javascript in **PVE/ExtJSIndex5.pm**, a simple browser refresh is then enough
-to see your changes.
+With the extra parameter **ext6=1**, pve-proxy will call the function **PVE::ExtJSIndex6::get_index()**
+which returns a HTML page, with all javascript symlinked from your git repository.
+Provided you included the javascript files in **PVE/ExtJSIndex5.pm**, after editing a file in the git repository, a simple refresh is enough to see your changes in the browser.
--
2.1.4
More information about the pve-devel
mailing list