diff mbox

[3/4] libfslparser: add install hooks to fix libraries path

Message ID 1446149212-12048-4-git-send-email-gary.bisson@boundarydevices.com
State Superseded
Headers show

Commit Message

Gary Bisson Oct. 29, 2015, 8:06 p.m. UTC
By default, all the libraries are installed under /usr/lib/imx-mm which
causes problems at runtime.

This has been tested implicitely by running Gstreamer without any special
setup (no ld.so.conf nor LD_LIBRARY_PATH modification):
 # gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm
 # gst-launch-0.10 audiotestsrc ! mfw_mp3encoder ! fakesink

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---

I'm actually not sure if libfslparser is needed at all. I couldn't find
a library depending on any of the one from the package. But Yocto still has
depency on the package for gst-fsl-plugins:
https://github.com/Freescale/meta-fsl-arm/blob/fido/recipes-multimedia/gstreamer/gst-fsl-plugin.inc#L9

Regards,
Gary

---
 package/libfslparser/libfslparser.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Jérôme Pouiller Oct. 30, 2015, 10:27 a.m. UTC | #1
Hello Garry,

On Thursday 29 October 2015 21:06:51 Gary Bisson wrote:
[...]
> b/package/libfslparser/libfslparser.mk index 2b53d62..aa02f19 100644
> --- a/package/libfslparser/libfslparser.mk
> +++ b/package/libfslparser/libfslparser.mk
> @@ -20,4 +20,12 @@ endef
> # The Makefile installs several versions of the libraries, but we only 
> # need one of them, depending on the platform.
> 
> +# no need to symlink in target image, just move libraries around
> +define LIBFSLPARSER_FIXUP_TARGET_PATH
> +	find $(TARGET_DIR)/usr/lib/imx-mm -mindepth 2 -maxdepth 2 -not -type d \ 
> +		-exec mv {} $(TARGET_DIR)/usr/lib \;
> +	rm -fr $(TARGET_DIR)/usr/lib/imx-mm
> +endef
> +LIBFSLPARSER_POST_INSTALL_TARGET_HOOKS += LIBFSLPARSER_FIXUP_TARGET_PATH 
A POST_INSTALL_STAGING_HOOKS is not necessary for libfslparser?


Regards,
Gary Bisson Oct. 30, 2015, 10:36 a.m. UTC | #2
Hi Jerome,

On Fri, Oct 30, 2015 at 11:27 AM, Jérôme Pouiller <jezz@sysmic.org> wrote:
>
> Hello Garry,
>
> On Thursday 29 October 2015 21:06:51 Gary Bisson wrote:
> [...]
> > b/package/libfslparser/libfslparser.mk index 2b53d62..aa02f19 100644
> > --- a/package/libfslparser/libfslparser.mk
> > +++ b/package/libfslparser/libfslparser.mk
> > @@ -20,4 +20,12 @@ endef
> > # The Makefile installs several versions of the libraries, but we only
> > # need one of them, depending on the platform.
> >
> > +# no need to symlink in target image, just move libraries around
> > +define LIBFSLPARSER_FIXUP_TARGET_PATH
> > +     find $(TARGET_DIR)/usr/lib/imx-mm -mindepth 2 -maxdepth 2 -not -type d \
> > +             -exec mv {} $(TARGET_DIR)/usr/lib \;
> > +     rm -fr $(TARGET_DIR)/usr/lib/imx-mm
> > +endef
> > +LIBFSLPARSER_POST_INSTALL_TARGET_HOOKS += LIBFSLPARSER_FIXUP_TARGET_PATH
> A POST_INSTALL_STAGING_HOOKS is not necessary for libfslparser?

No, libfslparser is only needed by gst-fsl-plugins which looks for the
libs at the right location at build time (usr/lib/imx-mm).

The staging hook is needed for libfslcodec since it is used by both
gst-fsl-plugins and gst1-imx (not looking at the imx-mm path at build
time).

Although it might have been more consistent to have the staging hook
in both, I chose to reduce the patch as much as possible. Plus I'm not
sure people will like my symlink approach in the staging directory.

