Bug 157494 - createrepo doesn't include Supplements tags
Summary: createrepo doesn't include Supplements tags
Status: RESOLVED FIXED
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: Basesystem (show other bugs)
Version: Beta 7
Hardware: Other Other
: P5 - None : Blocker (vote)
Target Milestone: ---
Assignee: Christoph Thiel
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-12 17:56 UTC by Andreas Gruenbacher
Modified: 2006-03-18 13:36 UTC (History)
7 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Spec file used (759 bytes, text/plain)
2006-03-12 17:56 UTC, Andreas Gruenbacher
Details
repomd.xml (951 bytes, text/plain)
2006-03-12 17:57 UTC, Andreas Gruenbacher
Details
primary.xml.gz (decompressed) (1.65 KB, text/plain)
2006-03-12 17:57 UTC, Andreas Gruenbacher
Details
filelists.xml.gz (decompressed) (293 bytes, text/plain)
2006-03-12 17:58 UTC, Andreas Gruenbacher
Details
other.xml.gz (decompressed) (347 bytes, text/plain)
2006-03-12 17:58 UTC, Andreas Gruenbacher
Details
Fake repodata with missing tags (4.18 KB, application/x-tgz)
2006-03-13 14:37 UTC, Andreas Gruenbacher
Details
The first repository generated with createrepo that has the extra tags (3.15 KB, application/x-tgz)
2006-03-13 17:02 UTC, Andreas Gruenbacher
Details

Note You need to log in before you can comment on or make changes to this bug.
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.