[Yum-devel] Looking at avalable packages

Jack Neely jjneely at ncsu.edu
Wed Aug 30 19:04:36 UTC 2006


On Wed, Aug 30, 2006 at 09:23:23AM -0400, seth vidal wrote:
> 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
> 
> 
> 
> _______________________________________________
> Yum-devel mailing list
> Yum-devel at linux.duke.edu
> https://lists.dulug.duke.edu/mailman/listinfo/yum-devel

That seems to do the Right Thing(tm)

[GCC 4.1.1 20060816 (Red Hat 4.1.1-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import yum
>>> y = yum.YumBase()
>>> y.doGenericSetup(cache=1)
>>> f = y.pkgSack.searchNevra(name='kernel')[0]
>>> print f.provides
[('kernel(arch_i386_kernel_acpi)', 'EQ', ('0',
'c12529424b24e79b680d1d902fa237feb66fd643', None)),
('kernel(net_irda_ircomm)', 'EQ', ('0',
'4e3f32809cbc77ad37f94c965234cee4a88714ed', None)),
('kernel(drivers_usb_atm)', 'EQ', ('0',
'5383458d106c9f5d30b2419d2b7677413acc4a72', None)),
('kernel(drivers_pnp)', 'EQ', ('0',
'd561469c83435a81c108639edb336baf2a369661', None)),
.
.
.
>>> print f.providesnames
['kernel(arch_i386_kernel_acpi)', 'kernel(net_irda_ircomm)',
'kernel(drivers_usb_atm)', 'kernel(drivers_pnp)',
'kernel(arch_i386_kernel_cpu_mcheck)', 'kernel(drivers_net_phy)',
'kernel(drivers_media_video_cx88)', 'kernel(lib)',
'kernel(sound_isa_cs423x)',
.
.
.
>>> f.version
'2.6.17'
>>> f.release
'1.2597.fc6'

Which is definitely from the cache as I don't have that kernel
installed.

I confirmed that the testmod output still gives similar to the above with
missing provides.

Jack
-- 
Jack Neely <jjneely at ncsu.edu>
Campus Linux Services Project Lead
Information Technology Division, NC State University
GPG Fingerprint: 1917 5AC1 E828 9337 7AA4  EA6B 213B 765F 3B6A 5B89



More information about the Yum-devel mailing list