bug#36519: System frequently suspending after logout

2019-07-05 Thread Josh Wheeler
Problem: GuixSD frequently suspends on user logout or after selecting
"Log in as another user" from the lock screen.

Occurs when returning to GDM from GNOME and i3 sessions on a fresh
GuixSD install.

Expected: System should allow user logout / switching without sleeping.

Thanks!





bug#36463: jupyter terminal out of pty devices

2019-07-05 Thread Steffen Rytter Postas
Hi Ludo,

I can confirm that commit 935e79af61f4d903e562362cdd828be807e15581 does
indeed resolve the issue entirely. Thank you so much for the quick
response and action!

Den 06/07/2019 kl. 00.28 skrev Ludovic Courtès:
> Hello,
>
> Steffen Rytter Postas  skribis:
>
>> Both environments use the same command to execute, and are using `guix
>> environment` to start the Jupyter notebook system:
>>
>> `LC_ALL=C guix environment -C -N --pure -m env.scm -- jupyter-notebook`
>>
>> The `env.scm` file used, is as follows:
>>
>>
>> (define-packages '(
>>     "glibc-utf8-locales"
>>     "coreutils-minimal"
>>     "bash"
>>     "python"
>>     "jupyter"
>>     ))
>> (use-modules (gnu packages))
>> (packages->manifest (map specification->package packages))
> Without ‘-C’, the Jupyter terminal is indeed working for me:
>
>   guix environment --ad-hoc jupyter python-ipython python-ipykernel \
>  bash coreutils --pure -- jupyter notebook
>
> (Though for some reason IceCat displays white boxes instead of the
> actual characters in the terminal, unless I zoom in or out.  But that’s
> another problem…)
>
>> "/gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0/lib/python3.7/pty.py",
>> line 96, in fork
>>     master_fd, slave_fd = openpty()
>>   File
>> "/gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0/lib/python3.7/pty.py",
>> line 29, in openpty
>>     master_fd, slave_name = _open_terminal()
>>   File
>> "/gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0/lib/python3.7/pty.py",
>> line 59, in _open_terminal
>>     raise OSError('out of pty devices')
>>     OSError: out of pty devices
>> [W 18:56:52.377 NotebookApp] Unhandled error
>>
>> So it seems that there's an issue with pty devices when running these
>> systems as a container.
> I could reproduce the problem, and AFAICS commit
> 935e79af61f4d903e562362cdd828be807e15581 fixes it.
>
> Let me know if it’s all fine now!
>
> Thanks,
> Ludo’.
>





bug#36518: [core-updates] python-boot0 fails to build on armhf and aarch64

