Author: mvidner Date: Tue Jun 19 18:23:11 2007 New Revision: 5797 URL: http://svn.opensuse.org/viewcvs/zypp?rev=5797&view=rev Log: Fixes according to real-life repos. (To be continued) Modified: trunk/libzypp/zypp/parser/yum/schema/patch.rnc trunk/libzypp/zypp/parser/yum/schema/patch.rng trunk/libzypp/zypp/parser/yum/schema/primary.rnc trunk/libzypp/zypp/parser/yum/schema/primary.rng trunk/libzypp/zypp/parser/yum/schema/rpm-ns.rnc trunk/libzypp/zypp/parser/yum/schema/rpm-ns.rng trunk/libzypp/zypp/parser/yum/schema/suse-primary.rnc trunk/libzypp/zypp/parser/yum/schema/suse-primary.rng Modified: trunk/libzypp/zypp/parser/yum/schema/patch.rnc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/yum/schema/patch.rnc?rev=5797&r1=5796&r2=5797&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/yum/schema/patch.rnc (original) +++ trunk/libzypp/zypp/parser/yum/schema/patch.rnc Tue Jun 19 18:23:11 2007 @@ -11,25 +11,47 @@ 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 @@ ( 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-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 } ? Modified: trunk/libzypp/zypp/parser/yum/schema/patch.rng URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/yum/schema/patch.rng?rev=5797&r1=5796&r2=5797&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/yum/schema/patch.rng (original) +++ trunk/libzypp/zypp/parser/yum/schema/patch.rng Tue Jun 19 18:23:11 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<grammar xmlns:yum="http://linux.duke.edu/metadata/common" ns="http://novell.com/package/metadata/suse/patch" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> +<grammar ns="http://novell.com/package/metadata/suse/patch" xmlns:yum="http://linux.duke.edu/metadata/common" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <include href="suse-primary.rng"> <start> <ref name="element-patch"/> @@ -38,63 +38,127 @@ </interleave> </element> </define> + <!-- first part made optional --> + <define name="format"> + <optional> + <interleave> + <ref name="element-license"/> + <ref name="element-vendor"/> + <ref name="element-group"/> + <ref name="element-buildhost"/> + <ref name="element-sourcerpm"/> + <ref name="element-header-range"/> + </interleave> + </optional> + <zeroOrMore> + <choice> + <ref name="element-provides"/> + <ref name="element-conflicts"/> + <ref name="element-obsoletes"/> + <ref name="element-requires"/> + <ref name="element-recommends"/> + <ref name="element-enhances"/> + <ref name="element-supplements"/> + <ref name="element-suggests"/> + </choice> + </zeroOrMore> + <zeroOrMore> + <ref name="element-file"/> + </zeroOrMore> + </define> + <!-- wrong namespace again, grr --> + <define name="element-time"> + <choice> + <element name="yum:time"> + <ref name="time"/> + </element> + <element name="time"> + <ref name="time"/> + </element> + </choice> + </define> + <define name="element-size"> + <choice> + <element name="yum:size"> + <ref name="size"/> + </element> + <!-- and wrong content too... --> + <element name="size"> + <attribute name="package"> + <data type="nonNegativeInteger"/> + </attribute> + <optional> + <attribute name="installed"> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + <attribute name="archive"> + <data type="nonNegativeInteger"/> + </attribute> + <empty/> + </element> + </choice> + </define> </include> <define name="element-patch"> <element name="patch"> <ref name="patch"/> </element> </define> + <!-- &, fetchmsttfonts mixes up the order --> <define name="patch"> - <attribute name="patchid"/> - <attribute name="timestamp"> - <data type="nonNegativeInteger"/> - </attribute> - <attribute name="engine"/> - <ref name="element-name"/> - <ref name="element-summary"/> - <ref name="element-description"/> - <zeroOrMore> - <ref name="element-license-to-confirm"/> - </zeroOrMore> - <ref name="element-version"/> - <zeroOrMore> - <choice> - <ref name="element-provides"/> - <ref name="element-conflicts"/> - <ref name="element-obsoletes"/> - <ref name="element-requires"/> - <ref name="element-freshens"/> - <ref name="element-recommends"/> - <ref name="element-suggests"/> - <ref name="element-supplements"/> - <ref name="element-enhances"/> - </choice> - </zeroOrMore> - <ref name="element-category"/> - <optional> - <element name="reboot-needed"> - <empty/> - </element> - </optional> - <optional> - <element name="package-manager"> - <empty/> - </element> - </optional> - <optional> - <ref name="element-update-script"/> - </optional> - <oneOrMore> - <element name="atoms"> - <oneOrMore> - <choice> - <ref name="element-package"/> - <ref name="element-script"/> - <ref name="element-message"/> - </choice> - </oneOrMore> - </element> - </oneOrMore> + <interleave> + <attribute name="patchid"/> + <attribute name="timestamp"> + <data type="nonNegativeInteger"/> + </attribute> + <attribute name="engine"/> + <ref name="element-name"/> + <ref name="element-summary"/> + <ref name="element-description"/> + <zeroOrMore> + <ref name="element-license-to-confirm"/> + </zeroOrMore> + <ref name="element-version"/> + <zeroOrMore> + <choice> + <ref name="element-provides"/> + <ref name="element-conflicts"/> + <ref name="element-obsoletes"/> + <ref name="element-requires"/> + <ref name="element-freshens"/> + <ref name="element-recommends"/> + <ref name="element-suggests"/> + <ref name="element-supplements"/> + <ref name="element-enhances"/> + </choice> + </zeroOrMore> + <ref name="element-category"/> + <optional> + <element name="reboot-needed"> + <empty/> + </element> + </optional> + <optional> + <element name="package-manager"> + <empty/> + </element> + </optional> + <optional> + <ref name="element-update-script"/> + </optional> + <oneOrMore> + <element name="atoms"> + <oneOrMore> + <choice> + <ref name="element-package"/> + <ref name="element-script"/> + <ref name="element-message"/> + </choice> + </oneOrMore> + </element> + </oneOrMore> + </interleave> </define> <!-- shortcut since all atoms have the same dependency section --> <define name="dependency-block"> @@ -113,13 +177,12 @@ </zeroOrMore> </define> <define name="element-category"> + <!-- element category { "youfix" | "security" | "recommended" | "bonus" | "beta" } --> <element name="category"> <choice> - <value>youfix</value> - <value>security</value> + <value>optional</value> <value>recommended</value> - <value>bonus</value> - <value>beta</value> + <value>security</value> </choice> </element> </define> @@ -279,12 +342,19 @@ <ref name="element-delta-base-version"/> </element> </define> + <!-- none used in fact... --> <define name="shared-rpmfile-attributes"> - <attribute name="arch"> - <ref name="arch"/> - </attribute> - <attribute name="filename"/> - <attribute name="downloadsize"/> + <optional> + <attribute name="arch"> + <ref name="arch"/> + </attribute> + </optional> + <optional> + <attribute name="filename"/> + </optional> + <optional> + <attribute name="downloadsize"/> + </optional> <optional> <attribute name="md5sum"/> </optional> Modified: trunk/libzypp/zypp/parser/yum/schema/primary.rnc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/yum/schema/primary.rnc?rev=5797&r1=5796&r2=5797&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/yum/schema/primary.rnc (original) +++ trunk/libzypp/zypp/parser/yum/schema/primary.rnc Tue Jun 19 18:23:11 2007 @@ -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 @@ 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 } Modified: trunk/libzypp/zypp/parser/yum/schema/primary.rng URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/yum/schema/primary.rng?rev=5797&r1=5796&r2=5797&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/yum/schema/primary.rng (original) +++ trunk/libzypp/zypp/parser/yum/schema/primary.rng Tue Jun 19 18:23:11 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<grammar ns="http://linux.duke.edu/metadata/common" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> +<grammar ns="http://linux.duke.edu/metadata/common" xmlns:suse="http://novell.com/package/metadata/suse/common" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <!-- defines element-format and format --> <include href="rpm-ns.rng"/> <start> @@ -25,6 +25,7 @@ <ref name="package"/> </element> </define> + <!-- ?: for package in atoms (suse-broken) --> <define name="package"> <interleave> <attribute name="type"> @@ -40,12 +41,21 @@ <zeroOrMore> <ref name="element-description"/> </zeroOrMore> - <ref name="element-packager"/> - <ref name="element-url"/> + <optional> + <ref name="element-packager"/> + </optional> + <optional> + <ref name="element-url"/> + </optional> <ref name="element-time"/> <ref name="element-size"/> <ref name="element-location"/> <ref name="element-format"/> + <optional> + <element name="suse:license-to-confirm"> + <text/> + </element> + </optional> </interleave> </define> <define name="element-name"> Modified: trunk/libzypp/zypp/parser/yum/schema/rpm-ns.rnc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/yum/schema/rpm-ns.rnc?rev=5797&r1=5796&r2=5797&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/yum/schema/rpm-ns.rnc (original) +++ trunk/libzypp/zypp/parser/yum/schema/rpm-ns.rnc Tue Jun 19 18:23:11 2007 @@ -39,10 +39,10 @@ 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 @@ , 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 { provides } provides = - element-provides-entry* + element-entry* element-conflicts = element conflicts { conflicts } @@ -104,7 +104,7 @@ element obsoletes { obsoletes } obsoletes = - element-obsoletes-entry* + element-entry* element-requires = element requires { requires } @@ -153,4 +153,4 @@ # element-suggests?, # element-enhances?, # element-supplements?, -# element-recommends? \ No newline at end of file +# element-recommends? Modified: trunk/libzypp/zypp/parser/yum/schema/rpm-ns.rng URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/yum/schema/rpm-ns.rng?rev=5797&r1=5796&r2=5797&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/yum/schema/rpm-ns.rng (original) +++ trunk/libzypp/zypp/parser/yum/schema/rpm-ns.rng Tue Jun 19 18:23:11 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<grammar xmlns:ns1="http://linux.duke.edu/metadata/common" xmlns:rpm="http://linux.duke.edu/metadata/rpm" ns="http://linux.duke.edu/metadata/rpm" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> +<grammar ns="http://linux.duke.edu/metadata/rpm" xmlns:ns1="http://linux.duke.edu/metadata/common" xmlns:rpm="http://linux.duke.edu/metadata/rpm" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <define name="element-format"> <element name="ns1:format"> <ref name="format"/> @@ -82,25 +82,12 @@ </choice> </attribute> </define> - <define name="attribute-flags-provides"> - <attribute name="flags"> - <choice> - <value>EQ</value> - <value>LE</value> - <value>GE</value> - </choice> - </attribute> - </define> - <define name="attribute-flags-obsoletes"> - <attribute name="flags"> - <choice> - <value>EQ</value> - <value>LE</value> - <value>GE</value> - <value>LT</value> - </choice> - </attribute> - </define> + <!-- + attribute-flags-provides = + attribute flags { "EQ" | "LE" | "GE" } + attribute-flags-obsoletes = + attribute flags { "EQ" | "LE" | "GE" | "LT" } + --> <define name="attribute-flags"> <attribute name="flags"> <choice> @@ -143,28 +130,23 @@ </interleave> <empty/> </define> - <define name="element-obsoletes-entry"> - <element name="entry"> - <interleave> - <ref name="shared-entry-attributes"/> - <optional> - <ref name="attribute-flags-obsoletes"/> - </optional> - </interleave> - <empty/> - </element> - </define> - <define name="element-provides-entry"> - <element name="entry"> - <interleave> - <ref name="shared-entry-attributes"/> - <optional> - <ref name="attribute-flags-provides"/> - </optional> - </interleave> - <empty/> - </element> - </define> + <!-- + element-obsoletes-entry = + ( + element entry { + (shared-entry-attributes & attribute-flags-obsoletes?) + , empty + } + ) + + element-provides-entry = + ( + element entry { + (shared-entry-attributes & attribute-flags-provides?) + , empty + } + ) + --> <define name="element-requires-entry"> <element name="entry"> <interleave> @@ -196,7 +178,7 @@ </define> <define name="provides"> <zeroOrMore> - <ref name="element-provides-entry"/> + <ref name="element-entry"/> </zeroOrMore> </define> <define name="element-conflicts"> @@ -216,7 +198,7 @@ </define> <define name="obsoletes"> <zeroOrMore> - <ref name="element-obsoletes-entry"/> + <ref name="element-entry"/> </zeroOrMore> </define> <define name="element-requires"> Modified: trunk/libzypp/zypp/parser/yum/schema/suse-primary.rnc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/yum/schema/suse-primary.rnc?rev=5797&r1=5796&r2=5797&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/yum/schema/suse-primary.rnc (original) +++ trunk/libzypp/zypp/parser/yum/schema/suse-primary.rnc Tue Jun 19 18:23:11 2007 @@ -14,12 +14,12 @@ 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 @@ 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 } Modified: trunk/libzypp/zypp/parser/yum/schema/suse-primary.rng URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/yum/schema/suse-primary.rng?rev=5797&r1=5796&r2=5797&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/yum/schema/suse-primary.rng (original) +++ trunk/libzypp/zypp/parser/yum/schema/suse-primary.rng Tue Jun 19 18:23:11 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<grammar xmlns:ns1="http://linux.duke.edu/metadata/common" ns="http://novell.com/package/metadata/suse/common" xmlns="http://relaxng.org/ns/structure/1.0"> +<grammar ns="http://novell.com/package/metadata/suse/common" xmlns:ns1="http://linux.duke.edu/metadata/common" xmlns:suse="http://novell.com/package/metadata/suse/common" xmlns="http://relaxng.org/ns/structure/1.0"> <include href="primary.rng"> <define name="element-format"> <element name="ns1:format"> @@ -16,7 +16,9 @@ </interleave> </define> <define name="suse-additional-format"> - <ref name="element-authors"/> + <optional> + <ref name="element-authors"/> + </optional> <optional> <ref name="element-keywords"/> </optional> @@ -30,7 +32,7 @@ <ref name="element-install-only"/> </optional> <zeroOrMore> - <element name="license-to-confirm"> + <element name="suse:license-to-confirm"> <ref name="localized-string"/> </element> </zeroOrMore> @@ -87,11 +89,20 @@ <ref name="freshens"/> </element> </define> + <!-- suse-entry looks like an unwanted oversight --> <define name="freshens"> <zeroOrMore> - <ref name="element-entry"/> + <choice> + <ref name="element-entry"/> + <ref name="element-suse-entry"/> + </choice> </zeroOrMore> </define> + <define name="element-suse-entry"> + <element name="suse:entry"> + <ref name="usual-entry-content"/> + </element> + </define> <define name="element-install-only"> <element name="install-only"> <empty/> -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org