[Rpm-maint] various bug fixes (patches)

Michael Schroeder mls at suse.de
Thu Nov 15 12:05:30 UTC 2007


On Thu, Nov 15, 2007 at 11:35:04AM +0200, Panu Matilainen wrote:
> Pixel already gave some examples of use in Mandriva. One example in SUSE I 
> know about is marking language-specific subpackages (eg foo-en, foo-jp, 
> foo-de) as supplements of the main package, I'm sure Michael can give more 
> use-cases.

Sure, here are some examples picked from openSUSE-10.3:

- libMagick10 suggests ImageMagick-extra
- gstreamer010-plugins-good enhances gstreamer010
- gimp-help enhances gimp-2.0

- MozillaThunderbird recommends gpg
- perl-libwww-perl recommends perl-Crypt-SSLeay
- vim recommends vim-data
- gstreamer010-plugins-base supplements gstreamer010
- epiphany-extensions supplements epiphany
- ft2demos supplements fonts-config

Basically you would use recommends/supplements when not installing
the package would remove some major functionality (but the
application would still work) and suggests/enhances for some
minor functionality.
The current implementation of our solver will automatically
select the recommended/supplemented packages (but the user can
deselect them) and ignore all suggests/enhances (this will change
in the next version).

And then we're also using supplements for some other stuff like
selecting packages depending on the hardware, filesystems or languages:

- qlogic-firmware supplements modalias(pci:v00001077d00001016sv*sd*bc*sc*i*)

  if the system has a modalias line matching the specified glob the
  package is automatically selected

- aspell-cs supplements aspell AND locale(cs)
  (this is currently encoded as locale(aspell:cs))

  aspell-cs is automatically selected if aspell is selected and
  "cs" is in the language list chosen by the user.

- kdebase3-beagle supplements kdebase3 AND beagle
  (this is currently encoded as packageand(kdebase3:beagle))

  is kdebase3 and beagle is selected, kdebase3-beagle will also
  get selected

- jfsutils supplements filesystem(jfs)

  jfsutils is installed if jfs is in the list of used file systems

As you can see we're trying to move some logic from our installer
into the package solving mechanism to give packagers and 3rd party
developers more flexibility.

Cheers,
  Michael.

-- 
Michael Schroeder                                   mls at suse.de
SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}



More information about the Rpm-maint mailing list