Commit 982732c4 authored by Alain Takoudjou's avatar Alain Takoudjou Committed by Dmitry Blinov

proview-r software

parent ec069ffa
......@@ -382,13 +382,13 @@ environment =
SHELL=/bin/bash
# QT_STYLE_OVERRIDE=gtk2
PKG_CONFIG_PATH=${qt4-qmake:location}/lib/pkgconfig:${gtk-2:location}/lib/pkgconfig:${pango:location}/lib/pkgconfig:${glib:location}/lib/pkgconfig:${cairo:location}/lib/pkgconfig:${pcre:location}/lib/pkgconfig:${pixman:location}/lib/pkgconfig:${fontconfig:location}/lib/pkgconfig:${fontconfig:pkg_config_depends}:${libXext:location}/lib/pkgconfig:${libXext:pkg_config_depends}:${fribidi:location}/lib/pkgconfig:${harfbuzz:location}/lib/pkgconfig:${harfbuzz:pkg_config_depends}:${atk:location}/lib/pkgconfig:${gdk-pixbuf:location}/lib/pkgconfig:${phonon-qt4:location}/lib/pkgconfig:${alsa:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig
LD_LIBRARY_PATH=${alsa:location}/lib:${qt4-qmake:location}/lib:${libdb:location}/lib:${openssl:location}/lib:${gtk-2:location}/lib:${pango:location}/lib:${cairo:location}/lib:${atk:location}/lib:${harfbuzz:location}/lib:${libXext:location}/lib:${gdk-pixbuf:location}/lib:${gettext:location}/lib:${phonon-qt4:location}/lib:${pixman:location}/lib:${zlib:location}/lib:${libpng:location}/lib:${gcc:location}/lib:${gcc:location}/lib64
#${flex:location}/lib:
LD_LIBRARY_PATH=${:ld-library-path}
CXXFLAGS=-I${alsa:location}/include -I${flex:location}/include -I${libdb:location}/include -I${qt4-qmake:location}/include -I${qt4-qmake:location}/include/QtGui
CFLAGS=-I${qt4-qmake:location}/include -I${qt4-qmake:location}/include/QtGui -I${libdb:location}/include
LDFLAGS=-L${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib -L${gcc:location}/lib64 -Wl,-rpath=${gcc:location}/lib64 -L${gettext:location}/lib -L${flex:location}/lib -Wl,-rpath=${flex:location}/lib -L${bison:location}/lib -L${libdb:location}/lib -L${gtk-2:location}/lib -L${zlib:location}/lib
DISPLAY=:99
ld-library-path = ${alsa:location}/lib:${qt4-qmake:location}/lib:${libdb:location}/lib:${openssl:location}/lib:${gtk-2:location}/lib:${pango:location}/lib:${cairo:location}/lib:${atk:location}/lib:${harfbuzz:location}/lib:${libXext:location}/lib:${gdk-pixbuf:location}/lib:${gettext:location}/lib:${phonon-qt4:location}/lib:${pixman:location}/lib:${zlib:location}/lib:${libpng:location}/lib:${gcc:location}/lib:${gcc:location}/lib64
[libvncserver]
recipe = slapos.recipe.cmmi
......
[buildout]
extends =
../../component/flex/buildout.cfg
../../component/bison/buildout.cfg
../../component/qt/buildout.cfg
../../component/gtk-2/buildout.cfg
../../component/alsa/buildout.cfg
../../component/java/buildout.cfg
../../component/qt/buildout.cfg
# ../../component/gcc/buildout.cfg
../../component/git/buildout.cfg
../glib/buildout.cfg
../../component/cmake/buildout.cfg
../libdb/buildout.cfg
../zlib/buildout.cfg
# ../../component/automake/buildout.cfg
parts =
proviewR
[java-jdk]
recipe = hexagonit.recipe.download
url = https://download.java.net/java/GA/jdk12.0.2/e482c34c86bd4bf8b56c0b35558996b9/10/GPL/openjdk-12.0.2_linux-x64_bin.tar.gz
md5sum = f5da6f4dec81bdd2a096184ec1d69216
strip-top-level-dir = true
[doxygen]
recipe = slapos.recipe.cmmi
url = http://doxygen.nl/files/doxygen-1.8.16.src.tar.gz
md5sum = 3ec5f8bfda38a05845161fbbd5d8b439
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command =
mkdir build && cd build && \
${cmake:location}/bin/cmake \
-DCMAKE_INSTALL_PREFIX=${:location} \
-G "Unix Makefiles" ../
make-binary =
cd build && make
environment =
PATH=${git:location}/bin:${cmake:location}/bin:${flex:location}/bin:${bison:location}/bin:%(PATH)s
[make-4]
recipe = slapos.recipe.cmmi
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command =
libtoolize --force
aclocal -I${pkgconfig:location}/share/aclocal -I${gettext:location}/share/aclocal -I${libtool:location}/share/aclocal
autoheader
automake --force-missing --add-missing
autoconf
./configure
url = http://ftp.de.debian.org/debian/pool/main/m/make-dfsg/make-dfsg_4.2.1.orig.tar.gz
make-targets = install
environment =
PATH=${autoconf:location}/bin:${automake:location}/bin:${libtool:location}/bin:${pkgconfig:location}/bin:%(PATH)s
LDFLAGS=-L${gettext:location}/lib
[extra-cmake-modules]
recipe = slapos.recipe.cmmi
url = https://github.com/KDE/extra-cmake-modules/archive/v5.62.0.zip
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command =
mkdir build && cd build && \
${cmake:location}/bin/cmake \
-DCMAKE_INSTALL_PREFIX=${:location} \
-DQt5LinguistTools_DIR=${qt5-qmake:location}/lib/cmake/Qt5LinguistTools \
..
make-binary = cd build && make
environment =
PATH=${qt5-qmake:location}/bin:${qt5-tools:location}/bin:%(PATH)s
[phonon]
recipe = slapos.recipe.cmmi
url = http://download.kde.org/stable/phonon/4.11.1/phonon-4.11.1.tar.xz
md5sum = d3df5ba646e4b3f11623d998caa40e74
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command =
mkdir build && cd build && \
${cmake:location}/bin/cmake \
-DCMAKE_INSTALL_PREFIX=${:location} \
-DCMAKE_BUILD_TYPE=Release \
-DECM_DIR=${extra-cmake-modules:location}/share/ECM/cmake \
-DQt5LinguistTools_DIR=${qt5-qmake:location}/lib/cmake/Qt5LinguistTools \
-DQt5Core_DIR=${qt5-qmake:location}/lib/cmake/Qt5Core \
-DQt5Gui_DIR=${qt5-qmake:location}/lib/cmake/Qt5Gui \
-DQt5Widgets_DIR=${qt5-qmake:location}/lib/cmake/Qt5Widgets \
-DQt5Designer_DIR=${qt5-qmake:location}/lib/cmake/Qt5Designer \
-DGLIB2_LIBRARIES=${glib:location}/lib \
-DGLIB2_MAIN_INCLUDE_DIR=${glib:location}/lib/glib-2.0/include \
..
make-binary = cd build && make
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig:${pcre:location}/lib/pkgconfig:${qt5-qmake:location}/lib/pkgconfig
CPPFLAGS=-I${glib:location}/include/glib-2.0 -I${glib:location}/lib/glib-2.0/include
LDFLAGS=-L${glib:location}/lib -Wl,-rpath=${glib:location}/lib
[phonon-qt4]
<= phonon
url = https://github.com/KDE/phonon/archive/4.10.tar.gz
md5sum = 1c6f5ad1ec3b2943011364acac8e1847
configure-command =
mkdir build && cd build && \
${cmake:location}/bin/cmake \
-DCMAKE_INSTALL_PREFIX=${:location} \
-DCMAKE_BUILD_TYPE=Release \
-DPHONON_BUILD_PHONON4QT5=FALSE \
-DGLIB2_LIBRARIES=${glib:location}/lib \
-DGLIB2_MAIN_INCLUDE_DIR=${glib:location}/lib/glib-2.0/include \
..
make-binary = cd build && make
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig:${pcre:location}/lib/pkgconfig:${qt4-qmake:location}/lib/pkgconfig
CPPFLAGS=-I${glib:location}/include/glib-2.0 -I${glib:location}/lib/glib-2.0/include
LDFLAGS=-L${glib:location}/lib -Wl,-rpath=${glib:location}/lib
[proviewR]
recipe = slapos.recipe.cmmi
url = https://iweb.dl.sourceforge.net/project/proview/proview/proviewr_${:version}/pwrsrc_${:version}.tar.gz
md5sum = 2431b0ffec0de9e2d7b1a984b2e216a2
version = 5.6.1-1
location = ${buildout:parts-directory}/${:_buildout_section_name_}
aroot=${:location}/local/adm
keep-compile-dir = true
incdir = -I${libdb:location}/include -I${qt5-qmake:location}/include
libs = -L${libdb:location}/lib -ldb_cxx-5 -L${gettext:location}/lib -L${alsa:location}/lib
#-L${qt5-qmake:location}/lib -lQt5Widgets
depends = ${qt5-qmake:location}:${qt4-qmake:location}
configure-command =
sed -i "s#aroot=/usr/local/adm#aroot=${:aroot}#" ${:location}__compile__/pwrsrc_${:version}/build.sh
sed -i "s#cflags := -c#cflags := ${:incdir} -c#" ${:location}__compile__/pwrsrc_${:version}/src/tools/bld/src/os_linux/hw_x86_64/variables.mk
sed -i "s#(lib_dir)#(lib_dir) ${:libs}#" ${:location}__compile__/pwrsrc_${:version}/src/tools/bld/src/os_linux/hw_x86_64/variables.mk
sed -i "s#/usr/include/qt4#${qt5-qmake:location}/include#" ${:location}__compile__/pwrsrc_${:version}/src/tools/pwre/src/os_linux/pwre_configure.sh
sed -i "s#/usr/lib/libQtGui.so#${qt5-qmake:location}/lib/libQtGui.so#" ${:location}__compile__/pwrsrc_${:version}/src/tools/pwre/src/os_linux/pwre_configure.sh
sed -i "s#/usr/local/include/gtk-2.0#${gtk-2:location}/include/gtk-2.0#" ${:location}__compile__/pwrsrc_${:version}/src/tools/pwre/src/os_linux/pwre_configure.sh
sed -i "s#/usr/lib/libgtk-x11-2.0.so#${gtk-2:location}/lib/libgtk-x11-2.0.so#" ${:location}__compile__/pwrsrc_${:version}/src/tools/pwre/src/os_linux/pwre_configure.sh
# sed -i "s,#include <QGtkStyle>,class QGtkStyle;," ${:location}__compile__/pwrsrc_${:version}/xtt/lib/cow/qt/cow_style_qt.h
make-targets = install
make-options =
-j1
environment =
PATH=${gcc-8.2:location}/bin:${doxygen:location}/bin:${pkgconfig:location}/bin:${java-jdk:location}/bin:${gtk-2:location}/bin:${flex:location}/bin:${bison:location}/bin:%(PATH)s
SHELL=/bin/bash
PKG_CONFIG_PATH=${qt4-qmake:location}/lib/pkgconfig:${gtk-2:location}/lib/pkgconfig:${pango:location}/lib/pkgconfig:${glib:location}/lib/pkgconfig:${cairo:location}/lib/pkgconfig:${pcre:location}/lib/pkgconfig:${pixman:location}/lib/pkgconfig:${fontconfig:location}/lib/pkgconfig:${fontconfig:pkg_config_depends}:${libXext:location}/lib/pkgconfig:${libXext:pkg_config_depends}:${fribidi:location}/lib/pkgconfig:${harfbuzz:location}/lib/pkgconfig:${harfbuzz:pkg_config_depends}:${atk:location}/lib/pkgconfig:${gdk-pixbuf:location}/lib/pkgconfig:${phonon-qt4:location}/lib/pkgconfig:${alsa:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig
LD_LIBRARY_PATH=${alsa:location}/lib:${flex:location}/lib:${qt4-qmake:location}/lib:${libdb:location}/lib:${openssl:location}/lib:${gtk-2:location}/lib:${pango:location}/lib:${cairo:location}/lib:${atk:location}/lib:${harfbuzz:location}/lib:${libXext:location}/lib:${gdk-pixbuf:location}/lib:${gettext:location}/lib:${phonon-qt4:location}/lib:${pixman:location}/lib
CXXFLAGS=-I${flex:location}/include -I${libdb:location}/include
LDFLAGS=-L${gcc-8.2:location}/lib -Wl,-rpath=${gcc-8.2:location}/lib -L${gcc-8.2:location}/lib64 -Wl,-rpath=${gcc-8.2:location}/lib64 -L${gettext:location}/lib -L${flex:location}/lib -Wl,-rpath=${flex:location}/lib -L${bison:location}/lib -L${libdb:location}/lib -L${gtk-2:location}/lib
DISPLAY=:0
{% set publish_dict = {} -%}
{% set part_list = [] -%}
{% set ipv6 = (ipv6 | list)[0] -%}
[directory]
recipe = slapos.cookbook:mkdirectory
etc = ${buildout:directory}/etc
bin = ${buildout:directory}/bin
srv = ${buildout:directory}/srv
var = ${buildout:directory}/var
var = ${buildout:directory}/tmp
log = ${:var}/log
scripts = ${:etc}/run
services = ${:etc}/service
ssl = ${:etc}/ssl
auth = ${:tmp}/auth
pwr = ${:pwr}
[certificate-authority]
recipe = slapos.cookbook:certificate_authority
openssl-binary = {{ openssl_executable_location }}
ca-dir = ${directory:ca-dir}
requests-directory = ${cadirectory:requests}
wrapper = ${directory:bin}/certificate_authority
ca-private = ${cadirectory:private}
ca-certs = ${cadirectory:certs}
ca-newcerts = ${cadirectory:newcerts}
ca-crl = ${cadirectory:crl}
[certificate-authority-service]
recipe = slapos.cookbook:wrapper
command-line = ${certificate-authority:wrapper}
wrapper-path = ${directory:services}/certificate_authority
hash-existing-files = ${buildout:directory}/software_release/buildout.cfg
[cadirectory]
recipe = slapos.cookbook:mkdirectory
requests = ${directory:ca-dir}/requests/
private = ${directory:ca-dir}/private/
certs = ${directory:ca-dir}/certs/
newcerts = ${directory:ca-dir}/newcerts/
crl = ${directory:ca-dir}/crl/
[novnc-instance]
recipe = slapos.cookbook:novnc
path = ${ca-novnc:executable}
ip = {{ ipv6 }}
port = 6080
vnc-ip = {{ ipv4 }}
vnc-port = 5901
novnc-location = {{ novnc_location }}
websockify-path = {{ websockify_executable_location }}
ssl-key-path = ${ca-novnc:key-file}
ssl-cert-path = ${ca-novnc:cert-file}
[websockify-sighandler]
recipe = slapos.cookbook:signalwrapper
wrapper-path = ${directory:bin}/websockify-sighandler
wrapped-path = ${novnc-instance:path}
[websockify-sighandler-service]
recipe = slapos.cookbook:wrapper
command-line = ${websockify-sighandler:wrapper-path}
wrapper-path = ${directory:services}/websockify
hash-existing-files = ${buildout:directory}/software_release/buildout.cfg
wait-for-files =
${ca-novnc:key-file}
${ca-novnc:cert-file}
[ca-novnc]
<= certificate-authority
recipe = slapos.cookbook:certificate_authority.request
key-file = ${directory:novnc-conf}/novnc.key
cert-file = ${directory:novnc-conf}/novnc.crt
executable = ${directory:bin}/novnc
wrapper = ${directory:bin}/websockify
[novnc-promise]
<= monitor-promise-base
module = check_port_listening
name = novnc_promise.py
config-hostname = ${novnc-instance:ip}
config-port = ${novnc-instance:port}
[x11vnc]
recipe = slapos.cookbook:wrapper
command-line = {{ x11vnc_bin }} -forever -display ${xserver:display} -ncache 10 \
-autoport 5901 -no6 -reopen -o ${directory:log}/x11vnc.log \
-listen {{ ipv4 }} -flag ${proview-prepare:pwr-flag} -xkb
wrapper-path = ${directory:services}/x11vnc
hash-existing-files = ${buildout:directory}/software_release/buildout.cfg
[xserver]
recipe = slapos.cookbook:wrapper
command-line = {{ xvfb_bin }} Xvfb ${:display} -screen 0 1280x1024x24 \
-cc 4 -nolisten tcp -auth ${directory:auth} -fp {{ xorg_font_util}}/share/fonts/X11/Type1
wrapper-path = ${directory:services}/xserver
hash-existing-files = ${buildout:directory}/software_release/buildout.cfg
display = :98
[proview-prepare]
recipe = plone.recipe.command
pwr-db = ${directory:pwr}/db
pwr-flag = ${directory:pwr}/flag
command =
cp -r {{ proview_directory }}/local/adm/db/ ${:pwr-db}
echo PORT=5901 > ${:pwr-flag}
update-command =
stop-on-error = true
[proview-wrapper]
recipe = collective.recipe.template
input = inline:#!/bin/bash
export export pwra_db=${proview-prepare:pwr-db}
source $pwra_db/pwr_setup.sh
source export PWR_BUS_ID=999
export LD_LIBRARY_PATH={{ ld_library_path }}
# start pwra
pwrp set base V5.6.0
DISPLAY=${xserver:display} pwra
output = ${directory:bin}/pwr
mode = 700
[request-slave-frontend]
recipe = slapos.cookbook:requestoptional
server-url = ${slap-connection:server-url}
key-file = ${slap-connection:key-file}
cert-file = ${slap-connection:cert-file}
computer-id = ${slap-connection:computer-id}
partition-id = ${slap-connection:partition-id}
slave = true
config-https-only = True
config-type = websocket
config-url = https://[${novnc-instance:ip}]:${novnc-instance:port}
return = secure_access domain
software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
software-type = RootSoftwareInstance
name = ProviewR VNC
sla-instance_guid =
[publish-connection-information]
<= monitor-publish
recipe = slapos.cookbook:publish
backend-url = https://[${novnc-instance:ip}]:${novnc-instance:port}/vnc.html?host=[${novnc-instance:ip}]&port=${novnc-instance:port}&encrypt=1
url = ${request-slave-frontend:connection-secure_access}/vnc.html?host=${request-slave-frontend:connection-domain}&port=443&encrypt=1
{% for name, value in publish_dict.items() -%}
{{ name }} = {{ value }}
{% endfor %}
[buildout]
extends =
{{ template_logrotate }}
{{ ' ' ~ template_monitor }}
parts =
monitor-base
publish-connection-information
x11vnc
xserver
proview-wrapper
# Complete parts with sections
{{ part_list | join('\n ') }}
eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
\ No newline at end of file
[buildout]
parts =
switch_softwaretype
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
[switch_softwaretype]
recipe = slapos.cookbook:softwaretype
default = $${instance-proview-r:rendered}
[template-base]
recipe = slapos.recipe.template:jinja2
rendered = $${buildout:directory}/$${:filename}
extensions = jinja2.ext.do
mode = 0644
extra-context =
context =
key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory
key ipv4 slap-configuration:ipv4
key ipv6 slap-configuration:ipv6
key global_ipv4_prefix network-information:global-ipv4-network
key slapparameter_dict slap-configuration:configuration
key computer_id slap-configuration:computer
raw openssl_executable_location ${openssl:location}/bin/openssl
raw template_logrotate ${template-logrotate-base:rendered}
raw template_monitor ${monitor2-template:rendered}
$${:extra-context}
[instance-proview-r]
<= template-base
template = ${template-kvm-cluster:rendered}
rendered = $${buildout:directory}/template-proview-r.cfg
extensions = jinja2.ext.do
extra-context =
key novnc_location noVNC:location
raw websockify_executable_location ${buildout:directory}/bin/websockify
raw xorg_font_util ${xorg-font-util:location}
raw xvfb_bin ${xserver:location}/bin/Xvfb
raw proview_directory ${pwd:location}
raw ld_library_path ${pwd:ld-library-path}
mode = 0644
[slap-configuration]
recipe = slapos.cookbook:slapconfiguration.serialised
computer = $${slap-connection:computer-id}
partition = $${slap-connection:partition-id}
url = $${slap-connection:server-url}
key = $${slap-connection:key-file}
cert = $${slap-connection:cert-file}
......@@ -4,6 +4,9 @@ extends =
../../stack/slapos.cfg
../../component/proviewR/buildout.cfg
../../component/open62541/buildout.cfg
../../component/noVNC/buildout.cfg
../../stack/monitor/buildout.cfg
../../stack/slapos.cfg
parts +=
slapos-cookbook
......@@ -13,10 +16,30 @@ parts +=
xorg-font-adobe-75dpi
xorg-font-adobe-100dpi
xorg-font-type1
template
[eggs]
recipe = zc.recipe.egg
interpreter = python.eggs
eggs =
websockify
slapos.toolbox
plone.recipe.command
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
output = ${buildout:directory}/template.cfg
mode = 0644
md5sum = a27a900ce349068a15a42255f81ba0f0
#[java-jdk]
#recipe = hexagonit.recipe.download
#url = https://download.java.net/java/GA/jdk12.0.2/e482c34c86bd4bf8b56c0b35558996b9/10/GPL/openjdk-12.0.2_linux-x64_bin.tar.gz
#md5sum = f5da6f4dec81bdd2a096184ec1d69216
#strip-top-level-dir = true
[download-base]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
mode = 0644
[template-kvm-cluster]
<= download-base
on-update = true
md5sum = db9b805eeeb2f89abca375c1425812b7
filename = instance-proview-r.cfg.jinja2.in
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment