all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* ‘guix pack’ & entry point
@ 2017-09-28 14:47 Ludovic Courtès
  2017-09-29  8:40 ` Vincent Legoll
  2017-09-29  9:58 ` Ricardo Wurmus
  0 siblings, 2 replies; 4+ messages in thread
From: Ludovic Courtès @ 2017-09-28 14:47 UTC (permalink / raw)
  To: guix-devel

Hello Guix!

Things like the Docker image format¹ that ‘guix pack’ can produce have a
notion of an “entry point”.  The entry point is an executable that is
invoked when one runs “docker run” (I think) without any argument.

Currently ‘guix pack’ doesn’t specify an entry point, but perhaps it
should?  That would make it easier to “run” a pack.

If it did, what should the UI look like?  Should it be:

  guix pack -f docker --entry-point=bin/lstopo hwloc

which would mean that the entry point is ‘bin/lstopo’ in the profile.  I
suppose it would be too inflexible in practice, because people might
want to run programs that are not part of a package.

Then, should it be:

  guix pack -f docker --entry-point=./entry-point.sh hwloc

where ‘entry-point.sh’ would be added to the store?  The entry point
would probably have to be executed after etc/profile has been sourced.

Internally, at the API level, the entry point should probably be a
gexp.  That would make it easy to embark GuixSD if needed.

Thoughts?

Bonus: what would the tarball backend do with the entry point?  Ignore it?

Ludo’.

¹ https://github.com/moby/moby/blob/master/image/spec/v1.2.md

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-09-29 11:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-28 14:47 ‘guix pack’ & entry point Ludovic Courtès
2017-09-29  8:40 ` Vincent Legoll
2017-09-29  9:58 ` Ricardo Wurmus
2017-09-29 11:58   ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.