rpmlint question

John T. Guthrie guthrie at counterexample.org
Wed Feb 14 21:49:31 UTC 2007


On Tue, 2007-02-13 at 12:17 -0500, Bill Nottingham wrote:
> Tom Diehl (tdiehl at rogueind.com) said: 
> > I am trying to learn how to make rpms. When I run rpmlint against the 
> > package
> > I am trying to make I get the following output:
> > 
> > (bullwinkle pts31) $ rpmlint dspam-3.6.8-1.fc5.mtd.1.i386.rpm
> > W: dspam devel-file-in-non-devel-package /usr/lib/libdspam.so
> 
> Generally, lib<foo>.so is used for development purposes. It's what
> the linker looks at when you link against that library with
> -l<foo>. So it's classified as a development file.
> 
> The only other use of lib<foo>.so would be if it's a dynamically
> loaded module or plugin, loaded with dlopen() or similar code.
> (However, in that case, it's probably better to specify a particular
> ABI version, so programs don't get a version that's different from
> the API/ABI they compiled against.)
> 
> If libdspam.so isn't a plugin used by other programs, just remove
> libdspam.so from your file list.

One alternative, if it is a development file, would be to put
libdspam.so into a devel subpackage.  This would remove libdspam.so from
the main package list, but would give other people the option of being
able to write applications against it if they so chose.

Of course you would need to move the file listing of libdspam.so from
the main package file list to the devel subpackage file list.

If you are new to RPMs in general, I have found the Maximum RPM web page
to be invaluable.  You can find it here: http://www.rpm.org/max-rpm/
That page will provide info on how to create subpackages, among other
things, if you aren't familiar with that.

HTH

> Bill

-- 
John Guthrie
guthrie at counterexample.org




More information about the fedora-extras-list mailing list