ISV building LSB 3.1 compliant packages needs help getting Requires line right

Printer-friendly version

If I'm an ISV building an rpm package that depends on LSB 3.1, what should one give in the Requires line? http://refspecs.linux-foundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core... implies Requires : lsb-core-noarch = 3.0 lsb-core-ia32 = 3.0 http://refspecs.linux-foundation.org/LSB_3.1.0/LSB-Desktop-generic/LSB-D... also implies you want a dependency on lsb = 3.1. So: Requires : lsb = 3.1 lsb-core-noarch = 3.0 lsb-core-ia32 = 3.0 Problem is, if you follow this, your package won't install, because most distributions seem to provide lsb = 3.1 lsb-core-noarch = 3.1 lsb-core-ia32 = 3.1 So, what's a poor ISV to do? Is it safe to do lsb = 3.1 lsb-core-noarch >= 3.0 lsb-core-ia32 >= 3.0 or should one ignore the standard, follow what distros seem to be doing, and do lsb = 3.1 lsb-core-noarch = 3.1 lsb-core-ia32 = 3.1 ?

ISV building LSB 3.1 compliant packages needs help getting Requi
Submitted by Jeff Licquia on Mon, 07/14/2008 - 22:30.

Dan Kegel wrote:
> http://refspecs.linux-foundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core...
> implies
>
> Requires : lsb-core-noarch = 3.0 lsb-core-ia32 = 3.0

Hmm, that doesn't look right. There are situations where this will
fail, even apart from the package versioning.

> So, what's a poor ISV to do? Is it safe to do
> lsb = 3.1 lsb-core-noarch >= 3.0 lsb-core-ia32 >= 3.0
> or should one ignore the standard, follow what distros seem to be doing, and do
> lsb = 3.1 lsb-core-noarch = 3.1 lsb-core-ia32 = 3.1
>
> ?

Given our current guarantees, is there a reason we can't use:

lsb >= 3.1, lsb-core-noarch >= 3.0, lsb-core-ia32 >= 3.0

ISV building LSB 3.1 compliant packages needs help getting Requi
Submitted by Wichmann Mats D on Tue, 07/15/2008 - 03:15.

Jeff Licquia wrote:
> Dan Kegel wrote:
>>
http://refspecs.linux-foundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core
-generic/pkgdepend.html
>> implies
>>
>> Requires : lsb-core-noarch = 3.0 lsb-core-ia32 = 3.0
>
> Hmm, that doesn't look right. There are situations where this will
> fail, even apart from the package versioning.
>
>> So, what's a poor ISV to do? Is it safe to do
>> lsb = 3.1 lsb-core-noarch >= 3.0 lsb-core-ia32 >= 3.0
>> or should one ignore the standard, follow what distros seem to be
>> doing, and do lsb = 3.1 lsb-core-noarch = 3.1 lsb-core-ia32
>> = 3.1
>>
>> ?
>
> Given our current guarantees, is there a reason we can't use:
>
> lsb >= 3.1, lsb-core-noarch >= 3.0, lsb-core-ia32 >= 3.0

you can, but the concept introduced as of 3.1 (see Ian's
persistent poking at this) is that you would only depend on LSB.
The base pieces (core) remain in because they were documented
in ISO-LSB and it wasn't right to just throw them away, and
they'll probably be reused if we go to a minimal "server profile".
But at the moment apps from 3.1 on are only supposed to need
to depend on "lsb" (of the lowest applicable version).

Copyright © 2008 Linux Foundation. All rights reserved.
LSB is a trademark of the Linux Foundation. Linux is a registered trademark of Linus Torvalds