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