From e2673e24e3d222a3c170ef6b5bddc08a27c4d8bb42758a3d4013d4088428afdb Mon Sep 17 00:00:00 2001 From: Axel Braun Date: Thu, 2 Jan 2025 17:36:00 +0000 Subject: [PATCH] Update to trytond Version 6.0.57 - Bugfix Release OBS-URL: https://build.opensuse.org/package/show/Application:ERP:GNUHealth:Factory/trytond?expand=0&rev=221 --- .gitattributes | 23 ++ .gitignore | 1 + Update_changed_fields_6.0.diff | 46 +++ _service | 4 + openSUSE-trytond-setup | 324 +++++++++++++++++ tryton-server.README.openSUSE | 257 +++++++++++++ trytond-6.0.48.tar.gz | 3 + trytond-6.0.50.tar.gz | 3 + trytond-6.0.52.tar.gz | 3 + trytond-6.0.53.tar.gz | 3 + trytond-6.0.55.tar.gz | 3 + trytond-6.0.57.tar.gz | 3 + trytond.changes | 640 +++++++++++++++++++++++++++++++++ trytond.conf | 335 +++++++++++++++++ trytond.service | 20 ++ trytond.spec | 159 ++++++++ trytond_log.conf | 29 ++ 17 files changed, 1856 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Update_changed_fields_6.0.diff create mode 100644 _service create mode 100644 openSUSE-trytond-setup create mode 100644 tryton-server.README.openSUSE create mode 100644 trytond-6.0.48.tar.gz create mode 100644 trytond-6.0.50.tar.gz create mode 100644 trytond-6.0.52.tar.gz create mode 100644 trytond-6.0.53.tar.gz create mode 100644 trytond-6.0.55.tar.gz create mode 100644 trytond-6.0.57.tar.gz create mode 100644 trytond.changes create mode 100644 trytond.conf create mode 100644 trytond.service create mode 100644 trytond.spec create mode 100644 trytond_log.conf diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/Update_changed_fields_6.0.diff b/Update_changed_fields_6.0.diff new file mode 100644 index 0000000..f881e01 --- /dev/null +++ b/Update_changed_fields_6.0.diff @@ -0,0 +1,46 @@ +diff --git a/trytond/convert.py b/trytond/convert.py +index c1dde99f19ae579d3d84d0e9f75272ea857f86f1..b57f1c710aefb7579d4edd9d07baad30df23ba8b 100644 +--- a/trytond/convert.py ++++ b/trytond/convert.py +@@ -9,6 +9,8 @@ import re + from collections import defaultdict + from decimal import Decimal + ++from trytond.config import config ++ + from trytond import __version__ + from trytond.pyson import PYSONEncoder, CONTEXT + from trytond.tools import grouped_slice +@@ -19,6 +19,8 @@ + CDATA_START = re.compile(r'^\s*\<\!\[cdata\[', re.IGNORECASE) + CDATA_END = re.compile(r'\]\]\>\s*$', re.IGNORECASE) + ++_update_changed_fields = config.getboolean('optional', ++ 'update_changed_fields', default=True) + + class DummyTagHandler: + """Dubhandler implementing empty methods. Will be used when whe +@@ -666,11 +671,18 @@ class TrytondXmlHandler(sax.handler.ContentHandler): + # if they are not false in a boolean context (ie None, + # False, {} or []) + if db_field != expected_value and (db_field or expected_value): +- logger.warning( +- "Field %s of %s@%s not updated (id: %s), because " +- "it has changed since the last update", +- key, record.id, model, fs_id) +- continue ++ if _update_changed_fields: ++ logger.warning( ++ "Field %s of %s@%s (id: %s) " ++ "has changed since the last update\n" ++ "It will be nevertheless updated", ++ key, record.id, model, fs_id) ++ else: ++ logger.warning( ++ "Field %s of %s@%s not updated (id: %s), because " ++ "it has changed since the last update", ++ key, record.id, model, fs_id) ++ continue + + # so, the field in the fs and in the db are different, + # and no user changed the value in the db: diff --git a/_service b/_service new file mode 100644 index 0000000..aa59ca1 --- /dev/null +++ b/_service @@ -0,0 +1,4 @@ + + + + diff --git a/openSUSE-trytond-setup b/openSUSE-trytond-setup new file mode 100644 index 0000000..edd68fb --- /dev/null +++ b/openSUSE-trytond-setup @@ -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 +# +# 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 . +# +############################################################################## + +#----------------------------------------------------------------------------- +# 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 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 "$@" diff --git a/tryton-server.README.openSUSE b/tryton-server.README.openSUSE new file mode 100644 index 0000000..aa1883d --- /dev/null +++ b/tryton-server.README.openSUSE @@ -0,0 +1,257 @@ +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) +======================================================== + +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 +> su +> systemctl start postgresql + +2) Change postgres parameters. You need to log in as user postgres, in order to avoid authorisation issues. Assuming we have nano as editor: + + +> su postgres +> nano /var/lib/pgsql/data/pg_hba.conf + +Change the line + local all all md5 +to + local all all trust +Save your input. + +Save your input. + +3) Create a role for 'tryton' in the database (sill as user postgres) +> psql -c "CREATE USER tryton WITH CREATEDB;" + +4) exit as user postgres and restart postgres +> exit +> systemctl restart postgresql + +5) start trytond: +> systemctl start trytond + +6) Install the tryton client: +> zypper in tryton + +7) Open the tryton client: +>tryton +go to 'manage profiles' -> add -> name it 'localhost' -> Host: localhost +-> you should now see a selection of available databases + +Note: From Tryton Release 4.2 onwards it is not possible anymore to create databases from the Frontend. You need to do this manually (see below) + +DONE. + +Setup (a bit more in detail) +============================ + +Preparing the database +---------------------- + +Tryton uses a Relational Database Management System (RDBMS) to store data. The +preferred RDBMS for Tryton is PostgreSQL. + +You have to setup this database manually. Here is a short explanation how to +achieve this. + +We can distinguish two scenarios, to which the following description will reference: + + 1) the database is created manually (recommended for productive environments) + + 2) the database shall be created from the Tryton client (recommended for test) + + * In both cases, make sure PostgreSQL is running: + + > systemctl status postgresql + + Note: If PostgreSQL runs on another machine than the Tryton server, make sure + you have setup database password authentication. Please refer to the + PostgreSQL manual how to do this. + + To allow Tryton Server to connect to postgres, md5 authentication should be used. + In the configuration file /var/lib/pgsql/data/pg_hba.conf change the lines + + # IPv4 local connections: + host all all 127.0.0.1/32 ident + # IPv6 local connections: + host all all ::1/128 ident + + to: + # IPv4 local connections: + host all all 127.0.0.1/32 md5 + # IPv6 local connections: + host all all ::1/128 md5 + + Restart the server for the changes to take effect. + + * Creating the database user: + + The Tryton Server runs as user 'tryton', so we need a role in postgres for this. + + For manual database creation (standard as from Tryton 4.2 onwards) it is sufficient to create the user as follows: + + > su postgres + > psql -c "CREATE USER tryton WITH CREATEDB;" + + Note: If you want to run the database as another user than 'tryton', you + need to replace 'tryton' above with the user you want to use instead. + +Preparing the Tryton server +--------------------------- + + * Setting up the Tryton server (trytond): + + The openSUSE package comes with a working configuration, see + /etc/tryton/trytond.conf + It contains all settings for a locally running database and manual database + configuration. + + Adjust /etc/tryton/trytond.conf to reflect any different the setup of your system. + + * If the Tryton server shall listen on some external interface (i.e. shall be + available for clients connecting from other machines), change the jsonrpc + protocol to listen accordingly. + + * If the Tryton server is listening on external interfaces, it is highly + recommended to enable SSL for the connection. + + Note: See https://code.google.com/p/tryton/wiki/InstallationonopenSUSE#Setting_up_SSL_communication_with_the_Tryton_server + for a description to set up certificates + + * Restarting trytond: + + > systemctl restart trytond + + Note: The fingerprint of connected servers is stored in the clients + known_hosts file. When a server is changed for its SSL usage, the client + will refuse to reconnect to this server. Removing the according line + from ~/.config/tryton//known_hosts will allow to connect to + the server again. + + +Now you are ready to connect with a client, e.g. tryton-client. + +Creating the database for Tryton +-------------------------------- + +For manual creation of the database, the folowing steps are to be performed: + + * Creating the database: + + > su - postgres -c "createdb mydb --encoding='UTF-8' --owner=tryton" + + Note: The owner of the database should be the same user, as under which the + tryton server runs (default:tryton) Enter a name for the database + (here as default: mydb). + + * Initializing the database: + + Log in as user tryton: + + > sudo su tryton -s /bin/bash + > /usr/bin/trytond-admin -c /etc/tryton/trytond.conf --all -d mydb + + Note: Use the database name you chose in the previous step (here as default: + mydb). You will be asked for the admin password for this database. For the first time, log in to the newly initialized database with user admin and password as set during initialization. + +As result you will have a bare Tryton database with the base modules installed. + +See: https://docs.tryton.org/projects/server/en/latest/topics/configuration.html#topics-configuration + +Installation of the Webfrontend for tryton (sao) from source +------------------------------------------------------------ + +In case you want to install sao from source: +sao bases on nodejs, and it comes as separate package. Download and extract +tryton-sao into a directory, say /srv/tryton-sao + +Make sure you have nodejs and git installed: + > zypper install nodejs git + +Now change into to installation directory and install sao: + > cd /srv/tryton-sao/package + > npm install + +Now you need to run grunt. make sure it is run from the locally installed version: + > cd /srv/tryton-sao/package + > node_modules/grunt-cli/bin/grunt + +Last but not least, edit /etc/tryton/trytond.conf +In the section [web], set the path: + root = /srv/tryton-sao/package + +Now restart trytond (or gnuhealth). + + +Upgrade +------- + + * Once you have upgraded to a new major version (second number of the + version string) you have to update your database(s). + After the categorically recommended backup do: + + > /usr/bin/trytond-admin -c /etc/tryton/trytond.conf --all -d mydb + + Remember to replace tryton with the name of your database. + + +Notes +----- + +Now, you're finished with the system setup. Please be aware of the following things: + + * trytond runs by default under the user 'tryton', who is setup as no-login. + If you need to login as user tryton, use su - tryton -s /bin/bash + + * trytond has one default account for server administration: + - User: admin; password: the one you have configured in trytond.conf + as super_pwd. This user is the one used for database management tasks + from the client. + + Note: Each Tryton database will have its own admin with login password + stored in the database itself (not to be confound with the admin of the + Tryton Server). + + * trytond must have read access to its configuration file, otherwise it will + start with internal defaults. The postinst script will (re)set ownership to + the system user running trytond and correct the permissions on the standard + configuration file (/etc/tryton/trytond.conf). + + * trytond listens by default on port 8000 (jsonrpc). If you need to change + this, edit /etc/tryton/trytond.conf in the section [jsonrpc]. + + * trytond in its upstream configuration listens by default to the localhost + interface. If you want to change this default to listen on all interfaces, + edit /etc/tryton/trytond.conf in the section [jsonrpc]. + + * modules can be installed via YaST or zypper, e.g. zypper in trytond_account + + * Installation of modules into the database can be done from the + Administration Panel of the client. Under Modules you can select from the + modules packages (trytond_*) you have installed on your system. + + * Only the same major version of Tryton client and Tryton server can connect. + + -- Axel Braun Wed Aug 4 14:27:11 UTC 2021 + + +This file is based on tryton-server.README.Debian +Copyright: 2009-2012 Daniel Baumann + 2011-2014 Mathias Behrle diff --git a/trytond-6.0.48.tar.gz b/trytond-6.0.48.tar.gz new file mode 100644 index 0000000..4a194a8 --- /dev/null +++ b/trytond-6.0.48.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e31292bf8af0b856a398e50646e3bb05fa24b4883fa4e2fc6eef1174385d465 +size 855820 diff --git a/trytond-6.0.50.tar.gz b/trytond-6.0.50.tar.gz new file mode 100644 index 0000000..cacfd30 --- /dev/null +++ b/trytond-6.0.50.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:416749be12675bfa7c418a224c1270118ad9e3ec91777eac220bdbc1a1de8fc2 +size 856068 diff --git a/trytond-6.0.52.tar.gz b/trytond-6.0.52.tar.gz new file mode 100644 index 0000000..1a8015f --- /dev/null +++ b/trytond-6.0.52.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4563f294a91a1575948ddf06ca43e8c3cda08f09b1d0c019d5e1253ea748823a +size 856150 diff --git a/trytond-6.0.53.tar.gz b/trytond-6.0.53.tar.gz new file mode 100644 index 0000000..f576abc --- /dev/null +++ b/trytond-6.0.53.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85c455346ca3e331bf37028eba241de5757ff920813a74121c77d4f17bf6d3db +size 856276 diff --git a/trytond-6.0.55.tar.gz b/trytond-6.0.55.tar.gz new file mode 100644 index 0000000..d31d7fa --- /dev/null +++ b/trytond-6.0.55.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9596b390e7a814b2f05dcd2b6627d6924cd5a529aadcc6320da632d7b1cb3bf +size 856725 diff --git a/trytond-6.0.57.tar.gz b/trytond-6.0.57.tar.gz new file mode 100644 index 0000000..e7463ad --- /dev/null +++ b/trytond-6.0.57.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc8e78f6c1d0d36b678369a1faf941d33b698ba79b37a88102fa1e0ef90fc668 +size 857286 diff --git a/trytond.changes b/trytond.changes new file mode 100644 index 0000000..9d2583a --- /dev/null +++ b/trytond.changes @@ -0,0 +1,640 @@ +------------------------------------------------------------------- +Thu Jan 2 17:35:49 UTC 2025 - Axel Braun + +- Version 6.0.57 - Bugfix Release + +------------------------------------------------------------------- +Mon Dec 2 10:03:09 UTC 2024 - Axel Braun + +- Version 6.0.55 - Bugfix Release + +------------------------------------------------------------------- +Tue Oct 8 18:03:59 UTC 2024 - Axel Braun + +- Version 6.0.53 - Bugfix Release + +------------------------------------------------------------------- +Tue Sep 17 07:58:59 UTC 2024 - Axel Braun + +- Version 6.0.52 - Bugfix Release + +------------------------------------------------------------------- +Sat Aug 3 08:11:37 UTC 2024 - Axel Braun + +- Version 6.0.50 - Bugfix Release + +------------------------------------------------------------------- +Tue Jul 2 09:11:26 UTC 2024 - Axel Braun + +- Version 6.0.48 - Bugfix Release + +------------------------------------------------------------------- +Tue May 7 08:02:02 UTC 2024 - Axel Braun + +- Version 6.0.46 - Bugfix Release + +------------------------------------------------------------------- +Mon Apr 29 17:39:57 UTC 2024 - Axel Braun + +- sources are not signed anymore + +------------------------------------------------------------------- +Mon Feb 26 16:05:43 UTC 2024 - pgajdos@suse.com + +- Use %autosetup macro. Allows to eliminate the usage of deprecated + %patchN + +------------------------------------------------------------------- +Sun Feb 4 21:49:34 UTC 2024 - Axel Braun + +- Requires: python-Levenshtein adjusted + +------------------------------------------------------------------- +Sat Feb 3 19:07:31 UTC 2024 - Axel Braun + +- Version 6.0.41 - Bugfix Release + * added provides for user and group + +------------------------------------------------------------------- +Sat Jan 13 11:50:59 UTC 2024 - Axel Braun + +- Switch to wheel and %{?sle15_python_module_pythons} + Updated dependencies + +------------------------------------------------------------------- +Sat Dec 23 17:52:24 UTC 2023 - Axel Braun + +- Version 6.0.39 - Bugfix Release + +------------------------------------------------------------------- +Sat Nov 18 09:51:44 UTC 2023 - Axel Braun + +- Version 6.0.38 - Bugfix Release + +------------------------------------------------------------------- +Sat Nov 4 10:13:25 UTC 2023 - Axel Braun + +- Version 6.0.37 - Bugfix Release + +------------------------------------------------------------------- +Thu Oct 19 10:52:41 UTC 2023 - Daniel Garcia Moreno + +- Remove %python3_install prefix and root options, that's included in + the macro by default. + +------------------------------------------------------------------- +Sun Oct 8 07:10:51 UTC 2023 - Axel Braun + +- Version 6.0.36 - Bugfix Release + +------------------------------------------------------------------- +Thu Sep 7 08:08:15 UTC 2023 - Axel Braun + +- Version 6.0.35 - Bugfix Release + +------------------------------------------------------------------- +Mon Jul 31 18:32:35 UTC 2023 - Axel Braun + +- Version 6.0.34 - Security Bugfix Release + +------------------------------------------------------------------- +Thu Jun 22 10:05:55 UTC 2023 - Axel Braun + +- Version 6.0.33 - Bugfix Release + +------------------------------------------------------------------- +Sat May 20 17:02:23 UTC 2023 - Axel Braun + +- Version 6.0.32 - Bugfix Release + +------------------------------------------------------------------- +Fri Apr 7 20:05:05 UTC 2023 - Axel Braun + +- Version 6.0.30 - Bugfix Release + +------------------------------------------------------------------- +Sun Mar 5 16:01:39 UTC 2023 - Axel Braun + +- Version 6.0.29 - Bugfix Release + +------------------------------------------------------------------- +Sun Feb 19 18:19:31 UTC 2023 - Axel Braun + +- Version 6.0.28 - Bugfix Release + +------------------------------------------------------------------- +Mon Feb 6 17:36:41 UTC 2023 - Axel Braun + +- Version 6.0.27 - Bugfix Release + +------------------------------------------------------------------- +Mon Jan 16 21:18:26 UTC 2023 - Axel Braun + +- Version 6.0.26 - Bugfix Release + +------------------------------------------------------------------- +Tue Jan 3 12:25:16 UTC 2023 - Axel Braun + +- Version 6.0.25 - Bugfix Release + +------------------------------------------------------------------- +Fri Nov 18 19:04:12 UTC 2022 - Axel Braun + +- Version 6.0.24 - Bugfix Release + +------------------------------------------------------------------- +Sun Nov 6 09:02:11 UTC 2022 - Axel Braun + +- Version 6.0.23 - Bugfix Release + +------------------------------------------------------------------- +Tue Oct 18 06:49:59 UTC 2022 - Axel Braun + +- Version 6.0.22 - Bugfix Release + +------------------------------------------------------------------- +Wed Oct 12 10:39:49 UTC 2022 - Axel Braun + +- dependency on graphviz added + +------------------------------------------------------------------- +Thu Aug 18 09:24:38 UTC 2022 - Axel Braun + +- Version 6.0.21 - Bugfix Release + +------------------------------------------------------------------- +Sun Jul 3 13:14:01 UTC 2022 - Axel Braun + +- Version 6.0.20 - Bugfix Release + +------------------------------------------------------------------- +Sat Jun 4 08:10:22 UTC 2022 - Axel Braun + +- Version 6.0.19 - Bugfix Release + +------------------------------------------------------------------- +Mon Apr 25 10:42:26 UTC 2022 - Axel Braun + +- Version 6.0.18 - Bugfix Release + +------------------------------------------------------------------- +Mon Apr 18 19:25:02 UTC 2022 - Axel Braun + +- Version 6.0.17 + * Werkzeug 2.0 compatibility added + * fix_werkzeug_2.x.patch removed + +------------------------------------------------------------------- +Mon Mar 7 14:27:27 UTC 2022 - Axel Braun + +- on special request of our facory check script, we add the patches between tryton 5 and 6: + * revert_werkzeug_setup.patch is being deleted + * Update_changed_fields_6.0.diff is being added + * Update_changed_fields.diff is being deleted + * fix_werkzeug.patch is being deleted + +------------------------------------------------------------------- +Wed Mar 2 11:33:56 UTC 2022 - Axel Braun + +- Version 6.0.16 - Security Bugfix Release + * python3-defusedxml added + +------------------------------------------------------------------- +Fri Feb 18 17:13:07 UTC 2022 - Axel Braun + +- Version 6.0.15 - Bugfix Release + +------------------------------------------------------------------- +Sat Feb 12 17:19:18 UTC 2022 - Axel Braun + +- Version bump to Tryton 6.0 series + +------------------------------------------------------------------- +Tue Feb 1 19:22:53 UTC 2022 - Axel Braun + +- Version 5.0.44 - Bugfix Release + +------------------------------------------------------------------- +Mon Jan 3 14:15:38 UTC 2022 - Axel Braun + +- Version 5.0.43 - Bugfix Release + +------------------------------------------------------------------- +Mon Dec 6 17:50:11 UTC 2021 - Axel Braun + +- Version 5.0.42 - Bugfix Release + +------------------------------------------------------------------- +Wed Oct 27 16:15:35 UTC 2021 - Axel Braun + +- Update_changed_fields.diff added to force update of XML files + +------------------------------------------------------------------- +Tue Jul 27 14:04:30 UTC 2021 - Axel Braun + +- fix_werkzeug_2.x.patch added for python-Werkzeug 2.x compatibility + +------------------------------------------------------------------- +Fri Jun 18 15:48:52 UTC 2021 - Axel Braun + +- Version 5.0.36 - Bugfix Release + +------------------------------------------------------------------- +Sun May 16 09:23:29 UTC 2021 - Axel Braun + +- Version 5.0.35 - Bugfix Release + +------------------------------------------------------------------- +Tue Apr 27 09:28:52 UTC 2021 - Axel Braun + +- Parameter for webdav server added to trytond.conf + +------------------------------------------------------------------- +Sun Apr 4 17:41:09 UTC 2021 - Axel Braun + +- Version 5.0.34 - Bugfix Release + +------------------------------------------------------------------- +Sat Feb 27 19:10:48 UTC 2021 - Andreas Stieger + +- add upstream signing key and validate source signature + +------------------------------------------------------------------- +Tue Feb 16 08:47:42 UTC 2021 - Axel Braun + +- python3-passlib added + +------------------------------------------------------------------- +Mon Feb 15 11:44:23 UTC 2021 - Axel Braun + +- fix_werkzeug.patch adjusted + +------------------------------------------------------------------- +Fri Feb 12 18:10:08 UTC 2021 - Axel Braun + +- Version 5.0.33 - Security fix for https://bugs.tryton.org/issue10068 + +------------------------------------------------------------------- +Tue Feb 2 08:53:34 UTC 2021 - Axel Braun + +- Version 5.0.32 - Bugfix Release + +------------------------------------------------------------------- +Sun Jan 24 16:24:17 UTC 2021 - Axel Braun + +- Adaption to new systemd and python macros + +------------------------------------------------------------------- +Fri Jan 1 18:41:53 UTC 2021 - Axel Braun + +- Version 5.0.31 - Bugfix Release + +------------------------------------------------------------------- +Fri Dec 4 14:05:26 UTC 2020 - Axel Braun + +- Version 5.0.30 - Bugfix Release + +------------------------------------------------------------------- +Wed Nov 11 18:11:15 UTC 2020 - Axel Braun + +- Version 5.0.29 - Bugfix Release + +------------------------------------------------------------------- +Tue Oct 20 14:16:16 UTC 2020 - Axel Braun + +- Version 5.0.28 - Bugfix Release + +------------------------------------------------------------------- +Sat Oct 3 08:38:00 UTC 2020 - Axel Braun + +- Version 5.0.27 - Bugfix Release + +------------------------------------------------------------------- +Mon Aug 24 08:57:32 UTC 2020 - Axel Braun + +- changed trytond.conf to listen to all interfaces + +------------------------------------------------------------------- +Thu Aug 20 21:02:16 UTC 2020 - Axel Braun + +- Version 5.0.25 - Bugfix Release + +------------------------------------------------------------------- +Tue Jul 21 09:52:36 UTC 2020 - Axel Braun + +- Version 5.0.24 - Bugfix Release + * readme renamed (SUSE -> openSUSE) + +------------------------------------------------------------------- +Tue Jun 9 19:55:24 UTC 2020 - Axel Braun + +- Version 5.0.23 - Bugfix Release + +------------------------------------------------------------------- +Tue Mar 10 09:44:05 UTC 2020 - Axel Braun + +- version 5.0.19 + revert_werkzeug_setup.patch added to remove dependency on werkzeug < 1.0 + +------------------------------------------------------------------- +Wed Mar 4 12:48:39 UTC 2020 - Ondřej Súkup + +- add fix_werkzeug.patch to fix boo#1164970 +- remove implicit _service (not needed anymore for download) +- spec-clean to meet openSUSE packaging standards + +------------------------------------------------------------------- +Sun Feb 2 18:40:27 UTC 2020 - Axel Braun + +- Version 5.0.18 - Bugfix Release + +------------------------------------------------------------------- +Fri Jan 10 12:56:37 UTC 2020 - Axel Braun + +- Version 5.0.17 - Bugfix Release + +------------------------------------------------------------------- +Tue Dec 3 09:27:32 UTC 2019 - Axel Braun + +- Version 5.0.16 - Bugfix Release + +------------------------------------------------------------------- +Thu Nov 21 14:01:30 UTC 2019 - Axel Braun + +- version 5.0.15 (upgrade to GNU Health 3.6.x) + get_login_trytond-46.patch removed + +------------------------------------------------------------------- +Mon Nov 11 17:59:05 UTC 2019 - Axel Braun + +- Version 4.6.22 - Bugfix Release + +------------------------------------------------------------------- +Thu Oct 24 06:50:06 UTC 2019 - Axel Braun + +- Version 4.6.21 - Bugfix Release + home directory of tryton user corrected (boo #1155685) + +------------------------------------------------------------------- +Sun Sep 15 16:38:13 UTC 2019 - Axel Braun + +- Version 4.6.20 - Bugfix Release + +------------------------------------------------------------------- +Tue Aug 20 20:33:45 UTC 2019 - Axel Braun + +- Version 4.6.19 - Bugfix Release + +------------------------------------------------------------------- +Fri Aug 2 17:00:15 UTC 2019 - Axel Braun + +- Version 4.6.18 - Bugfix Release + +------------------------------------------------------------------- +Fri Jul 12 17:20:13 UTC 2019 - Axel Braun + +- Version 4.6.17 - Bugfix Release + +------------------------------------------------------------------- +Fri May 17 10:31:11 UTC 2019 - Axel Braun + +- Version 4.6.15 - Bugfix Release + +------------------------------------------------------------------- +Wed Feb 20 21:06:03 UTC 2019 - Axel Braun + +- Version 4.6.13 - Bugfix Release + +------------------------------------------------------------------- +Fri Feb 1 08:17:53 UTC 2019 - Axel Braun + +- removed record-rpm option in %install, as this fails to build in Factory + +------------------------------------------------------------------- +Sun Jan 27 20:48:07 UTC 2019 - Axel Braun + +- Version 4.6.12 - Bugfix Release + +------------------------------------------------------------------- +Mon Jan 7 16:19:58 UTC 2019 - Axel Braun + +- Version 4.6.11 - cummulated changes: + * trytond_get_login.patch removed (series 4.2) + * get_login_trytond-46.patch added for 4.6 series + * trytond42_psql10.diff removed (not needed for 4.6) + +------------------------------------------------------------------- +Mon Dec 10 19:09:03 UTC 2018 - Axel Braun + +- Version 4.2.17 - Bugfix Release + +------------------------------------------------------------------- +Tue Nov 13 15:13:58 UTC 2018 - Axel Braun + +- Version 4.2.16 - Bugfix Release + +------------------------------------------------------------------- +Wed Aug 22 13:03:07 UTC 2018 - axel.braun@gmx.de + +- Version 4.2.15 - Bugfix Release (boo#1107771) + +------------------------------------------------------------------- +Sat Aug 4 07:28:52 UTC 2018 - axel.braun@gmx.de + +- Version 4.2.14 - Bugfix Release + +------------------------------------------------------------------- +Thu Jul 19 15:19:55 UTC 2018 - axel.braun@gmx.de + +- trytond42_psql10.diff applied for postgres10 compatibility + Kudos to mbehrle@m9s.biz! + +------------------------------------------------------------------- +Wed Jul 11 12:35:03 UTC 2018 - axel.braun@gmx.de + +- Version 4.2.13 - Bugfix Release + +------------------------------------------------------------------- +Tue Jun 12 19:04:04 UTC 2018 - axel.braun@gmx.de + +- boo#1096706 set postgres96 using update-alternatives (openQA failure) + +------------------------------------------------------------------- +Mon Jun 11 09:20:09 UTC 2018 - axel.braun@gmx.de + +- Version 4.2.12 - Bugfix Release + boo#1096706 requirement for postgres96 fixed + copyright to log file and readme added + Specfile cleaned up + +------------------------------------------------------------------- +Sat May 12 12:59:31 UTC 2018 - axel.braun@gmx.de + +- Version 4.2.11 - Bugfix Release + +------------------------------------------------------------------- +Fri Apr 27 18:52:20 UTC 2018 - axel.braun@gmx.de + +- requires postgres96, otherwise trytond-admin fails (Leap 15) + +------------------------------------------------------------------- +Fri Mar 2 09:11:30 UTC 2018 - axel.braun@gmx.de + +- Version 4.2.10 - Bugfix Release + +------------------------------------------------------------------- +Sat Feb 17 06:47:27 UTC 2018 - axel.braun@gmx.de + +- user_login.patch replaced by trytond_get_login.patch + see boo#1078111 + +------------------------------------------------------------------- +Fri Jan 5 19:59:52 UTC 2018 - axel.braun@gmx.de + +- Version 4.2.9 - Bugfix Release + +------------------------------------------------------------------- +Tue Dec 5 20:19:55 UTC 2017 - axel.braun@gmx.de + +- Version 4.2.8 - Bugfix Release + +------------------------------------------------------------------- +Thu Nov 9 06:05:31 UTC 2017 - axel.braun@gmx.de + +- Version 4.2.7 - Bugfix Release + +------------------------------------------------------------------- +Thu Sep 14 19:24:19 UTC 2017 - axel.braun@gmx.de + +- Documentation updated + +------------------------------------------------------------------- +Thu Aug 10 20:04:47 UTC 2017 - axel.braun@gmx.de + +- Version 4.2.6 + bugfix release + typo in trytond.conf removed + +------------------------------------------------------------------- +Mon Jul 10 14:07:26 UTC 2017 - axel.braun@gmx.de + +- default setting for database access in trytond.conf + +------------------------------------------------------------------- +Mon Jul 3 09:12:15 UTC 2017 - axel.braun@gmx.de + +- Version 4.2.5 + +------------------------------------------------------------------- +Tue Jun 20 16:26:42 UTC 2017 - axel.braun@gmx.de + +- Patch for user login user_login.patch from GNU Health 3.20 applied + trytond_server.diff removed as not needed anymore + +------------------------------------------------------------------- +Tue Jun 6 07:50:44 UTC 2017 - axel.braun@gmx.de + +- Version 4.2.4 + +------------------------------------------------------------------- +Mon Apr 3 19:36:48 UTC 2017 - axel.braun@gmx.de + +- Version 4.2.3 + +------------------------------------------------------------------- +Fri Mar 10 10:24:56 UTC 2017 - axel.braun@gmx.de + +- Version 4.2.2 + +------------------------------------------------------------------- +Fri Jan 6 15:27:55 UTC 2017 - axel.braun@gmx.de + +- Version 4.2.1 + +------------------------------------------------------------------- +Mon Nov 28 18:22:41 UTC 2016 - axel.braun@gmx.de + +- Tryton Release 4.2 + +------------------------------------------------------------------- +Wed Aug 24 13:52:32 UTC 2016 - axel.braun@gmx.de + +- Update description +- Add missing %service_add_pre and convert open-coded other + three scriptlets to %service_*. + +------------------------------------------------------------------- +Tue Jul 5 09:46:31 UTC 2016 - axel.braun@gmx.de + +- version 4.0.2 + +------------------------------------------------------------------- +Tue May 02 10:24:48 UTC 2016 - axel.braun@gmx.de + +- Tryton Release 4.0 + +------------------------------------------------------------------- +Mon Mar 28 11:58:39 UTC 2016 - axel.braun@gmx.de + +- patch for security vulnerability applied, see + https://savannah.gnu.org/forum/forum.php?forum_id=8482 + +------------------------------------------------------------------- +Sun Jan 17 12:48:36 UTC 2016 - axel.braun@gmx.de + +- Installation of sao (webfrontend) documented + +------------------------------------------------------------------- +Wed Oct 19 20:14:38 UTC 2015 - axel.braun@gmx.de + +- Tryton Release 3.8 + +------------------------------------------------------------------- +Wed May 27 08:27:18 UTC 2015 - axel.braun@gmx.de + +- version 3.6.1 + * clean up of specfile + +------------------------------------------------------------------- +Wed Apr 15 07:24:15 UTC 2015 - axel.braun@gmx.de + +- Tryton Release 3.6 + +------------------------------------------------------------------- +Sat Feb 28 11:48:03 UTC 2015 - axel.braun@gmx.de + +- sample file for confirguration added (trytond.conf.example) + tryton-server.README.SUSE updated + +------------------------------------------------------------------- +Fri Nov 14 15:52:52 UTC 2014 - axel.braun@gmx.de + +- systemd startup file corrected, sample file for log config added + +------------------------------------------------------------------- +Tue Nov 4 10:24:39 UTC 2014 - axel.braun@gmx.de + +- added trytond.conf + +------------------------------------------------------------------- +Sun Nov 2 20:38:21 UTC 2014 - axel.braun@gmx.de + +- version 3.4 + +------------------------------------------------------------------- +Wed Oct 23 14:59:59 UTC 2013 - axel.braun@gmx.de + +- new branch 3.0, added python-sql + +------------------------------------------------------------------- +Tue Oct 22 18:01:29 UTC 2013 - axel.braun@gmx.de + +- Tryton 3.0, spec file adapted + + +* Sat Jun 22 2013 axel.braun@gmx.de +- new spec with regard to systemd +- setup of user tryton if not existing + +* Sun Mar 29 2009 axel.braun@gmx.de +- packaged tryton version 1.0.3 using the buildservice spec file wizard diff --git a/trytond.conf b/trytond.conf new file mode 100644 index 0000000..43737b1 --- /dev/null +++ b/trytond.conf @@ -0,0 +1,335 @@ +# /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 +# https://docs.tryton.org/projects/server/en/latest/topics/configuration.html#topics-configuration + +[web] +# Settings for the web 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 +# (i.e. namely the path to the web client) +# (Internal default: /var/www/localhost/tryton) +#root = /usr/lib/node-modules/tryton-sao + +# The number of proxy servers in front of trytond. +#num_proxies = 0 + +# The cache timeout in seconds. +#cache_timeout = 12h + +# 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] +# The maximum size in bytes for unauthenticated requests (zero means no limit). +#max_size = 2MB + +# The maximum size in bytes of an authenticated request (zero means no limit). +#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 settings +# Note: It is recommended to delegate the SSL support to a proxy. +# +# Activation of SSL for all available protocols. +# Uncomment the following settings for key and certificate. +# SSL is activated by defining privatekey. + +# 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 + +[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" + +[session] +# Session settings + +# A comma separated list of the authentication methods to try when attempting to verify a user’s +# identity. Each method is tried in turn, following the order of the list, until one succeeds. +# In order to allow multi-factor authentication, individual methods can be combined +# together using a plus (+) symbol. +# 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 + +# The time (in seconds) until a session expires. +#max_age = 2592000 # (30 days) + +# The time (in seconds) until an inactive session is considered invalid for +# special internal tasks, thus requiring to re-confirm the session. +#timeout = 300 # (5 minutes) + +# The maximal number of authentication attempts before the server answers +# unconditionally 'Too Many Requests'. +# The counting is done on all attempts over one period of timeout. +#max_attempt = 5 + +# The maximal number of authentication attempts from the same network before +# the server answers unconditionally 'Too Many Requests'. +# The counting is done on all attempts over a period of timeout. +#max_attempt_ip_network = 300 + +# The network prefix to apply on IPv4 addresses when counting authentication attempts. +#ip_network_4 = 32 + +# The network prefix to apply on IPv6 addresses when counting authentication attempts. +#ip_network_6 = 56 + +[password] +# The minimal length required for user passwords. +#length = 8 + +# The path to a file containing one forbidden password per line. +#forbidden = + +# The ratio of non repeated characters for user passwords. +#entropy = 0.75 + +# The time (in seconds) until a reset password expires. +#reset_timeout = 86400 # (24h) + +# The path to the INI file to load as CryptContext: +# +# If no path is set, Tryton will use the schemes `bcrypt` or `pbkdf2_sha512`. +#passlib = None + +[attachment] +# Defines how to store the attachments +# A boolean value to store attachment in the FileStore. +#filestore=True + +# The prefix to use with the FileStore. +#store_prefix = None + +[bus] +# Allow clients to subscribe to bus channels (Boolean). +#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 +# when using long polling for bus messages. +#long_polling_timeout = 300 + +# The time (in seconds) a message should be kept in the queue +# before being discarded. +#cache_timeout = 300 + +[html] +# The URL pointing to TinyMCE editor. +#src = https://cloud.tinymce.com/stable/tinymce.min.js + +# The space separated list of TinyMCE plugins to load. It can be overridden for +# specific models and fields using the names: plugins-- or plugins-. +#plugins = `` + +# The JSON list of CSS files to load. It can be overridden for specific models +# and fields using the names: css-- or css-. +#css = [] + +# The class to add on the body. It can be overridden for specific models and +# fields using the names: class-- or class-. +#class = '' + +[wsgi middleware] +# The section lists the WSGI middleware class to load. Each middleware can be +# configured with a section named wsgi containing args and kwargs options. +#Example: +#[wsgi middleware] +#ie = werkzeug.contrib.fixers.InternetExplorerFix +# +#[wsgi ie] +#kwargs={'fix_attach': False} + +[ldap_authentication] +# The LDAP URL to connect to the server following RFC-2255. +#uri = ldap://host:port/dn?attributes?scope?filter?extensions +# A basic default URL could look like +#uri = ldap://localhost:389/ + +# The LDAP password used to bind if needed. +#bind_pass = + +# If the LDAP server is an Active Directory. +#active_directory = False + +# The UID attribute for authentication. +#uid = uid + +# If the user shall be created in the database in case it does not exist. +#create_user = False + +[sms_authentication] +# The fully qualified name of the method to send SMS. It must take three +# arguments: text, to and from. +# +# - The sms method just sends a code via SMS to the user. This code can directly +# be used in the login dialog. +# - The password_sms method sends a code only after the user entered a valid +# password (two-factor authentication). +# +# Both methods require that the user has a *mobile* phone number defined +# otherwise he can not be authenticated with those methods. +# +# This method is required to send SMS. +#function = + +# The number from which the SMS are sent. +#from = + +# The length of the generated code. +#length = 6 + +# The time to live for the generated codes in seconds. +#ttl = 300 + +# The name used in the SMS text. +#name = Tryton + +[product] +# The number of decimals with which the unit prices are stored +# in the database. The default value is 4. +# Warning: This setting can not be lowered once a database is created. +#price_decimal = 4 + +# only needed by GNU Health: +[webdav] +# The port on which the webdav server listens +#listen = [::]:8080 + diff --git a/trytond.service b/trytond.service new file mode 100644 index 0000000..4e06348 --- /dev/null +++ b/trytond.service @@ -0,0 +1,20 @@ +[Unit] +Description=Tryton server +After=syslog.target + +[Service] +Type=simple +User=tryton +Group=tryton +PIDFile=/var/lib/trytond/trytond.pid + +ExecStart=/usr/bin/trytond --config /etc/tryton/trytond.conf --pidfile=/var/lib/tryton/trytond.pid --logconf=/etc/tryton/trytond_log.conf + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +# We rely on systemd to restart trytond if it dies +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/trytond.spec b/trytond.spec new file mode 100644 index 0000000..17c04d7 --- /dev/null +++ b/trytond.spec @@ -0,0 +1,159 @@ +# +# spec file for package trytond +# +# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2015-2024 Dr. Axel Braun +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define majorver 6.0 +%define base_name tryton +%if 0%{?suse_version} >= 1550 +%define pythons python3 +%define mypython python3 +%define mysitelib %python3_sitelib +%else +%{?sle15_python_module_pythons} +%define mypython %pythons +%define mysitelib %{expand:%%%{mypython}_sitelib} +%endif + +Name: trytond +Version: %{majorver}.57 +Release: 0 +Summary: An Enterprise Resource Planning (ERP) system +License: GPL-3.0-or-later +Group: Productivity/Office/Management +URL: https://www.tryton.org/ +Source0: http://downloads.tryton.org/%{majorver}/%{name}-%{version}.tar.gz +Source1: tryton-server.README.openSUSE +Source3: %{name}.conf +Source4: %{name}_log.conf +## Source5: http://downloads.tryton.org/%{majorver}/%{name}-%{version}.tar.gz.asc +## Source6: https://keybase.io/cedrickrier/pgp_keys.asc?fingerprint=7C5A4360F6DF81ABA91FD54D6FF50AFE03489130#/%{name}.keyring +Source7: openSUSE-trytond-setup +Source20: %{name}.service +Patch0: Update_changed_fields_6.0.diff +BuildRequires: %{mypython}-Werkzeug +BuildRequires: %{mypython}-bcrypt +BuildRequires: %{mypython}-devel +BuildRequires: %{mypython}-lxml >= 2.0 +BuildRequires: %{mypython}-psycopg2 >= 2.7.0 +BuildRequires: %{mypython}-pydot +BuildRequires: %{mypython}-python-sql >= 0.5 +BuildRequires: %{mypython}-setuptools +BuildRequires: %{mypython}-wrapt +BuildRequires: fdupes +BuildRequires: python-rpm-generators +BuildRequires: python-rpm-macros +# Wheel +BuildRequires: %{mypython}-pip +BuildRequires: %{mypython}-wheel + +Requires: %{mypython}-Genshi +Requires: %{mypython}-Levenshtein +Requires: %{mypython}-Pillow +Requires: %{mypython}-Werkzeug +Requires: %{mypython}-bcrypt +Requires: %{mypython}-dateutil +Requires: %{mypython}-defusedxml +Requires: %{mypython}-gevent +Requires: %{mypython}-lxml +Requires: %{mypython}-passlib >= 1.7.0 +Requires: %{mypython}-polib +Requires: %{mypython}-psycopg2 >= 2.7.0 +Requires: %{mypython}-pydot +Requires: %{mypython}-python-sql >= 0.5 +Requires: %{mypython}-relatorio >= 0.7.0 +Requires: %{mypython}-weasyprint +Requires: %{mypython}-wrapt +Requires: graphviz +Requires: html2text +Requires: libreoffice-pyuno +Requires: unoconv +Requires(pre): %{_sbindir}/groupadd +Requires(pre): %{_sbindir}/useradd +# Database may run on a different machine, so a hard requirement is not ideal +Recommends: postgresql-server + +Provides: group(tryton) +Provides: user(tryton) + +BuildArch: noarch +%{?systemd_ordering} + +%description +This package contains the server of the Tryton application platform, +the latter of which is a three-tier high-level general purpose +application platform written in Python, using Postgresql as the +database engine. Tryton provides modularity, scalability and +security. + +%prep +%autosetup -p1 +cp %{SOURCE1} . + +#shebag ersetzen +find . -iname "bin/trytond*" -exec sed -i "s/python3 /%{mypython} /" '{}' \; + +%build +%pyproject_wheel + +%install +%pyproject_install + +# only for systemd +mkdir -p %{buildroot}%{_sysconfdir}/%{base_name} +install -p -m 640 %{SOURCE3} %{buildroot}%{_sysconfdir}/%{base_name}/%{name}.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} +install -p -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/%{name}.service + +mkdir -p %{buildroot}%{_localstatedir}/{lib,log}/%{base_name} +%fdupes -s %{buildroot} + +%pre +getent group tryton > /dev/null || %{_sbindir}/groupadd -r tryton || : +getent passwd tryton > /dev/null || %{_sbindir}/useradd -r -g tryton \ + -d %{_localstatedir}/lib/tryton -s /sbin/nologin \ + -c 'Tryton ERP' tryton || : +%service_add_pre trytond.service + +%post +%service_add_post trytond.service + +%preun +%service_del_preun trytond.service + +%postun +%service_del_postun trytond.service + +%files +%license LICENSE +%doc README.rst tryton-server.README.openSUSE doc/* +%{mysitelib}/tryton* +%dir %{_sysconfdir}/%{base_name} +%{_bindir}/openSUSE-trytond-setup +%{_bindir}/%{name}* +%{_unitdir}/%{name}.service +%attr(640,root,tryton) %config(noreplace)%{_sysconfdir}/%{base_name}/%{name}.conf +%attr(640,root,tryton) %config(noreplace)%{_sysconfdir}/%{base_name}/%{name}_log.conf +%attr(755,tryton,tryton) %dir %{_localstatedir}/lib/%{base_name} +%attr(755,tryton,tryton) %dir %{_localstatedir}/log/%{base_name} + +%changelog diff --git a/trytond_log.conf b/trytond_log.conf new file mode 100644 index 0000000..5fabb68 --- /dev/null +++ b/trytond_log.conf @@ -0,0 +1,29 @@ +# /etc/tryton/trytond_log.conf - Logging configuration file for Tryton Server (trytond) +# +# Copyright (c) 2016 Mathias Behrle +# +# This file contains settings for trytond to rotate logs daily and +# to keep 30 logs. + +[database] +[formatters] +keys=simple + +[handlers] +keys=rotate + +[loggers] +keys=root + +[formatter_simple] +format=%(asctime)s] %(levelname)s:%(name)s:%(message)s +datefmt=%a %b %d %H:%M:%S %Y + +[handler_rotate] +class=handlers.TimedRotatingFileHandler +args=('/var/log/tryton/trytond.log', 'D', 1, 30) +formatter=simple + +[logger_root] +level=INFO +handlers=rotate