From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludovic.courtes@inria.fr (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: =?utf-8?B?4oCYZ3VpeCBwYWNr4oCZ?= & entry point Date: Thu, 28 Sep 2017 16:47:09 +0200 Message-ID: <87a81eric2.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55220) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxa5u-0007yS-G1 for guix-devel@gnu.org; Thu, 28 Sep 2017 10:47:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxa5p-0002aH-0q for guix-devel@gnu.org; Thu, 28 Sep 2017 10:47:18 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:22173) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dxa5o-0002Z6-L9 for guix-devel@gnu.org; Thu, 28 Sep 2017 10:47:12 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel Hello Guix! Things like the Docker image format=C2=B9 that =E2=80=98guix pack=E2=80=99 = can produce have a notion of an =E2=80=9Centry point=E2=80=9D. The entry point is an executab= le that is invoked when one runs =E2=80=9Cdocker run=E2=80=9D (I think) without any ar= gument. Currently =E2=80=98guix pack=E2=80=99 doesn=E2=80=99t specify an entry poin= t, but perhaps it should? That would make it easier to =E2=80=9Crun=E2=80=9D a pack. If it did, what should the UI look like? Should it be: guix pack -f docker --entry-point=3Dbin/lstopo hwloc which would mean that the entry point is =E2=80=98bin/lstopo=E2=80=99 in th= e 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=3D./entry-point.sh hwloc where =E2=80=98entry-point.sh=E2=80=99 would be added to the store? The en= try 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=E2=80=99. =C2=B9 https://github.com/moby/moby/blob/master/image/spec/v1.2.md