From: Martin Vidner Date: Tue, 19 Jun 2007 16:23:11 +0000 (+0000) Subject: Fixes according to real-life repos. X-Git-Tag: BASE-SuSE-Linux-10_3-Branch~587 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=77fbc406ea92dde75a295c097acdb83867eb5b53;p=platform%2Fupstream%2Flibzypp.git Fixes according to real-life repos. (To be continued) --- diff --git a/zypp/parser/yum/schema/patch.rnc b/zypp/parser/yum/schema/patch.rnc index 7e5c6bd..8657971 100644 --- a/zypp/parser/yum/schema/patch.rnc +++ b/zypp/parser/yum/schema/patch.rnc @@ -11,25 +11,47 @@ include "suse-primary.rnc" { element-license-to-confirm = element license-to-confirm { localized-string } # packages in patches have an additional rpmfiles element element-package = element yum:package { package & element-pkgfiles & (element license-to-confirm { localized-string }?) } + +# first part made optional + format = + ( element-license & element-vendor & element-group & element-buildhost & element-sourcerpm & element-header-range )?, + ( element-provides | element-conflicts | element-obsoletes | element-requires | element-recommends | element-enhances | element-supplements | element-suggests )*, + element-file* + +# wrong namespace again, grr + element-time = + element yum:time {time} | + element time {time} + element-size = + element yum:size {size} | + # and wrong content too... + element size { + attribute package { xsd:nonNegativeInteger }, + attribute installed { xsd:nonNegativeInteger }?, + attribute archive { xsd:nonNegativeInteger }, + empty + } + } element-patch = element patch { patch } +# &, fetchmsttfonts mixes up the order patch = - attribute patchid { text }, - attribute timestamp { xsd:nonNegativeInteger }, - attribute engine { text }, - element-name, - element-summary, - element-description, - element-license-to-confirm*, - element-version, - ( element-provides | element-conflicts | element-obsoletes | element-requires | element-freshens | element-recommends | element-suggests | element-supplements | element-enhances )*, - element-category, - element reboot-needed { empty }?, - element package-manager { empty }?, - element-update-script?, + attribute patchid { text }& + attribute timestamp { xsd:nonNegativeInteger }& + attribute engine { text }& + element-name& + element-summary& + element-description& + element-license-to-confirm*& + element-version& + ( element-provides | element-conflicts | element-obsoletes | element-requires | element-freshens | element-recommends | element-suggests | element-supplements | element-enhances )*& + element-category& + element reboot-needed { empty }?& + element package-manager { empty }?& + element-update-script?& element atoms { (element-package | element-script | element-message)+ }+ # shortcut since all atoms have the same dependency section @@ -37,7 +59,8 @@ dependency-block = ( element-provides | element-conflicts | element-obsoletes | element-requires | element-freshens | element-recommends | element-suggests | element-supplements | element-enhances )* element-category = - element category { "youfix" | "security" | "recommended" | "bonus" | "beta" } +# element category { "youfix" | "security" | "recommended" | "bonus" | "beta" } + element category { "optional" | "recommended" | "security" } element-update-script = element update-script { text } @@ -119,10 +142,11 @@ element-deltarpm = element-delta-base-version } +# none used in fact... shared-rpmfile-attributes = - attribute arch { arch }, - attribute filename { text }, - attribute downloadsize { text } , + attribute arch { arch } ?, + attribute filename { text } ?, + attribute downloadsize { text } ? , attribute md5sum { text } ?, attribute buildtime { text } ? diff --git a/zypp/parser/yum/schema/patch.rng b/zypp/parser/yum/schema/patch.rng index 27c895f..fd32f03 100644 --- a/zypp/parser/yum/schema/patch.rng +++ b/zypp/parser/yum/schema/patch.rng @@ -1,5 +1,5 @@ - + @@ -38,63 +38,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -113,13 +177,12 @@ + - youfix - security + optional recommended - bonus - beta + security @@ -279,12 +342,19 @@ + - - - - - + + + + + + + + + + + diff --git a/zypp/parser/yum/schema/primary.rnc b/zypp/parser/yum/schema/primary.rnc index db67b33..d198430 100644 --- a/zypp/parser/yum/schema/primary.rnc +++ b/zypp/parser/yum/schema/primary.rnc @@ -1,4 +1,5 @@ default namespace = "http://linux.duke.edu/metadata/common" +namespace suse = "http://novell.com/package/metadata/suse/common" grammar { @@ -18,20 +19,22 @@ metadata = element-package = element package { package } +# ?: for package in atoms (suse-broken) package = attribute type { "rpm" } & element-name & element-arch & element-version & element-checksum & - (element-summary*) & - (element-description*) & - element-packager & - element-url & + element-summary* & + element-description* & + element-packager? & + element-url? & element-time & element-size & element-location & - element-format + element-format & + element suse:license-to-confirm {text}? element-name = element name { text } diff --git a/zypp/parser/yum/schema/primary.rng b/zypp/parser/yum/schema/primary.rng index 69d0a3c..d38f13b 100644 --- a/zypp/parser/yum/schema/primary.rng +++ b/zypp/parser/yum/schema/primary.rng @@ -1,5 +1,5 @@ - + @@ -25,6 +25,7 @@ + @@ -40,12 +41,21 @@ - - + + + + + + + + + + + diff --git a/zypp/parser/yum/schema/rpm-ns.rnc b/zypp/parser/yum/schema/rpm-ns.rnc index 0b6d2fe..a3c9732 100644 --- a/zypp/parser/yum/schema/rpm-ns.rnc +++ b/zypp/parser/yum/schema/rpm-ns.rnc @@ -39,10 +39,10 @@ header-range = attribute-kind = attribute kind { "package" | "patch" | "script" | "message" | "product" | "atom" } -attribute-flags-provides = - attribute flags { "EQ" | "LE" | "GE" } -attribute-flags-obsoletes = - attribute flags { "EQ" | "LE" | "GE" | "LT" } +#attribute-flags-provides = +# attribute flags { "EQ" | "LE" | "GE" } +#attribute-flags-obsoletes = +# attribute flags { "EQ" | "LE" | "GE" | "LT" } attribute-flags = attribute flags { "EQ" | "LE" | "GE" | "LT" | "GT" } @@ -58,21 +58,21 @@ usual-entry-content = , empty ) -element-obsoletes-entry = -( - element entry { - (shared-entry-attributes & attribute-flags-obsoletes?) - , empty - } -) - -element-provides-entry = -( - element entry { - (shared-entry-attributes & attribute-flags-provides?) - , empty -} -) +#element-obsoletes-entry = +#( +# element entry { +# (shared-entry-attributes & attribute-flags-obsoletes?) +# , empty +# } +#) +# +#element-provides-entry = +#( +# element entry { +# (shared-entry-attributes & attribute-flags-provides?) +# , empty +#} +#) element-requires-entry = ( @@ -91,7 +91,7 @@ element-provides = element provides { provides } provides = - element-provides-entry* + element-entry* element-conflicts = element conflicts { conflicts } @@ -104,7 +104,7 @@ element-obsoletes = element obsoletes { obsoletes } obsoletes = - element-obsoletes-entry* + element-entry* element-requires = element requires { requires } @@ -153,4 +153,4 @@ dependencies = # element-suggests?, # element-enhances?, # element-supplements?, -# element-recommends? \ No newline at end of file +# element-recommends? diff --git a/zypp/parser/yum/schema/rpm-ns.rng b/zypp/parser/yum/schema/rpm-ns.rng index a516259..09b488f 100644 --- a/zypp/parser/yum/schema/rpm-ns.rng +++ b/zypp/parser/yum/schema/rpm-ns.rng @@ -1,5 +1,5 @@ - + @@ -82,25 +82,12 @@ - - - - EQ - LE - GE - - - - - - - EQ - LE - GE - LT - - - + @@ -143,28 +130,23 @@ - - - - - - - - - - - - - - - - - - - - - - + @@ -196,7 +178,7 @@ - + @@ -216,7 +198,7 @@ - + diff --git a/zypp/parser/yum/schema/suse-primary.rnc b/zypp/parser/yum/schema/suse-primary.rnc index 189e852..a95956a 100644 --- a/zypp/parser/yum/schema/suse-primary.rnc +++ b/zypp/parser/yum/schema/suse-primary.rnc @@ -14,12 +14,12 @@ suse-format = suse-additional-format? suse-additional-format = - element-authors, + element-authors?, element-keywords?, element-dirsizes?, element-freshens?, element-install-only?, - element license-to-confirm { localized-string }* + element suse:license-to-confirm { localized-string }* element-authors = element authors { authors } @@ -53,8 +53,12 @@ dirsize = element-freshens = element freshens { freshens } +# suse-entry looks like an unwanted oversight freshens = - element-entry* + (element-entry | element-suse-entry) * + +element-suse-entry = + element suse:entry { usual-entry-content } element-install-only = element install-only { empty } diff --git a/zypp/parser/yum/schema/suse-primary.rng b/zypp/parser/yum/schema/suse-primary.rng index 411a2c4..aa69bbc 100644 --- a/zypp/parser/yum/schema/suse-primary.rng +++ b/zypp/parser/yum/schema/suse-primary.rng @@ -1,5 +1,5 @@ - + @@ -16,7 +16,9 @@ - + + + @@ -30,7 +32,7 @@ - + @@ -87,11 +89,20 @@ + - + + + + + + + + +