[meta-freescale] [meta-fsl-arm][PATCH v2] fsl-mm-*-codeclib: Fix packaging of libraries

Otavio Salvador otavio at ossystems.com.br
Wed Jan 9 02:42:36 PST 2013


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 <otavio at ossystems.com.br>
Reported-by: Javier Viguera <javier.viguera at digi.com>
---
 recipes-multimedia/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-core/fsl-mm-mp3enc-codeclib_2.0.3.bb    |   14 ++++++-
 5 files changed, 69 insertions(+), 73 deletions(-)
 delete mode 100644 recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib.inc

diff --git a/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib.inc b/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib.inc
index 2ec60be..fedc022 100644
--- a/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib.inc
+++ b/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/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib_2.0.3.bb b/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib_2.0.3.bb
index 448ee7a..42cf136 100644
--- a/recipes-multimedia/fsl-mm-core/fsl-mm-codeclib_2.0.3.bb
+++ b/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/recipes-multimedia/fsl-mm-core/fsl-mm-flv-codeclib_2.0.3.bb b/recipes-multimedia/fsl-mm-core/fsl-mm-flv-codeclib_2.0.3.bb
index 7509589..75e07f5 100644
--- a/recipes-multimedia/fsl-mm-core/fsl-mm-flv-codeclib_2.0.3.bb
+++ b/recipes-multimedia/fsl-mm-core/fsl-mm-flv-codeclib_2.0.3.bb
@@ -1,31 +1,22 @@
-# Copyright (C) 2011, 2012 Freescale Semicondutors <aalonso at freescale.com>
+# Copyright (C) 2011-2013 Freescale Semicondutors <aalonso at freescale.com>
 # 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/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib.inc b/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib.inc
deleted file mode 100644
index 2468d17..0000000
--- a/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (C) 2011, 2012 Freescale Semicondutors <aalonso at freescale.com>
-# 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/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib_2.0.3.bb b/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib_2.0.3.bb
index 8142502..eb781cf 100644
--- a/recipes-multimedia/fsl-mm-core/fsl-mm-mp3enc-codeclib_2.0.3.bb
+++ b/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 <aalonso at freescale.com>
+# 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)"
-- 
1.7.10.4




More information about the meta-freescale mailing list