[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