[Distutils] Finding dependencies and Limiting download
ianb at colorstudy.com
Fri Mar 17 17:21:58 CET 2006
Juha Tuomala wrote:
> On Thursday 16 March 2006 22:37, Ian Bicking wrote:
>>Another solution is at the package level -- RPMs can overwrite each
>>other's files, if they are spec'd out to do that somehow.
> Yes, you could do that in the %post section where post installation
> script can be put. It's executed as root so it can do rm -rf /
> if needed.
>>This is not
>>very clean -- I don't know which if any package is allowed to ultimately
>>delete that file.
> All packages are installed as root. So any package could do that.
> There where the trust comes into picture. I trust fedoraproject.org
> as my OS supplier and they digitally sign every package, so it's unlikely
> that any package would behave badly in my system.
Well, the question is which should. E.g., if you install PasteScript,
then Paste, then remove PasteScript, PasteScript should leave
paste/__init__.py since Paste also needs it. In practice, I tend to
notice files like this are just left around by packagers. I don't think
that would be appropriate at all in this situation, though (it would
mean there would still be an importable "paste" even though there'd be
nothing in it).
> I think that there is something wrong in the installation if
> it overwrites each other's files during the process.
This is why Eggs have their namespace package support, but it relies on
the packages being installed in separate hierarchies even though they
share the same package space. If Phillip can fix that, then great, we
should all be happy ;) Yet another option would be to make Paste a
requirement for PasteDeploy and PasteScript, and rely on Paste
Namespace packages *are* rather annoying, I'll admit. If I knew when I
first wrote them how I wanted paste.* factored into three packages, I
probably wouldn't have used a namespace package. The only real reason I
see for it is legacy package names, or when you really really like
hierarchy (and I don't).
The issue with installing as an egg is that either you have to have
postinstall scripts handle easy-install.pth (or rpm-install.pth or
something), or you have to handle the fact that no egg will be installed
by default. But otherwise you can just install an egg instead of using
--single-version... -- and I don't know if there's really a reason not
to do that at this time.
Ian Bicking / ianb at colorstudy.com / http://blog.ianbicking.org
More information about the Distutils-SIG