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

Otavio Salvador otavio at ossystems.com.br
Wed Jan 9 01:39:21 PST 2013


On Wed, Jan 9, 2013 at 7:35 AM, Javier Viguera <javier.viguera at digi.com> wrote:
>
> On 01/08/2013 08:02 PM, Otavio Salvador wrote:
>>
>> This is a new patch which replaces the other one. It should address
>> all packaging issues in the fsl-mm-*-codeclib packages. Javier, can
>> you give it a try?
>
>
> The patch worked mostly well. No warnings at build time and the packages are
> created.
>
> A couple of things though:
>
> 1. The 'fsl-mm-codeclib' source package has symbolic links for the '*.so'
> files pointing to the real library file. For example:
>
>  lib_sbc_enc_arm11_elinux.so -> lib_sbc_enc_arm11_elinux.so.2.0.0
>  lib_sbc_enc_arm11_elinux.so.2.0.0
>  lib_sbc_enc_arm9_elinux.so -> lib_sbc_enc_arm9_elinux.so.2.0.0
>  lib_sbc_enc_arm9_elinux.so.2.0.0
>
> The patch changed 'cp' to 'install' tool in the 'do_install' function and
> then those symbolic links get lost. See:
>
> 19740 Jan  9 09:57 lib_sbc_enc_arm11_elinux.so
> 19740 Jan  9 09:57 lib_sbc_enc_arm11_elinux.so.2.0.0
> 19736 Jan  9 09:57 lib_sbc_enc_arm9_elinux.so
> 19736 Jan  9 09:57 lib_sbc_enc_arm9_elinux.so.2.0.0
>
> Then the '*.so' files go to the '-dev' package as *files* and not as
> symbolic links and if you install both in your target's rootfs you have
> duplicated files. This doesn't hurt but it doubles the space.

Very good catch! I didn't notice it when checking the package
contents. Good that you found it :-)

> 2. More important
>
> Because the source package has this mix of files with different naming
> rules, there are some missing files in the normal package that went to the
> '-dev' package:
>
> lib_aac_parser_arm11_elinux.so
> lib_bmp_dec_arm11_elinux.so
> lib_deinterlace_arm11_elinux.so
> lib_flac_parser_arm11_elinux.so
> lib_gif_dec_arm11_elinux.so
> lib_id3_parser_arm11_elinux.so
> lib_jpeg_enc_arm11_elinux.so
> lib_mp3_parser_v2_arm11_elinux.so
> libmpeg4_encoder_arm11_ELINUX.so
> lib_png_dec_arm11_elinux.so
> lib_src_ppp_arm11_elinux.so
> lib_wav_parser_arm11_elinux.so
>
> The reason again is that in the source package these files are the real
> libraries but they don't have a ending version in the filename. The build
> system i guess understands that they are the symbolic links that should go
> to the '-dev' package when they shouldn't.
>
> So number #1 is just a matter of saving space, while number #2 is more
> important because later at runtime gstreamer needs some of the missing
> files. I get this error running gst-inspect:
>
> (gst-plugin-scanner:887): GStreamer-WARNING **: Failed to load plugin
> '/usr/lib/gstreamer-0.10/libmfw_gst_deinterlace.so':
> *lib_deinterlace_arm11_elinux.so*: cannot open shared object file: No such
> file or directory

I will fix this as well. Expect a v2 very soon :-)

Regards,

--
Otavio Salvador                             O.S. Systems
E-mail: otavio at ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br



More information about the meta-freescale mailing list