Automatic detection of Requires and versions
Eduardo M KALINOWSKI wrote:
I'm attempting to package a program I wrote, that uses the GTK+ libraries. It uses features first found in the 2.10.X series, so I include BuildRequires: gtk2-devel >= 2.10.0 (and similar lines for glib and other required libraries). All this is OK. The problem is regarding the Requires for the generated .rpm. I could use Requires: gtk2 >= 2.10.0 but apparently this is bad style and bad for maintenance, because dependencies are found automatically on build time. However, without manually adding the requires, the generated .rpm contains (with regard to GTK+) this: libgtk-x11-2.0.so.0 that is, no mention of the version, and I expect that even a GTK+ 2.8 package (old as that may be) should provide that file with that name. What is the best way to handle that? Include the Require manually? Leave this as-is? Leave as is (imo). -- Rex -- Fedora-packaging mailing list Fedora-packaging@redhat.com https://www.redhat.com/mailman/listinfo/fedora-packaging |
Automatic detection of Requires and versions
On Mon, Jan 07, 2008 at 10:40:05AM -0200, Eduardo M KALINOWSKI wrote:
> Hi, > > I'm attempting to package a program I wrote, that uses the GTK+ > libraries. It uses features first found in the 2.10.X series, so I > include > > BuildRequires: gtk2-devel >= 2.10.0 > > (and similar lines for glib and other required libraries). All this is > OK. The problem is regarding the Requires for the generated .rpm. I > could use > > Requires: gtk2 >= 2.10.0 > > but apparently this is bad style and bad for maintenance, because > dependencies are found automatically on build time. However, without > manually adding the requires, the generated .rpm contains (with regard > to GTK+) this: > > libgtk-x11-2.0.so.0 > > that is, no mention of the version, and I expect that even a GTK+ 2.8 > package (old as that may be) should provide that file with that name. > > What is the best way to handle that? Include the Require manually? > Leave this as-is? I'd say the reverse than Rex, include the Require manually. But I may well be wrong. -- Pat -- Fedora-packaging mailing list Fedora-packaging@redhat.com https://www.redhat.com/mailman/listinfo/fedora-packaging |
Automatic detection of Requires and versions
On Mon, 2008-01-07 at 16:15 +0100, Patrice Dumas wrote:
> On Mon, Jan 07, 2008 at 10:40:05AM -0200, Eduardo M KALINOWSKI wrote: > > Hi, > > > > I'm attempting to package a program I wrote, that uses the GTK+ > > libraries. It uses features first found in the 2.10.X series, so I > > include > > > > BuildRequires: gtk2-devel >= 2.10.0 > > > > (and similar lines for glib and other required libraries). All this is > > OK. The problem is regarding the Requires for the generated .rpm. I > > could use > > > > Requires: gtk2 >= 2.10.0 > > > > but apparently this is bad style and bad for maintenance, because > > dependencies are found automatically on build time. However, without > > manually adding the requires, the generated .rpm contains (with regard > > to GTK+) this: > > > > libgtk-x11-2.0.so.0 > > > > that is, no mention of the version, and I expect that even a GTK+ 2.8 > > package (old as that may be) should provide that file with that name. > > > > What is the best way to handle that? Include the Require manually? > > Leave this as-is? > > I'd say the reverse than Rex, include the Require manually. But I may > well be wrong. Well, you are. If an upstream has its package properly designed (Esp. uses SONAMEs properly), then there should not be any need to let a run-time/application-package explicitly require a package by name. Ralf -- Fedora-packaging mailing list Fedora-packaging@redhat.com https://www.redhat.com/mailman/listinfo/fedora-packaging |
Automatic detection of Requires and versions
On Mon, Jan 07, 2008 at 04:20:54PM +0100, Ralf Corsepius wrote:
> > On Mon, 2008-01-07 at 16:15 +0100, Patrice Dumas wrote: > > > > I'd say the reverse than Rex, include the Require manually. But I may > > well be wrong. > > Well, you are. If an upstream has its package properly designed (Esp. > uses SONAMEs properly), then there should not be any need to let a > run-time/application-package explicitly require a package by name. Unless I am wrong, the sonames of 2.8 nad 2.10 are the same, but above 2.10 is needed. -- Pat -- Fedora-packaging mailing list Fedora-packaging@redhat.com https://www.redhat.com/mailman/listinfo/fedora-packaging |
Automatic detection of Requires and versions
On Mon, 2008-01-07 at 16:43 +0100, Patrice Dumas wrote:
> On Mon, Jan 07, 2008 at 04:20:54PM +0100, Ralf Corsepius wrote: > > > > On Mon, 2008-01-07 at 16:15 +0100, Patrice Dumas wrote: > > > > > > I'd say the reverse than Rex, include the Require manually. But I may > > > well be wrong. > > > > Well, you are. If an upstream has its package properly designed (Esp. > > uses SONAMEs properly), then there should not be any need to let a > > run-time/application-package explicitly require a package by name. > > Unless I am wrong, the sonames of 2.8 nad 2.10 are the same, but above > 2.10 is needed. If the SONAMEs are the same, the libraries MUST be compatible. => No need for a package dep. Ralf -- Fedora-packaging mailing list Fedora-packaging@redhat.com https://www.redhat.com/mailman/listinfo/fedora-packaging |
Automatic detection of Requires and versions
>>>>> "RC" == Ralf Corsepius <rc040203@freenet.de> writes:
RC> If the SONAMEs are the same, the libraries MUST be compatible. Well, either that or the developers of said library have screwed up. It's not as if we haven't seen that before. RC> => No need for a package dep. In the case where you depend on a package that's broken as above, though, you may not have a lot of choice. Of course, I think this is all moot as we don't generally go updating gtk within a release, and all supported Fedora releases already have gtk2 2.10 anyway. So a versioned dependency on gtk2 would be pointless because it's always going to be satisfied in situations we support. - J< -- Fedora-packaging mailing list Fedora-packaging@redhat.com https://www.redhat.com/mailman/listinfo/fedora-packaging |
Automatic detection of Requires and versions
On Mon, Jan 07, 2008 at 04:20:54PM +0100, Ralf Corsepius wrote:
> > On Mon, 2008-01-07 at 16:15 +0100, Patrice Dumas wrote: > > On Mon, Jan 07, 2008 at 10:40:05AM -0200, Eduardo M KALINOWSKI wrote: > > > Hi, > > > > > > I'm attempting to package a program I wrote, that uses the GTK+ > > > libraries. It uses features first found in the 2.10.X series, so I > > > include > > > > > > BuildRequires: gtk2-devel >= 2.10.0 > > > > > > (and similar lines for glib and other required libraries). All this is > > > OK. The problem is regarding the Requires for the generated .rpm. I > > > could use > > > > > > Requires: gtk2 >= 2.10.0 > > > > > > but apparently this is bad style and bad for maintenance, because > > > dependencies are found automatically on build time. However, without > > > manually adding the requires, the generated .rpm contains (with regard > > > to GTK+) this: > > > > > > libgtk-x11-2.0.so.0 > > > > > > that is, no mention of the version, and I expect that even a GTK+ 2.8 > > > package (old as that may be) should provide that file with that name. > > > > > > What is the best way to handle that? Include the Require manually? > > > Leave this as-is? > > > > I'd say the reverse than Rex, include the Require manually. But I may > > well be wrong. > > Well, you are. If an upstream has its package properly designed (Esp. > uses SONAMEs properly), then there should not be any need to let a > run-time/application-package explicitly require a package by name. That's a big if actually. But I would reason differently - if the package *build* ensured that gtk2-devel was larger than 2.10.0 then gtk2 will also be larger than that when pulled from the same repo. So in the (usual) case of using a Fedora X package within Fedora X one doesn't have to add versioned Requires:. In the rare case that one would want to use the package in a different environment then things change - for example it has happened a couple of times in the past that using a package built on the *updated* gtk2/glib2 will require symbols not found in the non-updated *release* version and will break the app. It has happened with synaptic a couple of times, e.g. a user installs from DVD then wants to use apt/synaptic from updates-released to update his system and this synaptic bails out as it is not compatible to the old libs from the release (I think it was glib2 that had some more symbols used than the release had) In order to avoid this catch22 depsolver updates should in theory be built against the released non-updated bits only, but this is probably not really worth the trouble - I once maintained non-updated build chroots just for that reason until the maintenance was too much to handle (and all depsolvers eventually made it into Fedora anyway, so I hadn't had to deal with the problem anymore ;) -- Axel.Thimm at ATrpms.net -- Fedora-packaging mailing list Fedora-packaging@redhat.com https://www.redhat.com/mailman/listinfo/fedora-packaging |
Automatic detection of Requires and versions
On Mon, Jan 07, 2008 at 05:38:52PM +0100, Ralf Corsepius wrote:
> > If the SONAMEs are the same, the libraries MUST be compatible. > > => No need for a package dep. They can be backward compatible and not forward compatible and have the same sonames. It is the case with usual libtool versionning. Though, as Axel said it may be a bit pointless since the updated library will be in the updated repo. -- Pat -- Fedora-packaging mailing list Fedora-packaging@redhat.com https://www.redhat.com/mailman/listinfo/fedora-packaging |
Automatic detection of Requires and versions
On Mon, 2008-01-07 at 23:08 +0100, Patrice Dumas wrote:
> On Mon, Jan 07, 2008 at 05:38:52PM +0100, Ralf Corsepius wrote: > > > > If the SONAMEs are the same, the libraries MUST be compatible. > > > > => No need for a package dep. > > They can be backward compatible and not forward compatible and have the > same sonames. It is the case with usual libtool versionning. And were is the problem? I feel you are splitting hairs. Ralf -- Fedora-packaging mailing list Fedora-packaging@redhat.com https://www.redhat.com/mailman/listinfo/fedora-packaging |
Automatic detection of Requires and versions
On Wed, Jan 09, 2008 at 10:14:09AM +0100, Ralf Corsepius wrote:
> > On Mon, 2008-01-07 at 23:08 +0100, Patrice Dumas wrote: > > On Mon, Jan 07, 2008 at 05:38:52PM +0100, Ralf Corsepius wrote: > > > > > > If the SONAMEs are the same, the libraries MUST be compatible. > > > > > > => No need for a package dep. > > > > They can be backward compatible and not forward compatible and have the > > same sonames. It is the case with usual libtool versionning. > And were is the problem? I feel you are splitting hairs. If something is added between 2.8 and 2.10 while ABI is kept compatible and the soname isn't changed, and that new thing is needed, then the soname is not enough. -- Pat -- Fedora-packaging mailing list Fedora-packaging@redhat.com https://www.redhat.com/mailman/listinfo/fedora-packaging |
| All times are GMT. The time now is 09:43 PM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.