Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Feb 2014 13:39:43 +0100
From:      Marcus von Appen <mva@FreeBSD.org>
To:        python@FreeBSD.org, Volodymyr Kostyrko <c.kworr@gmail.com>
Cc:        Scott Sturdivant <scott.sturdivant@gmail.com>, koobs@FreeBSD.org
Subject:   Re: HEADS-UP and RFC - Adding setuptools as default RUN_DEPENDS
Message-ID:  <20140216123943.GA1361@medusa.sysfault.org>
In-Reply-To: <52FCD089.8000802@gmail.com>
References:  <52FC7E4E.4020801@FreeBSD.org> <52FCD089.8000802@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--7AUc2qLy4jB3hD7Z
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On, Thu Feb 13, 2014, Volodymyr Kostyrko wrote:

> 13.02.2014 10:11, Kubilay Kocak =D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=
=B2(=D0=BB=D0=B0):
> > Two days ago I updated virtualenv, transitioning it away from the
> > deprecated USE_PYDISTUTILS=3Deasy_install to USE_PYDISTUTILS=3Dyes as m=
any
> > other ports have recently.
> >
> > I thought nothing of it until the following report by Scott (cc'd):
> >
> > http://lists.freebsd.org/pipermail/freebsd-python/2014-February/006592.=
html
> >
> > The summary of that thread is:
> >
> > a) Any python software that uses *console_scripts* needs the
> > pkg_resources module from setuptools at run time. This basically means
> > anything that installs a CLI utility.
> >
> > b) Package-only users don't get setuptools installed when they install
> > the packages of the above ports, because =3Dyes *doesnt* set a RUN_DEPE=
NDS
> > on it.
> >
> > This breaks console script invocation, with the following error:
> >
> > Traceback (most recent call last):
> >    File "/usr/local/bin/<script-name>", line 5, in <module>
> >      from pkg_resources import load_entry_point
> > ImportError: No module named pkg_resources
> >
> > Reproduction steps are:
> >
> > 1) Install port or package that uses console_scripts
> > 2) If you installed the package, run the console script
> > 3) If you installed the port
> > 3.1) Run the console script
> > 3.2) Remove py-setuptools
> > 3.3) Run the console script again
> >
> > Reproduced with: py-virtualenv (`virtualenv`), py-tox (`tox`) and
> > py-nose (`nosetests`)
> >
> > We (python@) have now standardised on a consistent installation pattern
> > for all python software, whether pure-distutils or setuptools based, and
> > there are run-time requirements that are currently not being satisfied.
> >
> > Attached is a patch moving RUN_DEPENDS+=3Dsetuptools from the
> > =3Deasy_install only case, to the default case.
> >
> > Patch review requested, other comments welcome.

Looks good to me.

> > ../koobs
>
> This effectively means that user should choose between python2 and
> python3 and all ports that are not from choosen side will stop to
> compile/work?

This already is the case for the majority of ports. pkg is slightly more
robust with packages not introducing a run dependency, but from the ports
framework side is something that works as side effect, not as something
provided by design.

> Like i need to have www/trac, and some other script needs
> databases/py-postgresql. Both require py-setuptools yet trac needs
> py27-setuptools and postgresql driver - py33-setuptools. So there would
> be no easy way to install both?

Unfortunately yes. The problem is within the package management tools at the
moment, since those do not support the installation of two different logical
packages (py27-setuptools and py33-setuptools in thise case) from the same
original source port. This did not work before (as stated above), so
design-wise, we are not stepping backwards.

=46rom the python@ perspective, we are currently working on a clean package
approach to enable support for cases like yours, but no matter how fast we
are, we will have to wait for the official package management tools to catch
up.

Cheers
Marcus

--7AUc2qLy4jB3hD7Z
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iEYEARECAAYFAlMAsY8ACgkQi68/ErJnpkfV1wCfSwkIv/zxQLDsZoH8pH+voauG
zToAnRr6dkZhJj5XnfDOJjH6K9z1C7t1
=egoj
-----END PGP SIGNATURE-----

--7AUc2qLy4jB3hD7Z--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140216123943.GA1361>