[Yum-devel] [PATCH] Handle avail_po.returnPrco('strong_requires') in RpmBase.

James Antill james at fedoraproject.org
Tue May 15 13:15:57 UTC 2012


On Tue, 2012-05-15 at 13:19 +0200, Zdeněk Pavlas wrote:
> https://fedorahosted.org/autoqa/ticket/421

 This traceback means that they are using "available" packages and
pretending they are installed. I'm not sure how much we want callers to
do that. So I'm tempted to tell QA to fix stuff.

> ---
>  yum/sqlitesack.py |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
> index f6df93e..13f6d48 100644
> --- a/yum/sqlitesack.py
> +++ b/yum/sqlitesack.py
> @@ -382,7 +382,7 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
>  
>      def returnPrco(self, prcotype, printable=False):
>          prcotype = _share_data(prcotype)
> -        if isinstance(self.prco[prcotype], tuple):
> +        if isinstance(self.prco.get(prcotype), tuple):

 NAK. This will give 0 strong_requires for all available packages.


 If we want to push string_requires into available packages we have two
options:

1. Get the RPMTAG_REQUIREFLAGS bits into createrepo data, and then act
on them. This means we'll be giving correct data out, although I'm not
sure how useful that is ... and doing all this will be annoyingly hard
(have to change all the repo. metadata ... lol).

2. Just make strong_requires == requires, this is kind of hacky ... but
at least is on the right side of failure (and could be argued to be
correct anyway, as all the requires are strong ... until the package is
installed).



More information about the Yum-devel mailing list