Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
OBS:Server:2.7
yum
yum-3.4.3-suse-missing-tags.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File yum-3.4.3-suse-missing-tags.patch of Package yum
Index: yum-3.4.3/yum/packages.py =================================================================== --- yum-3.4.3.orig/yum/packages.py +++ yum-3.4.3/yum/packages.py @@ -1122,6 +1122,10 @@ class YumAvailablePackage(PackageObject, msg += self._dump_requires() msg += self._dump_pco('conflicts') msg += self._dump_pco('obsoletes') + msg += self._dump_recommends() + msg += self._dump_suggests() + msg += self._dump_supplements() + msg += self._dump_enhances() msg += self._dump_files(True) if msg[-1] != '\n': msg += """\n""" @@ -1175,6 +1179,60 @@ class YumAvailablePackage(PackageObject, def _requires_with_pre(self): raise NotImplementedError() + # Rather than trying to stuff enhances, suggests, supplements and recommends + # into yum like the other tags, I'll save my sanity and just do it by hand. + def _dump_weakdeps(self, depname, nametag, versiontag, flagstag, filterand = 0, filterres = 0): + msg = "" + names = self.hdr[nametag] + if not names: + return msg + if type(names).__name__ != 'list': + names = [names] + flags = self.hdr[flagstag] + if type(flags).__name__ != 'list': + flags = [flags] + versions = self.hdr[versiontag] + if type(versions).__name__ != 'list': + versions = [versions] + for i in range(len(names)): + name = names[i] + flag = flags[i] + if filterand: + if flag & filterand != filterres: + continue + flagstr = flagToString(flag) + (e,v,r) = stringToVersion(versions[i]) + entry = ''' <rpm:entry name="%s"''' % misc.to_xml(name, attrib=True) + if flagstr: + entry += ''' flags="%s"''' % misc.to_xml(flagstr, attrib=True) + if e: + entry += ''' epoch="%s"''' % misc.to_xml(e, attrib=True) + if v: + entry += ''' ver="%s"''' % misc.to_xml(v, attrib=True) + if r: + entry += ''' rel="%s"''' % misc.to_xml(r, attrib=True) + entry += "/>\n" + msg += entry + if msg: + msg = "\n <rpm:" + depname + ">\n" + msg + " </rpm:" + depname + ">" + return msg + + def _dump_suggests(self): + return self._dump_weakdeps("suggests", 5049, 5050, 5051) or \ + self._dump_weakdeps("suggests", rpm.RPMTAG_SUGGESTSNAME, rpm.RPMTAG_SUGGESTSVERSION, rpm.RPMTAG_SUGGESTSFLAGS, rpm.RPMSENSE_STRONG, 0) + + def _dump_recommends(self): + return self._dump_weakdeps("recommends", 5046, 5047, 5048) or \ + self._dump_weakdeps("recommends", rpm.RPMTAG_SUGGESTSNAME, rpm.RPMTAG_SUGGESTSVERSION, rpm.RPMTAG_SUGGESTSFLAGS, rpm.RPMSENSE_STRONG, rpm.RPMSENSE_STRONG) + + def _dump_enhances(self): + return self._dump_weakdeps("enhances", 5055, 5056, 5057) or \ + self._dump_weakdeps("enhances", rpm.RPMTAG_ENHANCESNAME, rpm.RPMTAG_ENHANCESVERSION, rpm.RPMTAG_ENHANCESFLAGS, rpm.RPMSENSE_STRONG, 0) + + def _dump_supplements(self): + return self._dump_weakdeps("supplements", 5052, 5053, 5054) or \ + self._dump_weakdeps("supplements", rpm.RPMTAG_ENHANCESNAME, rpm.RPMTAG_ENHANCESVERSION, rpm.RPMTAG_ENHANCESFLAGS, rpm.RPMSENSE_STRONG, rpm.RPMSENSE_STRONG) + def _dump_requires(self): """returns deps in XML format""" mylist = self._requires_with_pre()
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor