Commit eaed2c3c authored by Alain Takoudjou's avatar Alain Takoudjou

proview-r: aadd test suite, fix minor problems

parent e597258b
...@@ -144,7 +144,6 @@ recipe = slapos.recipe.cmmi ...@@ -144,7 +144,6 @@ recipe = slapos.recipe.cmmi
url = https://github.com/mesonbuild/meson/releases/download/0.52.0/meson-0.52.0.tar.gz url = https://github.com/mesonbuild/meson/releases/download/0.52.0/meson-0.52.0.tar.gz
configure-command = true configure-command = true
make-binary = ${python3.5:location}/bin/pip3 install meson --prefix=${:location} make-binary = ${python3.5:location}/bin/pip3 install meson --prefix=${:location}
#make-binary = ${:python_bin} setup.py install --help && ${:python_bin} setup.py install --prefix=${:location}
make-targets = make-targets =
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
depends = ${intall-pip:recipe} depends = ${intall-pip:recipe}
...@@ -287,8 +286,6 @@ url = https://www.x.org/releases/individual/app/mkfontdir-1.0.7.tar.bz2 ...@@ -287,8 +286,6 @@ url = https://www.x.org/releases/individual/app/mkfontdir-1.0.7.tar.bz2
[xorg-font-type1] [xorg-font-type1]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
#url = https://www.x.org/releases/individual/font/font-xfree86-type1-1.0.4.tar.bz2
#url = https://www.x.org/releases/individual/font/font-bh-type1-1.0.3.tar.bz2
url = https://www.x.org/releases/individual/font/font-bitstream-type1-1.0.3.tar.bz2 url = https://www.x.org/releases/individual/font/font-bitstream-type1-1.0.3.tar.bz2
md5sum = 5e0c9895d69d2632e2170114f8283c11 md5sum = 5e0c9895d69d2632e2170114f8283c11
environment = environment =
...@@ -333,6 +330,7 @@ recipe = slapos.recipe.cmmi ...@@ -333,6 +330,7 @@ recipe = slapos.recipe.cmmi
#url = https://iweb.dl.sourceforge.net/project/proview/proview/proviewr_${:version}/pwrsrc_${:version}.tar.gz #url = https://iweb.dl.sourceforge.net/project/proview/proview/proviewr_${:version}/pwrsrc_${:version}.tar.gz
#md5sum = 2431b0ffec0de9e2d7b1a984b2e216a2 #md5sum = 2431b0ffec0de9e2d7b1a984b2e216a2
#url = https://github.com/siamect/proview/archive/cc5abd7852b38ae8007d8eedb36acc3a38e4b90d.tar.gz #url = https://github.com/siamect/proview/archive/cc5abd7852b38ae8007d8eedb36acc3a38e4b90d.tar.gz
# XXX - this URL is same as above URL but folder we reduced the folder name to simply pwr. This solve the problem of path too long.
url = https://softinst56570.host.vifib.net/public/cc5abd785.tar.gz url = https://softinst56570.host.vifib.net/public/cc5abd785.tar.gz
version = 5.6.1-1 version = 5.6.1-1
version = cc5abd7 version = cc5abd7
...@@ -340,9 +338,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_} ...@@ -340,9 +338,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
aroot=${:location}/local/adm aroot=${:location}/local/adm
keep-compile-dir = true keep-compile-dir = true
incdir = -I${libdb:location}/include -I${qt4-qmake:location}/include -I${qt4-qmake:location}/include/QtGui -I${qt4-qmake:location}/include/Qt -I${alsa:location}/include -I${phonon-qt4:location}/include incdir = -I${libdb:location}/include -I${qt4-qmake:location}/include -I${qt4-qmake:location}/include/QtGui -I${qt4-qmake:location}/include/Qt -I${alsa:location}/include -I${phonon-qt4:location}/include
libs = -L${libdb:location}/lib -ldb_cxx-5 -L${gettext:location}/lib -L${alsa:location}/lib -L${zlib:location}/lib -L ${qt4-qmake:location}/lib -L${phonon-qt4:location}/lib libs = -L${libdb:location}/lib -ldb_cxx-5 -L${gettext:location}/lib -L${alsa:location}/lib -L${zlib:location}/lib -L ${qt4-qmake:location}/lib -L${phonon-qt4:location}/lib -L${flex:location}/lib
# -L${flex:location}/lib -Wl,-rpath=${flex:location}/lib
#-L${qt5-qmake:location}/lib -lQt5Widgets
compile-dir = ${:location}__compile__/pwrsrc_${:version} compile-dir = ${:location}__compile__/pwrsrc_${:version}
compile-dir = ${:location}__compile__/pwr compile-dir = ${:location}__compile__/pwr
configure-command = configure-command =
...@@ -354,7 +350,7 @@ configure-command = ...@@ -354,7 +350,7 @@ configure-command =
sed -i "s#/usr/lib/libQtGui.so#${qt4-qmake:location}/lib/libQtGui.so#" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh sed -i "s#/usr/lib/libQtGui.so#${qt4-qmake:location}/lib/libQtGui.so#" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh
sed -i "s#/usr/local/include/gtk-2.0#${gtk-2:location}/include/gtk-2.0#g" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh sed -i "s#/usr/local/include/gtk-2.0#${gtk-2:location}/include/gtk-2.0#g" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh
sed -i "s#/usr/lib/libgtk-x11-2.0.so#${gtk-2:location}/lib/libgtk-x11-2.0.so#g" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh sed -i "s#/usr/lib/libgtk-x11-2.0.so#${gtk-2:location}/lib/libgtk-x11-2.0.so#g" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh
# sed -i "s#/usr/lib/libfl#${flex:location}/lib/libfl#" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh sed -i "s#/usr/lib/libfl#${flex:location}/lib/libfl#" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh
sed -i "s#/usr/lib/libasound#${alsa:location}/lib/libasound#g" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh sed -i "s#/usr/lib/libasound#${alsa:location}/lib/libasound#g" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh
sed -i "s#/usr/lib/libdb#${libdb:location}/lib/libdb#" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh sed -i "s#/usr/lib/libdb#${libdb:location}/lib/libdb#" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh
sed -i "s#/usr/lib/libz#${zlib:location}/lib/libz#g" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh sed -i "s#/usr/lib/libz#${zlib:location}/lib/libz#g" ${:compile-dir}/src/tools/pwre/src/*/pwre_configure.sh
...@@ -364,23 +360,28 @@ configure-command = ...@@ -364,23 +360,28 @@ configure-command =
sed -i 's,#include <QLabel>,#include "cow_qt_helpers.h"\n\n#include <QLabel>,' ${:compile-dir}/sev/exe/sev_xtt/qt/xtt_tbl_qt.h sed -i 's,#include <QLabel>,#include "cow_qt_helpers.h"\n\n#include <QLabel>,' ${:compile-dir}/sev/exe/sev_xtt/qt/xtt_tbl_qt.h
sed -i "s,co_convert -t -d,#co_convert -t -d," ${:compile-dir}/src/tools/pkg/*/pwrrt/build.sh sed -i "s,co_convert -t -d,#co_convert -t -d," ${:compile-dir}/src/tools/pkg/*/pwrrt/build.sh
sed -i "s,co_convert -t -d,#co_convert -t -d," ${:compile-dir}/build.sh sed -i "s,co_convert -t -d,#co_convert -t -d," ${:compile-dir}/build.sh
#depends = ${qt5-qmake:location} depends =
depends =
${xserver:location} ${xserver:location}
${xorg-video-dummy:location} ${xorg-video-dummy:location}
${xorg-input-mouse:location} ${xorg-input-mouse:location}
${xorg-video-fbdev:location} ${xorg-video-fbdev:location}
${xorg-input-kbd:location} ${xorg-input-kbd:location}
${xorg-video-vesa:location} ${xorg-video-vesa:location}
# Start dummy Xserver required to build without display. See: https://github.com/siamect/proview#building-without-a-display
pre-build =
PID=`pgrep -u "$(whoami)" -f ${xserver:location}/bin/Xorg`
if [ ! -z "$PID" ]; then kill -TERM $PID; fi
${xserver:location}/bin/Xorg -noreset +extension GLX +extension RANDR +extension RENDER -config ${:compile-dir}/pwr/src/tools/dummy_display/xorg.conf :99 &
post-install =
PID=`pgrep -u "$(whoami)" -f ${xserver:location}/bin/Xorg`
if [ ! -z "$PID" ]; then kill -TERM $PID; fi
#make-binary = make -e make-targets =
make-targets = make-options =
make-options =
-j1 -j1
environment = environment =
PATH=${qt4-qmake:location}/bin:${make-4:location}/bin:${gcc:location}/bin:${doxygen:location}/bin:${pkgconfig:location}/bin:${java-jdk:location}/bin:${gtk-2:location}/bin:${flex:location}/bin:${bison:location}/bin:%(PATH)s PATH=${qt4-qmake:location}/bin:${make-4:location}/bin:${gcc: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 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 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=${:ld-library-path} 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 CXXFLAGS=-I${alsa:location}/include -I${flex:location}/include -I${libdb:location}/include -I${qt4-qmake:location}/include -I${qt4-qmake:location}/include/QtGui
...@@ -413,16 +414,14 @@ configure-command = ...@@ -413,16 +414,14 @@ configure-command =
.. ..
cmake --build . cmake --build .
#d= ${gnutls:location}
make-binary = cd build && make make-binary = cd build && make
make-targets = install make-targets = install
environment = environment =
PATH=${cmake:location}/bin:${pkgconfig:location}/bin:%(PATH)s PATH=${cmake:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${zlib:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${libjpeg:location}/lib/pkgconfig:${openssl:location}/lib/pkgconfig PKG_CONFIG_PATH=${zlib:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${libjpeg:location}/lib/pkgconfig:${openssl:location}/lib/pkgconfig
CPPFLAGS=-I${libjpeg:location}/include -I${libpng:location}/include CPPFLAGS=-I${libjpeg:location}/include -I${libpng:location}/include
# -I/usr/include
LDFLAGS=-L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib LDFLAGS=-L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
# -L/usr/lib/x86_64-linux-gnu/
[x11vnc] [x11vnc]
recipe = slapos.recipe.cmmi 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
ProveiwR Software for SlapOS
============================
See at http://www.proview.se/ for source code: https://github.com/siamect/proview
Proview is an Open Source system for process control and automation.
How it works
============
ProviewR can be requested with default software type. Instance will deploy:
- X11 server for graphic display
- XVNC-server is the X VNC (Virtual Network Computing) server. It is based on a standard X server, but it has a "virtual" screen rather than a physical one.
- websockify and NoVNC used for VNC in ordinary browser.
- pwrrt - Proview runtime environment. pwrrt contains the runtime and HMI environment.
- pwrsev - ProviewR Storage Environment. Is installed on storage stations, which contains a database for process history.
ProviewR cannot compile in webrunner because path of software release folder is too long.
Connection parameters
=====================
- url, backend-url: URL of NoVNC which is used for ProviewR Development Environment.
- shell-url, shell-backend: URL for shellinabox, which is a shell session configured for proviewR.
How to use
==========
Open the shell with Shellinabox, use username "proviewr" and password is the monitor password.
Prowier is a desktop application which can be run like chrome or firefox. To start a new projet, type in shellinabox "pwra" then check the NoVNC interface.
Read Getting Started Guide on www.proview.se about how to create and configure a project
Other pwr command are available in the terminal.
TODO
====
- Make pwrrt Deamon works. For now, it simply refuse to start because some configurations files are missing.
- Deploy pwrrt and pwrsev in a different partition as it's recommended to not deploy them in the same environment.
- Fix missing proviewR web and make it works (Also check why some icons are missing on desktop interface).
- Make proviewR usable in a VNC or another interface tool, fix "Segmentation fault" when opening Proview Ge interface (fix all segmentation fault).
- Add pwr demo projet to proviewR software so it can be used for demonstration.
- cleanup and split proviewR component, the component at component/proviewR/buildout.cfg can be split into several other components.
- Upgrade proviewR component to the recent version and make it works for SlapOS.
Runtime Environment error
=========================
pwrtt is not starting because of error:
ProviewR Runtime Environment
F Could not open file /srv/slapgrid/slappartXX/pwrp/common/load/ld_boot_proviewr_0999.dat
F Could not open file /srv/slapgrid/slappartXX/pwrp/common/load/ld_node_proviewr_0999.dat
F Cannot find my own node in /srv/slapgrid/slappartXX/pwrp/common/load/ld_node_proviewr_0999.dat
...@@ -303,7 +303,7 @@ name = Proview Shellinabox Frontend ...@@ -303,7 +303,7 @@ name = Proview Shellinabox Frontend
# XXX We have hardcoded SR URL here. # XXX We have hardcoded SR URL here.
software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
slave = true slave = true
config-url = https://[$${nginx-parameter-conf:global-ip}]:$${nginx-parameter-conf:global-port} config-url = https://[${nginx-parameter-conf:global-ip}]:${nginx-parameter-conf:global-port}
config-domain = config-domain =
return = secure_access domain return = secure_access domain
......
...@@ -46,7 +46,7 @@ mode = 0644 ...@@ -46,7 +46,7 @@ mode = 0644
[template-proview-r] [template-proview-r]
<= download-base <= download-base
#md5sum = b5d1278ac4158f659d0ccb88272ecbb3 md5sum = 9f96bec6fd3097102ddf548012278d4b
filename = instance-proview-r.cfg.jinja2.in filename = instance-proview-r.cfg.jinja2.in
[template-pwrp-profile] [template-pwrp-profile]
...@@ -66,4 +66,3 @@ filename = nginx_conf.in ...@@ -66,4 +66,3 @@ filename = nginx_conf.in
[versions] [versions]
numpy = 1.16.4 numpy = 1.16.4
#websockify = 0.6.1
##############################################################################
#
# Copyright (c) 2018 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from setuptools import setup, find_packages
version = '0.0.1.dev0'
name = 'slapos.test.pwr'
long_description = open("README.md").read()
setup(
name=name,
version=version,
description="Test for SlapOS' ProviewR",
long_description=long_description,
long_description_content_type='text/markdown',
maintainer="Nexedi",
maintainer_email="info@nexedi.com",
url="https://lab.nexedi.com/nexedi/slapos",
packages=find_packages(),
install_requires=[
'slapos.core',
'slapos.libnetworkcache',
'erp5.util',
'supervisor',
'requests',
],
zip_safe=True,
test_suite='test',
)
\ No newline at end of file
##############################################################################
#
# Copyright (c) 2019 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import os
import textwrap
import logging
import tempfile
import requests
from slapos.testing.testcase import makeModuleSetUpAndTestCaseClass
setUpModule, SlapOSInstanceTestCase = makeModuleSetUpAndTestCaseClass(
os.path.abspath(
os.path.join(os.path.dirname(__file__), '..', 'software.cfg')))
class TestProviewR(SlapOSInstanceTestCase):
def setUp(self):
self.connection_dict = self.computer_partition.getConnectionParameterDict()
def test_http_get(self):
resp = requests.get(self.connection_dict['backend-url'], verify=False)
self.assertEqual(requests.codes.ok, resp.status_code)
# Test Shellinabox backend URL, this is unauthorized
resp = requests.get(self.connection_dict['shell-backend'], verify=False)
self.assertEqual(requests.codes.unauthorized, resp.status_code)
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