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