Regards,
Gary
Jérôme Pouiller Oct. 30, 2015, 10:43 a.m. UTC | #3
On Friday 30 October 2015 11:36:21 Gary Bisson wrote:
> Hi Jerome,
> 
> On Fri, Oct 30, 2015 at 11:27 AM, Jérôme Pouiller <jezz@sysmic.org> 
wrote:
[...]
> > A POST_INSTALL_STAGING_HOOKS is not necessary for libfslparser?
> 
> No, libfslparser is only needed by gst-fsl-plugins which looks for the
> libs at the right location at build time (usr/lib/imx-mm).
> 
> The staging hook is needed for libfslcodec since it is used by both
> gst-fsl-plugins and gst1-imx (not looking at the imx-mm path at build
> time).
> 
> Although it might have been more consistent to have the staging hook
> in both, I chose to reduce the patch as much as possible. Plus I'm not
> sure people will like my symlink approach in the staging directory.
IMHO, target/ should be a subset of staging/ (even if today, this is far 
from  the case). So, I would prefer to also create symlinks in staging/.


Regards,
Gary Bisson Nov. 8, 2015, 4:08 p.m. UTC | #4
Hi Jérôme,

On Fri, Oct 30, 2015 at 11:43 AM, Jérôme Pouiller <jezz@sysmic.org> wrote:
> On Friday 30 October 2015 11:36:21 Gary Bisson wrote:
>> Hi Jerome,
>>
>> On Fri, Oct 30, 2015 at 11:27 AM, Jérôme Pouiller <jezz@sysmic.org>
> wrote:
> [...]
>> > A POST_INSTALL_STAGING_HOOKS is not necessary for libfslparser?
>>
>> No, libfslparser is only needed by gst-fsl-plugins which looks for the
>> libs at the right location at build time (usr/lib/imx-mm).
>>
>> The staging hook is needed for libfslcodec since it is used by both
>> gst-fsl-plugins and gst1-imx (not looking at the imx-mm path at build
>> time).
>>
>> Although it might have been more consistent to have the staging hook
>> in both, I chose to reduce the patch as much as possible. Plus I'm not
>> sure people will like my symlink approach in the staging directory.
> IMHO, target/ should be a subset of staging/ (even if today, this is far
> from  the case). So, I would prefer to also create symlinks in staging/.

So I'm ok with adding the symlinks to the fslparser staging as well.
But if we'd really like to have target as a subset of staging,
shouldn't we use symlinks for the target too?

Regards,
Gary
Jérôme Pouiller Nov. 9, 2015, 8:43 a.m. UTC | #5
On Sunday 08 November 2015 17:08:43 Gary Bisson wrote:
> Hi Jérôme,
> 
> On Fri, Oct 30, 2015 at 11:43 AM, Jérôme Pouiller <jezz@sysmic.org> 
wrote:
> > On Friday 30 October 2015 11:36:21 Gary Bisson wrote:
[...]
> >> Although it might have been more consistent to have the staging
> >> hook
> >> in both, I chose to reduce the patch as much as possible. Plus I'm
> >> not sure people will like my symlink approach in the staging
> >> directory.> 
> > IMHO, target/ should be a subset of staging/ (even if today, this is
> > far from  the case). So, I would prefer to also create symlinks in
> > staging/.
> So I'm ok with adding the symlinks to the fslparser staging as well.
> But if we'd really like to have target as a subset of staging,
> shouldn't we use symlinks for the target too?

Sure, I am in favor to use symlinks for target/ also.


BR,
diff mbox

Patch

diff --git a/package/libfslparser/libfslparser.mk b/package/libfslparser/libfslparser.mk
index 2b53d62..aa02f19 100644
--- a/package/libfslparser/libfslparser.mk
+++ b/package/libfslparser/libfslparser.mk
@@ -20,4 +20,12 @@  endef
 # The Makefile installs several versions of the libraries, but we only
 # need one of them, depending on the platform.
 
+# no need to symlink in target image, just move libraries around
+define LIBFSLPARSER_FIXUP_TARGET_PATH
+	find $(TARGET_DIR)/usr/lib/imx-mm -mindepth 2 -maxdepth 2 -not -type d \
+		-exec mv {} $(TARGET_DIR)/usr/lib \;
+	rm -fr $(TARGET_DIR)/usr/lib/imx-mm
+endef
+LIBFSLPARSER_POST_INSTALL_TARGET_HOOKS += LIBFSLPARSER_FIXUP_TARGET_PATH
+
 $(eval $(autotools-package))