[opensuse-packaging] New check in RPM build
Hi, I've learned today that an RPM package can Provide and Require the same symbol but then the package is in conflict with itself and cannot be installed [unless --nodeps is used?] (thx to mmarek and his lecture on RPM today). If we can't fix the behavior, would it be possible to add one more check to the RPM build, please :)? This check should go through all RPM:Provides and RPM:Requires and report an error when the same string is found in both. Thx && Bye Lukas -- Lukas Ocilka, YaST Developer (xn--luk-gla45d) ----------------------------------------------------------------- Ano, ano. Moudry rozkaz. Sam jsem nemel v tech gratulacich jasno.
On Fri, Jun 06, 2008 at 04:17:52PM +0200, Lukas Ocilka wrote:
I've learned today that an RPM package can Provide and Require the same symbol but then the package is in conflict with itself and cannot be installed [unless --nodeps is used?] (thx to mmarek and his lecture on RPM today).
If we can't fix the behavior, would it be possible to add one more check to the RPM build, please :)?
This check should go through all RPM:Provides and RPM:Requires and report an error when the same string is found in both.
You mean Conflicts, not Requires? Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Michael Schroeder wrote:
On Fri, Jun 06, 2008 at 04:17:52PM +0200, Lukas Ocilka wrote:
I've learned today that an RPM package can Provide and Require the same symbol but then the package is in conflict with itself and cannot be installed [unless --nodeps is used?] (thx to mmarek and his lecture on RPM today).
If we can't fix the behavior, would it be possible to add one more check to the RPM build, please :)?
This check should go through all RPM:Provides and RPM:Requires and report an error when the same string is found in both.
You mean Conflicts, not Requires?
Hlava dubova :D ;) Yes, I mean Conflicts, not Requires, sorry :) Have a nicer Friday :) L.
On Friday 06 June 2008, Lukas Ocilka wrote:
Yes, I mean Conflicts, not Requires, sorry :)
but only if the version set conflicts, this is for example possible: Provides: foo = 42 Conflicts: foo < 42 Greetings, Dirk --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Fri, Jun 06, 2008 at 04:36:42PM +0200, Dirk Mueller wrote:
On Friday 06 June 2008, Lukas Ocilka wrote:
Yes, I mean Conflicts, not Requires, sorry :)
but only if the version set conflicts, this is for example possible:
Provides: foo = 42 Conflicts: foo < 42
Oh... Provides: foo = %BUILDTIME Conflicts: foo != %BUILDTIME ? -- Martin Vidner, YaST developer http://en.opensuse.org/User:Mvidner Kuracke oddeleni v restauraci je jako fekalni oddeleni v bazenu --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Martin Vidner wrote:
On Fri, Jun 06, 2008 at 04:36:42PM +0200, Dirk Mueller wrote:
On Friday 06 June 2008, Lukas Ocilka wrote:
Yes, I mean Conflicts, not Requires, sorry :) but only if the version set conflicts, this is for example possible:
Provides: foo = 42 Conflicts: foo < 42
Oh...
Provides: foo = %BUILDTIME Conflicts: foo != %BUILDTIME
Well, it seems to be a bit complicated :) I just thought it might be worth having that check... L.
Hi, On Fri, 6 Jun 2008, Martin Vidner wrote:
Oh...
Provides: foo = %BUILDTIME Conflicts: foo != %BUILDTIME
?
Hey, that's a clever idea. I don't remember if != works, but in any case this can be rewritten as Conflicts: foo < %BUILDTIME Conflicts: foo > %BUILDTIME Of course this doesn't help with 100% reliability, namely in case two of such packages have the same buildtime. But it would be possible to use a different string as "version", namely the own package name (appropriately adjusted to not contain any '-'). Name: suse-theme Provides: theme = susetheme Conflicts: theme != susetheme Ciao, Michael. --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Fri, 6 Jun 2008 at 16:58, Michael Matz wrote:
Name: suse-theme Provides: theme = susetheme Conflicts: theme != susetheme
Thinking this a bit further, it might be good to have such boilerplate stuff wrapped in a macro, so that package authors only need to write something like: %exclusive theme and the macro takes apropriate action to ensure that only one package that provides "theme" can be installed at any point in time, be it by using the build time, the package name or whatever else might be suited for this purpose. Maybe a checksum over name, version, release, and build time would be better than just using the name and stripping off dashes. cu Reinhard --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Lukas Ocilka wrote:
I've learned today that an RPM package can Provide and Require the same symbol but then the package is in conflict with itself and cannot be installed [unless --nodeps is used?] (thx to mmarek and his lecture on RPM today).
An example of this was https://bugzilla.novell.com/show_bug.cgi?id=379338: "weird package conflict related to kdebase4-workspace-branding". Michal --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Friday 06 June 2008, Michal Marek wrote:
https://bugzilla.novell.com/show_bug.cgi?id=379338: "weird package conflict related to kdebase4-workspace-branding".
for the branding mess I have created meanwhile seperate checks (the check id's start with suse-branding-). I'll be glad to accept feedback and suggestions for that via bugzilla. Greetings, Dirk --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (7)
-
Dirk Mueller
-
Lukas Ocilka
-
Martin Vidner
-
Michael Matz
-
Michael Schroeder
-
Michal Marek
-
Reinhard Max