Managing conflicts between ports (same package with multiple maintained versions)
matthias at d2ux.net
Sun Apr 21 09:23:45 UTC 2013
I am the maintainer of most of the Tryton ports. Tryton is a python
based application framework where you can easily build your own business
modules on top. It also provides some default modules for common uses.
Currently Tryton 2.4 series is in the ports. From upstream the successor
Tryton 2.6 is available.
At Tryton, also previous releases are supported for an extended time.
This is required, because users who spent time to build their own
modules on top of e.g. 2.4 should not be forced to migrate immediately
to 2.6 (and likely use a different API) just for a security patch or a
Thats why I want to bring in 2.6 to the ports while continuing
During the planning, I ran into the following issue:
Tryton 2.4 and 2.6 install files to the same Python site-packages directory
Even there "egg" names are different, the contained package names are equal:
So for the python interpreter it would not be clear which one to import
if you just "import trytond".
Renaming the package names doesn't look reasonable because it would
require patching all Tryton modules (and will make it incompatible with
custom built modules).
So I think it is required to define it as a conflict if two versions of
Tryton will be installed at the same time.
My first approach was to define
in the Makefiles of trytond 2.4 and 2.6. This works and prevents
installing two different versions. But portlint doesn't seem happy with it:
root at compaq:/usr/ports/finance/trytond # portlint -AC
FATAL: Package conflicts with itself. You should remove "trytond-*" from
1 fatal error and 4 warnings found.
root at compaq:/usr/ports/finance/trytond #
So it looks like I need to explicitly specify the conflicting versions,
e.g. in Tryton 2.4 Makefile put:
But this will force me to update the 2.4 Ports everytime a new series of
Tryton gets introduced.
Is there a better way to achieve this?
Thanks in advance & kind regards,
More information about the freebsd-questions