[Yum-devel] [PATCH 1/3] Add .base_package_name, which parses .sourcerpm or uses .name
Tim Lauridsen
tim.lauridsen at googlemail.com
Sun Oct 18 06:22:21 UTC 2009
On 10/18/2009 06:11 AM, James Antill wrote:
> This is added to RpmBase, so we can do it for installed pkgs too, we
> could move it even higher as it only actually needs .name to work.
>
> Also get rid of an extra .isSrpm() call.
> ---
> yum/packages.py | 20 +++++++++++++++++++-
> 1 files changed, 19 insertions(+), 1 deletions(-)
>
> diff --git a/yum/packages.py b/yum/packages.py
> index bb0e7ca..71430fd 100644
> --- a/yum/packages.py
> +++ b/yum/packages.py
> @@ -488,6 +488,25 @@ class RpmBase(object):
> changelog = property(fget=lambda self: self.returnChangelog())
> EVR = property(fget=lambda self: self.returnEVR())
>
> + def _getBaseName(self):
> + """ Return the "base name" of the package, atm. we can only look at
> + the sourcerpm. """
> + if hasattr(self, '_base_package_name_ret'):
> + return self._base_package_name_ret
> +
> + if hasattr(self, 'sourcerpm') and self.sourcerpm:
> + (n, v, r, e, a) = rpmUtils.miscutils.splitFilename(self.sourcerpm)
> + if n != self.name:
> + self._base_package_name_ret = n
> + return n
> +
> + # If there is no sourcerpm, or sourcerpm == us, use .name
> + self._base_package_name_ret = self.name
> + return self._base_package_name_ret
> +
> + base_package_name = property(fget=lambda self: self._getBaseName())
> +
> +
> class PackageEVR:
>
> """
> @@ -1570,7 +1589,6 @@ class YumLocalPackage(YumHeaderPackage):
> self.pkgtup = (self.name, self.arch, self.epoch, self.ver, self.rel)
> self._hdrstart = None
> self._hdrend = None
> - self.arch = self.isSrpm()
> self.checksum_type = misc._default_checksums[0]
>
> # these can be set by callers that need these features (ex: createrepo)
>
ACK
Tim
More information about the Yum-devel
mailing list