[Bug 226634] devel/py-setuptools: pkg-static: py27-setuptools-38.5.2 conflicts with py36-setuptools-38.5.2 (installs files into the same place). Problematic file: /usr/local/bin/easy_install
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Mar 28 09:51:31 UTC 2019
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=226634
--- Comment #10 from Kubilay Kocak <koobs at FreeBSD.org> ---
Elaborating/extending Serge's comment "So the problem was in the way
py27-setuptools was built", to benefit others that have reported, or find
themselves with, similar issues
How the port was built was one of the 'causes', but it is not 'the problem' (as
it is indeed 'intended')
The other cause is changing the default version after having installed things
with a different default version.
These two things together create the failure case.
The reason is, the 'way' a *default* version of a python port gets built *is*
different than a *non-default* version, in particular for script names
(LOCALBASE/bin/*). For example:
A default version port will install:
LOCALBASE/bin/foo, *AND*
LOCALBASE/bin/foo-X.Y
A non-default version port will *ONLY* install:
LOCALBASE/bin/foo-X.Y
The reason is, only ONE port can have the 'LOCALBASE/bin/foo' (version-less)
name, and that one port is the *current* 'default version'.
Default version can either be set by the user, or the default (set in
Mk/python.mk)
Now if a user has a system where 2.7 'was' the default (which is every new user
to freebsd, at present), they'll have the following files installed:
easy_install
easy_install-2.7
Then they switch to 3.6 (3.6 now the default)
Something wants to install setuptools, 3.6 is now the default version, so it
goes to install:
easy_install
easy_install-3.6
easy_install already exists, boom, we have a conflict.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-python
mailing list