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 On 3 August 2018 at 11:39, Tanu Kaskinen <[email protected]> wrote: > On Thu, 2018-08-02 at 16:22 -0500, Joshua Watt wrote: >> 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 >> >> Signed-off-by: Joshua Watt <[email protected]> >> --- >> meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb >> b/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb >> index 6364e9eafaa..581655c5349 100644 >> --- a/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb >> +++ b/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb >> @@ -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 > > Looks fine to me, although renaming alsa-lib-dev to libasound-dev would > seem like a sensible option too. > > -- > Tanu > > https://www.patreon.com/tanuk > https://liberapay.com/tanuk > -- > _______________________________________________ > Openembedded-core mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
