alsa-lib: Allow empty alsa-lib package for SDK
PATCH 1/1 alsa-lib: Allow empty alsa-lib package for SDK
Without ALLOW_EMPTY, the empty alsa-lib package (which gets culled) makes it fairly difficult to create an image that has libasound, then create an SDK from that image that has the proper development files.
If there is no alsa-lib package, the only way to get libasound on a target image is to do:
IMAGE_INSTALL += "libasound"
This however causes a problem because all of the development files that would be desired in the SDK are located in alsa-lib-dev, which won't be included (because alsa-lib wasn't included). Without ALLOW_EMPTY_${PN}, it is not possible to do:
IMAGE_INSTALL += "alsa-lib"
because the package is empty and gets culled. Adding the ALLOW_EMPTY and then making alsa-lib RDEPEND on libasound solves this problem and allows alsa-lib to be installed on the target and have the correct development files in the SDK
--- meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb | 7 +++++++ 1 file changed, 7 insertions(+)
meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb +7 -0
@@ -24,6 +24,13 @@ FILES_libasound = "${libdir}/libasound.so.*" FILES_alsa-server = "${bindir}/*" FILES_alsa-conf = "${datadir}/alsa/" +# Create an alsa-lib package even though it is empty and make it RDEPEND on +# libasound for target builds. This makes it possible to sanely create a image +# that has libasound and then generate an SDK from that image that has +# alsa-lib-dev +ALLOW_EMPTY_${PN} = "1" +RDEPENDS_${PN}_class-target = "libasound" + RDEPENDS_libasound = "alsa-conf" # alsa-lib gets automatically added to alsa-lib-dev dependencies, but the
Signature · 1 line
2.17.1
Quoted 34 lines · Joshua Watt
Without
ALLOW_EMPTY, the empty alsa-lib package (which gets culled) makes it fairly difficult to create an image that has libasound, then create an SDK from that image that has the proper development files.If there is no alsa-lib package, the only way to get libasound on a target image is to do:
IMAGE_INSTALL+= "libasound"This however causes a problem because all of the development files that would be desired in the SDK are located in alsa-lib-dev, which won't be included (because alsa-lib wasn't included). Without ALLOW_EMPTY_${PN}, it is not possible to do:
IMAGE_INSTALL+= "alsa-lib"because the package is empty and gets culled. Adding the
ALLOW_EMPTYand then making alsa-lib RDEPEND on libasound solves this problem and allows alsa-lib to be installed on the target and have the correct development files in the SDKSigned-off-by Joshua Watt <[email protected]>--- meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb | 7 +++++++ 1 file changed, 7 insertions(+)meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb +0
-0@@ -24,6 +24,13 @@ FILES_libasound = "${libdir}/libasound.so.*" FILES_alsa-server = "${bindir}/*" FILES_alsa-conf = "${datadir}/alsa/"
meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb FILES_libasound = "${libdir}/libasound.so.*" · line 36
Quoted 10 lines
meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb +7
-0+# Create an alsa-lib package even though it is empty and make it RDEPEND on +# libasound for target builds. This makes it possible to sanely create a image +# that has libasound and then generate an SDK from that image that has +# alsa-lib-dev +ALLOW_EMPTY_${PN} = "1" +RDEPENDS_${PN}_class-target = "libasound" + RDEPENDS_libasound = "alsa-conf" # alsa-lib gets automatically added to alsa-lib-dev dependencies, but the
Looks fine to me, although renaming alsa-lib-dev to libasound-dev would seem like a sensible option too.
Signature · 4 lines
Tanu https://www.patreon.com/tanuk https://liberapay.com/tanuk
I agree with Tanu, the packaging in this recipe is non-standard and instead of making it more non-standard, let's just fix it.
Remove the libasound recipe, the contents of that can go into $PN. Either way with Debian renaming it gets renamed to libasound2, and without renaming it's still a sensible name. The dependency hacks can then all be removed.
Ross
Quoted 59 lines · Tanu Kaskinen
Quoted 34 lines · Joshua Watt
Without
ALLOW_EMPTY, the empty alsa-lib package (which gets culled) makes it fairly difficult to create an image that has libasound, then create an SDK from that image that has the proper development files.If there is no alsa-lib package, the only way to get libasound on a target image is to do:
IMAGE_INSTALL+= "libasound"This however causes a problem because all of the development files that would be desired in the SDK are located in alsa-lib-dev, which won't be included (because alsa-lib wasn't included). Without ALLOW_EMPTY_${PN}, it is not possible to do:
IMAGE_INSTALL+= "alsa-lib"because the package is empty and gets culled. Adding the
ALLOW_EMPTYand then making alsa-lib RDEPEND on libasound solves this problem and allows alsa-lib to be installed on the target and have the correct development files in the SDKSigned-off-by Joshua Watt <[email protected]>--- meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb | 7 +++++++ 1 file changed, 7 insertions(+)meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb +0
-0@@ -24,6 +24,13 @@ FILES_libasound = "${libdir}/libasound.so.*" FILES_alsa-server = "${bindir}/*" FILES_alsa-conf = "${datadir}/alsa/"meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb FILES_libasound = "${libdir}/libasound.so.*" · line 36
Quoted 10 lines
meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb +7
-0+# Create an alsa-lib package even though it is empty and make it RDEPEND on +# libasound for target builds. This makes it possible to sanely create a image +# that has libasound and then generate an SDK from that image that has +# alsa-lib-dev +ALLOW_EMPTY_${PN} = "1" +RDEPENDS_${PN}_class-target = "libasound" + RDEPENDS_libasound = "alsa-conf" # alsa-lib gets automatically added to alsa-lib-dev dependencies, but theLooks fine to me, although renaming alsa-lib-dev to libasound-dev would seem like a sensible option too.
--
Tanuhttps://www.patreon.com/tanuk
https://liberapay.com/tanuk
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 8 lines · Ross
I agree with Tanu, the packaging in this recipe is non-standard and instead of making it more non-standard, let's just fix it.
Remove the libasound recipe, the contents of that can go into $PN. Either way with Debian renaming it gets renamed to libasound2, and without renaming it's still a sensible name. The dependency hacks can
then all be removed.
Done. Sorry I, forgot the "in-reply-to" when I sent the update. See:
http://lists.openembedded.org/pipermail/openembedded-core/2018-August/1
53684.html
Quoted 79 lines
Ross
Quoted 75 lines · Tanu Kaskinen
Quoted 58 lines · Joshua Watt
Without
ALLOW_EMPTY, the empty alsa-lib package (which gets culled)
makes it fairly difficult to create an image that has libasound, then
create an SDK from that image that has the proper development files.If there is no alsa-lib package, the only way to get libasound on a
target image is to do:
IMAGE_INSTALL+= "libasound"This however causes a problem because all of the development files that
would be desired in the SDK are located in alsa-lib-dev, which won't be
included (because alsa-lib wasn't included). Without ALLOW_EMPTY_${PN},
it is not possible to do:
IMAGE_INSTALL+= "alsa-lib"because the package is empty and gets culled. Adding the
ALLOW_EMPTYand
then making alsa-lib RDEPEND on libasound solves this problem and allows
alsa-lib to be installed on the target and have the correct development
files in the SDKSigned-off-by Joshua Watt <[email protected]>--- meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb | 7 +++++++ 1 file changed, 7 insertions(+)meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb +1
-0@@ -24,6 +24,13 @@ FILES_libasound = "${libdir}/libasound.so.*" FILES_alsa-server = "${bindir}/*" FILES_alsa-conf = "${datadir}/alsa/" +# Create an alsa-lib package even though it is empty and make itRDEPEND on
+# libasound for target builds. This makes it possible to sanely create a image
+# that has libasound and then generate an SDK from that image that hasmeta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb +4
-0+# alsa-lib-dev +ALLOW_EMPTY_${PN} = "1" +RDEPENDS_${PN}_class-target = "libasound" + RDEPENDS_libasound = "alsa-conf" # alsa-lib gets automatically added to alsa-lib-devQuoted 1 line
dependencies, but the
Looks fine to me, although renaming alsa-lib-dev to libasound-dev would
seem like a sensible option too.--
Tanuhttps://www.patreon.com/tanuk
https://liberapay.com/tanuk
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Signature · 1 line
Joshua Watt <[email protected]>