[Distutils] PEP 376, the INSTALLER file, and system packages

Donald Stufft donald at stufft.io
Fri Jan 22 13:10:55 EST 2016

PEP 376 added a file to the .dist-info directory called "INSTALLER" which was
supposed to be:

    This option is the name of the tool used to invoke the installation.

However, nothing has really ever implemented it and it's gone largely ignored
until just recently pip 8.0 started writing the INSTALLER file into the
metadata directories with a value of "pip".

I'd like to propose adding a special cased value to add to the installer file
that will tell projects like pip that this particular installed thing is being
managed by someone else, and we should keep our hands off of it. According to
PEP 376 the supported values for this file are r"[a-z0-9_-.]", however I think
since nobody has ever implemented it, we could expand that so that it so you
can also have a special value, of "dpkg (system)" or maybe that's not worth it
and we could just have "system" as a special value.

The benefit of doing this, is that with a special value in that file that says
"this file belongs to the OS", then pip could start looking for that file and
require a --force flag before it modifies any files belonging to that project.
Then distributors like Debian, Fedora, etc could simply write out the INSTALLER
file with the correct value, and pip would start to respect their files by

Thoughts? Does this sound reasonable to everyone? Do we think it needs a new
PEP or can we just amend PEP 376 to add this extra bit of information?

Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20160122/a13318ba/attachment-0001.sig>

More information about the Distutils-SIG mailing list