"path must be relative" in filesets is holdover convention from debian packaging, causes grief

Didier Roche didrocks at ubuntu.com
Tue Oct 25 06:21:35 UTC 2016


Le 24/10/2016 à 17:49, Dan Kegel a écrit :
> Hi!
>
> When generating snapcraft.yaml from e.g. CMakeLists.txt for a large project,
> I wanted to exclude some dev files which live at a
> configuration-dependent location, e.g.
>
>     filesets:
>       dev:
>         - - at FOO@/include
>         - - at FOO@/lib/*.a
>         - -usr/share/doc
>
> Can you spot the usability problem?  This fails with the error
>
> path "/opt/foo/include" must be relative
>
> Please, for the love of $deity, don't make the same usability mistake
> debian packaging did.
> Don't make authors add special cases in their script to strip off the
> leading slash of paths.
>
> That is all.  Thank you.

Hey Dan,

Unsure I'm following you there.
You have the parts/<partname>/install directory, which is your target
for your parts installation. All files are there (and DESTDIR is set to
there). It sounds then normal to not rely on absolute path, but only
relative one to reference those, and not $ANYFILE_FROM_YOUR_HOST_SYSTEM,
doesn't it?


Maybe that's my twisted debian packager mindset, but do you mind
providing a real example? If an upstream project ignores DESTDIR and
install directly on system path, this is quite ackward and should be
fixed in other way.
Thoughts?
Didier




More information about the Snapcraft mailing list