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. -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list