snapcraft conda plug-in?
Bill Janssen
janssen at parc.com
Wed Jun 15 19:49:17 UTC 2016
I've got a big package, multiple programs, that I assemble in one
directory under /opt/goodstuff, using conda as the packaging system --
the goodstuff directory tree is a conda 'env'. It seems that this
should be easy to re-package as a snap. However, conda does a few
things that have to be changed, or undone, for snap:
1) It mungs shebangs; that is, a header like "#!/usr/bin/env python"
gets changed to "#!/opt/goodstuff/bin/python". I think that would
have to be undone; what snapcraft stage should that occur in?
2) It symlinks in some of the binaries; for example,
/opt/goodstuff/bin/conda is a symlink to /opt/conda/bin/conda. Those
would have to be reified (copied), perhaps in the "pull" stage?
3) It rewrites RPATH on some platforms (OS X), but perhaps not on
Linux, I'll have to check. That should be redone to accord with snap.
4) It's not a completely clean package. There are some dependencies,
like "python-dbus", that are hard to build, and therefore installed
via apt-get.
Seems to me that the way to this is with a conda plug-in for snapcraft
that would take a conda env and package it; "copy" with fixes for conda.
Any suggestions about this? What would be a good plug-in to use as a
template?
Bill
More information about the Snapcraft
mailing list