Patchwork linux-firmware: make the main package depend on all sub-packages

login
register
mail settings
Submitter Ross Burton
Date April 5, 2013, 5:06 p.m.
Message ID <1365181591-6728-1-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/47525/
State Accepted
Commit 9fb13a3ced4ca8ac0dec01845564142e12c68d26
Headers show

Comments

Ross Burton - April 5, 2013, 5:06 p.m.
Whilst splitting out specific large firmware blobs is a good move for space
saving, it makes installing "all the firmware" tricky.

Make linux-firmware depend on all of the separated packages so that installing
that pulls in all of the sub-packages.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-kernel/linux-firmware/linux-firmware_git.bb |    6 ++++++
 1 file changed, 6 insertions(+)
Otavio Salvador - April 5, 2013, 8:11 p.m.
On Fri, Apr 5, 2013 at 2:06 PM, Ross Burton <ross.burton@intel.com> wrote:
> Whilst splitting out specific large firmware blobs is a good move for space
> saving, it makes installing "all the firmware" tricky.
>
> Make linux-firmware depend on all of the separated packages so that installing
> that pulls in all of the sub-packages.
>
> Signed-off-by: Ross Burton <ross.burton@intel.com>

+1 Looks great, indeed.

--
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
Koen Kooi - April 6, 2013, 10:26 a.m.
Op 5 apr. 2013, om 19:06 heeft Ross Burton <ross.burton@intel.com> het volgende geschreven:

> Whilst splitting out specific large firmware blobs is a good move for space
> saving, it makes installing "all the firmware" tricky.
> 
> Make linux-firmware depend on all of the separated packages so that installing
> that pulls in all of the sub-packages.

Speaking of firmwares, is anybody working on fixing the clashes between kernel-firmware-foo and linux-firmware-foo? It should only be a matter of adding RREPLACES to the linux-firmware subpackages.

Koen
Martin Jansa - April 6, 2013, 10:36 a.m.
And also staging firmware files just once to resolve

> WARNING: The recipe linux-firmware is trying to install files into a
shared area when those files already exist. Those files are:

when building linux-firmware after kernel was built and vice-versa.


On Sat, Apr 6, 2013 at 12:26 PM, Koen Kooi <koen@dominion.thruhere.net>wrote:

>
> Op 5 apr. 2013, om 19:06 heeft Ross Burton <ross.burton@intel.com> het
> volgende geschreven:
>
> > Whilst splitting out specific large firmware blobs is a good move for
> space
> > saving, it makes installing "all the firmware" tricky.
> >
> > Make linux-firmware depend on all of the separated packages so that
> installing
> > that pulls in all of the sub-packages.
>
> Speaking of firmwares, is anybody working on fixing the clashes between
> kernel-firmware-foo and linux-firmware-foo? It should only be a matter of
> adding RREPLACES to the linux-firmware subpackages.
>
> Koen
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Richard Purdie - April 6, 2013, 11:44 a.m.
On Sat, 2013-04-06 at 12:36 +0200, Martin Jansa wrote:
> And also staging firmware files just once to resolve
>
> > WARNING: The recipe linux-firmware is trying to install files into a
> shared area when those files already exist. Those files are:
>
> when building linux-firmware after kernel was built and vice-versa.

What is the point in staging firmware files at all? There is probably a
small space/performance gain to be had there...

Cheers,

Richard

Patch

diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index 5ee3b73..ef036cf 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -162,3 +162,9 @@  ALTERNATIVE_linux-firmware-bcm4334 = "brcmfmac-sdio.bin"
 ALTERNATIVE_TARGET_linux-firmware-bcm4334[brcmfmac-sdio.bin] = "/lib/firmware/brcm/brcmfmac4334.bin"
 
 FILES_${PN} += "/lib/firmware/*"
+
+# Make linux-firmware depend on all of the split-out packages.
+python populate_packages_prepend () {
+    firmware_pkgs = oe.utils.packages_filter_out_system(d)
+    d.appendVar('RDEPENDS_linux-firmware', ' ' + ' '.join(firmware_pkgs))
+}