[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: firmware status for eagle-usb-*



Marco d'Itri wrote:
> - notwithstanding the disagreement of a few people here, even if
>   post-sarge eagle-usb-data will have to be moved to non-free, there is
>   nothing in our policy which prevents to downgrade the hard dependency
>   to a suggestion, to be able to keep shipping the free driver in main

There is most certainly a requirement in Policy to correctly express the
dependencies of a package, and consequently, to not allow the package in
main.

First, from Policy section 2.2.1, "The main section":
>      In addition, the packages in _main_
>         * must not require a package outside of _main_ for compilation or
>           execution (thus, the package must not declare a "Depends",
>           "Recommends", or "Build-Depends" relationship on a non-_main_
>           package),

So if the appropriate dependency from the driver to the firmware is
Depends, Recommends, or Build-Depends, then the driver cannot be in main.

Now, for the idea that it could be simply a suggestion, see the
definitions of Depends, Recommends, and Suggests in Policy 7.2:

>      `Depends'
>           This declares an absolute dependency.  A package will not be
>           configured unless all of the packages listed in its `Depends'
>           field have been correctly configured.
> 
>           The `Depends' field should be used if the depended-on package is
>           required for the depending package to provide a significant
>           amount of functionality.

Given that the entire purpose of the driver is to actually *drive a
device*, and that it can't do that at all without the firmware, then the
depended-on package is clearly required for the depending package to
provide a significant amount of functionality, so the appropriate
relationship is a "Depends", which by policy 2.2.1 is not permitted from
a main to a non-main package.

>      `Recommends'
>           This declares a strong, but not absolute, dependency.
> 
>           The `Recommends' field should list packages that would be found
>           together with this one in all but unusual installations.

It would be an unusual driver installation indeed that could not
actually drive a device.  Nevertheless, even if the appropriate
relationship were "Recommends", the driver still could not go in main,
by policy 2.2.1.

>      `Suggests'
>           This is used to declare that one package may be more useful with
>           one or more others.  Using this field tells the packaging system
>           and the user that the listed packages are related to this one and
>           can perhaps enhance its usefulness, but that installing this one
>           without them is perfectly reasonable.

This is clearly not appropriate; it is not "perfectly reasonable" to
install a driver package without the firmware, any more than it is
reasonable to install a dynamically-linked binary without its shared
library dependencies.  In both cases, the functionality is limited to
simply imforming the user that a necessary component was not installed.

> The effect of this is that, as long as the ftpmasters team is happy with
> the license clarification from Sagem, you can keep eagle-usb-data too in
> main for sarge.

Yes, that's correct for Sarge; you may, of course, want to begin working
on the issue, since this will become a release-critical bug immediately
after the Sarge release.

- Josh Triplett

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: