broken deps outside of packagers control
Hans de Goede
j.w.r.degoede at hhs.nl
Thu Apr 19 05:39:10 UTC 2007
Christopher Stone wrote:
> On 4/18/07, Peter Gordon <peter at thecodergeek.com> wrote:
>> On Wed, 2007-04-18 at 19:59 +0200, Hans de Goede wrote:
>> > In that case can gnumeric please be blacklisted, and the i386
>> version removed
>> > from the x86_64 repo?
>> >
>> > Thanks & regards,
>> >
>> > Hans
>>
>> Unfortunately, it's not that simple - gnumeric-devel is a proper
>> subpackage of gnumeric, and as a good -devel subpackage, it properly
>> requires its base package - which means you'll have gnumeric installed
>> twice in a multilib setup, for each of these two arches.
>>
>> A potential way to ease this is to split out a -libs subpackage which
>> contains the shared libraries (which are the things a -devel package
>> really needs), then make both the base package and the -devel subpackage
>> depend on it via a fully-versioned Requires tag. (See, for example, my
>> recent split of the openbox packaging.)
>>
>> Then, gnumeric and gnumeric-devel would depend on gnumeric-libs, but you
>> would have only one instance of gnumeric installed (for the parent
>> arch).
>>
>> Hope that helps.
>
> Hans does this sound good to you? My pygame package has the same fate
> and so far the best solution presented to me was to just remove the
> devel package and bundle everything in a single package (because no
> one ever uses pygame-devel presumably). This sounds like a better
> solution to me however.
>
No this sounds like a BAD solution to me. We are going to have this problem for
every non noarch perl / python / ruby / xxx package that happens to split of a
-devel package (for example because of .pc files). The proper solution is to
either:
1) make the push script smarter
2) use a blacklist
Also notice that gnumeric-devel is not a full devel package, it contains a .so
symlink but no header files as libspreadsheet.so.xxx so far is intended for use
by gnumeric only. Besides that it contains an .idl file. I've always been
amazed about the split-off of a seperate devel package for these 2 files (1
symlink and file actually) but that is how I inhereted things from core.
Notice that fixing this won't help as the #@$%^#@ push-script will also put
.i386 packages in the x86_64 tree if they have a virtual -devel provides, and
if I nuke the -devel package, the main package will provide -devel for those
depending on it.
Now in the case of gnumeric probably nothing is depending on the -devel, so I
could just nuke the -devel without adding the virtual provides. But I _refuse_
todo this as this is bad packaging. Once a package is out there people should
be able to count on it offering a consistent "interface". Even more important I
_refuse_ todo this because its the push-script that needs fixing, not gnumeric.
Regards,
Hans
More information about the Fedora-maintainers
mailing list