[Yum] Generate a List of RPMS ( formatting corrected )
Jitendra Nair
jnair at ensim.com
Fri Sep 8 11:55:30 UTC 2006
seth vidal wrote:
> On Fri, 2006-09-08 at 09:50 +0530, Jitendra Nair wrote:
>
>> Hello All ,
>>
>> Sorry the previous mail lost the formatting . Resending it again .
>>
>> Question : Given a set of required capabilities, come up with a list of
>> RPM's with all the dependencies
>> resolved . The way I am doing it is , PsuedoCode follows:
>>
>> Run setup code.
>> for cap in capabilities:
>> packages.append ( yum.YumBase.returnPackageByDep
>> (cap ) )
>> for po in packages :
>> yum.tsInfo.addInstall (po)
>> yum.buildTransaction()
>> mems = yum.tsInfo.getMembers()
>> for mem in mems:
>> From mem.po.returnPackageTuple() generate the rpm
>> file name.
>>
>>
>> Am i doing the correct way , if NOT what would be the
>> correct way to do it.
>> Thanks a Lot
>>
>
> what are these "capabilities" you're parsing from and why would you want
> to list the package names?
>
> -sv
>
>
I will try and explain it Again
capability == depstring as in "yum install depstring1 depstring2".
Given a set of depstring's i need to know the package that provides
each depstring and the other packages this package is dependent on.
the way i am doing it till now was using 'pexpect' and run the command
"yum install depstring1 depstring2 depstring3 ..." and the capture stdout
and parse the output and generate the rpms list.Why i am doing this
because the build team needs the list for some reason.
Now need to do it using the yum api.
So i will write the psuedocode again :
deplist = [ depstring1 , depstring2 , ...]
for depstring in deplist:
packages.append ( yum.YumBase.returnPackageByDep ( depstring ) )
for po in packages :
yum.tsInfo.addInstall (po)
yum.buildTransaction()
mems = yum.tsInfo.getMembers()
for mem in mems:
pkgtuple = mem.po.returnPackageTuple()
#From 'pkgtuple' generate filename
#save filename.
Thank you s.v for the reply .
regards
Jitendra Nair
> _______________________________________________
> Yum mailing list
> Yum at lists.dulug.duke.edu
> https://lists.dulug.duke.edu/mailman/listinfo/yum
>
More information about the Yum
mailing list