howto push dependencies into sub packages

Nils Philippsen nphilipp at redhat.com
Wed Jul 2 10:36:58 UTC 2008


Hi Peter,

On Wed, 2008-07-02 at 11:28 +0100, Peter Robinson wrote:

> For example with a package I maintain called geoclue I have two
> subpackages called geoclue-gypsy and geoclue-gpsd to try and keep the
> deps down (gypsy and gpsd essentially do the same thing) but if you
> just install geoclue without any of the sub packages it will still
> pull in both gpsd and gypsy as deps. This is what I want to avoid. A
> yum output eg below.
> 
> Cheers,
> Peter
> 
> [root at euuklonw7300b1n ~]# yum install geoclue
> Loaded plugins: refresh-packagekit, refresh-updatesd
> Setting up Install Process
> Parsing package install arguments
> Resolving Dependencies
> --> Running transaction check
> ---> Package geoclue.x86_64 0:0.11.1-9.fc9 set to be updated
> --> Processing Dependency: libgypsy.so.0()(64bit) for package: geoclue
> --> Processing Dependency: libgps.so.17()(64bit) for package: geoclue

This suggests that geoclue (the main package) has files which link
directly to the gypsy and gps libs respectively; rpmbuild detects this
and sets automatic dependencies.

>From looking at your spec file, you include the
%{_libexecdir}/geoclue-{gpsd,gypsy} files not only in their subpackages
but also in the main package (by way of "%{_libexecdir}/geoclue-*"). To
avoid that, you should either list all other files in that directory for
the main package or use this construct:

%files
...
%{_libexecdir}/geoclue-*
%exclude %{_libexecdir}/geoclue-gpsd
%exclude %{_libexecdir}/geoclue-gypsy

Nils
-- 
     Nils Philippsen    /    Red Hat    /    nphilipp at redhat.com
"Those who would give up Essential Liberty to purchase a little Temporary
 Safety, deserve neither Liberty nor Safety."  --  B. Franklin, 1759
 PGP fingerprint:  C4A8 9474 5C4C ADE3 2B8F  656D 47D8 9B65 6951 3011




More information about the fedora-devel-list mailing list