Hi Dave,
Hi, I maintain rosegarden4 and upstream has a new version which ATM is submitted to factory, this is a very popular package and the new version is a complete rewrite from the ground up. I noticed the openSUSE link at :- http://www.rosegardenmusic.com/getting/ site was very out of date and even said the package was available from packman whereas it's been an openSUSE package since 2003. This lead me to request an updated link from the developers. I will paste the reply before I go further :-
These are generated automatically by scraping the web interface to the distro package databases... I see that several distros appear to have changed their interfaces in such a way as to need an update.
Can you provide a single URL that can reliably be retrieved in order to discover an up-to-date record of which version of Rosegarden is current in openSUSE? It can return either HTML or some parsable machine format. The link you just gave includes rather a lot of different entries, and it isn't directly obvious how I would extract the most widely available current version (or "a stable version" and "a bleeding-edge version") from it. I last used SuSE before they capitalised the U, and I have no idea how repositories are organised for it these days.
If anyone reading this can provide similar things for Ubuntu, Arch, Gentoo, and your other favourite distribution, that would also be splendid.
Yes, as the openSUSE Buildservice is upstreams friend, there is a quite sophisticated solution for this, the 'Application Directory Integration Interface' (better name proposals welcome) see [1].
It provides an Buildservice API call that sends back a xml block listing links to binary packages which are currently in the repo which can be parsed to build a link list from.
The list contains all what is needed to generate a decent download link on the webpage like type of bin package, descriptions etc. A little program code on the website is needed to parse the info. If somebody is Javascript wizarding, maybe he could provide a snippet? The xml is dynamically adopted to what happens in the project, if you add another target distro to the project, packages for it appear in the list.
Check a call to osc api /public/binary_packages/multimedia:apps/rosegarden4 to see what it contains for rosegarden 4.
Maybe that helps,
Klaas
[1] http://en.opensuse.org/Build_Service/Concepts/AppDirectory