From 65b8f85fb9c4c38f8cd852aa85107d5953612a2e Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Tue, 8 Jan 2013 10:59:56 -0200 Subject: [PATCH] fsl-mm-*-codeclib: Fix packaging of libraries This patch address many packaging issues which are required to allow development using those libraries. The changes were: * The pkgconfig file provided is the same provided by fsl-mm-codeclib-dev so we cannot duplicate this file, instead we add a depends on fsl-mm-codeclib-dev to provide a single pkgconfig file; * The fsl-mm-flv-codeclib provided the same headers provided in fsl-mm-codeclib so we remove them to avoid duplication; * Disable debug split as the binaries are stripped; * Set PACKAGE_ARCH to MACHINE_ARCH as this binaries are machine specific; * Fix libraries installation as the binary filenames doesn't follow the standard naming; * Use a single .inc file to avoid code duplication; Signed-off-by: Otavio Salvador Reported-by: Javier Viguera --- .../fsl-mm-core/fsl-mm-codeclib.inc | 40 +++++++++---------- .../fsl-mm-core/fsl-mm-codeclib_2.0.3.bb | 27 +++++++++++++ .../fsl-mm-core/fsl-mm-flv-codeclib_2.0.3.bb | 31 +++++--------- .../fsl-mm-core/fsl-mm-mp3enc-codeclib.inc | 30 -------------- .../fsl-mm-mp3enc-codeclib_2.0.3.bb | 14 ++++++- 5 files changed, 69 insertions(+), 73 deletions(-) delete mode 100644 meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib.inc diff --git a/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib.inc b/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib.inc index 2ec60be9..fedc0227 100644 --- a/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib.inc +++ b/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib.inc @@ -1,33 +1,31 @@ -# Copyright (C) 2011, 2012 Freescale Semiconductor +# Copyright (C) 2011-2013 Freescale Semiconductor # Released under the MIT license (see COPYING.MIT for the terms) -DESCRIPTION = "Freescale mm codec libs" -SECTION = "multimedia" +DESCRIPTION = "Freescale Multimedia codec libs" LICENSE = "Proprietary" -DEPENDS = "pkgconfig" - -LIC_FILES_CHKSUM = "file://docs/EULA.txt;md5=ea4d5c069d7aef0838a110409ea78a01" +SECTION = "multimedia" -INC_PR = "r3" +INC_PR = "r4" -INSANE_SKIP_${PN} = "ldflags" -INSANE_SKIP_${PN}-dev = "ldflags" +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" -SRC_URI = "${FSL_MIRROR}/fsl-mm-codeclib-${PV}.bin;fsl-eula=true" +inherit fsl-eula-unpack pkgconfig -inherit fsl-eula-unpack +# FIXME: Quiet down the warnings during package +INSANE_SKIP_${PN} = "ldflags textrel" +INSANE_SKIP_${PN}-dev = "ldflags textrel" do_install () { - install -d ${D}${libdir} - install -d ${D}${libdir}/pkgconfig - install -d ${D}${includedir}/mm_ghdr - - cp -r ${S}/release/lib/* ${D}${libdir} - cp -r ${S}/ghdr/* ${D}${includedir}/mm_ghdr - install -m 0644 ${S}/pkgconfig/fsl-mm-core.pc ${D}${libdir}/pkgconfig - - # Fix file permissions - find ${D} -type f -exec chmod a-x '{}' ';' + install -d ${D}${includedir} ${D}${libdir} + cp -ar ${S}/release/lib/* ${D}${libdir} + rm -rf ${D}${includedir}/mm_ghdr + cp -r ${S}/ghdr* ${D}${includedir} + mv ${D}${includedir}/ghdr ${D}${includedir}/mm_ghdr + + # FIXME: Fix permissions + find ${D} -type f -exec chmod 0644 '{}' ';' } +FILES_${PN} += "${libdir}/lib*_elinux.3.0.1.07.00" + PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib_2.0.3.bb b/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib_2.0.3.bb index 448ee7a2..42cf136b 100644 --- a/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib_2.0.3.bb +++ b/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib_2.0.3.bb @@ -2,7 +2,34 @@ include fsl-mm-codeclib.inc PR = "${INC_PR}.0" +LIC_FILES_CHKSUM = "file://docs/EULA.txt;md5=ea4d5c069d7aef0838a110409ea78a01" + SRC_URI[md5sum] = "9ee06c147f635d1f904d53fc193150cc" SRC_URI[sha256sum] = "427436c0ab7795204a23150bac19cf261a88693e9acd9d3eab5c06c60ffe55bd" +do_install_append() { + # FIXME: Same pkgconfig file is provided in every source package + # so we install it just here and all other packages need to + # depends on fsl-mm-codeclib-dev explicitly. + install -d ${D}${libdir}/pkgconfig + install -m 0644 ${S}/pkgconfig/fsl-mm-core.pc ${D}${libdir}/pkgconfig +} + +# FIXME: Install files which has no sonames +PACKAGES = "${PN} ${PN}-dev" +FILES_${PN} += " \ + ${libdir}/lib_aac_parser_arm11_elinux.so \ + ${libdir}/lib_bmp_dec_arm11_elinux.so \ + ${libdir}/lib_deinterlace_arm11_elinux.so \ + ${libdir}/lib_flac_parser_arm11_elinux.so \ + ${libdir}/lib_gif_dec_arm11_elinux.so \ + ${libdir}/lib_id3_parser_arm11_elinux.so \ + ${libdir}/lib_jpeg_enc_arm11_elinux.so \ + ${libdir}/lib_mp3_parser_v2_arm11_elinux.so \ + ${libdir}/lib_png_dec_arm11_elinux.so \ + ${libdir}/lib_src_ppp_arm11_elinux.so \ + ${libdir}/lib_wav_parser_arm11_elinux.so \ + ${libdir}/libmpeg4_encoder_arm11_ELINUX.so \ +" + COMPATIBLE_MACHINE = "(mx5)" diff --git a/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-flv-codeclib_2.0.3.bb b/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-flv-codeclib_2.0.3.bb index 75095893..75e07f56 100644 --- a/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-flv-codeclib_2.0.3.bb +++ b/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-flv-codeclib_2.0.3.bb @@ -1,31 +1,22 @@ -# Copyright (C) 2011, 2012 Freescale Semicondutors +# Copyright (C) 2011-2013 Freescale Semicondutors # Released under the MIT license (see COPYING.MIT for the terms) -DESCRIPTION = "Freescale Multimedia codec libs" -LICENSE = "Proprietary" -SECTION = "multimedia" - -PR = "r1" +include fsl-mm-codeclib.inc +PR = "${INC_PR}.0" LIC_FILES_CHKSUM = "file://ghdr/common/fsl_types.h;endline=13;md5=b805ce4a390c94d002ef86bd15ceafd4" -SRC_URI = "${FSL_MIRROR}/fsl-mm-flv-codeclib-${PV}.bin;fsl-eula=true" SRC_URI[md5sum] = "b0244d881f73557be9221e6534c239be" SRC_URI[sha256sum] = "737399c76e8b991ebb76c07599b83da6a185211d88b95d9a9b4245f6d7fccec2" -inherit fsl-eula-unpack - -do_install () { - install -d ${D}${libdir} - install -d ${D}${libdir}/pkgconfig - install -d ${D}${includedir}/mm_ghdr - install -m 0755 ${S}/release/lib/*.so* ${D}${libdir} - install -m 0644 ${S}/ghdr/common/*.h ${D}${includedir}/mm_ghdr - install -m 0644 ${S}/pkgconfig/*.pc ${D}${libdir}/pkgconfig +do_install_append() { + # FIXME: Those files are deployed in fsl-mm-codeclib + rm -r ${D}${includedir}/mm_ghdr/common } -FILES_${PN} += "${libdir}/*.so* ${libdir}/pkgconfig/*.pc" -INSANE_SKIP_${PN} = "ldflags" +# FIXME: Same pkgconfig file is provided in every source so we need to +# depends on 'fsl-mm-codeclib-dev' explicitly as it is +# installed just on it. +RDEPENDS_${PN}-dev = "fsl-mm-codeclib-dev" -FILES_${PN}-dev += "${includedir}/mm_ghdr/*.h" -INSANE_SKIP_${PN}-dev = "ldflags" +COMPATIBLE_MACHINE = "(mx5)" diff --git a/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib.inc b/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib.inc deleted file mode 100644 index 2468d17a..00000000 --- a/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib.inc +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (C) 2011, 2012 Freescale Semicondutors -# Released under the MIT license (see COPYING.MIT for the terms) - -DESCRIPTION = "Freescale Multimedia codec libs" -LICENSE = "Proprietary" -SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://ghdr/mp3_enc_interface.h;endline=11;md5=545a1927139b4739d8980c49954b6b95" - -INC_PR = "r1" - -SRC_URI = "${FSL_MIRROR}/fsl-mm-mp3enc-codeclib-${PV}.bin;fsl-eula=true" - -inherit fsl-eula-unpack - -do_install () { - install -d ${D}${libdir} - install -d ${D}${libdir}/pkgconfig - install -d ${D}${includedir}/mm_ghdr - install -m 0755 ${S}/release/lib/*.so* ${D}${libdir} - install -m 0644 ${S}/ghdr/*.h ${D}${includedir}/mm_ghdr - install -m 0644 ${S}/pkgconfig/*.pc ${D}${libdir}/pkgconfig -} - -FILES_${PN} += "${libdir}/*.so* ${libdir}/pkgconfig/*.pc" -INSANE_SKIP_${PN} = "ldflags" - -FILES_${PN}-dev += "${includedir}/mm_ghdr/*.h" -INSANE_SKIP_${PN}-dev = "ldflags" - -PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib_2.0.3.bb b/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib_2.0.3.bb index 81425026..eb781cf0 100644 --- a/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib_2.0.3.bb +++ b/meta-fsl-arm/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib_2.0.3.bb @@ -1,8 +1,18 @@ -include fsl-mm-mp3enc-codeclib.inc +# Copyright (C) 2011-2013 Freescale Semicondutors +# Released under the MIT license (see COPYING.MIT for the terms) + +include fsl-mm-codeclib.inc PR = "${INC_PR}.0" -COMPATIBLE_MACHINE = "(mx5)" +LIC_FILES_CHKSUM = "file://ghdr/mp3_enc_interface.h;endline=11;md5=545a1927139b4739d8980c49954b6b95" SRC_URI[md5sum] = "049611d9f76b524b9fa9521527ba3235" SRC_URI[sha256sum] = "e3712fa45a8f42617773678d45ab7ae0f20150a4d904f1e73afa8baa1941cf99" + +# FIXME: Same pkgconfig file is provided in every source so we need to +# depends on 'fsl-mm-codeclib-dev' explicitly as it is +# installed just on it. +RDEPENDS_${PN}-dev += "fsl-mm-codeclib-dev" + +COMPATIBLE_MACHINE = "(mx5)" -- 2.40.1