Accepting request 959950 from Application:ERP:GNUHealth:4.0
version bump OBS-URL: https://build.opensuse.org/request/show/959950 OBS-URL: https://build.opensuse.org/package/show/Application:ERP:GNUHealth:Factory/trytond?expand=0&rev=136
This commit is contained in:
parent
b2eec15e0e
commit
da3d9f9658
@ -8,20 +8,19 @@ index c1dde99f19ae579d3d84d0e9f75272ea857f86f1..b57f1c710aefb7579d4edd9d07baad30
|
|||||||
|
|
||||||
+from trytond.config import config
|
+from trytond.config import config
|
||||||
+
|
+
|
||||||
from . import __version__
|
from trytond import __version__
|
||||||
from .tools import grouped_slice
|
from trytond.pyson import PYSONEncoder, CONTEXT
|
||||||
from .transaction import Transaction
|
from trytond.tools import grouped_slice
|
||||||
@@ -19,6 +21,9 @@ logger = logging.getLogger(__name__)
|
@@ -19,6 +19,8 @@
|
||||||
CDATA_START = re.compile('^\s*\<\!\[cdata\[', re.IGNORECASE)
|
CDATA_START = re.compile(r'^\s*\<\!\[cdata\[', re.IGNORECASE)
|
||||||
CDATA_END = re.compile('\]\]\>\s*$', re.IGNORECASE)
|
CDATA_END = re.compile(r'\]\]\>\s*$', re.IGNORECASE)
|
||||||
|
|
||||||
+_update_changed_fields = config.getboolean('optional',
|
+_update_changed_fields = config.getboolean('optional',
|
||||||
+ 'update_changed_fields', default=True)
|
+ 'update_changed_fields', default=True)
|
||||||
+
|
|
||||||
|
|
||||||
class DummyTagHandler:
|
class DummyTagHandler:
|
||||||
"""Dubhandler implementing empty methods. Will be used when whe
|
"""Dubhandler implementing empty methods. Will be used when whe
|
||||||
@@ -668,11 +673,18 @@ class TrytondXmlHandler(sax.handler.ContentHandler):
|
@@ -666,11 +671,18 @@ class TrytondXmlHandler(sax.handler.ContentHandler):
|
||||||
# if they are not false in a boolean context (ie None,
|
# if they are not false in a boolean context (ie None,
|
||||||
# False, {} or [])
|
# False, {} or [])
|
||||||
if db_field != expected_value and (db_field or expected_value):
|
if db_field != expected_value and (db_field or expected_value):
|
@ -1,38 +0,0 @@
|
|||||||
diff -U 3 -dHrN -- a/trytond/wsgi.py b/trytond/wsgi.py
|
|
||||||
--- a/trytond/wsgi.py 2021-02-12 10:14:41.000000000 +0100
|
|
||||||
+++ b/trytond/wsgi.py 2021-02-15 12:37:50.432511576 +0100
|
|
||||||
@@ -10,13 +10,23 @@
|
|
||||||
from werkzeug.wrappers import Response
|
|
||||||
from werkzeug.routing import Map, Rule
|
|
||||||
from werkzeug.exceptions import abort, HTTPException, InternalServerError
|
|
||||||
-from werkzeug.contrib.fixers import ProxyFix
|
|
||||||
+try:
|
|
||||||
+ from werkzeug.middleware.proxy_fix import ProxyFix
|
|
||||||
+
|
|
||||||
+ def NumProxyFix(app, num_proxies):
|
|
||||||
+ return ProxyFix(app,
|
|
||||||
+ x_for=num_proxies, x_proto=num_proxies, x_host=num_proxies,
|
|
||||||
+ x_port=num_proxies, x_prefix=num_proxies)
|
|
||||||
+except ImportError:
|
|
||||||
+ from werkzeug.contrib.fixers import ProxyFix as NumProxyFix
|
|
||||||
try:
|
|
||||||
from werkzeug.security import safe_join
|
|
||||||
except ImportError:
|
|
||||||
safe_join = posixpath.join
|
|
||||||
-
|
|
||||||
-from werkzeug.wsgi import SharedDataMiddleware
|
|
||||||
+try:
|
|
||||||
+ from werkzeug.middleware.shared_data import SharedDataMiddleware
|
|
||||||
+except ImportError:
|
|
||||||
+ from werkzeug.wsgi import SharedDataMiddleware
|
|
||||||
|
|
||||||
import wrapt
|
|
||||||
|
|
||||||
@@ -157,6 +167,6 @@
|
|
||||||
app.wsgi_app = SharedDataMiddlewareIndex(app.wsgi_app, static_files)
|
|
||||||
num_proxies = config.getint('web', 'num_proxies')
|
|
||||||
if num_proxies:
|
|
||||||
- app.wsgi_app = ProxyFix(app.wsgi_app, num_proxies=num_proxies)
|
|
||||||
+ app.wsgi_app = NumProxyFix(app.wsgi_app, num_proxies)
|
|
||||||
import trytond.protocols.dispatcher
|
|
||||||
import trytond.bus
|
|
@ -1,15 +1,14 @@
|
|||||||
diff -U 3 -dHrN -- a/trytond/protocols/wrappers.py b/trytond/protocols/wrappers.py
|
--- a/trytond/protocols/wrappers.py
|
||||||
--- a/trytond/protocols/wrappers.py 2019-08-11 19:34:43.000000000 +0200
|
+++ b/trytond/protocols/wrappers.py
|
||||||
+++ b/trytond/protocols/wrappers.py 2021-07-27 15:59:38.213817153 +0200
|
@@ -12,7 +12,6 @@
|
||||||
@@ -8,7 +8,6 @@
|
from http import client as HTTPStatus
|
||||||
|
|
||||||
from werkzeug.wrappers import Request as _Request, Response
|
from werkzeug.wrappers import Request as _Request, Response
|
||||||
from werkzeug.utils import cached_property
|
|
||||||
-from werkzeug.http import wsgi_to_bytes, bytes_to_wsgi
|
-from werkzeug.http import wsgi_to_bytes, bytes_to_wsgi
|
||||||
from werkzeug.datastructures import Authorization
|
from werkzeug.datastructures import Authorization
|
||||||
from werkzeug.exceptions import abort, HTTPException
|
from werkzeug.exceptions import abort, HTTPException
|
||||||
|
|
||||||
@@ -84,7 +83,8 @@
|
@@ -113,7 +112,8 @@
|
||||||
def parse_authorization_header(value):
|
def parse_authorization_header(value):
|
||||||
if not value:
|
if not value:
|
||||||
return
|
return
|
||||||
@ -19,7 +18,7 @@ diff -U 3 -dHrN -- a/trytond/protocols/wrappers.py b/trytond/protocols/wrappers.
|
|||||||
try:
|
try:
|
||||||
auth_type, auth_info = value.split(None, 1)
|
auth_type, auth_info = value.split(None, 1)
|
||||||
auth_type = auth_type.lower()
|
auth_type = auth_type.lower()
|
||||||
@@ -98,9 +98,9 @@
|
@@ -127,9 +127,9 @@
|
||||||
except Exception:
|
except Exception:
|
||||||
return
|
return
|
||||||
return Authorization('session', {
|
return Authorization('session', {
|
||||||
@ -31,7 +30,7 @@ diff -U 3 -dHrN -- a/trytond/protocols/wrappers.py b/trytond/protocols/wrappers.
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@@ -171,16 +171,17 @@
|
@@ -214,16 +214,16 @@
|
||||||
pool = Pool()
|
pool = Pool()
|
||||||
UserApplication = pool.get('res.user.application')
|
UserApplication = pool.get('res.user.application')
|
||||||
|
|
||||||
@ -41,14 +40,13 @@ diff -U 3 -dHrN -- a/trytond/protocols/wrappers.py b/trytond/protocols/wrappers.
|
|||||||
auth_type, auth_info = authorization.split(None, 1)
|
auth_type, auth_info = authorization.split(None, 1)
|
||||||
auth_type = auth_type.lower()
|
auth_type = auth_type.lower()
|
||||||
except ValueError:
|
except ValueError:
|
||||||
abort(401)
|
abort(HTTPStatus.UNAUTHORIZED)
|
||||||
- if auth_type != b'bearer':
|
- if auth_type != b'bearer':
|
||||||
+ if auth_type != 'bearer':
|
+ if auth_type != 'bearer':
|
||||||
abort(403)
|
abort(HTTPStatus.FORBIDDEN)
|
||||||
|
|
||||||
- application = UserApplication.check(bytes_to_wsgi(auth_info), name)
|
- application = UserApplication.check(bytes_to_wsgi(auth_info), name)
|
||||||
+ application = UserApplication.check(auth_info, name)
|
+ application = UserApplication.check(auth_info, name)
|
||||||
+
|
|
||||||
if not application:
|
if not application:
|
||||||
abort(403)
|
abort(HTTPStatus.FORBIDDEN)
|
||||||
transaction = Transaction()
|
transaction = Transaction()
|
||||||
|
324
openSUSE-trytond-setup
Normal file
324
openSUSE-trytond-setup
Normal file
@ -0,0 +1,324 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Trytond installation script for openSUSE
|
||||||
|
# Version agnostic to Tryton (more or less)
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# Tryto Server Installer for openSUSE
|
||||||
|
#
|
||||||
|
# Copyright (C) 2021 Axel Braun <DocB@openSUSE.org>
|
||||||
|
#
|
||||||
|
# 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, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Change log
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# V 0.33 20210803 Axel Initial version
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Variables declaration
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#Tryton Server installer for openSUSE version
|
||||||
|
VERSION="0.33"
|
||||||
|
|
||||||
|
# Colors constants
|
||||||
|
NONE="$(tput sgr0)"
|
||||||
|
RED="$(tput setaf 1)"
|
||||||
|
GREEN="$(tput setaf 2)"
|
||||||
|
YELLOW="\n$(tput setaf 3)"
|
||||||
|
WHITE="\n$(tput setaf 7)"
|
||||||
|
|
||||||
|
# Params
|
||||||
|
#ROOT_PW="root"
|
||||||
|
DB_NAME="Tryton6"
|
||||||
|
DB_ADMIN_PWD="admin"
|
||||||
|
DB_USER="tryton"
|
||||||
|
DB_CONFIG="/var/lib/pgsql/data/pg_hba.conf"
|
||||||
|
GH_START="y"
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Functions
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
message()
|
||||||
|
{
|
||||||
|
local UTC="$(date -u +'%Y-%m-%d %H:%M:%S')"
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
ERROR ) echo -e "\e[00;31m${UTC} [ERROR] $2\e[00m";;
|
||||||
|
WARNING ) echo -e "\e[0;33m${UTC} [WARNING] $2\e[m" ;;
|
||||||
|
INFO ) echo -e "\e[0;36m${UTC} [INFO] $2\e[m" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
help()
|
||||||
|
{
|
||||||
|
cat << EOF
|
||||||
|
|
||||||
|
This is Tryton Server Setup for openSUSE ${VERSION}
|
||||||
|
|
||||||
|
usage: `basename $0` command
|
||||||
|
|
||||||
|
Command:
|
||||||
|
|
||||||
|
version : Show version
|
||||||
|
setup : Setup a Tryton Server
|
||||||
|
help : shows this message
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
show_version () {
|
||||||
|
case $1 in
|
||||||
|
version) message "INFO" "This is the Tryton Server setup for openSUSE V ${VERSION}"; exit 0;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bailout() {
|
||||||
|
message "INFO" "Bailing out !"
|
||||||
|
message "INFO" "Cleaning up temporary file"
|
||||||
|
rm -rf /tmp/pw
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# go-ahead: perform update
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
go_ahead() {
|
||||||
|
|
||||||
|
# login as root, start postgres
|
||||||
|
|
||||||
|
echo "Starting database...."
|
||||||
|
|
||||||
|
systemctl start postgresql || bailout
|
||||||
|
|
||||||
|
echo "Database started"
|
||||||
|
|
||||||
|
# su -postgres || bailout
|
||||||
|
#then as postgres, and change parameter
|
||||||
|
|
||||||
|
echo "Changing postgres trust method"
|
||||||
|
|
||||||
|
sudo -u postgres sed -i -e 's/\(\(local\|host\).*all.*all.*\)\(peer\|ident\)/\1trust/g' ${DB_CONFIG} || bailout
|
||||||
|
|
||||||
|
echo "Postgres trust method changed"
|
||||||
|
|
||||||
|
echo "Create database user"
|
||||||
|
#create user
|
||||||
|
sudo -u postgres psql -c "CREATE USER ${DB_USER} WITH SUPERUSER;"
|
||||||
|
|
||||||
|
echo "Database user created"
|
||||||
|
|
||||||
|
echo "Creating database ${DB_NAME}"
|
||||||
|
# create database
|
||||||
|
sudo -u postgres createdb ${DB_NAME} --encoding='UTF8' --owner=${DB_USER} || bailout
|
||||||
|
|
||||||
|
echo "Database created"
|
||||||
|
#exit as postgres
|
||||||
|
#exit
|
||||||
|
|
||||||
|
echo "Restarting database"
|
||||||
|
|
||||||
|
systemctl restart postgresql || bailout
|
||||||
|
|
||||||
|
# login as user tryton
|
||||||
|
#su tryton -s /bin/bash
|
||||||
|
|
||||||
|
echo "Initializing database - this may take a while"
|
||||||
|
|
||||||
|
echo ${DB_ADMIN_PWD} > /tmp/pw || bailout
|
||||||
|
|
||||||
|
sudo -u tryton env TRYTONPASSFILE=/tmp/pw trytond-admin -c /etc/tryton/trytond.conf --all -d ${DB_NAME} --password || bailout
|
||||||
|
|
||||||
|
rm /tmp/pw || bailout
|
||||||
|
|
||||||
|
|
||||||
|
if [ $GH_START = "y" ]; then
|
||||||
|
echo "Enabling Tryton Server at boot time"
|
||||||
|
|
||||||
|
systemctl enable postgresql
|
||||||
|
systemctl enable trytond
|
||||||
|
|
||||||
|
# ...and start trytond in that case
|
||||||
|
systemctl start trytond
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "All done"
|
||||||
|
message "WARNING" "Please review your setup before using the system in production!"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Call user parameter
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
get_root_pw() {
|
||||||
|
Y=''
|
||||||
|
read -p "Please enter root-password [$ROOT_PW] " Y
|
||||||
|
|
||||||
|
if [ ! -e $Y ]; then
|
||||||
|
ROOT_PW=$Y
|
||||||
|
fi
|
||||||
|
message "INFO" "root-password is $ROOT_PW"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_db_name() {
|
||||||
|
Y=''
|
||||||
|
read -p "Please enter name for new database [$DB_NAME] " Y
|
||||||
|
if [ ! -e $Y ]; then
|
||||||
|
DB_NAME=$Y
|
||||||
|
fi
|
||||||
|
message "INFO" "DB-Name is $DB_NAME"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_db_admin() {
|
||||||
|
Y=''
|
||||||
|
read -p "Please enter admin-password for new database [$DB_ADMIN_PWD] " Y
|
||||||
|
if [ ! -e $Y ]; then
|
||||||
|
DB_ADMIN_PWD=$Y
|
||||||
|
fi
|
||||||
|
message "INFO" "DB Admin password is $DB_ADMIN_PWD"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_db_user() {
|
||||||
|
Y=''
|
||||||
|
read -p "Please enter database user [$DB_USER] " Y
|
||||||
|
if [ ! -e $Y ]; then
|
||||||
|
DB_USER=$Y
|
||||||
|
fi
|
||||||
|
message "INFO" "DB User is $DB_USER"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_db_file() {
|
||||||
|
Y=''
|
||||||
|
read -p "Please enter database config file [$DB_CONFIG] " Y
|
||||||
|
if [ ! -e $Y ]; then
|
||||||
|
DB_CONFIG=$Y
|
||||||
|
fi
|
||||||
|
message "INFO" "DB config path & file $DB_CONFIG"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_GH_start() {
|
||||||
|
Y=''
|
||||||
|
read -p "Shall Tryton Server start automatically? [$GH_START] " Y
|
||||||
|
if [ ! -e $Y ]; then
|
||||||
|
GH_START=$Y
|
||||||
|
fi
|
||||||
|
message "INFO" "Tryton Server start at boot $GH_START"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# verify input
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
verify_input() {
|
||||||
|
echo ;
|
||||||
|
message "INFO" "DB Name is ..............$DB_NAME"
|
||||||
|
message "INFO" "DB Admin password is ....$DB_ADMIN_PWD"
|
||||||
|
message "INFO" "DB User is ..............$DB_USER"
|
||||||
|
message "INFO" "DB config path & file is $DB_CONFIG"
|
||||||
|
message "INFO" "Server start at boot.... $GH_START"
|
||||||
|
read -p "Are these values correct? [y]es/[n]o/[a]bort " VAL
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Install
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
|
||||||
|
# check is it runs as root
|
||||||
|
wai=`whoami`
|
||||||
|
|
||||||
|
if [ $wai != "root" ]; then
|
||||||
|
message "ERROR" " This script must run as user 'root'"
|
||||||
|
bailout
|
||||||
|
fi
|
||||||
|
|
||||||
|
VAL="n"
|
||||||
|
message "INFO" "Starting Tryton Server setup for openSUSE V ${VERSION} ..."
|
||||||
|
message "INFO" "If the value displayed is OK, just hit <ENTER> to confirm"
|
||||||
|
|
||||||
|
while [ ${VAL} != "y" ]; do
|
||||||
|
# (1) Get root password
|
||||||
|
# get_root_pw
|
||||||
|
|
||||||
|
# (2) get Database name
|
||||||
|
get_db_name
|
||||||
|
|
||||||
|
# (3) change login
|
||||||
|
get_db_admin
|
||||||
|
|
||||||
|
message "WARNING" "Change the following parameter only if you know what you are doing..."
|
||||||
|
|
||||||
|
# (4) DB user
|
||||||
|
get_db_user
|
||||||
|
|
||||||
|
# (5) DB config file and path
|
||||||
|
get_db_file
|
||||||
|
|
||||||
|
# (6) enable GNUHealth at start?
|
||||||
|
get_GH_start
|
||||||
|
|
||||||
|
# (7) check if all are valid
|
||||||
|
verify_input
|
||||||
|
|
||||||
|
# request input until all is OK:
|
||||||
|
if [ -e ${VAL} ]; then
|
||||||
|
message "ERROR" "Please enter y, n or a"
|
||||||
|
verify_input
|
||||||
|
else
|
||||||
|
|
||||||
|
if [ ${VAL} = "y" ]; then
|
||||||
|
go_ahead
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [ ${VAL} = "a" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Parse command line
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
parse_command_line()
|
||||||
|
{
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
help
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
version) show_version $@;;
|
||||||
|
update-deps) install_python_dependencies $@;;
|
||||||
|
setup) setup $@;;
|
||||||
|
help) help;;
|
||||||
|
*) echo $1: Unrecognized command; exit 1;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_command_line "$@"
|
@ -1,12 +0,0 @@
|
|||||||
--- a/setup.py
|
|
||||||
+++ b/setup.py
|
|
||||||
@@ -108,7 +108,7 @@
|
|
||||||
'python-dateutil',
|
|
||||||
'polib',
|
|
||||||
'python-sql >= 0.5',
|
|
||||||
- 'werkzeug < 1.0',
|
|
||||||
+ 'werkzeug',
|
|
||||||
'wrapt',
|
|
||||||
'passlib >= 1.7.0',
|
|
||||||
],
|
|
||||||
|
|
@ -1,11 +1,24 @@
|
|||||||
tryton-server for openSUSE
|
tryton-server for openSUSE
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
Note for GNU Health 4.0 /Tryton 6.0 and above:
|
||||||
|
When installing GNU Health 4.0 or higher, note that dependency on postgresql-server is now 'Recommends'.
|
||||||
|
This helps keeping the installation lean when running Postgresql on a separate server.
|
||||||
|
If you are using --no-recommends for installation, you need to install postgresql-server additionally.
|
||||||
|
If you install with recommendations, postgresql-server is installed automatically.
|
||||||
|
|
||||||
How to get it running (Without reading the instructions)
|
How to get it running (Without reading the instructions)
|
||||||
========================================================
|
========================================================
|
||||||
|
|
||||||
You have already installed the package trytond and found this documentation. Good.
|
You have already installed the package trytond and found this documentation. Good.
|
||||||
|
|
||||||
|
An easy way to set-up a trton server is to use
|
||||||
|
sudo openSUSE-trytond-setup
|
||||||
|
|
||||||
|
Just answer the questions and the script does the steps, that are detailed below, for you.
|
||||||
|
|
||||||
|
Setup in detail:
|
||||||
|
|
||||||
1) Log in as root and start the database
|
1) Log in as root and start the database
|
||||||
> su
|
> su
|
||||||
> systemctl start postgresql
|
> systemctl start postgresql
|
||||||
@ -105,8 +118,8 @@ Preparing the Tryton server
|
|||||||
|
|
||||||
* Setting up the Tryton server (trytond):
|
* Setting up the Tryton server (trytond):
|
||||||
|
|
||||||
The openSUSE package comes with a working configuration example, see
|
The openSUSE package comes with a working configuration, see
|
||||||
/usr/share/doc/packages/trytond/trytond.conf.example
|
/etc/tryton/trytond.conf
|
||||||
It contains all settings for a locally running database and manual database
|
It contains all settings for a locally running database and manual database
|
||||||
configuration.
|
configuration.
|
||||||
|
|
||||||
@ -236,7 +249,7 @@ Now, you're finished with the system setup. Please be aware of the following thi
|
|||||||
|
|
||||||
* Only the same major version of Tryton client and Tryton server can connect.
|
* Only the same major version of Tryton client and Tryton server can connect.
|
||||||
|
|
||||||
-- Axel Braun <axel.braun@gmx.de> MON Jun 11 10:27:14 UTC 2018
|
-- Axel Braun <DocB@opensuse.org> Wed Aug 4 14:27:11 UTC 2021
|
||||||
|
|
||||||
|
|
||||||
This file is based on tryton-server.README.Debian
|
This file is based on tryton-server.README.Debian
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:fea00a36f8d279f4d48fc458f824b4791596c91844397090f74e92f01adfad02
|
|
||||||
size 661565
|
|
@ -1,12 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
Version: GnuPG v2
|
|
||||||
|
|
||||||
iQEzBAABCgAdFiEEdP/VdIYNMe45RAljV09u/05HdRcFAmH5aqAACgkQV09u/05H
|
|
||||||
dRe1Agf/aEs72XXkbooX4WEPZv8MwMzYXfGc/2Rp2yWMDlSLp37EqhfouYyaE2yI
|
|
||||||
Ae3uLZv+I6DTWPYSANFXakpOr0auPrVSvI12z5KcQ7A5dga9Gm3hxYCdmwaXthfp
|
|
||||||
/tUHAS6WTo1nzbI2SUnxSOFu9N8RZXiPoM7L2m2vHckP6yaFsr0oLuHbRf+Y1hPP
|
|
||||||
w8D/grArlyxCMMrxv0IQuF9TrNUtTV5p7vjFlpH5+vZT5C1QG6Dn3fAAzi1YI0jv
|
|
||||||
oZ9kZWH8QslAYg1S0ZkO+3/Pn6n89GVcLvwliIFdbRf+a7g6Tnsr6Mn9WMxv83RW
|
|
||||||
FsWim8WDhe0RDhKuEpGBE+mTo0CFjQ==
|
|
||||||
=sKp7
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
trytond-6.0.16.tar.gz
Normal file
3
trytond-6.0.16.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ce268bdedb064fddc372111105bca3398e29ba865d474a39b6c51a7f647add74
|
||||||
|
size 852998
|
12
trytond-6.0.16.tar.gz.asc
Normal file
12
trytond-6.0.16.tar.gz.asc
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2
|
||||||
|
|
||||||
|
iQEzBAABCgAdFiEEdP/VdIYNMe45RAljV09u/05HdRcFAmIeZEQACgkQV09u/05H
|
||||||
|
dReYnAf/RB4xHXSexCK7Fr6z5T5l1B07hM6nZJiNvexG3xlQ5Xo/KuAt//2ytJ7D
|
||||||
|
Nh+JXLC+yQpQtKcw6fHqVxTxEVXgFzKzdRbLdIZ4+jBIaDgRvbL0WcE8tG0oqHGB
|
||||||
|
v/R/17/122qFC042ILa8gi7MM6wD47Uc8bpdcLeoowHrpwEvc7rjVPeWTAlKIs4h
|
||||||
|
JcsdSp2MjEc912myZ6vDoh2UoaglaRRS3R4Z4Ik8YCEck1+kOoBaX/vlsTnnO85F
|
||||||
|
rcB6FINSSvEkia49olDgDPXpwjCD0hH2cG2tIinMj6dw69Gzhy6o3IrEveT3LfiB
|
||||||
|
Xxkye4s8sqAUdRYeBQ7UGRq4jXBMJw==
|
||||||
|
=Q4LH
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 2 11:33:56 UTC 2022 - Axel Braun <axel.braun@gmx.de>
|
||||||
|
|
||||||
|
- Version 6.0.16 - Security Bugfix Release
|
||||||
|
* python3-defusedxml added
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 18 17:13:07 UTC 2022 - Axel Braun <axel.braun@gmx.de>
|
||||||
|
|
||||||
|
- Version 6.0.15 - Bugfix Release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Feb 12 17:19:18 UTC 2022 - Axel Braun <axel.braun@gmx.de>
|
||||||
|
|
||||||
|
- Version bump to Tryton 6.0 series
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Feb 1 19:22:53 UTC 2022 - Axel Braun <axel.braun@gmx.de>
|
Tue Feb 1 19:22:53 UTC 2022 - Axel Braun <axel.braun@gmx.de>
|
||||||
|
|
||||||
|
272
trytond.conf
272
trytond.conf
@ -3,44 +3,7 @@
|
|||||||
# This file contains the most common settings for trytond (Defaults
|
# This file contains the most common settings for trytond (Defaults
|
||||||
# are commented).
|
# are commented).
|
||||||
# For more information read
|
# For more information read
|
||||||
# /usr/share/doc/packages/trytond
|
# https://docs.tryton.org/projects/server/en/latest/topics/configuration.html#topics-configuration
|
||||||
|
|
||||||
[database]
|
|
||||||
# Database related settings
|
|
||||||
|
|
||||||
# The URI to connect to the SQL database (following RFC-3986)
|
|
||||||
# uri = database://username:password@host:port/
|
|
||||||
# (Internal default: sqlite:// (i.e. a local SQLite database))
|
|
||||||
#
|
|
||||||
# PostgreSQL via Unix domain sockets
|
|
||||||
# (e.g. PostgreSQL database running on the same machine (localhost))
|
|
||||||
#uri = postgresql://tryton:tryton@/
|
|
||||||
#
|
|
||||||
# Postgres running on the same machine:
|
|
||||||
|
|
||||||
uri = postgresql:///
|
|
||||||
|
|
||||||
# PostgreSQL via TCP/IP
|
|
||||||
# (e.g. connecting to a PostgreSQL database running on a remote machine or
|
|
||||||
# by means of md5 authentication. Needs PostgreSQL to be configured to accept
|
|
||||||
# those connections (pg_hba.conf).)
|
|
||||||
#uri = postgresql://tryton:tryton@localhost:5432/
|
|
||||||
|
|
||||||
# The path to the directory where the Tryton Server stores files.
|
|
||||||
# The server must have write permissions to this directory.
|
|
||||||
# (Internal default: /var/lib/trytond)
|
|
||||||
path = /var/lib/tryton
|
|
||||||
|
|
||||||
# Shall available databases be listed in the client?
|
|
||||||
#list = True
|
|
||||||
|
|
||||||
# The number of retries of the Tryton Server when there are errors
|
|
||||||
# in a request to the database
|
|
||||||
#retry = 5
|
|
||||||
|
|
||||||
# The primary language, that is used to store entries in translatable
|
|
||||||
# fields into the database.
|
|
||||||
#language = en
|
|
||||||
|
|
||||||
[web]
|
[web]
|
||||||
# Settings for the web interface
|
# Settings for the web interface
|
||||||
@ -65,9 +28,75 @@ listen = [::]:8000
|
|||||||
# The number of proxy servers in front of trytond.
|
# The number of proxy servers in front of trytond.
|
||||||
#num_proxies = 0
|
#num_proxies = 0
|
||||||
|
|
||||||
[webdav]
|
# The cache timeout in seconds.
|
||||||
# The port on which the webdav server listens
|
#cache_timeout = 12h
|
||||||
#listen = [::]:8080
|
|
||||||
|
# The list (one per line) of origins allowed for Cross-Origin Resource sharing.
|
||||||
|
# https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
|
||||||
|
#cors =
|
||||||
|
|
||||||
|
# The base URL without a path for avatar URL.
|
||||||
|
#avatar_base = ''
|
||||||
|
|
||||||
|
[database]
|
||||||
|
# Database related settings
|
||||||
|
|
||||||
|
# The URI to connect to the SQL database (following RFC-3986)
|
||||||
|
# uri = database://username:password@host:port/?param1=value1¶m2=value2
|
||||||
|
# (Internal default: sqlite:// (i.e. a local SQLite database))
|
||||||
|
#
|
||||||
|
# A list of parameters supported by PostgreSQL can be found in the documentation.
|
||||||
|
# https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS
|
||||||
|
|
||||||
|
# PostgreSQL via Unix domain sockets
|
||||||
|
# (e.g. PostgreSQL database running on the same machine (localhost))
|
||||||
|
#uri = postgresql://tryton:tryton@/
|
||||||
|
#
|
||||||
|
# Postgres running on the same machine:
|
||||||
|
|
||||||
|
uri = postgresql:///
|
||||||
|
|
||||||
|
# PostgreSQL via TCP/IP
|
||||||
|
# (e.g. connecting to a PostgreSQL database running on a remote machine or
|
||||||
|
# by means of md5 authentication. Needs PostgreSQL to be configured to accept
|
||||||
|
# those connections (pg_hba.conf).)
|
||||||
|
#uri = postgresql://tryton:tryton@localhost:5432/
|
||||||
|
|
||||||
|
# SQLite
|
||||||
|
# The URI is defined as sqlite://
|
||||||
|
# If the name of the database is :memory:, the parameter mode will be set to memory
|
||||||
|
# thus using a pure in-memory database.
|
||||||
|
# The recognized query parameters can be found in SQLite’s documentation.
|
||||||
|
# https://www.sqlite.org/uri.html#recognized_query_parameters
|
||||||
|
|
||||||
|
# The path to the directory where the Tryton Server stores files.
|
||||||
|
# The server must have write permissions to this directory.
|
||||||
|
# (Internal default: /var/lib/trytond)
|
||||||
|
path = /var/lib/tryton
|
||||||
|
|
||||||
|
# Shall available databases be listed in the client?
|
||||||
|
#list = True
|
||||||
|
|
||||||
|
# The number of retries of the Tryton Server when there are errors
|
||||||
|
# in a request to the database
|
||||||
|
#retry = 5
|
||||||
|
|
||||||
|
# The primary language, that is used to store entries in translatable
|
||||||
|
# fields into the database.
|
||||||
|
#language = en
|
||||||
|
|
||||||
|
# avatar_filestore
|
||||||
|
# This configuration value indicates whether the avatars should be stored in the
|
||||||
|
# trytond.filestore (True) or the database (False).
|
||||||
|
#avatar_filestore = False
|
||||||
|
|
||||||
|
# avatar_prefix
|
||||||
|
# The prefix to use with the FileStore to store avatars.
|
||||||
|
# Default: None
|
||||||
|
|
||||||
|
# default_name
|
||||||
|
# The name of the database to use for operations without a database name.
|
||||||
|
# Default: template1 for PostgreSQL, :memory: for SQLite.
|
||||||
|
|
||||||
[request]
|
[request]
|
||||||
# The maximum size in bytes for unauthenticated requests (zero means no limit).
|
# The maximum size in bytes for unauthenticated requests (zero means no limit).
|
||||||
@ -76,8 +105,40 @@ listen = [::]:8000
|
|||||||
# The maximum size in bytes of an authenticated request (zero means no limit).
|
# The maximum size in bytes of an authenticated request (zero means no limit).
|
||||||
#max_size_authenticated = 2GB
|
#max_size_authenticated = 2GB
|
||||||
|
|
||||||
|
[cache]
|
||||||
|
# Various cache size settings
|
||||||
|
|
||||||
|
# The number of different models kept in the cache per transaction.
|
||||||
|
#model = 200
|
||||||
|
|
||||||
|
# The number of loaded records kept in the cache. It can also be changed
|
||||||
|
# locally using the _record_cache_size key in Transaction.context.
|
||||||
|
#record = 2000
|
||||||
|
|
||||||
|
# The number of fields to load with eager Field.loading.
|
||||||
|
#field = 100
|
||||||
|
|
||||||
|
# The minimum number of seconds between two cleanings of the cache.
|
||||||
|
#clean_timeout = 300
|
||||||
|
|
||||||
|
[queue]
|
||||||
|
# Activate asynchronous processing of the tasks. Otherwise they are performed at the end of the requests.
|
||||||
|
#worker = False
|
||||||
|
|
||||||
|
# The number of days after which processed tasks are removed.
|
||||||
|
#clean_days = 30
|
||||||
|
|
||||||
|
[table]
|
||||||
|
# This section allows to override the default generated table name for a ModelSQL.
|
||||||
|
# The main goal is to bypass limitation on the name length of the database backend.
|
||||||
|
# For example:
|
||||||
|
#account.invoice.line = acc_inv_line
|
||||||
|
#account.invoice.tax = acc_inv_tax
|
||||||
|
|
||||||
[ssl]
|
[ssl]
|
||||||
# SSL settings
|
# SSL settings
|
||||||
|
# Note: It is recommended to delegate the SSL support to a proxy.
|
||||||
|
#
|
||||||
# Activation of SSL for all available protocols.
|
# Activation of SSL for all available protocols.
|
||||||
# Uncomment the following settings for key and certificate.
|
# Uncomment the following settings for key and certificate.
|
||||||
# SSL is activated by defining privatekey.
|
# SSL is activated by defining privatekey.
|
||||||
@ -88,14 +149,42 @@ listen = [::]:8000
|
|||||||
# The path to the certificate
|
# The path to the certificate
|
||||||
#certificate = /etc/ssl/certs/ssl-cert-snakeoil.pem
|
#certificate = /etc/ssl/certs/ssl-cert-snakeoil.pem
|
||||||
|
|
||||||
|
[email]
|
||||||
|
# Mail settings
|
||||||
|
# Note: Email settings can be tested with the trytond-admin command
|
||||||
|
|
||||||
|
# The SMTP-URI to connect to the SMTP server.
|
||||||
|
# Available protocols are:
|
||||||
|
# - smtp: simple SMTP
|
||||||
|
# - smtp+tls: SMTP with STARTTLS
|
||||||
|
# - smtps: SMTP with SSL
|
||||||
|
#
|
||||||
|
# The uri accepts the following additional parameters:
|
||||||
|
# local_hostname: used as FQDN of the local host in the HELO/EHLO commands,
|
||||||
|
# if omited it will use the value of socket.getfqdn().
|
||||||
|
|
||||||
|
# timeout: A number of seconds used as timeout for blocking operations.
|
||||||
|
# A socket.timeout will be raised when exceeded. If omited the default timeout will be used.
|
||||||
|
|
||||||
|
#uri = smtp://localhost:25
|
||||||
|
|
||||||
|
# Defines the default From address (using RFC-822) for emails sent by Tryton.
|
||||||
|
#from = "Company Inc" <info@example.com>
|
||||||
|
|
||||||
[session]
|
[session]
|
||||||
# Session settings
|
# Session settings
|
||||||
|
|
||||||
# A comma separated list of login methods to use for user authentication.
|
# A comma separated list of the authentication methods to try when attempting to verify a user’s
|
||||||
# By default, Tryton supports only the password method which compares the
|
# identity. Each method is tried in turn, following the order of the list, until one succeeds.
|
||||||
# password entered by the user against a stored hash.
|
# In order to allow multi-factor authentication, individual methods can be combined
|
||||||
# Other modules may define other methods (please refer to their documentation).
|
# together using a plus (+) symbol.
|
||||||
# The methods are tested following the order of the list.
|
# Example
|
||||||
|
#authentications = password+sms, ldap
|
||||||
|
# By default, Tryton only supports the password method. This method compares the
|
||||||
|
# password entered by the user against a stored hash of the user’s password.
|
||||||
|
# Other modules can define additional authentication methods, please refer to
|
||||||
|
# their documentation for more information.
|
||||||
|
#Default:
|
||||||
#authentications = password
|
#authentications = password
|
||||||
|
|
||||||
# The time (in seconds) until a session expires.
|
# The time (in seconds) until a session expires.
|
||||||
@ -139,19 +228,6 @@ listen = [::]:8000
|
|||||||
# If no path is set, Tryton will use the schemes `bcrypt` or `pbkdf2_sha512`.
|
# If no path is set, Tryton will use the schemes `bcrypt` or `pbkdf2_sha512`.
|
||||||
#passlib = None
|
#passlib = None
|
||||||
|
|
||||||
[email]
|
|
||||||
# Mail settings
|
|
||||||
|
|
||||||
# The URI to connect to the SMTP server.
|
|
||||||
# Available protocols are:
|
|
||||||
# - smtp: simple SMTP
|
|
||||||
# - smtp+tls: SMTP with STARTTLS
|
|
||||||
# - smtps: SMTP with SSL
|
|
||||||
#uri = smtp://localhost:25
|
|
||||||
|
|
||||||
# The From address used by the Tryton Server to send emails.
|
|
||||||
#from = tryton@localhost
|
|
||||||
|
|
||||||
[attachment]
|
[attachment]
|
||||||
# Defines how to store the attachments
|
# Defines how to store the attachments
|
||||||
# A boolean value to store attachment in the FileStore.
|
# A boolean value to store attachment in the FileStore.
|
||||||
@ -164,6 +240,9 @@ listen = [::]:8000
|
|||||||
# Allow clients to subscribe to bus channels (Boolean).
|
# Allow clients to subscribe to bus channels (Boolean).
|
||||||
#allow_subscribe = False
|
#allow_subscribe = False
|
||||||
|
|
||||||
|
# If set, redirects bus requests to the host URL.
|
||||||
|
#url_host =
|
||||||
|
|
||||||
# The time (in seconds) to keep the connection to the client open
|
# The time (in seconds) to keep the connection to the client open
|
||||||
# when using long polling for bus messages.
|
# when using long polling for bus messages.
|
||||||
#long_polling_timeout = 300
|
#long_polling_timeout = 300
|
||||||
@ -172,61 +251,31 @@ listen = [::]:8000
|
|||||||
# before being discarded.
|
# before being discarded.
|
||||||
#cache_timeout = 300
|
#cache_timeout = 300
|
||||||
|
|
||||||
# The timeout (in seconds) for the select call when listening
|
[html]
|
||||||
# on a channel.
|
# The URL pointing to TinyMCE editor.
|
||||||
#select_timeout = 5
|
#src = https://cloud.tinymce.com/stable/tinymce.min.js
|
||||||
|
|
||||||
# Let the worker queue handle bus messages
|
# The space separated list of TinyMCE plugins to load. It can be overridden for
|
||||||
#queue = False
|
# specific models and fields using the names: plugins-<model>-<field> or plugins-<model>.
|
||||||
|
#plugins = ``
|
||||||
|
|
||||||
# Define the class to use when queue is set to True
|
# The JSON list of CSS files to load. It can be overridden for specific models
|
||||||
#class = trytond.bus.LongPollingBus
|
# and fields using the names: css-<model>-<field> or css-<model>.
|
||||||
|
#css = []
|
||||||
|
|
||||||
|
# The class to add on the body. It can be overridden for specific models and
|
||||||
|
# fields using the names: class-<model>-<field> or class-<model>.
|
||||||
|
#class = ''
|
||||||
|
|
||||||
# Special Settings
|
[wsgi middleware]
|
||||||
[cache]
|
# The section lists the WSGI middleware class to load. Each middleware can be
|
||||||
# Various cache size settings
|
# configured with a section named wsgi <middleware> containing args and kwargs options.
|
||||||
|
#Example:
|
||||||
# The number of different models kept in the cache per transaction.
|
#[wsgi middleware]
|
||||||
#model = 200
|
#ie = werkzeug.contrib.fixers.InternetExplorerFix
|
||||||
|
|
||||||
# The number of loaded records kept in the cache. It can also be changed
|
|
||||||
# locally using the _record_cache_size key in Transaction.context.
|
|
||||||
#record = 2000
|
|
||||||
|
|
||||||
# The number of fields to load with eager Field.loading.
|
|
||||||
#field = 100
|
|
||||||
|
|
||||||
# The minimum number of seconds between two cleanings of the cache.
|
|
||||||
#clean_timeout = 300
|
|
||||||
|
|
||||||
[queue]
|
|
||||||
# Activate asynchronous processing of the tasks. Otherwise they are performed at the end of the requests.
|
|
||||||
#worker = False
|
|
||||||
|
|
||||||
[table]
|
|
||||||
# This section allows to override the default generated table names. The main purpose
|
|
||||||
# is to bypass name length limitations of a database backend.
|
|
||||||
# Examples:
|
|
||||||
#account.invoice.line = acc_inv_line
|
|
||||||
#account.invoice.tax = acc_inv_tax
|
|
||||||
|
|
||||||
|
|
||||||
# Module settings
|
|
||||||
#
|
#
|
||||||
# Some modules are reading configuration parameters from this
|
#[wsgi ie]
|
||||||
# configuration file. These settings only apply when those modules
|
#kwargs={'fix_attach': False}
|
||||||
# are installed.
|
|
||||||
#
|
|
||||||
[account_fr_chorus]
|
|
||||||
# The private key to communicate with the chorus service.
|
|
||||||
#privatekey =
|
|
||||||
|
|
||||||
# The certficate to communicate with the chorus service.
|
|
||||||
#certificate =
|
|
||||||
|
|
||||||
# Target URL of the Chorus service
|
|
||||||
#url = https://chorus-pro.gouv.fr:5443
|
|
||||||
|
|
||||||
[ldap_authentication]
|
[ldap_authentication]
|
||||||
# The LDAP URL to connect to the server following RFC-2255.
|
# The LDAP URL to connect to the server following RFC-2255.
|
||||||
@ -279,3 +328,8 @@ listen = [::]:8000
|
|||||||
# Warning: This setting can not be lowered once a database is created.
|
# Warning: This setting can not be lowered once a database is created.
|
||||||
#price_decimal = 4
|
#price_decimal = 4
|
||||||
|
|
||||||
|
# only needed by GNU Health:
|
||||||
|
[webdav]
|
||||||
|
# The port on which the webdav server listens
|
||||||
|
#listen = [::]:8080
|
||||||
|
|
||||||
|
@ -1,143 +0,0 @@
|
|||||||
# /etc/tryton/trytond.conf - Configuration file for Tryton Server (trytond)
|
|
||||||
#
|
|
||||||
# This file contains the most common settings for trytond (Defaults
|
|
||||||
# are commented).
|
|
||||||
# For more information read
|
|
||||||
# /usr/share/doc/packages/trytond
|
|
||||||
|
|
||||||
[database]
|
|
||||||
# Database related settings
|
|
||||||
|
|
||||||
# The URI to connect to the SQL database (following RFC-3986)
|
|
||||||
# uri = database://username:password@host:port/
|
|
||||||
# (Internal default: sqlite:// (i.e. a local SQLite database))
|
|
||||||
#
|
|
||||||
# PostgreSQL via Unix domain sockets
|
|
||||||
# (e.g. PostgreSQL database running on the same machine (localhost))
|
|
||||||
#uri = postgresql://tryton:tryton@/
|
|
||||||
#
|
|
||||||
#Default setting for a local postgres database
|
|
||||||
|
|
||||||
uri = postgresql:///
|
|
||||||
|
|
||||||
#
|
|
||||||
# PostgreSQL via TCP/IP
|
|
||||||
# (e.g. connecting to a PostgreSQL database running on a remote machine or
|
|
||||||
# by means of md5 authentication. Needs PostgreSQL to be configured to accept
|
|
||||||
# those connections (pg_hba.conf).)
|
|
||||||
#uri = postgresql://tryton:tryton@localhost:5432/
|
|
||||||
|
|
||||||
# The path to the directory where the Tryton Server stores files.
|
|
||||||
# The server must have write permissions to this directory.
|
|
||||||
# (Internal default: /var/lib/trytond)
|
|
||||||
path = /var/lib/tryton
|
|
||||||
|
|
||||||
# Shall available databases be listed in the client?
|
|
||||||
#list = True
|
|
||||||
|
|
||||||
# The number of retries of the Tryton Server when there are errors
|
|
||||||
# in a request to the database
|
|
||||||
#retry = 5
|
|
||||||
|
|
||||||
# The primary language, that is used to store entries in translatable
|
|
||||||
# fields into the database.
|
|
||||||
#language = en_US
|
|
||||||
|
|
||||||
[ssl]
|
|
||||||
# SSL settings
|
|
||||||
# Activation of SSL for all available protocols.
|
|
||||||
# Uncomment the following settings for key and certificate
|
|
||||||
# to enable SSL.
|
|
||||||
|
|
||||||
# The path to the private key
|
|
||||||
#privatekey = /etc/ssl/private/ssl-cert-snakeoil.key
|
|
||||||
|
|
||||||
# The path to the certificate
|
|
||||||
#certificate = /etc/ssl/certs/ssl-cert-snakeoil.pem
|
|
||||||
|
|
||||||
[jsonrpc]
|
|
||||||
# Settings for the JSON-RPC network interface
|
|
||||||
|
|
||||||
# The IP/host and port number of the interface
|
|
||||||
# (Internal default: localhost:8000)
|
|
||||||
#
|
|
||||||
# Listen on all interfaces (IPv4)
|
|
||||||
|
|
||||||
listen = 0.0.0.0:8000
|
|
||||||
|
|
||||||
#
|
|
||||||
# Listen on all interfaces (IPv4 and IPv6)
|
|
||||||
#listen = [::]:8000
|
|
||||||
|
|
||||||
# The hostname for this interface
|
|
||||||
#hostname =
|
|
||||||
|
|
||||||
# The root path to retrieve data for GET requests
|
|
||||||
#data = jsondata
|
|
||||||
|
|
||||||
[xmlrpc]
|
|
||||||
# Settings for the XML-RPC network interface
|
|
||||||
|
|
||||||
# The IP/host and port number of the interface
|
|
||||||
#listen = localhost:8069
|
|
||||||
|
|
||||||
[webdav]
|
|
||||||
# Settings for the WebDAV network interface
|
|
||||||
|
|
||||||
# The IP/host and port number of the interface
|
|
||||||
#listen = localhost:8080
|
|
||||||
|
|
||||||
[session]
|
|
||||||
# Session settings
|
|
||||||
|
|
||||||
# The time (in seconds) until an inactive session expires
|
|
||||||
#timeout = 3600
|
|
||||||
|
|
||||||
# The server administration password used by the client for
|
|
||||||
# the execution of database management tasks. It is encrypted
|
|
||||||
# using using the Unix crypt(3) routine. A password can be
|
|
||||||
# generated using the following command line (on one line):
|
|
||||||
# $ python -c 'import getpass,crypt,random,string; \
|
|
||||||
# print crypt.crypt(getpass.getpass(), \
|
|
||||||
# "".join(random.sample(string.ascii_letters + string.digits, 8)))'
|
|
||||||
# Example password with 'admin'
|
|
||||||
super_pwd = jkUbZGvFNeugk
|
|
||||||
|
|
||||||
[email]
|
|
||||||
# Mail settings
|
|
||||||
|
|
||||||
# The URI to connect to the SMTP server.
|
|
||||||
# Available protocols are:
|
|
||||||
# - smtp: simple SMTP
|
|
||||||
# - smtp+tls: SMTP with STARTTLS
|
|
||||||
# - smtps: SMTP with SSL
|
|
||||||
#uri = smtp://localhost:25
|
|
||||||
|
|
||||||
# The From address used by the Tryton Server to send emails.
|
|
||||||
#from = tryton@localhost
|
|
||||||
|
|
||||||
[report]
|
|
||||||
# Report settings
|
|
||||||
|
|
||||||
# Unoconv parameters for connection to the unoconv service.
|
|
||||||
#unoconv = pipe,name=trytond;urp;StarOffice.ComponentContext
|
|
||||||
|
|
||||||
# Module settings
|
|
||||||
#
|
|
||||||
# Some modules are reading configuration parameters from this
|
|
||||||
# configuration file. These settings only apply when those modules
|
|
||||||
# are installed.
|
|
||||||
#
|
|
||||||
#[ldap_authentication]
|
|
||||||
# The URI to connect to the LDAP server.
|
|
||||||
#uri = ldap://host:port/dn?attributes?scope?filter?extensions
|
|
||||||
# A basic default URL could look like
|
|
||||||
#uri = ldap://localhost:389/
|
|
||||||
|
|
||||||
[web]
|
|
||||||
# Path for the web-frontend
|
|
||||||
#root = /usr/lib/node-modules/tryton-sao
|
|
||||||
|
|
||||||
[webdav]
|
|
||||||
# The port on which the webdav server listens
|
|
||||||
listen = [::]:8080
|
|
52
trytond.spec
52
trytond.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package trytond
|
# spec file for package trytond
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
# Copyright (c) 2015-2022 Dr. Axel Braun
|
# Copyright (c) 2015-2022 Dr. Axel Braun
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
@ -17,10 +17,10 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define majorver 5.0
|
%define majorver 6.0
|
||||||
%define base_name tryton
|
%define base_name tryton
|
||||||
Name: trytond
|
Name: trytond
|
||||||
Version: %{majorver}.44
|
Version: %{majorver}.16
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: An Enterprise Resource Planning (ERP) system
|
Summary: An Enterprise Resource Planning (ERP) system
|
||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
@ -28,48 +28,49 @@ Group: Productivity/Office/Management
|
|||||||
URL: https://www.tryton.org/
|
URL: https://www.tryton.org/
|
||||||
Source0: http://downloads.tryton.org/%{majorver}/%{name}-%{version}.tar.gz
|
Source0: http://downloads.tryton.org/%{majorver}/%{name}-%{version}.tar.gz
|
||||||
Source1: tryton-server.README.openSUSE
|
Source1: tryton-server.README.openSUSE
|
||||||
Source2: trytond.conf.example
|
|
||||||
Source3: %{name}.conf
|
Source3: %{name}.conf
|
||||||
Source4: %{name}_log.conf
|
Source4: %{name}_log.conf
|
||||||
Source5: http://downloads.tryton.org/%{majorver}/%{name}-%{version}.tar.gz.asc
|
Source5: http://downloads.tryton.org/%{majorver}/%{name}-%{version}.tar.gz.asc
|
||||||
Source6: https://keybase.io/cedrickrier/pgp_keys.asc?fingerprint=7C5A4360F6DF81ABA91FD54D6FF50AFE03489130#/%{name}.keyring
|
Source6: https://keybase.io/cedrickrier/pgp_keys.asc?fingerprint=7C5A4360F6DF81ABA91FD54D6FF50AFE03489130#/%{name}.keyring
|
||||||
|
Source7: openSUSE-trytond-setup
|
||||||
Source20: %{name}.service
|
Source20: %{name}.service
|
||||||
Patch0: fix_werkzeug.patch
|
Patch0: fix_werkzeug_2.x.patch
|
||||||
Patch1: revert_werkzeug_setup.patch
|
Patch1: Update_changed_fields_6.0.diff
|
||||||
Patch2: fix_werkzeug_2.x.patch
|
|
||||||
Patch3: Update_changed_fields.diff
|
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
|
||||||
BuildRequires: python3-Werkzeug
|
BuildRequires: python3-Werkzeug
|
||||||
BuildRequires: python3-bcrypt
|
BuildRequires: python3-bcrypt
|
||||||
BuildRequires: python3-lxml >= 2.0
|
BuildRequires: python3-lxml >= 2.0
|
||||||
BuildRequires: python3-psycopg2
|
BuildRequires: python3-psycopg2 >= 2.5.4
|
||||||
BuildRequires: python3-pydot3
|
BuildRequires: python3-pydot3
|
||||||
BuildRequires: python3-python-sql
|
BuildRequires: python3-python-sql >= 0.5
|
||||||
BuildRequires: python3-setuptools
|
BuildRequires: python3-setuptools
|
||||||
BuildRequires: python3-wrapt
|
BuildRequires: python3-wrapt
|
||||||
|
|
||||||
Requires: html2text
|
Requires: html2text
|
||||||
Requires: libreoffice-pyuno
|
Requires: libreoffice-pyuno
|
||||||
Requires: postgresql-server
|
Requires: python3-defusedxml
|
||||||
Requires: python3-Genshi
|
Requires: python3-Genshi
|
||||||
Requires: python3-Levenshtein
|
Requires: python3-Levenshtein
|
||||||
Requires: python3-Sphinx
|
Requires: python3-Pillow
|
||||||
|
Requires: python3-weasyprint
|
||||||
Requires: python3-Werkzeug
|
Requires: python3-Werkzeug
|
||||||
Requires: python3-bcrypt
|
Requires: python3-bcrypt
|
||||||
Requires: python3-dateutil
|
Requires: python3-dateutil
|
||||||
|
Requires: python3-gevent
|
||||||
Requires: python3-lxml
|
Requires: python3-lxml
|
||||||
Requires: python3-mock
|
|
||||||
Requires: python3-passlib >= 1.7.0
|
Requires: python3-passlib >= 1.7.0
|
||||||
Requires: python3-polib
|
Requires: python3-polib
|
||||||
Requires: python3-psycopg2 >= 2.5.4
|
Requires: python3-psycopg2 >= 2.5.4
|
||||||
Requires: python3-python-sql >= 0.4
|
Requires: python3-python-sql >= 0.5
|
||||||
Requires: python3-relatorio >= 0.7.0
|
Requires: python3-relatorio >= 0.7.0
|
||||||
Requires: python3-simpleeval
|
Requires: python3-pydot
|
||||||
Requires: python3-wrapt
|
Requires: python3-wrapt
|
||||||
Requires: unoconv
|
Requires: unoconv
|
||||||
Requires(pre): %{_sbindir}/groupadd
|
Requires(pre): %{_sbindir}/groupadd
|
||||||
Requires(pre): %{_sbindir}/useradd
|
Requires(pre): %{_sbindir}/useradd
|
||||||
|
# Database may run on a different machine, so a hard requirement is not ideal
|
||||||
|
Recommends: postgresql-server
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
%{?systemd_ordering}
|
%{?systemd_ordering}
|
||||||
|
|
||||||
@ -83,17 +84,15 @@ security.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
cp %{SOURCE1} .
|
cp %{SOURCE1} .
|
||||||
cp %{SOURCE2} .
|
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
|
|
||||||
#Werkzeug2 is not compatible with Werkzeug 1.x, so we need a conditional patch
|
#Werkzeug2 is not compatible with Werkzeug 1.x, so we need a conditional patch
|
||||||
echo 0%{?suse_version}
|
echo 0%{?suse_version}
|
||||||
%if 0%{?suse_version} >= 1550
|
%if 0%{?suse_version} >= 1550
|
||||||
%patch2 -p1
|
%patch0 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python3_build
|
%python3_build
|
||||||
|
|
||||||
@ -105,6 +104,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{base_name}
|
|||||||
install -p -m 640 %{SOURCE3} %{buildroot}%{_sysconfdir}/%{base_name}/%{name}.conf
|
install -p -m 640 %{SOURCE3} %{buildroot}%{_sysconfdir}/%{base_name}/%{name}.conf
|
||||||
install -p -m 640 %{SOURCE4} %{buildroot}%{_sysconfdir}/%{base_name}/%{name}_log.conf
|
install -p -m 640 %{SOURCE4} %{buildroot}%{_sysconfdir}/%{base_name}/%{name}_log.conf
|
||||||
|
|
||||||
|
mkdir -p -m 755 %{buildroot}%{_bindir}
|
||||||
|
install -p -m 755 %{S:7} %{buildroot}%{_bindir}/openSUSE-trytond-setup
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_unitdir}
|
mkdir -p %{buildroot}%{_unitdir}
|
||||||
install -p -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/%{name}.service
|
install -p -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/%{name}.service
|
||||||
|
|
||||||
@ -129,13 +131,11 @@ getent passwd tryton > /dev/null || %{_sbindir}/useradd -r -g tryton \
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc README tryton-server.README.openSUSE trytond.conf.example doc/*
|
%doc README.rst tryton-server.README.openSUSE doc/*
|
||||||
%{python3_sitelib}/*
|
%{python3_sitelib}/*
|
||||||
%dir %{_sysconfdir}/%{base_name}
|
%dir %{_sysconfdir}/%{base_name}
|
||||||
%{_bindir}/%{name}
|
%{_bindir}/openSUSE-trytond-setup
|
||||||
%{_bindir}/%{name}-admin
|
%{_bindir}/%{name}*
|
||||||
%{_bindir}/%{name}-cron
|
|
||||||
%{_bindir}/%{name}-worker
|
|
||||||
%{_unitdir}/%{name}.service
|
%{_unitdir}/%{name}.service
|
||||||
%attr(640,root,tryton) %config(noreplace)%{_sysconfdir}/%{base_name}/%{name}.conf
|
%attr(640,root,tryton) %config(noreplace)%{_sysconfdir}/%{base_name}/%{name}.conf
|
||||||
%attr(640,root,tryton) %config(noreplace)%{_sysconfdir}/%{base_name}/%{name}_log.conf
|
%attr(640,root,tryton) %config(noreplace)%{_sysconfdir}/%{base_name}/%{name}_log.conf
|
||||||
|
Loading…
x
Reference in New Issue
Block a user