GNU bug report logs - #36207
Circular dependency in gnu/services: mcron -> base -> admin -> mcron

Previous Next

Package: guix;

Reported by: Jack Hill <jackhill <at> jackhill.us>

Date: Fri, 14 Jun 2019 15:50:01 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: bug-guix <at> gnu.org
Subject: Circular dependency in gnu/services: mcron -> base -> admin -> mcron
Date: Fri, 14 Jun 2019 11:49:16 -0400 (EDT)
[Message part 1 (text/plain, inline)]
Hi Guix,

As discussed on IRC with Ludo’ and Ricardo, 
4252dace19945f56192477e8cb07973c20a526ba introduced a circular dependency 
among gnu/services modules, by adding a dependency between from base -> 
admin, resulting in the full dependency chain:

 mcron -> base -> admin -> mcron

I ran into this when building a channel. The error reported by guix pull 
was:

```
(repl-version 0 0)
(exception misc-error (value #f) (value "Unbound variable: ~s") (value (mcron-service-type)) (value #f))
```

Ludo’ determined the full error was:

```
gnu/services/admin.scm:161:21: Unbound variable: mcron-service-type
```

by running the repl directly:

```
echo '(primitive-load "/gnu/store/vf892np8mnh2zx9dppcv9k25xk648n2d-inferior-script.scm")' \
| "/gnu/store/j7vxgnaqwimrzsnd8zhq9x1jdp7afl0s-guix-ca45da9fc/bin/guix" "repl"
```

Options for solving this problem include moving the guix-publish service 
into another module. However, this would break the API of (gnu service base),
so we should be careful when doing that.

It doesn't look like guix-publish is used elsewhere in the Guix code 
proper currently.

For now, we might want to revert 4252dace19945f56192477e8cb07973c20a526ba.

Best,
Jack

This bug report was last modified 5 years and 344 days ago.

Previous Next


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