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

Re: snapshot.d.o fuse filesystem



On Mon, 21 Feb 2011, Lucas Nussbaum wrote:

> > <weasel> the fuse filesystem has problems with binnmus
> > <weasel> (one source,version builds multiple versions of a single binpackagename)
> > <weasel> if that gets fixed we could probably try mounting it again
> 
> I won't need to deal with binNMUs, since I'm only interested in the source
> packages. So would the FUSE filesystem be usable for my task?
> If not, are you planning to fix it?
> If not, how do you suggest I try to fix it myself?

Hmm.  The FUSE filesystem, once fixed, might be able to help you there,
but I don't really plan on working on it much.

> What I'm missing is a way to programatically:
> - retrieve the Sources file for unstable at a given date
> - retrieve specific (source,version) couples from the farm (so that I
>   can uncompress them, and look at them)

The "supported" way to access data from snapshot would be using the
web interface, using the machine readable interface if you need any
metadata from the system.

It appears as if the machine readable interface currently only has way
to list package names, versions, and similar things, but if you need
more than that I'm sure we can extend it.


As for simple archive access, you can access mirrorrun below
http://snapshot.debian.org/archive/.

For retrieving the Sources file at a given date you can just wget
http://snapshot.debian.org/archive/debian/<timestamp>/dists/sid/main/source/Sources.bz2
e.g.
http://snapshot.debian.org/archive/debian/20090302T094604Z/dists/sid/main/source/Sources.bz2

The timestamp is in an ISO8601 format of yyyymmdd"T"HHMMSS"Z".  That
timestamp references the time of the import run.  You don't really need
to care however which mirrorruns there were since if you pick any other
date and time it'll give you the version that was in the system at that
time (i.e. it will always give you the version from that timestamp, or
if there isn't one, the latest version earlier than your requested TS).

So you could fetch
http://snapshot.debian.org/archive/debian/20090302T000000Z/dists/sid/main/source/Sources.bz2
and get what was imported last on march 1st.



If you know you want a specific source/version couple then the JSON
interface documented at
http://git.debian.org/?p=mirror/snapshot.debian.org.git;a=blob_plain;f=API
can help.

e.g. fetch
http://snapshot.debian.org/mr/package/3dchess/0.8.1-16/srcfiles
(or http://snapshot.debian.org/mr/package/3dchess/0.8.1-16/srcfiles?fileinfo=1 )
and then fetch
http://snapshot.debian.org/file/c5b42109c0de2155a8e64e9eee8ab7661df90d76
http://snapshot.debian.org/file/b122aeffc94fe0d7d388ab269e0a2055198efa0a
and
http://snapshot.debian.org/file/02616c413c189debfb7b437d5084220d2a721cd9



Or, alternatively, you implement some knowledge of how the debian
archive is layed out and fetch stuff from
http://snapshot.debian.org/archive/debian/20090301T220322Z/pool/main/3/3dchess/


weasel
-- 
                           |  .''`.       ** Debian **
      Peter Palfrader      | : :' :      The  universal
 http://www.palfrader.org/ | `. `'      Operating System
                           |   `-    http://www.debian.org/


Reply to: