[PATCH] build: Use "GUIXSD" as root label.

  • Done
  • quality assurance status badge
Details
3 participants
  • Danny Milosavljevic
  • Leo Famulari
  • Ludovic Courtès
Owner
unassigned
Submitted by
Danny Milosavljevic
Severity
normal

Debbugs page

Danny Milosavljevic wrote 8 years ago
(address . guix-patches@gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20170628213841.28774-1-dannym@scratchpost.org
* gnu/build/vm.scm (initialize-hard-disk): Make grub search for label "GUIXSD".
* gnu/system/install.scm (installation-os): Set filesystem root label to "GUIXSD".
* gnu/system/vm.scm (system-disk-image): Set filesystem root label to "GUIXSD".
---
gnu/build/vm.scm | 2 +-
gnu/system/install.scm | 2 +-
gnu/system/vm.scm | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 57619764c..6b91e767f 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -398,7 +398,7 @@ passing it a directory name where it is mounted."
(lambda (port)
(format port
"insmod part_msdos~@
- search --set=root --label gnu-disk-image~@
+ search --set=root --label GUIXSD~@
configfile /boot/grub/grub.cfg~%")))
(display "creating EFI firmware image...")
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 0a78d030d..24c736304 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -300,7 +300,7 @@ Use Alt-F2 for documentation.
;; the appropriate one.
(cons* (file-system
(mount-point "/")
- (device "gnu-disk-image")
+ (device "GUIXSD")
(title 'label)
(type "ext4"))
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 392737d07..6fae999ef 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -282,7 +282,7 @@ to USB sticks meant to be read-only."
;; Volume name of the root file system. Since we don't know which device
;; will hold it, we use the volume name to find it (using the UUID would
;; be even better, but somewhat less convenient.)
- "gnu-disk-image")
+ "GUIXSD")
(define file-systems-to-keep
(remove (lambda (fs)
Leo Famulari wrote 8 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 27520@debbugs.gnu.org)
20170628220117.GA15943@jasmine.lan
Hi!

On Wed, Jun 28, 2017 at 11:38:41PM +0200, Danny Milosavljevic wrote:
Toggle quote (4 lines)
> * gnu/build/vm.scm (initialize-hard-disk): Make grub search for label "GUIXSD".
> * gnu/system/install.scm (installation-os): Set filesystem root label to "GUIXSD".
> * gnu/system/vm.scm (system-disk-image): Set filesystem root label to "GUIXSD".

I assume there is some reason for this change, but I'm not sure what it
is. Can you tell us? :)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAllUJy0ACgkQJkb6MLrK
fwgdaBAA0fxldoTLXbB6G4TtInMcuAHNEr9vJ4nocmweN/DRC2kJHGZyUr49LO9c
REDjv5V5yWpWbkQgZKICfTsC+PZWZ3S4nWqc8HbGJcpkdvEpXD9pewQoZlU8X6zT
NcqnOvaMzWiMDlnL266szKLOQaqXJP6vOqpsyetvt5vjb1mdohRLbMmQuvKPfzNd
k9zdstx9nXAOzPdDfwbKrOuq9mn4/OPNz+Rc42mZshYbDdUX8i4MnwC5I/31/4YT
hWnMGo5Ib/GrogTAJrl53QbBks0F6c2R6uqDurFvKL6V2LrLkNzyKKWIPTv3E+KQ
htPK/0xfGlIRTU6Ewuf5a16TO7pVToebYAUQZUfjWmiXhumfbfzynR1hIGoJrjQ1
UDD0uPsIUJclLDdoobh2+SAyRHjlFWQehEVcwM0F1foGvFmfiNmKd0e7PT9m07PU
8FQt3ZXq5nB79PMRvz5xoVr2avTBFO9bONcIYH0HPe9hw5mqi8+zO7TBkq3xvjbD
z7O9yQuedvsSo3rxQyg54bz0vSRKoiR70eBNnsde4lP8ZuiEYj4RYIfu4DGRqjJx
nzLgm+TdRKz/o5qOjDNLtIWz9BgYD26/ULRoFnFilwzugoJkkQtMZYHX31Y0WTSG
vOI62ScQKQpNUfLMVWXcWjN3a8pBv8YBHJgcLGRpCZWxm2W5Tfo=
=j+mA
-----END PGP SIGNATURE-----


Danny Milosavljevic wrote 8 years ago
(name . Leo Famulari)(address . leo@famulari.name)(address . 27520@debbugs.gnu.org)
20170629001701.26b5f427@scratchpost.org
Hi Leo,

On Wed, 28 Jun 2017 18:01:17 -0400
Leo Famulari <leo@famulari.name> wrote:

Toggle quote (8 lines)
> On Wed, Jun 28, 2017 at 11:38:41PM +0200, Danny Milosavljevic wrote:
> > * gnu/build/vm.scm (initialize-hard-disk): Make grub search for label "GUIXSD".
> > * gnu/system/install.scm (installation-os): Set filesystem root label to "GUIXSD".
> > * gnu/system/vm.scm (system-disk-image): Set filesystem root label to "GUIXSD".
>
> I assume there is some reason for this change, but I'm not sure what it
> is. Can you tell us? :)

ISO9660 support. The iso9660 volume label only supports uppercase letters and underscore. While I was at it I removed the "-image" suffix because it's an implementation detail and it's really not an image once it's burned to a real CD / written to a real USB stick etc. Then I removed the "-disk" suffix because volume labels are not on a disk but on individual partitions. Then it was just "gnu" and I thought that was too generic. So here we are :-)
Leo Famulari wrote 8 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 27520@debbugs.gnu.org)
20170628224709.GA30324@jasmine.lan
On Thu, Jun 29, 2017 at 12:17:01AM +0200, Danny Milosavljevic wrote:
Toggle quote (21 lines)
> Hi Leo,
>
> On Wed, 28 Jun 2017 18:01:17 -0400
> Leo Famulari <leo@famulari.name> wrote:
>
> > On Wed, Jun 28, 2017 at 11:38:41PM +0200, Danny Milosavljevic wrote:
> > > * gnu/build/vm.scm (initialize-hard-disk): Make grub search for label "GUIXSD".
> > > * gnu/system/install.scm (installation-os): Set filesystem root label to "GUIXSD".
> > > * gnu/system/vm.scm (system-disk-image): Set filesystem root label to "GUIXSD".
> >
> > I assume there is some reason for this change, but I'm not sure what it
> > is. Can you tell us? :)
>
> ISO9660 support. The iso9660 volume label only supports uppercase
> letters and underscore. While I was at it I removed the "-image"
> suffix because it's an implementation detail and it's really not an
> image once it's burned to a real CD / written to a real USB stick etc.
> Then I removed the "-disk" suffix because volume labels are not on a
> disk but on individual partitions. Then it was just "gnu" and I
> thought that was too generic. So here we are :-)

Good story :)

And ISO9660 requires uppercase letters?
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAllUMeEACgkQJkb6MLrK
fwhOhg/9FEWMQj5+Wp38DEAUyvbTwCE4UOj2EACBNMHJ2BMeDRtmbapD/ei4UjwT
LeUZ/RiiGCNgWzUkq3A1KaqLWZwYDIXXwmgPuKvHgBaC+3CFKCfYCq5rtJCHhQCO
CoWqwOv4SjSm3zjnr1eOI6YyYgidyUxAVX6eIJZZ9E5iB9uIqT2nnCneTHnN/ld0
9+DLiLb3lzWxM6u//EONqkFcNLmOsGN9fCiuX99KBQE82dNqhjXTtBVqIzIvbAl5
YoCbSHgiHjbBeK93aoMisjbBmr869rrxLU4aiv9pNK5HtWDgE0VESMjN6wCbczV5
/cRwMroEZaiNghK4qnL7yOGPvhD+F6Tk4NkQahGJE7Xsue9XYFWU1fiYf7QH+nqI
z0Lt5U2b2ZTELEA3Hx8zTh+pL6KinQFS90/ZZMhIb7yyewtrs/S5CPB9cg1gHI8w
Z+oPG4QrtaOTtI7jWKeXdl/KO9bkV5GU0GIHLSgYpa2k3yMgmeaYx/5JkKlz4EDC
c+U5ch1OOgqs/vFdyq/vlLsghFTNOeGsDbWUNz7LPklYIdcB72hMVh43h/ox3tQ7
jllTk+bZBptlrxx0A9DikgVuQSdn1lH1aSNdpHNpK67GPPSHC2XUHCAK/SW+jmA1
dkz/fdis/dvMimFhSCOEXci3YodSMsTfxFwyb/HJWzUnMRRpknA=
=8CtM
-----END PGP SIGNATURE-----


Danny Milosavljevic wrote 8 years ago
(name . Leo Famulari)(address . leo@famulari.name)(address . 27520@debbugs.gnu.org)
20170629015414.521e7f0c@scratchpost.org
Toggle quote (2 lines)
> And ISO9660 requires uppercase letters?

If we don't support special extensions (Rock Ridge, Joliet etc), yes. And we don't support them right now.
Ludovic Courtès wrote 8 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
878tkalqdg.fsf@gnu.org
Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (4 lines)
>> And ISO9660 requires uppercase letters?
>
> If we don't support special extensions (Rock Ridge, Joliet etc), yes. And we don't support them right now.

So what about literally “GuixSD” and then using ‘string-upcase’ in the
ISO9660 code? That would avoid the all-caps style on all the other file
systems, which is a good thing.

Otherwise LGTM.

Ludo’, happy to discuss the bikeshed spelling. :-)
Danny Milosavljevic wrote 8 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)
20170702120557.07355db9@scratchpost.org
Hi Ludo,

On Thu, 29 Jun 2017 18:18:03 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

Toggle quote (4 lines)
> So what about literally “GuixSD” and then using ‘string-upcase’ in the
> ISO9660 code? That would avoid the all-caps style on all the other file
> systems, which is a good thing.

As the code is written, it would be best and least confusing if gnu/build/file-systems.scm partition-label-predicate then just said

(define partition-label-predicate
(partition-predicate read-partition-label string-ci=?))

instead of

(define partition-label-predicate
(partition-predicate read-partition-label string=?))

, i.e. if it was done for all the filesystems.

Other alternatives are
- Implementing support for the Joliet extension just to get get lowercase letters on CDs
- Ignoring the problem and putting the lowercase letters in the primary volume name on CD anyway, using ISO-9660. After all it's just forbidden, not impossible.

I personally favor just actually using all uppercase letters as the label. Everything else makes it just needlessly complicated.

That said, the right fix would be to use the UUID instead of the label for finding the root filesystem. Using the label isn't really safe anyway - whereas a random UUID should be preeeeeeetty safe.

I'm testing passing the UUID now. Let's see...
Danny Milosavljevic wrote 8 years ago
Booting by UUID - UUID types and bootloader
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 27520@debbugs.gnu.org)
20170702192536.536672d3@scratchpost.org
Hi Ludo,

Toggle quote (4 lines)
> That said, the right fix would be to use the UUID instead of the label for finding the root filesystem. Using the label isn't really safe anyway - whereas a random UUID should be preeeeeeetty safe.
>
> I'm testing passing the UUID now. Let's see...

Doesn't work.

The main reason is that the root-device stored into "/gnu/store/*system*/parameters" for UUIDs is (sometimes) a bytevector. That means that if it is then later on we won't know what kind of uuid it is - and gnu/system.scm operating-system-bootcfg will just use uuid->string (in order to add it to argv) and it will break.

Also, gnu/bootloader/grub.scm grub-root-search assumes the UUID is a non-iso9660 UUID and thus grub will be very confused. Also, it doesn't (and shouldn't need to) know the root filesystem type either - that means that it can't select the right kind of UUID. We get a warning about it on bootup (after a long time) but it still tries to boot to the kernel successfully.

read-boot-parameters-file also converts bytevector UUIDs (read from disk, file "parameters") to string UUIDs (using uuid->string, so no support for ISO9660 or FAT) and uses those in order to build up the kernel argument list "--root=" and so on. It doesn't (and shouldn't need to) know the filesystem type.

(There are more places where I added a special-case for iso9660 UUIDs - I can dig them up from my git repo clone)

I would like to ask again that we just store UUIDs as strings and stop this. If we want to verify UUIDs, we can verify them as strings. We can even distinguish UUID types then.

We could just have string->*-uuid do the verification but then return the string after all. uuid->string could be a no-op. And the uuid readers could return the readable representation in the first place.


Or, alternatively, we could add a uuid type field as the first byte of the bytevector (making them longer by 1 Byte). That way, we would intrinsically know which kind of UUID it is. That would still mean that the user would have to specify which it is by calling string->...-uuid - and that we'd have to adapt the on-disk "parameters" format - but I think it would work fine and not suck. uuid->string would then just do the right thing depending on the first Byte.

The latter alternative would mean that the user has to know what kind of uuid it is - and what kind of filesystem it is. Not so with the former alternative.
Ludovic Courtès wrote 8 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 27520@debbugs.gnu.org)
87efty62ls.fsf@gnu.org
Hi Danny,

Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (27 lines)
>> That said, the right fix would be to use the UUID instead of the
>> label for finding the root filesystem. Using the label isn't really
>> safe anyway - whereas a random UUID should be preeeeeeetty safe.
>>
>> I'm testing passing the UUID now. Let's see...
>
> Doesn't work.
>
> The main reason is that the root-device stored into
> "/gnu/store/*system*/parameters" for UUIDs is (sometimes) a
> bytevector. That means that if it is then later on we won't know what
> kind of uuid it is - and gnu/system.scm operating-system-bootcfg will
> just use uuid->string (in order to add it to argv) and it will break.
>
> Also, gnu/bootloader/grub.scm grub-root-search assumes the UUID is a
> non-iso9660 UUID and thus grub will be very confused. Also, it
> doesn't (and shouldn't need to) know the root filesystem type either -
> that means that it can't select the right kind of UUID. We get a
> warning about it on bootup (after a long time) but it still tries to
> boot to the kernel successfully.
>
> read-boot-parameters-file also converts bytevector UUIDs (read from
> disk, file "parameters") to string UUIDs (using uuid->string, so no
> support for ISO9660 or FAT) and uses those in order to build up the
> kernel argument list "--root=" and so on. It doesn't (and shouldn't
> need to) know the filesystem type.

The good thing is that ‘find-partition-by-uuid’ takes a bytevector and
just looks up a partition with that UUID, no matter if it’s a DCE UUID
or something else.

The problem comes as soon as we want to convert it to a string, as is
the case with --root.

For --root (the 2 occurrences of ‘uuid->string’ in (gnu system)), we
could convert it the UUID to a base16/base32/base64 string. That would
be good enough and wouldn’t require a specialized ‘string->*-uuid’ to
parse it. We’d just need, say, a “uuid:” prefix to distinguish it from
a label, but that should be about it.

WDYT?

Toggle quote (22 lines)
> I would like to ask again that we just store UUIDs as strings and stop
> this. If we want to verify UUIDs, we can verify them as strings. We
> can even distinguish UUID types then.
>
> We could just have string->*-uuid do the verification but then return
> the string after all. uuid->string could be a no-op. And the uuid
> readers could return the readable representation in the first place.
>
>
> Or, alternatively, we could add a uuid type field as the first byte of
> the bytevector (making them longer by 1 Byte). That way, we would
> intrinsically know which kind of UUID it is. That would still mean
> that the user would have to specify which it is by calling
> string->...-uuid - and that we'd have to adapt the on-disk
> "parameters" format - but I think it would work fine and not suck.
> uuid->string would then just do the right thing depending on the first
> Byte.
>
> The latter alternative would mean that the user has to know what kind
> of uuid it is - and what kind of filesystem it is. Not so with the
> former alternative.

As a last resort, we could indeed have:

(define-record-type <uuid>
(make-uuid type bytes)
uuid?
(type uuid-type) ;'dce, 'vfat, etc.
(bytes uuid-bytes)) ;bytevector

Then ‘uuid->string’ would always know what external representation; it
would simply dispatch to one of the other *-uuid->string procedures.

But, if possible, I think it’s simpler to always keep bytevectors
everywhere.

Why bytevectors are not strings? Because then we keep the bytes, which
is all that matters, while avoiding all the shenanigans associated with
producing and parsing UUID strings, each with its own syntax.

WDYT?

