Bug 157494

Summary: createrepo doesn't include Supplements tags
Product: [openSUSE] SUSE Linux 10.1 Reporter: Andreas Gruenbacher <agruen>
Component: BasesystemAssignee: Christoph Thiel <cthiel>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Blocker    
Priority: P5 - None CC: dmacvicar, jsrain, kkaempf, ma, mls, schubi, suse-beta
Version: Beta 7   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Spec file used
repomd.xml
primary.xml.gz (decompressed)
filelists.xml.gz (decompressed)
other.xml.gz (decompressed)
Fake repodata with missing tags
The first repository generated with createrepo that has the extra tags

Description Andreas Gruenbacher 2006-03-12 17:56:22 UTC
http://svn.suse.de/trac/zypp/wiki/Dependencies summarizes the possible dependencies between packages. Createrepo fails to include some of them in the metadata, so whoever is using the repository cannot resolve some kinds of dependencies properly anymore.

RPM itself currently can't dump the Recommends, Supplements, Suggests, and Enhances tags from the command line, either (bug 155301). You can use ~mls/rpmdumpreq to that end for now. (Also see bug 157493.)

Freshens and Essentialfor don't seem to exist for rpm packages; they probably are for patches only.
Comment 1 Andreas Gruenbacher 2006-03-12 17:56:45 UTC
Created attachment 72462 [details]
Spec file used
Comment 2 Andreas Gruenbacher 2006-03-12 17:57:10 UTC
Created attachment 72463 [details]
repomd.xml
Comment 3 Andreas Gruenbacher 2006-03-12 17:57:44 UTC
Created attachment 72464 [details]
primary.xml.gz (decompressed)
Comment 4 Andreas Gruenbacher 2006-03-12 17:58:15 UTC
Created attachment 72465 [details]
filelists.xml.gz (decompressed)
Comment 5 Andreas Gruenbacher 2006-03-12 17:58:36 UTC
Created attachment 72466 [details]
other.xml.gz (decompressed)
Comment 6 Andreas Gruenbacher 2006-03-12 18:02:59 UTC
Consequently, libzypp does not see those dependencies in yum (createrepo) repositories, and cannot resolve them.
Comment 7 Andreas Gruenbacher 2006-03-13 14:37:34 UTC
Created attachment 72564 [details]
Fake repodata with missing tags

Here is a spec file and rpm that has the tags, together with how the meta-data should look. The metadata were created by hand-editing, and so unfortunately the checksums are bogus.
Comment 8 Duncan Mac-Vicar 2006-03-13 15:54:06 UTC
Result of the test with fixed yum repo:

storagetargettest.cc(readSourceResolvables):155 done reading source type YUM: ResStore: 2
storagetargettest.cc(dump):70 [package]rpmtags-0.0-0.x86_64
storagetargettest.cc(dump):71 ------------------------------------------------
storagetargettest.cc(dump):72 Dependencies: [
storagetargettest.cc(dump):72 PROVIDES:
storagetargettest.cc(dump):72 [package] (namedcap) pro-vides == 1
storagetargettest.cc(dump):72 [package] (namedcap) rpmtags == 0.0-0
storagetargettest.cc(dump):72 REQUIRES:
storagetargettest.cc(dump):72 [package] (namedcap) re-quires >= 2
storagetargettest.cc(dump):72 CONFLICTS:
storagetargettest.cc(dump):72 [package] (namedcap) con-flicts <= 3
storagetargettest.cc(dump):72 OBSOLETES:
storagetargettest.cc(dump):72 [package] (namedcap) ob-so-letes <= 4
storagetargettest.cc(dump):72 ]
storagetargettest.cc(dump):70 [package]rpmtags2-0.0-0.x86_64
storagetargettest.cc(dump):71 ------------------------------------------------
storagetargettest.cc(dump):72 Dependencies: [
storagetargettest.cc(dump):72 PROVIDES:
storagetargettest.cc(dump):72 [package] (namedcap) pro-vides == 1
storagetargettest.cc(dump):72 [package] (namedcap) rpmtags2 == 0.0-0
storagetargettest.cc(dump):72 REQUIRES:
storagetargettest.cc(dump):72 [package] (namedcap) re-quires >= 2
storagetargettest.cc(dump):72 CONFLICTS:
storagetargettest.cc(dump):72 [package] (namedcap) con-flicts <= 3
storagetargettest.cc(dump):72 OBSOLETES:
storagetargettest.cc(dump):72 [package] (namedcap) ob-so-letes <= 4
storagetargettest.cc(dump):72 RECOMMENDS:
storagetargettest.cc(dump):72 [package] (namedcap) rec-om-ments >= 5
storagetargettest.cc(dump):72 SUGGESTS:
storagetargettest.cc(dump):72 [package] (namedcap) sug-gests >= 6
storagetargettest.cc(dump):72 SUPPLEMENTS:
storagetargettest.cc(dump):72 [package] (namedcap) sup-ple-ments <= 7
storagetargettest.cc(dump):72 ENHANCES:
storagetargettest.cc(dump):72 [package] (namedcap) en-han-ces <= 8
storagetargettest.cc(dump):72 ]
Comment 9 Andreas Gruenbacher 2006-03-13 17:02:39 UTC
Created attachment 72609 [details]
The first repository generated with createrepo that has the extra tags
Comment 10 Duncan Mac-Vicar 2006-03-13 17:11:18 UTC
It was a problem with the repositories not containing the tags (because they were not extracted). Andreas fixed the createrepo script. libzypp works with it without changes.