20 Apr
2006
20 Apr
'06
14:39
Christoph Thiel wrote: > On Thu, 20 Apr 2006, Pascal Bleser wrote: > > [...] > >>>> YaST2 should also get a decent way to update existing packages. This >>>> is currently (as of 10.0) a real pain to do, there's no obvious >>>> option. You have to select "package categories", go to "zzz all", >>>> right click on the right pane, "this list..." -> "update if newer >>>> version available". It's too complex, there should be a single icon >>>> in the YaST2 menu to do that operation in a dedicated way, since >>>> it's what almost every SUSE Linux user is doing, every single day >>>> for many of them.. well, at least those who use 3rd party >>>> repositories like mine, Packman, etc... >>> Offering an update repository (in repomd style + patch infos) should >>> pretty straightforward on 10.1... >> Great! Where can I find the documentation about it ? >> - how to generate such repositories, where does the additional data come >> from ? >> - what are the repomd extensions ? schema or DTD ? > > I'm afraid to have to tell you, that there isn't much documentation on a > technical level yet :( You'd have to dig into some YaST / libzypp / zmd > packages, to find the answers to your questions. But as we move along, we > will hopefully be able to deliver documentation on this in the future. Keep in mind that as long as there isn't any documentation, it's more or less of no use outside of the SUSE team at Novell. When you plan/implement such tasks inside the SUSE team, please consider spending a little bit of time on some decent documentation, a text file or a wiki page on opensuse.org is sufficient. (AJ: hint, hint ;)) That's also an aspect of "community", keep in mind your stuff isn't just intended to be used by a handful of people who sit on the same floor, in the same building (near the "harddisk mortuary" (Maxtorgraben) in Nürnberg ;)). >> Is it backwards compatible with plain repomd ? > > It is, as it's just an extension to what repomd offers out-of-the-box. So > there are some more .xml files (one per patch) and the usual > primary/filelist/other .xml files. Ah, ok, it's additional XML files. Great :) > Check out http://download.suse.com/update/10.1/repodata/ for the details. Allright. What I can see there is * Plain rpm-md files: - filelists.xml.gz - other.xml.gz - primary.xml.gz - repomd.xml ==> extended with <data type="patches"> <location href="repodata/patches.xml"/> <checksum type="sha">...</checksum> <timestamp>1145376771</timestamp> <open-checksum type="sha">...</open-checksum> </data> * Additional SUSE-specific files: - patches.xml <patches> <patch id="zypp-1261"> <checksum type="sha">...</checksum> <location href="repodata/patch-zypp-1261.xml"/> </patch> ... </patches> - a lot of individual patch-*.xml files (with a quite complex structure) Well, everything seems pretty straightforward, except the patch-*.xml files. I assume you've got some tooling to generate those, as well as a modified createrepo, right ? How can we use those ? - modified createrepo ? (that mentions <data type="patches">...</data> in the generated repomd.xml, and generates the patches.xml file) - tool to generate the patch-*.xml files ? ... >> Which makes me think that... err... once y2pmsh will really be dead >> (i.e. non functional), y2pmbuild must be ported to something else. To >> smart ? Or is there some form of CLI driven package installation tool >> with libzypp ? > > y2pmbuild should be fully functional with the BuildRequires expansion > stuff that went into build.rpm -- there is no real need to use y2pmsh, > IIUC. Mmmmm.. not quite, as y2pmbuild uses y2pmsh to install missing BuildRequires into the build chroots. cheers -- -o) Pascal Bleser http://linux01.gwdg.de/~pbleser/ /\\ <pascal.bleser@skynet.be> <guru@unixtech.be> _\_v FOSDEM 2006 -- 25+26 February 2006 in Brussels