[Python-Dev] PEP 376 - Open questions

Eric Smith eric at trueblade.com
Thu Jul 9 04:55:14 CEST 2009


Steven D'Aprano wrote:
> On Thu, 9 Jul 2009 08:07:21 am Eric Smith wrote:
>> But I think we've veered into metadata that describes what has been
>> installed. I don't think that's so useful. As I've said, this is
>> private to the installers. If 2 installers want to communicate with
>> each other about what they've installed, then they can agree on that
>> data. I just don't find it generally useful for all installers, and
>> therefore not useful for distutils.
> 
> But doesn't this metadata give any two installers a common language to 
> use to communicate, instead of having every pair of installers create 
> their own private communication method?

I really don't get this use case of multiple installers trying to 
install the same package. There's just no way that running "yum install 
twisted" and "apt-get install twisted" and "pip install twisted" are 
going to coexist with each other. The best they can do is say "a file 
I'm trying to install already exists". Why try for anything else?
	
> Personally, I like to be able to look at a package and say "What did 
> that install?" Or contrary-wise, look at a file and say "What package 
> installed that?"

I completely support that. All of the system installers I know of 
support this (at least on Linux; I'm familiar with the msi database 
layout (as exposed by Orca) on Windows, but I've never looked to see if 
they record the results of installing an msi). I just see this as an 
issue within each installer. Why would the installers need to 
communicate this with each other?

> There are few things worse than discovering a bunch of 
> mysterious executable files on your system that you don't remember 
> installing, and then spending a few paranoid hours trying to determine 
> whether you've stumbled across a root kit or virus or whether they have 
> a legitimate reason to be there.

We can't solve the problem of "here's an arbitrary file on the system, 
where did it come from?". There are many, many installers outside of our 
control that might have installed something. Ruby has installers, Perl 
has installers, I'm sure there are hundreds of such installers. The user 
might have even used wget to install something.



More information about the Python-Dev mailing list