forked from pool/trytond
Accepting request 423956 from Application:ERP:Tryton:Factory
part of GNU Health OBS-URL: https://build.opensuse.org/request/show/423956 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/trytond?expand=0&rev=1
This commit is contained in:
commit
e7be6ce126
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -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
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
4
_service
Normal file
4
_service
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<services>
|
||||||
|
|
||||||
|
<service name="download_files" mode="localonly"/>
|
||||||
|
</services>
|
220
tryton-server.README.SUSE
Normal file
220
tryton-server.README.SUSE
Normal file
@ -0,0 +1,220 @@
|
|||||||
|
tryton-server for openSUSE
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Setup
|
||||||
|
=====
|
||||||
|
|
||||||
|
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. If they run on the same machine, connection
|
||||||
|
via local sockets is preferred and you are done with the default configuration
|
||||||
|
of the PostgreSQL package.
|
||||||
|
|
||||||
|
If postgres runs locally, you may need to change the configuration file
|
||||||
|
/var/lib/pgsql/data/pg_hba.conf the line
|
||||||
|
local all all md5
|
||||||
|
to
|
||||||
|
local all all trust
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Case 1)
|
||||||
|
For manual database creation it is sufficient to create the user as follows:
|
||||||
|
|
||||||
|
su postgres
|
||||||
|
psql -c "CREATE USER tryton WITH CREATEDB;"
|
||||||
|
|
||||||
|
Case 2)
|
||||||
|
In case 2 the user needs additionally an encrypted password::
|
||||||
|
|
||||||
|
su postgres
|
||||||
|
psql -c "ALTER ROLE tryton ENCRYPTED PASSWORD 'tryton_password' ;"
|
||||||
|
|
||||||
|
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 example, see
|
||||||
|
/usr/share/doc/packages/trytond/trytond.conf.example
|
||||||
|
It contains all settings for a locally running database and manual database
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
Adjust /etc/tryton/trytond.conf to reflect the setup of your system by using
|
||||||
|
the database user and password from step 1 for the database URI.
|
||||||
|
|
||||||
|
For case 1 you do not need to do anything additional.
|
||||||
|
For case 2 (creation of database from Tryton frontend) you need to set the
|
||||||
|
Super password in the configuration file.
|
||||||
|
See section super_pwd in
|
||||||
|
http://trytond.readthedocs.org/en/latest/topics/configuration.html
|
||||||
|
As a result you will get an encypted password in the form
|
||||||
|
super_pwd = grlvvq5T4r5BQ
|
||||||
|
which is entered in /etc/tryton/trytond.conf
|
||||||
|
|
||||||
|
* 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/<version>/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 case 1, 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:
|
||||||
|
|
||||||
|
# /usr/bin/trytond -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.
|
||||||
|
|
||||||
|
As result you will have a bare Tryton database with the base modules installed.
|
||||||
|
|
||||||
|
For case 2, you need to create an encrypted password and enter it in the
|
||||||
|
configuration file as super_pwd
|
||||||
|
|
||||||
|
See: http://doc.tryton.org/3.8/trytond/doc/topics/configuration.html
|
||||||
|
|
||||||
|
|
||||||
|
Installation of the Webfrontend for tryton (sao) from package
|
||||||
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
For most openSUSE Flavours tryton-sao is packed. You can install it with
|
||||||
|
zypper install tryton-sao
|
||||||
|
|
||||||
|
You need to edit /etc/tryton/trytond.conf. Installation of tryton-sao follows the
|
||||||
|
standards for nodejs-installations, so the path is within the node-modules:
|
||||||
|
|
||||||
|
In the section [jsonrpc], set the data path:
|
||||||
|
data = /usr/lib/node-modules/tryton-sao
|
||||||
|
|
||||||
|
Now restart trytond.
|
||||||
|
|
||||||
|
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 [jsonrpc], set the data path:
|
||||||
|
data = /srv/tryton-sao/package
|
||||||
|
|
||||||
|
Now restart trytond.
|
||||||
|
|
||||||
|
|
||||||
|
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 -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 <axel.braun@gmx.de> Tue, 17 Jan 2016
|
3
trytond-3.8.8.tar.gz
Normal file
3
trytond-3.8.8.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6ba8596bbb3b86fd5cd4087dda0087fa11255195ea3565f0ecf8390251d61e6d
|
||||||
|
size 579694
|
92
trytond.changes
Normal file
92
trytond.changes
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 31 06:15:53 UTC 2016 - axel.braun@gmx.de
|
||||||
|
|
||||||
|
- Version 3.8.8
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 24 15:01:13 UTC 2016 - axel.braun@gmx.de
|
||||||
|
|
||||||
|
- License added to package documentation
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 24 11:27:00 UTC 2016 - jengelh@inai.de
|
||||||
|
|
||||||
|
- Update description
|
||||||
|
- Add missing %service_add_pre and convert open-coded other
|
||||||
|
three scriptlets to %service_*.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 5 09:43:38 UTC 2016 - axel.braun@gmx.de
|
||||||
|
|
||||||
|
- version 3.8.6
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 30 13:34:19 UTC 2016 - axel.braun@gmx.de
|
||||||
|
|
||||||
|
- changed requirement to python-python-sql
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
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
|
134
trytond.conf
Normal file
134
trytond.conf
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
# /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@/
|
||||||
|
#
|
||||||
|
# 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_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/
|
135
trytond.conf.example
Normal file
135
trytond.conf.example
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# /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/
|
20
trytond.service
Normal file
20
trytond.service
Normal file
@ -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
|
128
trytond.spec
Normal file
128
trytond.spec
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
#
|
||||||
|
# spec file for package trytond
|
||||||
|
#
|
||||||
|
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
|
# Copyright (c) 2016 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 http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%define majorver 3.8
|
||||||
|
%define base_name tryton
|
||||||
|
Name: trytond
|
||||||
|
Version: %{majorver}.8
|
||||||
|
Release: 0
|
||||||
|
Summary: An Enterprise Resource Planning system
|
||||||
|
License: GPL-3.0+
|
||||||
|
Group: Productivity/Office/Management
|
||||||
|
Url: http://www.tryton.org/
|
||||||
|
Source0: http://downloads.tryton.org/%{majorver}/%{name}-%{version}.tar.gz
|
||||||
|
Source1: tryton-server.README.SUSE
|
||||||
|
Source2: trytond.conf.example
|
||||||
|
Source3: %{name}.conf
|
||||||
|
Source4: %{name}_log.conf
|
||||||
|
#Source11: %{name}.sysconfig
|
||||||
|
Source20: %{name}.service
|
||||||
|
Patch0: %{name}_server.diff
|
||||||
|
# List of additional build dependencies
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: python-devel
|
||||||
|
BuildRequires: python-lxml
|
||||||
|
BuildRequires: python-psycopg2
|
||||||
|
BuildRequires: python-pydot
|
||||||
|
BuildRequires: python-python-sql
|
||||||
|
BuildRequires: python-setuptools
|
||||||
|
BuildRequires: python-simplejson
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
|
Requires: libreoffice-pyuno
|
||||||
|
Requires: postgresql-server
|
||||||
|
Requires: python-Genshi
|
||||||
|
Requires: python-Levenshtein
|
||||||
|
Requires: python-PyWebDAV
|
||||||
|
Requires: python-Sphinx
|
||||||
|
Requires: python-cdecimal
|
||||||
|
Requires: python-lxml
|
||||||
|
Requires: python-mock
|
||||||
|
Requires: python-polib
|
||||||
|
Requires: python-psycopg2
|
||||||
|
Requires: python-py-bcrypt
|
||||||
|
#Requires: python-pytz
|
||||||
|
#Requires: python-pyOpenSSL
|
||||||
|
#Requires: python-egenix-mx-base
|
||||||
|
Requires: python-python-dateutil
|
||||||
|
Requires: python-python-sql
|
||||||
|
Requires: python-relatorio
|
||||||
|
Requires: unoconv
|
||||||
|
Requires(pre): %{_sbindir}/groupadd
|
||||||
|
Requires(pre): %{_sbindir}/useradd
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
BuildArch: noarch
|
||||||
|
%{?systemd_requires}
|
||||||
|
|
||||||
|
%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
|
||||||
|
%setup -q
|
||||||
|
cp %{SOURCE1} .
|
||||||
|
cp %{SOURCE2} .
|
||||||
|
|
||||||
|
%build
|
||||||
|
python setup.py build
|
||||||
|
|
||||||
|
%install
|
||||||
|
python setup.py install --prefix=%{_prefix} --root=%{buildroot} --record-rpm=filelist
|
||||||
|
# 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 %{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/%{name} -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
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc README tryton-server.README.SUSE trytond.conf.example LICENSE doc/*
|
||||||
|
%{python_sitelib}/*
|
||||||
|
%dir %{_sysconfdir}/%{base_name}
|
||||||
|
%{_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
|
27
trytond_log.conf
Normal file
27
trytond_log.conf
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# /etc/tryton/trytond_log.conf - Logging configuration file for Tryton Server (trytond)
|
||||||
|
#
|
||||||
|
# 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
|
33
trytond_server.diff
Normal file
33
trytond_server.diff
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
diff -crB a/trytond/res/user.py b/trytond/res/user.py
|
||||||
|
*** a/trytond/res/user.py 2016-03-08 13:56:41.921761645 +0000
|
||||||
|
- --- b/trytond/res/user.py 2016-03-08 13:57:05.931762976 +0000
|
||||||
|
***************
|
||||||
|
*** 464,476 ****
|
||||||
|
Return user id if password matches
|
||||||
|
'''
|
||||||
|
LoginAttempt = Pool().get('res.user.login.attempt')
|
||||||
|
- - time.sleep(2 ** LoginAttempt.count(login) - 1)
|
||||||
|
user_id, password_hash = cls._get_login(login)
|
||||||
|
if user_id:
|
||||||
|
if cls.check_password(password, password_hash):
|
||||||
|
- - LoginAttempt.remove(login)
|
||||||
|
return user_id
|
||||||
|
! LoginAttempt.add(login)
|
||||||
|
return 0
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
- --- 464,477 ----
|
||||||
|
Return user id if password matches
|
||||||
|
'''
|
||||||
|
LoginAttempt = Pool().get('res.user.login.attempt')
|
||||||
|
user_id, password_hash = cls._get_login(login)
|
||||||
|
if user_id:
|
||||||
|
if cls.check_password(password, password_hash):
|
||||||
|
return user_id
|
||||||
|
!
|
||||||
|
! #Timeout for invalid login attempts
|
||||||
|
! #TODO : use failed_login_timeout from configuration param.
|
||||||
|
! time.sleep(3)
|
||||||
|
return 0
|
||||||
|
|
||||||
|
@staticmethod
|
Loading…
x
Reference in New Issue
Block a user