2009/9/13 Tarek Ziadé <span dir="ltr">&lt;<a href="mailto:ziade.tarek@gmail.com">ziade.tarek@gmail.com</a>&gt;</span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

2009/9/13 &quot;Martin v. Löwis&quot; &lt;<a href="mailto:martin@v.loewis.de">martin@v.loewis.de</a>&gt;:<br>
<div class="im">&gt;&gt; $ easy_install hachoir-core<br>
&gt;&gt; Searching for hachoir-core<br>
&gt;&gt; Reading <a href="http://pypi.python.org/simple/hachoir-core/" target="_blank">http://pypi.python.org/simple/hachoir-core/</a><br>
&gt;&gt; Reading <a href="http://hachoir.org/wiki/hachoir-core" target="_blank">http://hachoir.org/wiki/hachoir-core</a>   &lt;- this page doesn&#39;t<br>
&gt;&gt; exists anymore that&#39;s an old home url<br>
&gt;&gt;<br>
&gt;&gt;      page, you&#39;re blocked for a while !!<br>
&gt;&gt;<br>
&gt;&gt; If we keep this behavior, the client-side should be more smart.<br>
&gt;<br>
&gt; I disagree. It&#39;s the package maintainer&#39;s task to make sure the<br>
&gt; published URLs actually work.<br>
&gt;<br>
<br>
</div>They do as a matter of fact. But once an url is published, it&#39;s<br>
published &quot;forever&quot;.<br>
<br>
Take the hachoir-core as an example. The home URL was changed in<br>
1.2.1 to :<br>
<br>
&quot;<a href="http://bitbucket.org/haypo/hachoir/wiki/hachoir-core" target="_blank">http://bitbucket.org/haypo/hachoir/wiki/hachoir-core</a>&quot;<br>
<br>
the 1.2 version home url was:<br>
<br>
&quot;<a href="http://bitbucket.org/haypo/hachoir/wiki/hachoir-core" target="_blank">http://bitbucket.org/haypo/hachoir/wiki/hachoir-core</a>&quot;<br>
<br>
But the PyPI simple API will keep track of both:<br>
<div class="im"><br>
<a href="http://pypi.python.org/simple/hachoir-core" target="_blank">http://pypi.python.org/simple/hachoir-core</a><br>
<br>
</div>Leading to the problem described (because the script visits all urls<br>
before it decides<br>
what tarball to pick)<br>
<br>
So what the maintainer should do ?<br>
<br>
Recreate a new version of an old release so the old URL is removed<br>
from PyPI ? Just register the metadata, knowing that the one contained in<br>
the tarball is not the same ?<br>
<br>
I mean, if I change my home url at the 25th version of my distribution,<br>
I need to release again the 24 previous versions of the distribution ?<br></blockquote><div><br></div><div>Another related problem is links like, say, <a href="http://svn.colorstudy.com/virtualenv/trunk#egg=virtualenv-dev">http://svn.colorstudy.com/virtualenv/trunk#egg=virtualenv-dev</a> -- I have a bunch of these links in old versions, I&#39;d like to move the repository somewhere else, and so of course update that link and magically everyone can still install virtualenv==dev.  Except the link remains unless I edit all old versions of the packages to change or remove that link.</div>

<div><br></div><div>Is there a reason the simple version of the API needs to include links from the descriptions of any old versions of the package?  Eliminating links from all old/hidden package descriptions would I think solve this (except for links explicitly for downloads, which are generally versioned and okay).</div>

</div><div><br></div><br>-- <br>Ian Bicking  |  <a href="http://blog.ianbicking.org">http://blog.ianbicking.org</a>  |  <a href="http://topplabs.org/civichacker">http://topplabs.org/civichacker</a><br>