Freexian Collaborators: Recent improvements to Tryton's Debian Packaging (by Mathias Behrle and Rapha l Hertzog)
Foreword
Freexian has been using Tryton for a few years
to handle its invoicing and accounting. We have thus also been using
the Debian packages maintained by Mathias
Behrle and
we have been funding some of his work because maintaining an ERP with more
than 50 source packages was too much for him to handle alone on his free
time.
When Mathias discovered our Project
Funding
initiative, it was quite natural for him to consider applying to be able
to bring some much needed improvements to Tryton s Debian packaging.
He s running his own consulting company
(MBSolutions) so it s easy for him to invoice
Freexian to get the money for the funded projects.
What follows is Mathias Behrle s description of the projects that he
submitted and of the work that he achieved.
If you want to contact him, you can reach out to
mathiasb@m9s.biz or
mbehrle@debian.org. You can also follow him
on Mastodon.
Report
In January 2022 I applied for two projects in the Freexian Project Funding
Initiative.
-
Tryton Project 1
-
The starting point of this project was Debian Bug
#998319: tryton-server should provide
a ready-to-use production-grade server config.
To address this problem instead of only providing configuration
snippets the idea was to provide a full featured guided setup of a
Tryton production environment, thus eliminating the risks of trial and
error for the system administrator.
-
Tryton Project 2
- The goal of this project was to complete the available Tryton modules
in Debian main with the latest set available from tryton.org and to
automate the task of creating new Debian packages from Tryton modules
as much as possible.
Accomplishments
As the result of Task
1,
several new packages emerged:
- tryton-server-postgresql provides the guided setup of a PostgreSQL
database backend.
- tryton-server-uwsgi provides the installation and configuration of a
robust WSGI server on top of tryton-server.
- tryton-server-nginx provides the configuration of a scalable web
frontend to the uwsgi server, including the optional setup of secure
access by Letsencrypt certificates.
- tryton-server-all-in-one puts it all together to provide a fully
functional Tryton production environment, including a database filled
with basic static data. With the installation of this package a robust
and secure production grade setup is possible from scratch, all
configuration leg work is done in the background.
The work was thoroughly reviewed by Neil Williams. Thanks go to him for his
detailed feedback providing very valuable information from the view of a
fresh Tryton user getting in first contact with the software. A cordial
thank you as well goes to the translation teams providing initial reviews
and translations for the configuration questions.
The efforts of Task 1 were completed with Task
2:
- A Tryton specific version of
PyPi2deb was
created to help in the preparation of new Debian packages for new Tryton
modules.
- All missing Tryton modules for the current series were packaged for Debian.
On top of those two planned projects, I completed an additional task: the
packaging of the Tryton Web
Client.
The Web Client is a quite important feature to access a Tryton server with
the browser and even a crucial requirement for some companies.
Unfortunately the packaging of the Web Client for Debian was problematic
from the beginning. tryton-sao requires exact versions of JavaScript
libraries that are almost never guaranteed to be available in the
different targeted Debian releases. Therefore a package with vendored
libraries has been created and will hopefully soon hit the Debian main
archive. The package is already available from the Tryton
Backport Mirror for the usually
supported Debian releases.
Summary
I am very pleased that the Tryton suite in Debian has gained full coverage
of Tryton modules and a user-friendly installation. The completion of the
project represents a huge step forward in the state-of-the-art deployment
of a production grade Tryton environment. Without the monetary support of
Freexian s project funding the realization of this project wouldn t have
been possible in this way and to this extent.
-
Tryton Project 1
- The starting point of this project was Debian Bug #998319: tryton-server should provide a ready-to-use production-grade server config. To address this problem instead of only providing configuration snippets the idea was to provide a full featured guided setup of a Tryton production environment, thus eliminating the risks of trial and error for the system administrator.
-
Tryton Project 2
- The goal of this project was to complete the available Tryton modules in Debian main with the latest set available from tryton.org and to automate the task of creating new Debian packages from Tryton modules as much as possible.