Removing the lang/python dependency

Marcus von Appen mva at FreeBSD.org
Mon Oct 7 18:09:47 UTC 2013


Dear all,

the last couple of weeks were quite busy for the python team. We added a
new PYTHON2_DEFAULT_VERSION knob to define the default python2 version
to use, moved the whole default version magic into the new
bsd.default-version.mk, added new meta port versions (USE_PYTHON=2 or
USE_PYTHON=3), added automatic plist support for distutils based
ports as well as rm's plist replacement hack for non-distutils ports and
moved the zope magic into an own USES file.

I'm currently trying to remove lang/python from the implicitly set
BUILD_DEPENDS and RUN_DEPENDS in bsd.python.mk. This is required to

a) properly detect ports using a wrong python version (e.g. using
   python, although they only support version X.Y)
b) make bin/python and friends a user choice (where possible)
c) avoid issues with pkg

I'm testing each category and am fixing ports on the fly, when
everything breaks. The removal will happen in two runs.

In the first run, python:${PORTSDIR}/lang/python will be added as build
or run dependency to the port, so we can remove the implicit dependency
from bsd.python.mk.

The second run will try to fix all ports using a wrong USE_PYTHON=X.Y
version (e.g. "yes" or 2.6+ or ..., although only 2.7 or 3.2 are
supported), so that we can add lang/python as implicit dependency for
ports, which are truly version agnostic. Those can use USE_PYTHON=yes
afterwards.
Within that run, port maintainers also need to ensure that previously
added lang/python dependencies are either removed again and replaced
with the correct python version or that the ports are tested to ensure
that they are version agnostic.

Personally, I do not see an easier way to do this (without causing
problems for users), since too many ports rely on python in one way or
another and the majority of them only work with 2.7 (see
http://people.freebsd.org/~mva/ for fixes that are the result of testing
accessibility/, arabic/ and archivers/ and do the math for the whole
tree yourself ;-).

Once this is sorted out (hopefully in a couple of weeks), we can push
important changes to bsd.python.mk and bsd.port.mk (after agreeing with
portmrg@ about those) to enable package builds for different python
versions.

Cheers
Marcus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-python/attachments/20131007/99efc865/attachment.sig>


More information about the freebsd-python mailing list