GNU bug report logs - #30572
[PATCH 0/7] Add "guix system docker-image" command

Previous Next

Package: guix-patches;

Reported by: Chris Marusich <cmmarusich <at> gmail.com>

Date: Thu, 22 Feb 2018 10:31:02 UTC

Severity: normal

Tags: patch

Done: Chris Marusich <cmmarusich <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Chris Marusich <cmmarusich <at> gmail.com>
Subject: bug#30572: closed (Re: [bug#30572] [PATCH 2/7] tests: Add tests
 for "guix pack".)
Date: Sat, 24 Mar 2018 02:06:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#30572: [PATCH 0/7] Add "guix system docker-image" command

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 30572 <at> debbugs.gnu.org.

-- 
30572: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30572
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Chris Marusich <cmmarusich <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès), Danny Milosavljevic
 <dannym <at> scratchpost.org>
Cc: 30572-done <at> debbugs.gnu.org
Subject: Re: [bug#30572] [PATCH 2/7] tests: Add tests for "guix pack".
Date: Sat, 24 Mar 2018 03:05:31 +0100
[Message part 3 (text/plain, inline)]
Hi Ludo and Danny,

I've committed this patch set to master
(8e88f6fa8236a1fe66912957ecacae348355ec15 is the last commit in the
series)!  I'll watch Hydra to make sure it doesn't cause any unexpected
breakage.

ludo <at> gnu.org (Ludovic Courtès) writes:

>> +if is_available chroot && is_available unshare; then
>> +    # Verify we can extract and use it.
>> +    test_directory="`mktemp -d`"
>> +    trap 'rm -rf "$test_directory"' EXIT
>> +    cd "$test_directory"
>> +    tar -xf "$the_pack"
>> +    unshare -r chroot . /opt/gnu/bin/guile --version
>> +    cd -
>> +else
>> +    echo "warning: skipping pack verification because chroot or unshare is unavailable" >&2
>> +fi
>
> I just realized we could unconditionally extra the pack, do
>
>   test -x "$test_directory/opt/gnu/bin/guile"
>
> and keep only the ‘unshare’ bit in the conditional.
>
> But I’m nitpicking, please push, with or without this change!  :-)

That's a good idea.  I've included that improvement in my changes.

> Thanks for your patience,

Thank you and Danny for taking the time to review this patch series!
Your feedback definitely helped make the code better.

Now I just need to go write a blog post... :-)

-- 
Chris
[signature.asc (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
From: Chris Marusich <cmmarusich <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Chris Marusich <cmmarusich <at> gmail.com>
Subject: [PATCH 0/7] Add "guix system docker-image" command
Date: Thu, 22 Feb 2018 11:29:33 +0100
Hi,

This patch series adds a new command: "guix system docker-image".  I
have the following questions for reviewers:

* In raw-initrd and base-initrd (gnu/system/linux-initrd.scm), why is
  %guile-static-stripped the right Guile to use by default?

* Instead of passing a Guile package to raw-initrd and base-initrd,
  would it be better to use a parameter (e.g., %guile-for-initrd),
  like we do for %guile-for-build?

* In system-docker-image (gnu/system/vm.scm), why is it necessary to
  define a custom (guix config) module?  I copied some of the logic
  from docker-image (guix/scripts/pack.scm), and it works, but I do
  not understand this part.

* Similarly, in gnu/system/vm.scm, why do we autoload libgcrypt?  I do
  not understand why we cannot simply #:use-module (gnu packages
  gnupg) like we do with all the other modules here.

* Similarly, in gnu/system/vm.scm, why do we use (ungexp-native json)?
  In the code, this is #+json and it occurs close to the comment
  "Guile-JSON is required by (guix docker)."

* Similarly, in gnu/system/vm.scm, there is a vestigial comment which
  says "This variable is unused but allows us to add INPUTS-TO-COPY as
  inputs" - this comment actually occurs in multiple places, not just
  the code I've added.  I think it refers to a variable that no longer
  exists, and I think that my variable to-register serves the intended
  purpose now, which is: add os-drv's inputs to the inputs of the gexp
  I'm building, so that they will be available on the build side.  So
  I'm thinking maybe we should just change this comment to say
  something more like that.  WDYT?

I have verified that this change builds and its tests pass.  I am
using it to run my very own Docker image today.  I hope you find it
useful, too!

Chris Marusich (7):
  tests: Add tests for "guix pack".
  vm: Allow control of deduplication in root-partition-initializer.
  system: Allow customization of the initrd's Guile.
  docker: Allow the use of a custom temporary directory.
  docker: Allow the addition of extra files into the image.
  system: Add "guix system docker-image" command.
  tests: Add tests for "guix system disk-image" et al.

 Makefile.am                           |   1 +
 doc/guix.texi                         |  74 ++++++++++++++++------
 gnu/build/vm.scm                      |  12 ++--
 gnu/system/examples/docker-image.tmpl |  47 ++++++++++++++
 gnu/system/linux-initrd.scm           |  31 ++++++---
 gnu/system/vm.scm                     | 116 ++++++++++++++++++++++++++++++++++
 guix/docker.scm                       |  29 +++++++--
 guix/scripts/system.scm               |  10 ++-
 tests/guix-pack.sh                    |  43 +++++++++++++
 tests/guix-system.sh                  |  13 ++++
 10 files changed, 333 insertions(+), 43 deletions(-)
 create mode 100644 gnu/system/examples/docker-image.tmpl
 create mode 100644 tests/guix-pack.sh

-- 
2.15.1




This bug report was last modified 7 years and 116 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.