PLD Linux and Obsoletes

Jeff Johnson n3npq at mac.com
Wed Aug 1 07:02:14 PDT 2007


On Aug 1, 2007, at 9:38 AM, Patryk Zawadzki wrote:

> Hi,
>
> My first post here so forgive me if that was already discussed.
>
> In PLD Linux we provide some mutually exclusive packages. Like LPRng
> versus cups.
>
> They are marked by all providing and obsoleting some virtual name:
>
> Name: foo
> Provides: baz
> Obsoletes: baz
>
> Name: bar
> Provides: baz
> Obsoletes: baz
>
> Smart treats all Obsoletes as final and in the above situation results
> in cycling between foo and bar with each upgrade attempt. This is
> certainly not the desired situation so I thought I'd ask here if there
> were any plans to handle such situations (not very common in most
> distros as they provide "the one and only app" for each task) by
> ignoring Obsoletes that are matched by a virtual Provide (not matched
> by a NameProvide).
>

There's no simple solution within packaging for many reasons,
not the least of which is whether Obsoletes: should be by RPMTAG_NAME
or by RPMTAG_PROVIDENAME, and whether Obsoletes: should be
persistent. Without clear answers to those questions, its impossible
to design a packaging or depsolver solution.

Meanwhile, the KISS principle says pin one of the two alternatives.
smart almost certainly has that apt-like functionality.

> First I thought I might be able to patch this myself but the code is
> not very straightforward for a newcommer (not sure where to start).
>
> Another issue I'm experiencing at the moment is that smart does not
> handle "Requires: uname(release) >= 2.6.20" kind of system
> dependencies introduced in recent releases of rpm. We also use those
> and currently it's impossible to install such packages using smart.
>

Doing
     echo "uname(release) = 2.6.20" > /etc/rpm/sysinfo/Providename
is one way to satisfy the dependency. Dunno what rpm is being used ...

Upgrading rpm, or preparing packages that can be installed with
functionality that is actually available on the client, is the better  
fix however.

hth

73 de Jeff




More information about the Smart mailing list