[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: cyrus-imapd



On Fri, 20 Apr 2007 13:28:23 +0200, Tomas Janousek wrote:

> Hi,
> 
> On Fri, Apr 20, 2007 at 11:50:34AM +0200, Michael Schwendt wrote:
> > cyrus-imapd-devel  contains two static libs and headers.
> > 
> > cyrus-imapd  contains no shared libs, but only executables.
> > 
> > So, the -devel package need not require the main package.
> > But I'm going to exclude cyrus-imapd-devel from multilib
> > nevertheless for now.
> 
> Should I remove the require then?

Does the -devel package need the main package? At build-time?
At run-time?
 
> Is this "need not" meant as "should not" or is it just "the problem wouldn't
> have happened if it hadn't been there, but ..." ?
> 
> I haven't found any conclusion in the "broken deps outside of packagers
> control" discussion on fedora-maintainers, so I'm not sure what to do.
> It's not a big issue here becuase I don't have to split anything into a -libs
> subpackage, but I saw a statement like "as a good -devel subpackage, it
> properly requires its base package", so I'm kinda confused right now.

That's probably the guideline that covers the majority of library -devel
packages, where the -devel package contains a *.so softlink that points to
a library file in the main package. Without a manually added Requires, the
-devel package would be broken, since you could not link against a missing
library.

A general guideline is:

  For every package (and sub-package) that is created, ask yourself:
  When you "yum install" the package in a minimal installation, is the
  installed package functional? Or is anything missing/broken and would be
  fixed by installing additional packages? In that case, you need to add
  the missing dependencies with explicit "Requires", since rpmbuild's
  automatically detected Requires are not enough.

Judging from the contents of cyrus-imapd-devel (two static libs and a few
headers), the package is fully functional when compiling/linking with it
and without the 13M large cyrus-imapd package being installed.

And whether the static libs -- at run-time (!) -- need any files contained
in the main cyrus-imapd package (e.g. data files, cfg files, executables)
that would be an important detail to document, since any package that is
built with these static libs would need the explicit dependency on
cyrus-imapd.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]