Tryton license and binary distribution


(Gerard) #1

In every Tryton source file there is at the beginning

This file is part of Tryton. The COPYRIGHT file at the top level of

this repository contains the full copyright notices and license terms.

and indeed the source distribution has a ‘COPYRIGHT’ file.
However it seems that the binaries (the wheel files on pypi) do not include this file.
A distro package such as a Debian package also lack this file, but it’s less annoying since they generate their copyright file derived from the different parts integrated in the package (the latest Debian is not up-to-date with the COPYRIGHT Tryton file though, their file was created a long time ago probably.

Given that I don’t know any magical way to include the COPYRIGHT file into the trytond subdirectory with setuptools/wheel and the like, the best can could be done IMO is to add to the setup.cfg file:

[metadata]
license_file=COPYRIGHT

that will copy the COPYRIGHT file to the trytond-4.4.0.dist-info directory under dist-packages or site-packages (but with the name ‘LICENSE.txt’).
That’s not perfect, far from it, but that’s the best I can see.


(Cédric Krier) #2

Python packaging is such a nightmare that I think we have to live with wheel not having all the files.
The license_file metadata would be not bad if we could include both the LICENSE and the COPYRIGHT.
So maybe an option would be to have just the license and have the long_description aka DESCRIPTION.txt construct to include all required files.
Any way, the forum is not the right place to fix that, see http://www.tryton.org/how-to-contribute.html


#3

For openSUSE, we explicitly copy the LICENSE file to /usr/share/doc/packages/ during build process


(Gerard) #4

What ! you are saying very negative thing about a major Python product like pip and you say that this is not the proper place to discuss !! Let’s start a flamewar :-))
Well, not; pip is indeed nightmarishly quirky.

However on conda.io, site of the main competition (anaconda) they say that pip does very well what it is trying to do.
So after playing a bit with anaconda, I realized that as you are using OpenBsd, the Tryton project is unlikely to use it, so I decided that it could not be so hard to do that with pip, researched the Net a bit, read the Python documentation, and if turns out that if there is indeed no way to copy the COPYRIGHT file using package_files, it can be done with data_files:

data_files=[('/trytond', [os.path.join(os.path.split(os.path.abspath(__file__))[0],'COPYRIGHT')])],

maybe it could still be simpler, but a one-liner is not bad.


(Cédric Krier) #5

This is wrong because COPYRIGHT file does not have to be installed.


(Gerard) #6

Well so be it then. If you prefer it this way it has better to stay like it is. It’s just a perception matter after all.