Ludo’.
Danny Milosavljevic wrote 8 years ago
[PATCH v2] build, vm: Use "GuixSD" or "GUIXSD" as volume label.
(address . 27520@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20170710030440.4282-1-dannym@scratchpost.org
* gnu/build/vm.scm (initialize-hard-disk): Use "GuixSD" as label.
* gnu/system/install.scm (installation-os): Use "GuixSD" as label.
* gnu/system/vm.scm (system-disk-image): Use "GuixSD" or "GUIXSD" as volume
label.
---
gnu/build/vm.scm | 2 +-
gnu/system/install.scm | 2 +-
gnu/system/vm.scm | 8 +++++++-
3 files changed, 9 insertions(+), 3 deletions(-)

Toggle diff (49 lines)
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index e631e5a83..2d41c5756 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -431,7 +431,7 @@ passing it a directory name where it is mounted."
(lambda (port)
(format port
"insmod part_msdos~@
- search --set=root --label gnu-disk-image~@
+ search --set=root --label GuixSD~@
configfile /boot/grub/grub.cfg~%")))
(display "creating EFI firmware image...")
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index d5d11371a..f9aa7f673 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -306,7 +306,7 @@ Use Alt-F2 for documentation.
;; the appropriate one.
(cons* (file-system
(mount-point "/")
- (device "gnu-disk-image")
+ (device "GuixSD")
(title 'label)
(type "ext4"))
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 3e722d081..66a2448ce 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -335,11 +335,17 @@ the image."
system described by OS. Said image can be copied on a USB stick as is. When
VOLATILE? is true, the root file system is made volatile; this is useful
to USB sticks meant to be read-only."
+ (define normalize-label
+ ;; ISO labels are all-caps (case-insensitive), but since
+ ;; 'find-partition-by-label' is case-sensitive, make it all-caps here.
+ (if (string=? "iso9660" file-system-type)
+ string-upcase
+ identity))
(define root-label
;; Volume name of the root file system. Since we don't know which device
;; will hold it, we use the volume name to find it (using the UUID would
;; be even better, but somewhat less convenient.)
- "gnu-disk-image")
+ (normalize-label "GuixSD"))
(define file-systems-to-keep
(remove (lambda (fs)
Ludovic Courtès wrote 8 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 27520@debbugs.gnu.org)
87a84c60os.fsf@gnu.org
Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (5 lines)
> * gnu/build/vm.scm (initialize-hard-disk): Use "GuixSD" as label.
> * gnu/system/install.scm (installation-os): Use "GuixSD" as label.
> * gnu/system/vm.scm (system-disk-image): Use "GuixSD" or "GUIXSD" as volume
> label.

LGTM, thanks for your patience!

Toggle quote (10 lines)
> --- a/gnu/build/vm.scm
> +++ b/gnu/build/vm.scm
> @@ -431,7 +431,7 @@ passing it a directory name where it is mounted."
> (lambda (port)
> (format port
> "insmod part_msdos~@
> - search --set=root --label gnu-disk-image~@
> + search --set=root --label GuixSD~@
> configfile /boot/grub/grub.cfg~%")))

This won’t cause problems with ISO images, right?

Ludo’.
Danny Milosavljevic wrote 8 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 27520-done@debbugs.gnu.org)
20170710153750.1706413c@scratchpost.org
Hi Ludo,

On Mon, 10 Jul 2017 12:33:39 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

Toggle quote (11 lines)
> > +++ b/gnu/build/vm.scm
> > @@ -431,7 +431,7 @@ passing it a directory name where it is mounted."
> > (lambda (port)
> > (format port
> > "insmod part_msdos~@
> > - search --set=root --label gnu-disk-image~@
> > + search --set=root --label GuixSD~@
> > configfile /boot/grub/grub.cfg~%")))
>
> This won’t cause problems with ISO images, right?

Good question.

I successfully tested it in qemu (both iso9660 and normal disk-image).

I also ran the system checks. Some work, some don't work. The bootup part does generally work.

But I'm not that knowledgeable with UEFI, so no idea whether ISO9660 bootup would even use this UEFI wrapper thing.

Anyway, it doesn't worsen anything so I pushed it to master, commit 651de2bdb5fd451c50933dcf8d647d470d826261.

Thanks!

P.S. Some system tests look not-so-good either with or without the patch applied:

Jul 10 15:30:54 localhost avahi-daemon[438]: simple-protocol.c: Got RESOLVE-ADDRESS request for 'fe80::5054:ff:fe12:3456'.
Mon Jul 10 15:30:54 2017 - 341: add new entry "komputilo.local" of type GETAI for hosts to cache (first)
ice-9/eval.scm:387:11: In procedure eval:
ice-9/eval.scm:387:11: In procedure getaddrinfo: System error
ice-9/eval.scm:387:11: In procedure eval:
ice-9/eval.scm:387:11: In procedure gethost: Host name lookup failure
QEMU runs as PID 3
connected to QEMU's monitor
read QEMU monitor prompt
connected to guest REPL
%%%% Starting test avahi (Writing full log to "avahi.log")
marionette is ready
/gnu/store/mw90mh1jb8z4s67k5pi2pk9zid0cqgjl-nss-mdns-builder:1: FAIL getaddrinfo .local

;;; (gethostbyname #f)
/gnu/store/mw90mh1jb8z4s67k5pi2pk9zid0cqgjl-nss-mdns-builder:1: FAIL gethostbyname .local
# of expected passes 3
# of unexpected failures 2
note: keeping build directory `/tmp/guix-build-nss-mdns.drv-0'
builder for `/gnu/store/b4ikx6m6952a5q5hx8576pismks8mq72-nss-mdns.drv' failed with exit code 1
@ build-failed /gnu/store/b4ikx6m6952a5q5hx8576pismks8mq72-nss-mdns.drv - 1 builder for `/gnu/store/b4ikx6m6952a5q5hx8576pismks8mq72-nss-mdns.drv' failed with exit code 1
TOTAL: 19
PASS: /gnu/store/jsmkjv57sdycy89whbpj8w0ggzladmy1-basic
PASS: /gnu/store/i3rpc4na0s8n3ys37qlrzbmsd63g0x4n-mcron
PASS: /gnu/store/dx2ibskh8a6qirk20n19d5xam2wk3yzy-opensmtpd-test
PASS: /gnu/store/xgmmghm577xp41w6j1xlzr912x7c1l72-prosody
PASS: /gnu/store/dl4bjcwwgrrp84mmfm4gcxrp9mfvcwqs-inetd-test
PASS: /gnu/store/9hg2bp1yk5mdl3wqgfkzvdxm1qmkk6pz-nfs
PASS: /gnu/store/658s8abgckc4anzlqh9sn17vjhngnyy1-openssh
PASS: /gnu/store/p6visdc6p4najg7dy4rfpy201136ysn5-dropbear
PASS: /gnu/store/kynb05cj7kd5kfh9690xwm0i8gvc536z-nginx-test
FAIL: /gnu/store/90484bwhiizialy1qfvm3gk2fn9r499n-nss-mdns
FAIL: /gnu/store/csxh0dnpbjqc8q1qkb9j5gbjrlhbpy7v-dicod
FAIL: /gnu/store/6vp4xg0zzrcz5ksdykd9zr5ydwpvjgvk-btrfs-root-os
FAIL: /gnu/store/5lw5gfvljp3kkf32k71g2vik258g9jpj-raid-root-os
FAIL: /gnu/store/n5dq0nx8vgw6ci6wpl7r78bchfs29lfc-installed-os
FAIL: /gnu/store/bm6n23mp1x74jj57kvy2hlfhi2iyxjhs-encrypted-root-os
FAIL: /gnu/store/3sjjq1xavrvhkbj7hqbjgvmcmpagmcpz-installed-extlinux-os
FAIL: /gnu/store/0mj78x3awxwrrjp9s53xgcaa1y5aps8k-separate-store-os
FAIL: /gnu/store/64wmjlfidh0mzl700zfqmrxmc475vhbk-separate-home-os
FAIL: /gnu/store/xrbg9b6xc1q26byw0pxi0lk7q58p3z52-exim-test
make: *** [Makefile:5188: check-system] Error 1

(At the same time, my normal internet connection works fine)
Closed
Ludovic Courtès wrote 8 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 27520-done@debbugs.gnu.org)
87lgnvvvmj.fsf@gnu.org
Hi Danny,

Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (24 lines)
> On Mon, 10 Jul 2017 12:33:39 +0200
> ludo@gnu.org (Ludovic Courtès) wrote:
>
>> > +++ b/gnu/build/vm.scm
>> > @@ -431,7 +431,7 @@ passing it a directory name where it is mounted."
>> > (lambda (port)
>> > (format port
>> > "insmod part_msdos~@
>> > - search --set=root --label gnu-disk-image~@
>> > + search --set=root --label GuixSD~@
>> > configfile /boot/grub/grub.cfg~%")))
>>
>> This won’t cause problems with ISO images, right?
>
> Good question.
>
> I successfully tested it in qemu (both iso9660 and normal disk-image).
>
> I also ran the system checks. Some work, some don't work. The bootup part does generally work.
>
> But I'm not that knowledgeable with UEFI, so no idea whether ISO9660 bootup would even use this UEFI wrapper thing.
>
> Anyway, it doesn't worsen anything so I pushed it to master, commit 651de2bdb5fd451c50933dcf8d647d470d826261.

Cool!

Toggle quote (2 lines)
> P.S. Some system tests look not-so-good either with or without the patch applied:

[...]

Toggle quote (12 lines)
> TOTAL: 19
> PASS: /gnu/store/jsmkjv57sdycy89whbpj8w0ggzladmy1-basic
> PASS: /gnu/store/i3rpc4na0s8n3ys37qlrzbmsd63g0x4n-mcron
> PASS: /gnu/store/dx2ibskh8a6qirk20n19d5xam2wk3yzy-opensmtpd-test
> PASS: /gnu/store/xgmmghm577xp41w6j1xlzr912x7c1l72-prosody
> PASS: /gnu/store/dl4bjcwwgrrp84mmfm4gcxrp9mfvcwqs-inetd-test
> PASS: /gnu/store/9hg2bp1yk5mdl3wqgfkzvdxm1qmkk6pz-nfs
> PASS: /gnu/store/658s8abgckc4anzlqh9sn17vjhngnyy1-openssh
> PASS: /gnu/store/p6visdc6p4najg7dy4rfpy201136ysn5-dropbear
> PASS: /gnu/store/kynb05cj7kd5kfh9690xwm0i8gvc536z-nginx-test
> FAIL: /gnu/store/90484bwhiizialy1qfvm3gk2fn9r499n-nss-mdns

This one is “known to fail”.

Toggle quote (10 lines)
> FAIL: /gnu/store/csxh0dnpbjqc8q1qkb9j5gbjrlhbpy7v-dicod
> FAIL: /gnu/store/6vp4xg0zzrcz5ksdykd9zr5ydwpvjgvk-btrfs-root-os
> FAIL: /gnu/store/5lw5gfvljp3kkf32k71g2vik258g9jpj-raid-root-os
> FAIL: /gnu/store/n5dq0nx8vgw6ci6wpl7r78bchfs29lfc-installed-os
> FAIL: /gnu/store/bm6n23mp1x74jj57kvy2hlfhi2iyxjhs-encrypted-root-os
> FAIL: /gnu/store/3sjjq1xavrvhkbj7hqbjgvmcmpagmcpz-installed-extlinux-os
> FAIL: /gnu/store/0mj78x3awxwrrjp9s53xgcaa1y5aps8k-separate-store-os
> FAIL: /gnu/store/64wmjlfidh0mzl700zfqmrxmc475vhbk-separate-home-os
> FAIL: /gnu/store/xrbg9b6xc1q26byw0pxi0lk7q58p3z52-exim-test

… but those are alarming.

“make check-system TESTS="dicod exim"” works for me on current master; I
haven’t checked the other ones. Could you see what’s wrong?

Thanks,
Ludo’.
Closed
Danny Milosavljevic wrote 8 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 27520-done@debbugs.gnu.org)
20170711180025.77530a0a@scratchpost.org
On Tue, 11 Jul 2017 17:30:44 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

Toggle quote (3 lines)
> “make check-system TESTS="dicod exim"” works for me on current master; I
> haven’t checked the other ones. Could you see what’s wrong?

Both say "Connection refused".

I've attached the entire log file.

I've ran it using

$ guix environment guix --pure --fallback
$ make check-system
Attachment: L.bz2
Closed
Ludovic Courtès wrote 8 years ago
System test failures
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 27520-done@debbugs.gnu.org)
87k23dg8xy.fsf_-_@gnu.org
Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (8 lines)
> On Tue, 11 Jul 2017 17:30:44 +0200
> ludo@gnu.org (Ludovic Courtès) wrote:
>
>> “make check-system TESTS="dicod exim"” works for me on current master; I
>> haven’t checked the other ones. Could you see what’s wrong?
>
> Both say "Connection refused".

Weird, it looks as though port forwards from the guest to the host
didn’t work, although it definitely works here and on hydra:


The build environment lives in a separate network namespace, which I
think means that there cannot be conflicts regarding the TCP ports being
used, so I wonder what could be interfering.

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 27520@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 27520
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help