Imported Upstream version 14.45.0
[platform/upstream/libzypp.git] / zypp / target / rpm / RpmHeader.cc
index c638dd7..0dffec5 100644 (file)
@@ -266,11 +266,13 @@ RpmHeader::constPtr RpmHeader::readPackage( const Pathname & path_r,
 //
 std::ostream & RpmHeader::dumpOn( std::ostream & str ) const
 {
-  return BinHeader::dumpOn( str ) << '{' << tag_name() << "-"
-         << (tag_epoch()==0?"":(tag_epoch()+":"))
-         << tag_version()
-         << (tag_release().empty()?"":(std::string("-")+tag_release()))
-         << ( isSrc() ? ".src}" : "}");
+  str << BinHeader::dumpOn( str ) << '{' << tag_name() << "-";
+  if ( tag_epoch() != 0 )
+    str << tag_epoch() << ":";
+  str << tag_version()
+      << (tag_release().empty()?"":(std::string("-")+tag_release()))
+      << ( isSrc() ? ".src}" : "}");
+  return str;
 }
 
 
@@ -427,6 +429,32 @@ CapabilitySet RpmHeader::PkgRelList_val( tag tag_r, bool pre, std::set<std::stri
       kindFlags   = RPMTAG_CONFLICTFLAGS;
       kindVersion = RPMTAG_CONFLICTVERSION;
       break;
+#ifdef RPMTAG_OLDSUGGESTS
+    case RPMTAG_OLDENHANCESNAME:
+      kindFlags   = RPMTAG_OLDENHANCESFLAGS;
+      kindVersion = RPMTAG_OLDENHANCESVERSION;
+      break;
+    case RPMTAG_OLDSUGGESTSNAME:
+      kindFlags   = RPMTAG_OLDSUGGESTSFLAGS;
+      kindVersion = RPMTAG_OLDSUGGESTSVERSION;
+      break;
+    case RPMTAG_RECOMMENDNAME:
+      kindFlags   = RPMTAG_RECOMMENDFLAGS;
+      kindVersion = RPMTAG_RECOMMENDVERSION;
+      break;
+    case RPMTAG_SUPPLEMENTNAME:
+      kindFlags   = RPMTAG_SUPPLEMENTFLAGS;
+      kindVersion = RPMTAG_SUPPLEMENTVERSION;
+      break;
+    case RPMTAG_SUGGESTNAME:
+      kindFlags   = RPMTAG_SUGGESTFLAGS;
+      kindVersion = RPMTAG_SUGGESTVERSION;
+      break;
+    case RPMTAG_ENHANCENAME:
+      kindFlags   = RPMTAG_ENHANCEFLAGS;
+      kindVersion = RPMTAG_ENHANCEVERSION;
+      break;
+#else
     case RPMTAG_ENHANCESNAME:
       kindFlags   = RPMTAG_ENHANCESFLAGS;
       kindVersion = RPMTAG_ENHANCESVERSION;
@@ -435,6 +463,7 @@ CapabilitySet RpmHeader::PkgRelList_val( tag tag_r, bool pre, std::set<std::stri
       kindFlags   = RPMTAG_SUGGESTSFLAGS;
       kindVersion = RPMTAG_SUGGESTSVERSION;
       break;
+#endif
     default:
       INT << "Illegal RPMTAG_dependencyNAME " << tag_r << endl;
       return ret;
@@ -586,7 +615,11 @@ CapabilitySet RpmHeader::tag_obsoletes( std::set<std::string> * freq_r ) const
 //
 CapabilitySet RpmHeader::tag_enhances( std::set<std::string> * freq_r ) const
   {
+#ifdef RPMTAG_OLDSUGGESTS
+    return PkgRelList_val( RPMTAG_ENHANCENAME, false, freq_r );
+#else
     return PkgRelList_val( RPMTAG_ENHANCESNAME, false, freq_r );
+#endif
   }
 
 ///////////////////////////////////////////////////////////////////
@@ -599,7 +632,45 @@ CapabilitySet RpmHeader::tag_enhances( std::set<std::string> * freq_r ) const
 //
 CapabilitySet RpmHeader::tag_suggests( std::set<std::string> * freq_r ) const
   {
+#ifdef RPMTAG_OLDSUGGESTS
+    return PkgRelList_val( RPMTAG_SUGGESTNAME, false, freq_r );
+#else
     return PkgRelList_val( RPMTAG_SUGGESTSNAME, false, freq_r );
+#endif
+  }
+
+///////////////////////////////////////////////////////////////////
+//
+//
+//        METHOD NAME : RpmHeader::tag_supplements
+//        METHOD TYPE : CapabilitySet
+//
+//        DESCRIPTION :
+//
+CapabilitySet RpmHeader::tag_supplements( std::set<std::string> * freq_r ) const
+  {
+#ifdef RPMTAG_OLDSUGGESTS
+    return PkgRelList_val( RPMTAG_SUPPLEMENTNAME, false, freq_r );
+#else
+    return CapabilitySet();
+#endif
+  }
+
+///////////////////////////////////////////////////////////////////
+//
+//
+//        METHOD NAME : RpmHeader::tag_recommends
+//        METHOD TYPE : CapabilitySet
+//
+//        DESCRIPTION :
+//
+CapabilitySet RpmHeader::tag_recommends( std::set<std::string> * freq_r ) const
+  {
+#ifdef RPMTAG_OLDSUGGESTS
+    return PkgRelList_val( RPMTAG_RECOMMENDNAME, false, freq_r );
+#else
+    return CapabilitySet();
+#endif
   }
 
 ///////////////////////////////////////////////////////////////////