Hi, 2018-02-02 16:46 GMT+01:00 Michael Olbrich : > 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