Can you explain more about what you are trying to do and how you plan to
use Metalink?  I'm guessing you like the format because you can put URLs,
local paths, and hashes all together in one file?  Then you will version
control those?  What is the significance of the different URLs you have in
your code?

1) For tools, I think a couple that I have worked on will help, both
available from our sourceforge repository.  They are both written in
Python, so platform independent.  The first is Metalink Editor, check out
meditor.py, the command line component.  This is useful for creating and
editing Metalink files.  The other is Metalink Checker, see console.py. 
This implements a download client.  In fact I think if you were to give it
a Metalink file and the file already exists on the system, it will
automatically checksum it and download an update if different, which should
help simplify what you are doing.

http://sourceforge.net/projects/metalinks/

2) I don't understand how Metalink would effect log messages.  Please
explain.

3) Yes a Metalink file can store multiple filenames and hashes.  In order
to have a properly formatted Metalink file, you must also have at least one
URL present as well.  In reality this URL doesn't need to actually work if
you don't plan on using the Metalink file for downloads.

Neil

On Wed, 21 Sep 2011 11:30:50 +0100, David Laban <[email protected]> wrote:
> metalink gurus
> 
> I am currently using git annex for version control of my files, but it
is
> written in haskell and not available on many operating systems, so I'm
> looking for a more portable solution. If you want to know more about my
> use-case, take a look at fate-suite.libav.org and see if you can work
out
> who contributed any of the files.
> 
> I have the following workflow in mind:
> 
> bzr branch lp:~linaro-multimedia/samplemedia
> cd samplemedia
> ls 
> # repo.metalink Makefile
> # get all media files from samplemedia.linaro.org
> make get-all 
> cp ~/Downloads/big-media-file.WebM
> # add to repo.metalink and bzr ignore .
> make add FILE=big-media-file.WebM 
> bzr commit -m "added big-media-file.WebM"
> make mirror FILE=big-media-file.WebM \
>   UPLOAD_ROOT=ftp://ftp.alsuren.com/samplemedia \
>   PUBLIC_ROOT=http://alsuren.com/samplemedia
> bzr commit -m "uploaded to my personal webspace"
> bzr push lp:~alsuren/samplemedia
> 
> then the upstream developer can checkout my branch and
> make mirror-all \
>   UPLOAD_ROOT=ftp://ftp.linaro.org/samplemedia \
>   PUBLIC_ROOT=http://samplemedia.linaro.org
> make purge-mirror  \
>   PUBLIC_ROOT=http://alsuren.com/samplemedia
> bzr commit -m "samplemedia.linaro.org is the preferred mirror"
> 
> 1) Can anyone think of any tools that I can use in my makefile rules? I
> would prefer it if they were available from apt/yum/... on all
platforms,
> or things that I could distribute in a tools/ directory.
> 
> 2) Will my bzr log -p be easy to read? Note that I am just as happy to
use
> git if it gives me better logs/workflow (e.g. adding a clean/smudge
filter
> to store the hash of the file rather than using .gitignore, so that git
log
> FILE will give me the messages of all commits that touch the file).
> 
> 3) My main aim is to keep a filename: hash mapping to give me the
ability
> to audit changes (without having to store huge files in git), so if
hashes
> can be stored in a file that doesn't change when you're just pushing
files
> around, that would be ideal.
> 
> Any hints that anyone can provide will be most welcome.
> 
> David.

-- 
You received this message because you are subscribed to the Google Groups 
"Metalink Discussion" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/metalink-discussion?hl=en.

Reply via email to