added license to confirm to YUM metadata grammar, parser, and source
authorJiri Srain <jsrain@suse.cz>
Tue, 14 Mar 2006 19:22:46 +0000 (19:22 +0000)
committerJiri Srain <jsrain@suse.cz>
Tue, 14 Mar 2006 19:22:46 +0000 (19:22 +0000)
zypp/parser/yum/YUMOtherParser.cc
zypp/parser/yum/YUMParserData.cc
zypp/parser/yum/YUMParserData.h
zypp/parser/yum/YUMPatchParser.cc
zypp/parser/yum/schema/other.rnc
zypp/parser/yum/schema/other.rng
zypp/parser/yum/schema/patch.rnc
zypp/parser/yum/schema/patch.rng
zypp/parser/yum/schema/suse-primary.rng
zypp/source/yum/YUMPackageImpl.cc

index 2030f5d..c7a69c8 100644 (file)
@@ -90,7 +90,11 @@ namespace zypp {
                                      _helper.attribute(child,"date"),
                                      _helper.content(child)));
                  }
-                 else {
+                else if (name == "license_to_confirm")
+                {
+                  dataPtr->license_to_confirm.setText(_helper.content(child), Locale(_helper.attribute(child,"lang")));
+                }
+                else {
                    WAR << "YUM <otherdata> contains the unknown element <" << name << "> "
                      << _helper.positionInfo(child) << ", skipping" << endl;
                  }
index afa0288..8c7e8c5 100644 (file)
@@ -364,7 +364,9 @@ namespace zypp {
           << "package: " << data.name << " "
           << data.epoch << "-" << data.ver << "-" << data.rel << endl
           << "Changelog:" << endl
-          << data.changelog << endl;
+          << data.changelog << endl
+         << "License to confirm:" << endl
+         << data.license_to_confirm << endl;
         return out;
       }
 
@@ -519,6 +521,8 @@ namespace zypp {
           << "  sizeArchive: '" << data.sizeArchive << "'" << endl
           << "  location: '" << data.location << "'" << endl
           << "  license: '" << data.license << "'" << endl
+         << "  license to confirm:" << endl
+         << data.license_to_confirm << endl
           << "  vendor: '" << data.vendor << "'" << endl
           << "  group: '" << data.group << "'" << endl
           << "  buildhost: '" << data.buildhost << "'" << endl
index 000a503..f963951 100644 (file)
@@ -233,6 +233,7 @@ namespace zypp {
         std::string sizeArchive;
         std::string location;
         std::string license;
+        TranslatedText license_to_confirm;
         std::string vendor;
         std::string group;
         std::string buildhost;
@@ -388,6 +389,7 @@ namespace zypp {
         std::string ver;
         std::string rel;
         std::list<ChangelogEntry> changelog;
+        TranslatedText license_to_confirm;
       };
 
     /* ** YUMPatchData not yet finalized **/
index 458c218..7c0f690 100644 (file)
@@ -453,6 +453,10 @@ XXX << "parsePackageNode(" << name << ")" << endl;
            {
                parsePkgFilesNode (&*package, child);
            }
+           else if (name == "license_to_confirm")
+           {
+             package->license_to_confirm.setText(_helper.content(child), Locale(_helper.attribute(child,"lang")));
+           }
            else {
              WAR << "YUM <atoms/package> contains the unknown element <"
          << name << "> "
index 4882e9d..d23d64b 100644 (file)
@@ -31,6 +31,7 @@ element otherdata {
       attribute date { xsd:integer },
       text
     }*,
+    element license_to_confirm { localized-string }*,
     empty
   }+,
   empty
index 13dff99..908da7b 100644 (file)
           <text/>
         </element>
       </zeroOrMore>
+      <zeroOrMore>
+        <element name="license_to_confirm">
+          <ref name="localized-string"/>
+        </element>
+      </zeroOrMore>
       <empty/>
     </element>
   </oneOrMore>
index f2f4693..aa2ceeb 100644 (file)
@@ -8,7 +8,7 @@ include "suse-primary.rnc" {
   element-summary = element summary { localized-string }+
   element-description = element description { localized-string }+
   # packages in patches have an additional rpmfiles element
-  element-package = element yum:package { package, element-pkgfiles }
+  element-package = element yum:package { package, element-pkgfiles, element license_to_confirm { localized-string }+ }
   # names in dependencies can include a "kind". Should not be used for packages.
   attribute-name =
     attribute kind { "package" | "patch" | "script" | "message" | "product" }?,
index dfb7444..0472ddf 100644 (file)
       <element name="yum:package">
         <ref name="package"/>
         <ref name="element-pkgfiles"/>
+        <oneOrMore>
+          <element name="license_to_confirm">
+            <ref name="localized-string"/>
+          </element>
+        </oneOrMore>
       </element>
     </define>
     <!-- names in dependencies can include a "kind". Should not be used for packages. -->
index 53ceaee..abed319 100644 (file)
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <grammar xmlns:suse="http://novell.com/package/metadata/suse/common" xmlns:ns1="http://linux.duke.edu/metadata/common" xmlns:ns2="http://linux.duke.edu/metadata/rpm" ns="http://novell.com/package/metadata/suse/common" xmlns="http://relaxng.org/ns/structure/1.0">
-  <include href="primary.rng"/>
-  <include href="rpm-ns.rng">
+  <include href="primary.rng">
     <define name="element-format">
       <element name="ns1:format">
         <ref name="suse-format"/>
index e8e9ecc..e6a0095 100644 (file)
@@ -73,6 +73,7 @@ namespace zypp
 #endif
       {
        _description.setText(parsed.description);
+       _license_to_confirm = other.license_to_confirm.asString();
        for (std::list<FileData>::const_iterator it = filelist.files.begin();
             it != filelist.files.end();
             it++)
@@ -105,7 +106,7 @@ namespace zypp
        _group(parsed.group),
        _changelog(), // TODO
        _type(parsed.type),
-       _license_to_confirm(), // TODO add to metadata
+       _license_to_confirm(),
        _authors(parsed.authors),
        _keywords( parsed.keywords),
        _mediaid(strtol(parsed.media.c_str(), 0, 10)),
@@ -127,6 +128,7 @@ namespace zypp
 #endif
       {
        _description.setText(parsed.description);
+       _license_to_confirm = parsed.license_to_confirm.asString();
        for (std::list<FileData>::const_iterator it = parsed.files.begin();
             it != parsed.files.end();
             it++)