howto push dependencies into sub packages

Peter Robinson pbrobinson at gmail.com
Wed Jul 2 10:28:32 UTC 2008


Hi Nils,

>> I maintain the geoclue package. It has a number of providers that can
>> be compiled in. I've tried to introduce a couple of subpackages for
>> the gpsd and gypsy providers so that you can just install the
>> providers you need and not have to pull in extra packages that you
>> might not need (gpsd and gypsy do essentially the same thing so you
>> probably don't need both). The problem I'm having is that with the
>> addition of the gpsd provider (see F-9 testing if you aren't on
>> rawhide) pulls in gpsd for the main package and not for the
>> geoclue-gpsd package. How do I push this requirement down to the sub
>> package so that it doesn't affect the main package (I've got the gpsd
>> requirements in the sub package).
>
> I see nobody's answered yet... I guess what you want to do is to have
> your -gpsd subpackage requires gpsd so if it is installed, gpsd will be
> there as well?
>
> In that case, just put the "Requires: gpsd ..." line in the "%package
> gpsd" section, right beside the "Requires: geoclue = %{PACKAGE_VERSION}"
> line.

That's what I thought would be the case and have done but it seems
that rpm with the auto deps still wants the dependency for the root
package as well.

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
--> Running transaction check
---> Package gypsy.x86_64 0:0.6-3.fc9 set to be updated
---> Package gpsd.x86_64 0:2.37-2.fc9 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 geoclue                 x86_64     0.11.1-9.fc9     updates            82 k
Installing for dependencies:
 gpsd                    x86_64     2.37-2.fc9       fedora            188 k
 gypsy                   x86_64     0.6-3.fc9        updates            41 k

Transaction Summary
=============================================================================
Install      3 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 311 k
Is this ok [y/N]:




More information about the fedora-devel-list mailing list