[Yum-devel] Looking at avalable packages

seth vidal skvidal at linux.duke.edu
Wed Aug 30 13:23:23 UTC 2006


On Tue, 2006-08-29 at 10:48 -0400, Jack Neely wrote:
> Seth,
> 
> Attached is an example plugin that reproduces the sqlite package not
> populating the provides during a fairly normal yum update run.  (Okay,
> so its rawhide...)  This was hacked together for i686 kernels as the
> example package.
> 
> Is this part of Jeremy's sqlite changes?
> 
> It produces this output:
> 
> Jack
> 
> [slack at rk-test3 yum]$ sudo python yummain.py update
> Loading "testmod" plugin
> Setting up Update Process
> Setting up repositories
> Reading repository metadata in from local files
> /home/slack/yum/yum/packageSack.py:321: DeprecationWarning:
> packagesByTuple() will go away in a future version of Yum.
> 
>   sackResult = apply(method, args)
> Resolving Dependencies
> --> Populating transaction set with selected packages. Please wait.
> ---> Package kernel.i686 0:2.6.17-1.2597.fc6 set to be installed
> ---> Package nscd.i386 0:2.4.90-26 set to be updated
> ---> Package kmod-foo.i686 0:2.8-3.2.6.17_1.2597.fc6 set to be installed
> ---> Package kernel-headers.i386 0:2.6.17-1.2597.fc6 set to be updated
> ---> Package gdm.i386 1:2.15.10-2.fc6 set to be updated
> --> Running transaction check
> Running YumSQLitePackage check...
> Name    : kernel
> Provides: [('kernel-i686', 'EQ', ('0', '2.6.17', '1.2597.fc6'))]
> Requires: [('fileutils', None, (None, None, None)),
> ('module-init-tools', None, (None, None, None)), ('/bin/sh', None,
> (None, None, None)), ('initscripts', 'GE', ('0', '8.11.1', '1')),
> ('mkinitrd', 'GE', ('0', '4.2.21', '1'))]
> 
> Name    : kernel-PAE
> Provides: [('kernel-i686', 'EQ', ('0', '2.6.17', '1.2597.fc6PAE'))]
> Requires: [('fileutils', None, (None, None, None)),
> ('module-init-tools', None, (None, None, None)), ('/bin/sh', None,
> (None, None, None)), ('initscripts', 'GE', ('0', '8.11.1', '1')),
> ('mkinitrd', 'GE', ('0', '4.2.21', '1'))]
> 
> Name    : kernel-kdump
> Provides: [('kernel-i686', 'EQ', ('0', '2.6.17', '1.2597.fc6kdump'))]
> Requires: [('fileutils', None, (None, None, None)),
> ('module-init-tools', None, (None, None, None)), ('/bin/sh', None,
> (None, None, None)), ('initscripts', 'GE', ('0', '8.11.1', '1')),
> ('mkinitrd', 'GE', ('0', '4.2.21', '1'))]
> 
> Name    : kernel-xen
> Provides: [('kernel-i686', 'EQ', ('0', '2.6.17', '1.2597.fc6xen'))]
> Requires: [('fileutils', None, (None, None, None)),
> ('module-init-tools', None, (None, None, None)), ('/bin/sh', None,
> (None, None, None)), ('initscripts', 'GE', ('0', '8.11.1', '1')),
> ('mkinitrd', 'GE', ('0', '4.2.21', '1'))]
> 
> 
> Dependencies Resolved
> 
> =============================================================================
>  Package                 Arch       Version          Repository
> Size
> =============================================================================
> Installing:
>  kernel                  i686       2.6.17-1.2597.fc6  development
> 17 M
>  kernel-headers          i386       2.6.17-1.2597.fc6  development
> 687 k
>      replacing  glibc-kernheaders.i386 3.0-45.3
> 
>  kmod-foo                i686       2.8-3.2.6.17_1.2597.fc6  footest
> 2.9 k
> Updating:
>  gdm                     i386       1:2.15.10-2.fc6  development
> 3.7 M
>  nscd                    i386       2.4.90-26        development
> 142 k
> 
> Transaction Summary
> =============================================================================
> Install      3 Package(s)
> Update       2 Package(s)
> Remove       0 Package(s)
> 
> Total download size: 21 M
> Is this ok [y/N]:
> Exiting on user Command
> Complete!
> [slack at rk-test3 yum]$ rpm -q --provides kernel
> kernel = 2.6.17
> kernel-drm = 4.3.0
> kernel-i686 = 2.6.17-1.2517.fc6
> kernel(net_irda) = b24cd7722fc5c5e6bf8c55d1faf67919bf5ee178
> kernel(net_ipv4_ipvs) = a03519fdb5a4e3e995864e3a6dfa64ad81478e56
> kernel(drivers_media_dvb_frontends) =
> 9c13fa6f4785a366a802071110a08862cf97d051
> kernel(net_ipv4) = bc7e4d2914d2847ab4e5c36986fcebb4e1edc2f5

Try this on cvs HEAD for me:

mport yum
y = yum.YumBase()
y.doGenericSetup(cache=1)
f = y.pkgSack.searchNevra(name='kernel')[0]
print f.provides
print f.providesnames

just for s&g.

-sv






More information about the Yum-devel mailing list