[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sf.net redirector reports 500 Internal Server Error



On Tue, 2009-05-12 at 22:20 +0000, Bart Martens wrote:
> On Tue, May 12, 2009 at 02:47:58PM -0500, Raphael Geissert wrote:
> > Hi Daniel,
> > 
> > Daniel Leidert wrote:
> > 
> > > Hi,
> > > 
> > > When I type the requested URL, say for example
> > > 
> > > http://qa.debian.org/watch/sf.php/docbook-xsl
> > > 
> > > Then an Internal Server Error is reported and the page
> > > itself shows:
> > > 
> > > "No mirror could satisfy the request. Please report this
> > > message to debian-qa@lists.debian.org"
> > > 

> 
> I understand that using one mirror directly is a temporary approach that should
> be replaced by something going via the sourceforge mirror-selection system.
> This can be solved for debian/watch files using
> http://sf.net/<projectname>/<filenamebase>-(.*)\.tar\.gz and similar, by
> enhancing the sf.net redirector with the following algorithm:
> 
> - Access http://sourceforge.net/projects/<projectname>
>   Parse the html to find the value of the group_id.
> - Access http://sourceforge.net/project/showfiles.php?group_id=...
>   Parse the html to find the values of the package_id's.
> - For each package_id:
>   - Access http://sourceforge.net/project/showfiles.php?group_id=...&package_id=...
>     Parse the html to verify whether it contains files matching
>     the pattern <filenamebase>-(.*)\.tar\.gz.
>   - If it does contain files matching, then find the filename with the
>     highest version number.  This is a preliminary result.
> - After processing all package_id's, select the preliminary result with the
>   highest version number.  This is the final result.
> 
> So far what to do to make the existing debian/watch files continue to work
> without depending on the only sf.net mirror that keeps the redirector currently
> working.

I have a new sf.php that should solve the problem reported by Daniel.
Also, it no longer accesses any sf.net mirror directly, because it uses
the normal sf.net mirror selection system instead.

The implemented algorithm is not exactly as described above, because
I've learned more about uscan while coding this new sf.php.

It's online available for testing.

To see a list of files in your browser:
http://qa.debian.org/~bartm/watch/sf.php/gtans

To use this sf.php with uscan, first apply this patch to /usr/bin/uscan:
http://qa.debian.org/~bartm/watch/uscan.diff

Feedback is welcome.

Regards,

Bart Martens

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: