Re: PEP 3147: PYC Repository Directories
R. David Murray <rdmurray <at> bitdance.com>
2010-02-01 02:53:16 GMT
On Sun, 31 Jan 2010 19:48:19 +0100, =?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=
<martin <at> v.loewis.de> wrote:
> > By the way, the part that caused me the most confusion in the language
> > in the PEP was the emphasized *and their dependencies*, as if a package
> > having dependencies somehow turned the problem into a factorial explosion.
> > But there seems to be nothing special, according to your explanation,
> > about dependencies in this scheme.
> For regular (forward) dependencies, there is indeed nothing special to
> consider - they would have to exist in all versions. In practice, this
> can (and was) problematic: python-zope.sendmail depends on
> python-pkg-resources, python-transaction, python-zope, and 10 other
> things. Before you could starting to provide python27-zope.sendmail,
> all of these dependencies would have to become available in a 2.7
> version first, meaning that ten other Debian developers need to act
> before you can. With the failure rate of Debian developers (who go
> as often on holidays as any other volunteer), upgrading to a new Python
> release could often take many months.
OK, that makes it clearer. It's an internal (and probably unavoidable)
Debian social problem, not a technical one, and I see why it is an
> > It seems like it would be simple enough to enhance the os packaging
> > systems to allow the install path to be specified at install time, if
> > that really is the only difference between the package versions. And a
> > script that runs through all the installed python packages and installs
> > them for a new Python version when a new version is installed should be
> > as easy for other distributions as it is for Gentoo.
> However, it's also unacceptable. I can't cite the exact piece of Debian
> policy, but I'm fairly sure that "build" activities are not allowed at
> installation time. So actually running setup.py files is out of
> question. Users who want such a thing would have to switch to Gentoo;
> Debian users just want it to work
I'm less sympathetic to problems created by rigid policies, but that
doesn't mean I'm not sympathetic :)
But I don't understand how this answers the question. If the
python26-zope.sendmail package doesn't run setup.py, then a
python-zope.sendmail package where you specify at install time which
directory to install the files to isn't going to run setup.py, either.
If the only difference between a packaged python27-zope.sendmail and a
packaged python26-zope.sendmail is the directory to which the files get
written, why can't that be controlled at install time? Writing files
to a directory must be an install activity, not a build activity. If the
issue is that *deciding* what directory to install to is a build time
activity...well, maybe I would be less sympathetic to a policy that is
> > (The os vendors are going to have
> > to change details of their packaging systems if the PEP is accepted,
> > so it's not as if the PEP saves the vendors work.)
> Again, I'm a little bit unclear on the motivation, also. I think it
> mostly is "after years of experimentation, we have run out of ideas
> how to solve all related problems simultaneously without changing
> Python, so let's look for options that do involve changing Python".
> If you *really* want a list of all the simultaneous problems that
> need to be solved, and an explanation of why each individual solution
> has flaws, prepare for this conversation to take a few more weeks.
Well, I certainly don't want the conversation to take a few more months.
I'm not against the PEP, I'm making my comments and asking my questions
in the spirit of making it a high quality PEP. If the motivation is
"the Debian devs have concluded, after years of experimentation...",
then I suppose that's what should go in the motivation section.
R. David Murray www.bitdance.com
Business Process Automation - Network/Server Management - Routers/Firewalls