gateone: Updated to version 1.2

This new version of Gate One uses a new configuration file format which
means the old server.conf is gone.  It now stores configuration files in
/etc/gateone/conf.d.  The /opt/gateone directory is also gone and
instead the package installs like a regular Python module in
site-packages.  SSL certificates/keys are stored in /etc/gateone/ssl/.

The new version requires python-tornado 3.1.1 (which was submitted
earlier today) and the python-futures package (which was also submitted
today).

An 80oe.conf file has been added specific to OpenEmbedded that replaces
the old pre-configured server.conf functionality.

The old patch that removes the init script checks has been deprecated by
the use of the --skip_init_scripts option which is now being passed to
setup.py.

Lastly, Gate One 1.2 is about twice as fast (benchmarked) as Gate One
1.1 on the Beaglebone platform.

Signed-off-by: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Dan McDougall 2014-05-03 11:19:23 +02:00 committed by Martin Jansa
parent 55b09e522c
commit 25ca3cf168
5 changed files with 77 additions and 21 deletions

View File

@ -0,0 +1,26 @@
From d811d3bdf06d78c93c48bef762c19c392c879077 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Tue, 26 Nov 2013 15:54:10 +0100
Subject: [PATCH] configuration.py: Hack around broken gethostname thingy
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
gateone/core/configuration.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gateone/core/configuration.py b/gateone/core/configuration.py
index da41cbd..d1c8222 100644
--- a/gateone/core/configuration.py
+++ b/gateone/core/configuration.py
@@ -162,7 +162,7 @@ def define_options(installed=True):
]
# Used both http and https above to demonstrate that both are acceptable
try:
- additional_origins = socket.gethostbyname_ex(socket.gethostname())
+ additional_origins = [] # additional_origins = socket.gethostbyname_ex(socket.gethostname())
except socket.gaierror:
# Couldn't get any IPs from the hostname
additional_origins = []
--
1.8.4.2

View File

@ -0,0 +1,23 @@
// Some custom Gate One settings for OpenEmbedded
{
"*": {
"gateone": { // These settings apply to all of Gate One
"log_file_max_size": 5242880, // 5 megabyte logs for OE by default (default would normally be 100Mb)
"log_file_num_backups": 2, // Default is normally 10
"origins": ["*"], // Every device has a unique origin
"logging": "info",
"pid_file": "/var/run/gateone.pid",
"session_dir": "/tmp/gateone",
"user_dir": "/var/lib/gateone/users"
},
"terminal": {
// Disabling session logging for embedded devices is a good idea (limited/slow storage)
"session_logging": false,
"syslog_session_logging": false
// "commands": {
// // For some reason this doesn't work (never asks for the password)
// "login": "setsid /bin/login" // Normally this would emulate logging into the host console
// }
}
}
}

View File

@ -4,7 +4,7 @@ ConditionPathExists=|/var/lib/gateone
[Service]
WorkingDirectory=/var/lib/gateone
ExecStart=/usr/bin/python gateone.py
ExecStart=/usr/bin/python /usr/bin/gateone
[Install]
WantedBy=multi-user.target

View File

@ -1,5 +0,0 @@
session_logging = False
origins = "*"
command = "/var/lib/gateone/plugins/ssh/scripts/ssh_connect.py -S '/tmp/gateone/%SESSION%/%SHORT_SOCKET%' --sshfp -a '-oUserKnownHostsFile=%USERDIR%/%USER%/ssh/known_hosts'"
log_file_prefix = "/var/log/gateone.log"

View File

@ -1,14 +1,14 @@
SUMMARY = "HTML5 (plugin-free) web-based terminal emulator and SSH client"
LICENSE = "AGPL-3.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ee5b168fc7de89a0cadc49e27830aa2c"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=834cbc6995db88433db17cdf8953a428"
HOMEPAGE = "http://liftoffsoftware.com/Products/GateOne"
PR = "r13"
PV = "1.1"
SRCREV = "ea5db3dcb3bbbe445ae6d1a5611c1f8d547c57b9"
PV = "1.2"
SRCREV = "1528d324088fc1c180b7fdf50f5b5c1af057eef6"
SRC_URI = "git://github.com/liftoff/GateOne.git \
file://0001-configuration.py-Hack-around-broken-gethostname-thin.patch \
file://gateone-avahi.service \
file://server.conf \
file://80oe.conf \
file://gateone.service \
file://gateone-init \
"
@ -16,33 +16,44 @@ SRC_URI = "git://github.com/liftoff/GateOne.git \
S = "${WORKDIR}/git"
inherit distutils python-dir systemd update-rc.d
export prefix = "${localstatedir}"
export prefix = "${localstatedir}/lib"
DISTUTILS_INSTALL_ARGS = "--root=${D} \
--prefix=${prefix} \
--install-lib=${PYTHON_SITEPACKAGES_DIR} \
--install-data=${PYTHON_SITEPACKAGES_DIR} \
--install-scripts=${bindir} \
--skip_init_scripts"
do_install_append() {
install -d ${D}${localstatedir}/log/${BPN}
install -m 0755 -d ${D}${sysconfdir}/avahi/services/
install -m 0644 ${WORKDIR}/gateone-avahi.service ${D}${sysconfdir}/avahi/services/
install -m 0644 ${WORKDIR}/server.conf ${D}/var/lib/gateone/server.conf
# fix up hardcoded paths
sed -i -e s:/usr/bin:${bindir}:g ${WORKDIR}/gateone.service
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/gateone.service ${D}${systemd_unitdir}/system
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/gateone-init ${D}${sysconfdir}/init.d/gateone
install -m 0755 -d ${D}${sysconfdir}/avahi/services/
install -m 0644 ${WORKDIR}/gateone-avahi.service ${D}${sysconfdir}/avahi/services/
install -m 0755 -d ${D}${sysconfdir}/gateone/conf.d/
install -m 0644 ${WORKDIR}/80oe.conf ${D}${sysconfdir}/gateone/conf.d/80oe.conf
install -d ${D}${localstatedir}/lib/gateone
}
FILES_${PN} = "${localstatedir}/lib ${localstatedir}/log ${localstatedir}/volatile/log ${base_libdir} ${sysconfdir} ${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS_${PN} = "file \
mime-support \
FILES_${PN} = "${localstatedir}/lib ${bindir} ${base_libdir} ${sysconfdir} ${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS_${PN} = "mime-support \
openssh-ssh \
python-compression \
python-crypt \
python-datetime \
python-email \
python-fcntl \
python-futures \
python-html \
python-imaging \
python-io \
@ -55,6 +66,7 @@ RDEPENDS_${PN} = "file \
python-pyopenssl \
python-re \
python-readline \
python-setuptools \
python-shell \
python-simplejson \
python-subprocess \