Hi,

2018-02-02 16:46 GMT+01:00 Michael Olbrich <m.olbr...@pengutronix.de>:

> Hi,
>
> On Fri, Feb 02, 2018 at 11:59:03AM +0100, Guillermo Rodriguez Garcia wrote:
> > I am trying to create a ptxdist package for mediastreamer2. By default,
> > releases come without a configure script, and with an autogen.sh that
> > requires intltoolize.
> >
> > So I first tried the following:
> >
> > In mediastreamer2.in:
> >
> > select HOST_INTLTOOL
> >
> > In mediasteamer2.make:
> >
> > $(STATEDIR)/mediastreamer2.extract:
> > @$(call targetinfo)
> > @$(call clean, $(MEDIASTREAMER2_DIR))
> > @$(call extract, MEDIASTREAMER2)
> > cd $(MEDIASTREAMER2_DIR) && [ -f configure ] || sh autogen.sh
> > @$(call patchin, MEDIASTREAMER2)
> > @$(call touch)
> >
> > However, this does not work because apparently ptxdist resolves
> > dependencies after the extract stage, so when autogen.sh is run, the
> > host-intltool package has not been installed yet.
> >
> > So I tried to run autogen.sh from the extract.post stage instead:
> >
> > $(STATEDIR)/mediastreamer2.extract.post:
> > @$(call targetinfo)
> > cd $(MEDIASTREAMER2_DIR) && [ -f configure ] || sh autogen.sh
>
> I'm guessing you got that from the latest src-autoconf template. This is
> still broken. It's missing the actual extract.post command:
>

No, I actually made that up myself, based on the documentation. The manual
mentions [1] that extract.post is a good place to "generate a configure
script out of an autotoolized configure.ac file for example", so that's
what I tried. Also the manual does not document any default rule when
extract.post is omitted (whereas it does so for other stages). So I didn't
know that I had to call world/patchin/post from my custom extract.post rule.

 [1]:
https://ptxdist.org/doc/ref_manual.html#extract-post-stage-default-rule


>
>          @$(call world/patchin/post, @PACKAGE@)
>
> > @$(call touch)
> >
> > This way, host-intltool is installed before autogen.sh is run, so that
> part
> > work. But this creates other problems: The install stage fails when
> trying
> > to relink some libraries.
> >
> > What is the proper way to do this?
>
> The template whre you got this from is for packages where the source is
> part of your BSP. I don't think this is the case for mediasteamer2. You
> should use the 'target' new-package template.
>
> For most packages the tarball contains the configure script. In that case
> nothing special need to happen. If the configure script is missing, then
> you need to create a autogen.sh link.
> e.g. like the libyaml package in PTXdist does this with
> patches/libyaml-0.1.7/autogen.sh.
>

Actually the mediastreamer2 package comes with its own autogen.sh script.
That's why I am running

cd $(MEDIASTREAMER2_DIR) && [ -f configure ] || sh autogen.sh

Is that correct? I guess that if there's an autogen.sh script in the
package, that should normally be used in preference to the generic ptxdist
version. Right?

Thanks,

Guillermo
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to