2019-07-05 Thread Marius Bakke
On the core-updates branch, since commit
5f3f70391809f8791c55c05bd1646bc58508fa2c, bootstrapping fails early for
armhf-linux and aarch64 when trying to build pkg-config (for
python-boot0).  That can be easily worked around with this patch:

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index d28296449d..183536d0b4 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1866,6 +1866,7 @@ the bootstrap environment."
   (inherit python-minimal)
   (inputs
`(("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc.
+  (native-inputs '())  ;and pkg-config
   (arguments
(substitute-keyword-arguments (package-arguments
   python-minimal)

But then Python fails at the configure stage because pthreads is not
working with the bootstrap compiler on those platforms.

I'm not sure what to do about it.  I tried using 'python-on-guile' with
this patch:

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index f26145cb0b..747ec7c594 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -816,6 +816,33 @@ with the Linux kernel.")
(license lgpl2.0+)
(home-page "https://www.gnu.org/software/libc/;)))
 
+(define-public glibc-sans-python
+  (package
+(inherit glibc)
+(name "glibc-with-guile-python")
+(arguments
+ (substitute-keyword-arguments (package-arguments glibc)
+   ((#:phases phases)
+`(modify-phases ,phases
+   (add-after 'unpack 'patch-configure
+ (lambda _
+   ;; Relax Python version check.
+   (substitute* "configure"
+ (("\\$critic_missing python") "")
+ (("\\$PYTHON_PROG -B") "$PYTHON_PROG"))
+   #t))
+(native-inputs `(("texinfo" ,texinfo)
+ ("perl" ,perl)
+ ("bison" ,bison)
+ ("gettext" ,gettext-minimal)
+ ("python" ,(@ (gnu packages guile-xyz) python-on-guile))
+ ,@(if (hurd-target?)
+   `(("mig" ,mig)
+ ("perl" ,perl))
+   '())
+
+
+
 ;; Below are old libc versions, which we use mostly to build locale data in
 ;; the old format (which the new libc cannot cope with.)
 

But the interpreter fails with 'unbound variable: this' upon running
glibcs Python scripts.

Until python-on-guile is complete enough to run the glibc scripts, I
think we'll have to insert an older version of glibc into the
bootstrap graph, so that Python can be built with pthreads on all
platforms.  WDYT?


signature.asc
Description: PGP signature


bug#36517: 'guix deploy' does not restart services

2019-07-05 Thread Jakob L. Kreuze
This issue is described in more detail at [1]. Essentially, 'guix
deploy' is will happily load and start new services, as well as unload
obsolete services, but does nothing to restart valid services that are
already running.

I can assign myself to this issue. Just filing for tracking purposes :]

Regards,
Jakob

[1]: https://lists.gnu.org/archive/html/guix-patches/2019-06/msg00567.html


signature.asc
Description: PGP signature


bug#36463: jupyter terminal out of pty devices

2019-07-05 Thread Ludovic Courtès
Hello,

Steffen Rytter Postas  skribis:

> Both environments use the same command to execute, and are using `guix
> environment` to start the Jupyter notebook system:
>
> `LC_ALL=C guix environment -C -N --pure -m env.scm -- jupyter-notebook`
>
> The `env.scm` file used, is as follows:
>
>
> (define-packages '(
>     "glibc-utf8-locales"
>     "coreutils-minimal"
>     "bash"
>     "python"
>     "jupyter"
>     ))
> (use-modules (gnu packages))
> (packages->manifest (map specification->package packages))

Without ‘-C’, the Jupyter terminal is indeed working for me:

  guix environment --ad-hoc jupyter python-ipython python-ipykernel \
 bash coreutils --pure -- jupyter notebook

(Though for some reason IceCat displays white boxes instead of the
actual characters in the terminal, unless I zoom in or out.  But that’s
another problem…)

> "/gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0/lib/python3.7/pty.py",
> line 96, in fork
>     master_fd, slave_fd = openpty()
>   File
> "/gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0/lib/python3.7/pty.py",
> line 29, in openpty
>     master_fd, slave_name = _open_terminal()
>   File
> "/gnu/store/h8l1pby3cm6b4fxsfwwr65b4d1hyh6cs-python-3.7.0/lib/python3.7/pty.py",
> line 59, in _open_terminal
>     raise OSError('out of pty devices')
>     OSError: out of pty devices
> [W 18:56:52.377 NotebookApp] Unhandled error
>
> So it seems that there's an issue with pty devices when running these
> systems as a container.

I could reproduce the problem, and AFAICS commit
935e79af61f4d903e562362cdd828be807e15581 fixes it.

Let me know if it’s all fine now!

Thanks,
Ludo’.





bug#36456: Guix stumbles on duplicates?

2019-07-05 Thread Ludovic Courtès
Hi swedebugia,

swedebugia  skribis:

> In guix/build-system/cargo.scm:
>260:27  3 (lower "rust-backtrace-0.3.32" #:source _ #:inputs _ # . #)
> 231:4  2 (expand-crate-sources _ _)
>170:23  1 (crate-closure _)
> 128:4  0 (_ #:cargo-inputs _)
>
> guix/build-system/cargo.scm:128:4: Invalid keyword:
> ("rust-lazy-static" # /home/user/src/guix/gnu/packages/crates-io.scm:98 3690d10>)

This is Guile’s way of saying that you passed an arbitrary value where a
keyword was expected, as in this example:

--8<---cut here---start->8---
scheme@(guile-user)> ((lambda* (x #:key foo) (list x foo)) 1 2)
:1209:1: Invalid keyword: 2
--8<---cut here---end--->8---

IOW, the error is in the ‘arguments’ field of this rust-backtrace-0.3.32
package.

HTH!

Ludo’.





bug#36510: confusing mcron logging

2019-07-05 Thread Robert Vollmert
> On 5. Jul 2019, at 22:37, Ludovic Courtès  wrote:
> Something that can help debugging to some extent (but is definitely no
> substitute for what you suggest above!) is ‘sudo herd schedule mcron’.
> I use that to manually run jobs that appear not to work as expected.

That only works for non-guile jobs though as far as I understand, where
'herd schedule mcron' prints a store path.

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36430






bug#36511: extraneous recompiles of scm files while editing gnu/packages/

2019-07-05 Thread Ludovic Courtès
Hi,

Robert Vollmert  skribis:

> rob@garp ~/guix$ nano gnu/packages/haskell.scm 
> rob@garp ~/guix$ ./pre-inst-env guix build ghc-ansi-wl-pprint

I’d suggest running “make” once you’ve edited a file.

It’s not strictly necessary (Guile then simply evaluates code instead of
running compiled code), but it will allow you to get rid of these
warnings, the compiler might warn you ahead of time of possible
mistakes, and the whole thing will be slightly faster.

Does that make sense?

Ludo’.





bug#36510: confusing mcron logging

2019-07-05 Thread Ludovic Courtès
Hi,

Robert Vollmert  skribis:

> Suggestions:
> - mcron should log the timestamp and a job id of every job when it starts
> - mcron should log the timestamp and status and job id of every job when it 
> finishes
> - job output should be prefixed by some job id

+1!  +3 even.  :-)

Something that can help debugging to some extent (but is definitely no
substitute for what you suggest above!) is ‘sudo herd schedule mcron’.
I use that to manually run jobs that appear not to work as expected.

Ludo’.





bug#36379: Running `guix pull` as "root" user

2019-07-05 Thread Raghav Gururajan


> Just that I was too busy with my work and I had to delay this.
> 
> Maybe next week I'll be able to reproduce, but don't hold your breath

That's okay.

Regards,
RG.





bug#36511: extraneous recompiles of scm files while editing gnu/packages/

2019-07-05 Thread Robert Vollmert
I’ve just been working on a local guix clone, tried building a package
which failed, but not after lots of the usual “newer than compiled”
messages, but fine, I pulled a while earlier and hadn’t rebuilt. But then,
after editing just a few lines in a single file (gnu/packages/haskell.scm),
the following happened, which seems wrong:

rob@garp ~/guix$ nano gnu/packages/haskell.scm 
rob@garp ~/guix$ ./pre-inst-env guix build ghc-ansi-wl-pprint
;;; note: source file /home/rob/guix/guix/ui.scm
;;;   newer than compiled /home/rob/guix/guix/ui.go
;;; note: source file /home/rob/guix/guix/ui.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/guix/ui.go
;;; note: source file /home/rob/guix/guix/store.scm
;;;   newer than compiled /home/rob/guix/guix/store.go
;;; note: source file /home/rob/guix/guix/store.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/guix/store.go
;;; note: source file /home/rob/guix/guix/store.scm
;;;   newer than compiled 
/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/store.scm.go
;;; note: source file /home/rob/guix/guix/build/syscalls.scm
;;;   newer than compiled /home/rob/guix/guix/build/syscalls.go
;;; note: source file /home/rob/guix/guix/build/syscalls.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/guix/build/syscalls.go
;;; note: source file /home/rob/guix/guix/build/syscalls.scm
;;;   newer than compiled 
/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/build/syscalls.scm.go
;;; note: source file /home/rob/guix/guix/derivations.scm
;;;   newer than compiled /home/rob/guix/guix/derivations.go
;;; note: source file /home/rob/guix/guix/derivations.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/guix/derivations.go
;;; note: source file /home/rob/guix/guix/derivations.scm
;;;   newer than compiled 
/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/derivations.scm.go
;;; note: source file /home/rob/guix/guix/grafts.scm
;;;   newer than compiled /home/rob/guix/guix/grafts.go
;;; note: source file /home/rob/guix/guix/grafts.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/guix/grafts.go
;;; note: source file /home/rob/guix/guix/grafts.scm
;;;   newer than compiled 
/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/grafts.scm.go
;;; note: source file /home/rob/guix/guix/profiles.scm
;;;   newer than compiled /home/rob/guix/guix/profiles.go
;;; note: source file /home/rob/guix/guix/profiles.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/guix/profiles.go
;;; note: source file /home/rob/guix/guix/build/download.scm
;;;   newer than compiled /home/rob/guix/guix/build/download.go
;;; note: source file /home/rob/guix/guix/build/download.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/guix/build/download.go
;;; note: source file /home/rob/guix/guix/build/download.scm
;;;   newer than compiled 
/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/build/download.scm.go
;;; note: source file /home/rob/guix/gnu/packages.scm
;;;   newer than compiled /home/rob/guix/gnu/packages.go
;;; note: source file /home/rob/guix/gnu/packages.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages.go
;;; note: source file /home/rob/guix/guix/download.scm
;;;   newer than compiled /home/rob/guix/guix/download.go
;;; note: source file /home/rob/guix/guix/download.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/guix/download.go
;;; note: source file /home/rob/guix/guix/download.scm
;;;   newer than compiled 
/home/rob/.cache/guile/ccache/2.2-LE-8-3.A/home/rob/guix/guix/download.scm.go
;;; note: source file /home/rob/guix/gnu/packages/perl.scm
;;;   newer than compiled /home/rob/guix/gnu/packages/perl.go
;;; note: source file /home/rob/guix/gnu/packages/perl.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/perl.go
;;; note: source file /home/rob/guix/gnu/packages/compression.scm
;;;   newer than compiled /home/rob/guix/gnu/packages/compression.go
;;; note: source file /home/rob/guix/gnu/packages/compression.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/compression.go
;;; note: source file /home/rob/guix/gnu/packages/admin.scm
;;;   newer than compiled /home/rob/guix/gnu/packages/admin.go
;;; note: source file /home/rob/guix/gnu/packages/admin.scm
;;;   newer than compiled 
/run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/admin.go
;;; note: source file /home/rob/guix/guix/build-system/python.scm
;;;   newer than compiled /home/rob/guix/guix/build-system/python.go
;;; note: source file 

bug#36510: confusing mcron logging

2019-07-05 Thread Robert Vollmert
I have two mcron jobs on my system, certbot renewal and
a handwritten and currently buggy guile job. This is an
excerpt from /var/log/mcron.log:

>

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Cert not yet due for renewal
Keeping the existing certificate

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Certificate not yet due for renewal; no action taken.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Acquiring or renewing certificate: garp.vllmrt.net
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Cert not yet due for renewal
Keeping the existing certificate

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Certificate not yet due for renewal; no action taken.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Acquiring or renewing certificate: garp.vllmrt.net
Backtrace:
   9 (apply-smob/1 #)
In ice-9/boot-9.scm:
829:9  8 (catch mcron-error # ?)
In mcron/scripts/mcron.scm:
 99:7  7 (_)
In mcron/base.scm:
   234:12  6 (_ #)
In srfi/srfi-1.scm:
640:9  5 (for-each # (#< user: #(?>))
In mcron/base.scm:
   186:10  4 (run-job #< user: #("root" "x" 0 0 "System adminis?>)
In ice-9/eval.scm:
   293:34  3 (_ #(#(#)))
   182:19  2 (proc #(#(#)))
   142:16  1 (compile-top-call _ (7 . get-string-all) ((10 (# . #) ?)))
In unknown file:
   0 (%resolve-variable (7 . get-string-all) #)

ERROR: In procedure %resolve-variable:
Unbound variable: get-string-all
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Cert not yet due for renewal
Keeping the existing certificate

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Certificate not yet due for renewal; no action taken.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Acquiring or renewing certificate: garp.vllmrt.net
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Cert not yet due for renewal
Keeping the existing certificate

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Certificate not yet due for renewal; no action taken.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Acquiring or renewing certificate: garp.vllmrt.net

<

It’s impossible to tell what output is from which job; which jobs succeeded or
didn’t; when they ran.

Suggestions:
- mcron should log the timestamp and a job id of every job when it starts
- mcron should log the timestamp and status and job id of every job when it 
finishes
- job output should be prefixed by some job id






bug#27462: OCaml CVE-2015-8869

2019-07-05 Thread Julien Lepiller
Ocaml-4.02 was removed a few months ago in c3634df2 but I forgot to close this 
bug report.





bug#36509: guix pull: too many substitute updates, or bad log messages

2019-07-05 Thread Robert Vollmert
When running `guix pull`, output like the following is common
for me:

$ guix pull
Updating channel 'puzzlink' from Git repository at '/home/rob/guix-puzzlink'…
[…]
Building from these channels:
  guix  https://github.com/robx/guix.git11f68b3
[…]
Computing Guix derivation for 'x86_64-linux'... |
The following derivations will be built:
   /gnu/store/ym0l8rvnh3aa3qv8g3xgh1mszbhww8c2-elm.drv
[…]
   /gnu/store/dcxwfh37bn8r3h8s9w7wfq8yhzynqxx5-profile.drv
The following profile hooks will be built:
   /gnu/store/biw1n2a956skpaa4m7rmka6j8h1clhmv-guix-package-cache.drv
[…]
   /gnu/store/kxrkynck33ypwyy09ypi2qm7737fsw28-fonts-dir.drv
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
building /gnu/store/wxfi8mdp11l5k4ngkbsy9apcg9h74jfk-guix-system.drv…

Either guix is making useless extra downloads or:

(a) the substitute log message should be changed to differentiate between
the different calls
(b) there should be extra log messages before the substitute messages to
indicate what guix is doing that causes the individual substitue messages.







bug#36508: GDM files have incorrect owner after temporarily replacing with SDDM

2019-07-05 Thread ison
After replacing GDM with SDDM in my Guix System config (to test Wayland) and
then reverting back to my old config and reconfiguring GDM would crash
(printing out around 500 lines about creating a seat)
I also tried rolling back to the generation I had before using SDDM and it would
still crash.
In both instances I also tried "herd restart xorg-server" but same problem.

I then checked the log file /var/log/gdm/greeter.log which had errors such as:
---
Fatal server error:
(EE) Cannot open log file "/var/lib/gdm/.local/share/xorg/Xorg.pid-720.log"
---

And then I could verify that files inside of /var/lib/gdm had incorrect
ownership of 9##:gdm
where 9## was some 3-digit number I can't remember now.
(note: the directory itself /var/lib/gdm still had correct ownership gdm:gdm)

I then manually fixed the ownership with:
chown -R gdm:gdm /var/lib/gdm
and GDM successfully came up without crashing.

The relevant portion of my config when I replaced GDM with SDDM was:
---
(operating-system
  ...
  (services
(cons*
  ...
  (sddm-service
(sddm-configuration
  (display-server "wayland")))

  ;; Return %desktop-services with GDM removed
  (remove (lambda (service)
(eq? (service-kind service) gdm-service-type))
  %desktop-services
---





bug#36379: Running `guix pull` as "root" user

2019-07-05 Thread Giovanni Biscuolo
Raghav Gururajan  writes:

> Hi Giovanni!
>
> Any update please?

Just that I was too busy with my work and I had to delay this.

Maybe next week I'll be able to reproduce, but don't hold your breath

Regards, Gio'.

-- 
Giovanni Biscuolo

Xelera IT Infrastructures


signature.asc
Description: PGP signature