2008-10-16 18:48:33

by Harald Dunkel

[permalink] [raw]
Subject: 2.6.27.1: install conflict about /lib/firmware

Hi folks,

Seems that there is an installation conflict about
/lib/firmware/ess/maestro3_assp_kernel.fw (and probably
others) between 2.6.27 and 2.6.27.1. Using dpkg I get

:
Unpacking raw-kernel-2.6.27.1 (from .../raw-kernel-2.6.27.1_2.6.27.1-0_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/raw-kernel-2.6.27.1_2.6.27.1-0_amd64.deb (--unpack):
trying to overwrite `/lib/firmware/ess/maestro3_assp_kernel.fw', which is also in package raw-kernel-2.6.27
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/raw-kernel-2.6.27.1_2.6.27.1-0_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:


Probably other package managers get a similar problem.

Wouldn't it be more consistent to put the firmware files in a
kernel specific directory, e.g. in /lib/firmware/2.6.27.1 or
/lib/modules/2.6.27.1/firmware ?


Regards

Harri


2008-10-16 20:58:57

by Michael Tokarev

[permalink] [raw]
Subject: Re: 2.6.27.1: install conflict about /lib/firmware

Harald Dunkel wrote:
> Hi folks,
>
> Seems that there is an installation conflict about
> /lib/firmware/ess/maestro3_assp_kernel.fw (and probably
> others) between 2.6.27 and 2.6.27.1. Using dpkg I get

Since 2.6.27, firmware binaries are placed into /lib/firmware
directory. The reason is that firmware is not kernel-dependent.
Or, rather, the firmware stored here is not kernel-dependent
(when it is, it's stored in /lib/modules/$version/).

[]
> Probably other package managers get a similar problem.

A package build script should be updated to create separate
package with the firmware, and to add proper reguiriments
and/or dependencies.

> Wouldn't it be more consistent to put the firmware files in a
> kernel specific directory, e.g. in /lib/firmware/2.6.27.1 or
> /lib/modules/2.6.27.1/firmware ?

No, because the firmware is not kernel-dependent, but device-dependent.
It were deliberate choice.

/mjt

2008-10-17 18:32:20

by Harald Dunkel

[permalink] [raw]
Subject: Re: 2.6.27.1: install conflict about /lib/firmware

Michael Tokarev wrote:
>
> Since 2.6.27, firmware binaries are placed into /lib/firmware
> directory. The reason is that firmware is not kernel-dependent.
> Or, rather, the firmware stored here is not kernel-dependent
> (when it is, it's stored in /lib/modules/$version/).
>

It would be nice if this could be configured. I wouldn't like
to have 2 directories to look for firmware files.

Actually I did not want to build any firmware drivers, but setting
CONFIG_PREVENT_FIRMWARE_BUILD did not work.


Regards

Harri

2008-10-22 19:35:44

by Harald Dunkel

[permalink] [raw]
Subject: Re: 2.6.27.1: install conflict about /lib/firmware

Michael Tokarev wrote:
>
>> Wouldn't it be more consistent to put the firmware files in a
>> kernel specific directory, e.g. in /lib/firmware/2.6.27.1 or
>> /lib/modules/2.6.27.1/firmware ?
>
> No, because the firmware is not kernel-dependent, but device-dependent.
> It were deliberate choice.
>

This is not about some api incompatibility, but about a packaging
conflict. Even if each firmware file is kernel-independent, the
list of files is not. If I build and install *.rpm or *.deb files
for a new kernel version (probably with a changed set of modules),
then there is a high chance that the new package for /lib/\
firmware provides a new list of files, not suitable for another
kernel.


Regards

Harri