I am already doing "after: [mylib-x]". Snapcraft builds correctly mylib-x and stages it. Then snacraft tries to build mylib-y with the valac compiler. The compiler valac looks by default in /usr/share/vala/vapi for a vapi file that is produced by mylib-x. The problem is that that file now is in .../stage/usr/share/vala/vapi. The makefile should add a "--vapidir" flag to the compiler. This was not needed before because I was always installing mylib-x in the host. Now I want to create a snap and I am struggling with this issue. I realize that I don't know how to tell to autotools (in Makefile.am) that it has to add this flag when the package is being built with snapcraft. Maybe I should check DESTDIR, because I see [here https://snapcraft.io/docs/reference/plugins/autotools] that the autotools plugin of snapcraft uses DESTDIR by default as a mean to redirect installation.
But I am afraid that this thing could be a ugly workaround, not very manageable. What do you think? On Wed, Feb 1, 2017 at 10:19 PM, Joe Talbott <[email protected]> wrote: > I think you'll want something along the lines of: > > parts: > mylib-x: > ... > mylib-y: > ... > after: [mylib-x] > > This will include both mylib-x and mylib-y in your snap and ensure > that mylib-x is built before mylib-y is. > > Joe > > On Wed, Feb 1, 2017 at 10:01 AM, Luca Dionisi <[email protected]> wrote: >> On Wed, Feb 1, 2017 at 1:29 PM, Gustavo Niemeyer <[email protected]> >> wrote: >>> Yeah, besides "build-packages" there's also "stage-packages" which does >>> exactly that. >> >> I think you misunderstood. "build-packages" puts a deb package in the >> build host, "stage-packages" puts a deb package in stage. >> But I don't have a deb package of mylib-y. >> I want snapcraft to build both mylib-y and mylib-x, where mylib-x >> depends on mylib-y being installed. >> What I want is snapcraft to put the "install" pieces of the part >> "mylib-y" in the build host too (other than in stage). >> Is that doable? >> Or... wait, are you telling me that I can put the name of another >> "part" in "build-packages" instead of the name of a deb? >> >> >>> On Wed, Feb 1, 2017 at 8:34 AM, Luca Dionisi <[email protected]> wrote: >>>> >>>> This is another solution that I thought of. >>>> I want to put the library mylib-y (the one that is needed by mylib-x) >>>> both in the ./stage tree and in the /usr/ prefix of the host system >>>> where I prepare the snap. >>>> Is there a way to tell snapcraft to do so? >>>> It should be similar to the way one can use 'build-packages' to >>>> install deb packages on the build host. >>>> >>>> --Luca >> >> -- >> Snapcraft mailing list >> [email protected] >> Modify settings or unsubscribe at: >> https://lists.ubuntu.com/mailman/listinfo/snapcraft > > -- > Snapcraft mailing list > [email protected] > Modify settings or unsubscribe at: > https://lists.ubuntu.com/mailman/listinfo/snapcraft -- Snapcraft mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/snapcraft
