<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jan 22, 2016 at 11:28 AM, Donald Stufft <span dir="ltr"><<a href="mailto:donald@stufft.io" target="_blank">donald@stufft.io</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><span class=""><blockquote type="cite"><div>On Jan 22, 2016, at 1:46 PM, Nathaniel Smith <<a href="mailto:njs@pobox.com" target="_blank">njs@pobox.com</a>> wrote:</div><br><div><p dir="ltr">On Jan 22, 2016 10:11 AM, "Donald Stufft" <<a href="mailto:donald@stufft.io" target="_blank">donald@stufft.io</a>> wrote:<br>
><br>
> PEP 376 added a file to the .dist-info directory called "INSTALLER" which was<br>
> supposed to be:<br>
><br>
>     This option is the name of the tool used to invoke the installation.<br>
><br>
> However, nothing has really ever implemented it and it's gone largely ignored<br>
> until just recently pip 8.0 started writing the INSTALLER file into the<br>
> metadata directories with a value of "pip".<br>
><br>
> I'd like to propose adding a special cased value to add to the installer file<br>
> that will tell projects like pip that this particular installed thing is being<br>
> managed by someone else, and we should keep our hands off of it. According to<br>
> PEP 376 the supported values for this file are r"[a-z0-9_-.]", however I think<br>
> since nobody has ever implemented it, we could expand that so that it so you<br>
> can also have a special value, of "dpkg (system)" or maybe that's not worth it<br>
> and we could just have "system" as a special value.</p><p dir="ltr">I think we want more than just "system", because the same user could have some packages managed by dpkg and some by conda, both of which have their own dependency resolution mechanisms that are outside pip's and could get broken if pip removes stuff willy-nilly. And when pip errors out, you want to be able to explain to the user "this package is managed by conda, and using pip on it may break your conda setup..." versus "this package is managed by Debian, and using pip on it may break your Debian setup...".</p><p dir="ltr">(Actually I'm not sure what the status these days is of mixing pip and conda -- they've gotten somewhat better at handling it. Is the proposed behavior in pip when it sees this flag something that distribution maintainers have asked for? Are they present in this thread?)</p><div><br></div></div></blockquote><div><br></div></span>Yea, that’s why I thought about dpkg (system) or system(Debian) or something. The main reason I can think of for preferring “system” is if we don’t want to change the valid characters for a value in this file. Then you can have system(Debian) and system(Conda) and everything will work just fine.<span class=""><br></span></div></div></blockquote><div><br></div><div>Maybe to simplify the discussion we should just forget about INSTALLER, leave it in peace to be what the PEP says ("fyi this is the last program to touch this, in case anyone cares"),  and add a new file with whatever syntax/semantics make sense. Filenames are cheap and plentiful, and no reason to complicate this discussion with hypothetical backcompat worries.<br></div><br></div><div class="gmail_quote">-n<br clear="all"></div><br>-- <br><div class="gmail_signature"><div dir="ltr"><div>Nathaniel J. Smith -- <a href="http://vorpus.org" target="_blank">https://vorpus.org</a></div></div></div>
</div></div>