bug#51258: [PATCH] gnu: emacs: Handle pdump filenames that contain a fingerprint

2021-10-18 Thread Morgan . J . Smith
From: Morgan Smith 

* gnu/packages/emacs.scm (emacs) [restore-emacs-pdmp]: Add regex to handle
filenames that have a fingerprint in them
---

Fixed your problem.  Well it was also my problem.  The regex is pretty simple 
but probably a little intimidating if you've never done it before.  I highly 
recommend reading up on ERE's and BRE's from the POSIX specification if you 
have time.  I still don't exactly know how guile does regex but knowing POSIX 
regex has served me quite well.

I've tested this patch and it works great for me on the latest emacs commit.  
It should also be backwards compatible so that's nice.


 gnu/packages/emacs.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 6d9950d068..6ebcfecbc7 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -183,9 +183,10 @@ (define* (emacs-byte-compile-directory dir)
  (let* ((libexec (string-append (assoc-ref outputs "out")
 "/libexec"))
 ;; each of these find-files should return one file
-(pdmp (find-files libexec "^emacs\\.pdmp$"))
+;; there might be a fingerprint in the name
+(pdmp (find-files libexec 
"^emacs(-[[:xdigit:]]+)?\\.pdmp$"))
 (pdmp-real (find-files libexec
-   "^\\.emacs\\.pdmp-real$")))
+   
"^\\.emacs(-[[:xdigit:]]+)?\\.pdmp-real$")))
(for-each (lambda (wrapper real)
(delete-file wrapper)
(rename-file real wrapper))
-- 
2.33.0






bug#50977: digital-ocean-environment-type fails

2021-10-18 Thread Franz Geffke
I've done some more digging. There are various issues with the script
that actually converts the Debian 9 Droplet to Guix.

1. The SSL certificates of gnu.org fail on Debian 9 (since end of Sep).
This appears to be related to a change in LetsEncrypt root certificates
2. The guix binary used is rather old

I don't have time to submit a merge request now. I have adapted the
included script to work on Debian 9 (uncomment 1x line), 11 and Ubuntu
21.04. This should be good until the bug has been resolved.

```
#!/bin/bash

# Guix 1.3.0 on DigitalOcean
# Convert Debian 11 or Ubuntu 21.04

## MODIFY

TIMEZONE="Europe/Berlin"
LOCALE="en_US.utf8"
USERNAME="guix"
USER_COMMENT="guix's account"
USER_PASSWORD="Gq2M6JqNS2W6mgkY"

## MODIFY END

CONFIG=/etc/bootstrap-config.scm
CRYPT='$6$abc'

apt-get update -y
apt-get install curl xz-utils -y
# Uncomment this for Debian 9
# sed -i '/^mozilla\/DST_Root_CA_X3/s/^/!/' /etc/ca-certificates.conf
&& update-ca-certificates -f wget
https://ftp.gnu.org/gnu/guix/guix-binary-1.3.0.x86_64-linux.tar.xz cd
/tmp tar --warning=no-timestamp -xf
~/guix-binary-1.3.0.x86_64-linux.tar.xz mv var/guix /var/ && mv gnu /
mkdir -p ~root/.config/guix
ln -sf /var/guix/profiles/per-user/root/current-guix
~root/.config/guix/current export GUIX_PROFILE="`echo
~root`/.config/guix/current" ; source $GUIX_PROFILE/etc/profile
groupadd --system guixbuild
for i in `seq -w 1 10`;
do
   useradd -g guixbuild -G guixbuild \
   -d /var/empty -s `which nologin`  \
   -c "Guix build user $i" --system  \
   guixbuilder$i;
done;

cp ~root/.config/guix/current/lib/systemd/system/guix-daemon.service
/etc/systemd/system/ systemctl start guix-daemon && systemctl enable
guix-daemon mkdir -p /usr/local/bin
cd /usr/local/bin
ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
mkdir -p /usr/local/share/info
cd /usr/local/share/info
for i in /var/guix/profiles/per-user/root/current-guix/share/info/*; do
ln -s $i; done
guix archive --authorize <
~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub # guix pull
guix package -i glibc-utf8-locales
export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
guix package -i openssl

HOSTNAME=$(curl -s http://169.254.169.254/metadata/v1/hostname)
PUBLIC_IPV4=$(curl -s
http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address)
NETMASK=$(curl -s
http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/netmask)
GATEWAY=$(curl -s
http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/gateway)

function write_server_config() {
cat >> $CONFIG <

bug#51227: failed build of ghc-8.8.4 (on guix c27c196)

2021-10-18 Thread Giovanni Biscuolo
Hi Lars-Dominik,

Lars-Dominik Braun  writes:

> Hi,
>
>> I'm trying to upgrade one of my profiles to guix c27c196 but I get this
>> error:
>> […]
>> cannot build derivation 
>> `/gnu/store/jvmn4djjbi1hy1zwrwn5g50d94xazlhc-ghc-8.10.7.drv': 1 dependencies 
>> couldn't be built
> is this still an issue and if so what architecture are you on?

no, I tried again minutes ago and now the installation is OK; I'm on x86_64

AFAIU this time the package ghc-8.10.7 was installed as a substitute and
not locally compiled.

Anyway, I also tried to build ghc-8.8.4:

--8<---cut here---start->8---

giovanni@roquette: guix build --no-substitutes ghc@8.8.4
The following derivation will be built:
   /gnu/store/sa6hi6kwnvyk4a63rs1q86cimgzi4zpp-ghc-8.8.4.drv
process 6024 acquired build slot '/var/guix/offload/batondor:22/0'
normalized load on machine 'batondor' is 0.00
building /gnu/store/sa6hi6kwnvyk4a63rs1q86cimgzi4zpp-ghc-8.8.4.drv...
guix offload: sending 0 store items (0 MiB) to 'batondor'...
offloading '/gnu/store/sa6hi6kwnvyk4a63rs1q86cimgzi4zpp-ghc-8.8.4.drv' to 
'batondor'...
offloading build of /gnu/store/sa6hi6kwnvyk4a63rs1q86cimgzi4zpp-ghc-8.8.4.drv 
to 'batondor'
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
@ substituter-started /gnu/store/15lwllr6c41awp5hlj4yjgd4msznfm8v-ghc-8.8.4-doc 
substitute
Downloading 
https://ci.guix.gnu.org/nar/lzip/15lwllr6c41awp5hlj4yjgd4msznfm8v-ghc-8.8.4-doc...
 ghc-8.8.4-doc  4.2MiB   2.5MiB/s 00:02 [##] 100.0%

@ substituter-succeeded 
/gnu/store/15lwllr6c41awp5hlj4yjgd4msznfm8v-ghc-8.8.4-doc
@ substituter-started /gnu/store/18jgsy1xvds5xplmrj8wngdb69chzisg-ghc-8.8.4 
substitute
Downloading 
https://ci.guix.gnu.org/nar/lzip/18jgsy1xvds5xplmrj8wngdb69chzisg-ghc-8.8.4...
 ghc-8.8.4  113.9MiB 2.8MiB/s 00:41 [##] 100.0%

@ substituter-succeeded /gnu/store/18jgsy1xvds5xplmrj8wngdb69chzisg-ghc-8.8.4
retrieving 1 store item from 'batondor'...
importing file or directory 
'/gnu/store/18jgsy1xvds5xplmrj8wngdb69chzisg-ghc-8.8.4'...
found valid signature for 
'/gnu/store/18jgsy1xvds5xplmrj8wngdb69chzisg-ghc-8.8.4'
registering 1 items
done with offloaded '/gnu/store/sa6hi6kwnvyk4a63rs1q86cimgzi4zpp-ghc-8.8.4.drv'
successfully built /gnu/store/sa6hi6kwnvyk4a63rs1q86cimgzi4zpp-ghc-8.8.4.drv
/gnu/store/15lwllr6c41awp5hlj4yjgd4msznfm8v-ghc-8.8.4-doc
/gnu/store/18jgsy1xvds5xplmrj8wngdb69chzisg-ghc-8.8.4

--8<---cut here---end--->8---

I really don't understand why on Friday the very same build failed.

Anyway I'm going to close this bug report: thanks!

Happy hacking! Gio'

-- 
Giovanni Biscuolo

Xelera IT Infrastructures


signature.asc
Description: PGP signature


bug#51261: Guix from qcow2 image refuses to boot after reconfigure

2021-10-18 Thread Jonathan Brielmaier

It's because `/dev/vda1` is mounted to `/`. If I change that to
`/dev/vda2` it works again :)





bug#50977: digital-ocean-environment-type fails

2021-10-18 Thread Franz Geffke
I just ran into the same issue on a droplet in a different region.

The only detail that stands out is that 'private_networking' as seen
here [1] has been depreciated on the DO API [2]. I doubt that is the
reason this is failing though.

> This parameter has been deprecated. Use vpc_uuid instead to specify a
> VPC network for the Droplet. If no vpc_uuid is provided, the Droplet
> will be placed in your account's default VPC for the region.

[1]
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/machine/digital-ocean.scm#n339
[2]
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/machine/digital-ocean.scm#n339

Here's the related config:

(list (machine
(operating-system %system)
(environment digital-ocean-environment-type)
(configuration (digital-ocean-configuration
  (region "fra1")
  (size "s-1vcpu-1gp")
  (ssh-key "/home/franz/.ssh/do_staging")
  (tags (list "pantherx" "staging"))
  (enable-ipv6? #f)





bug#51259: Cannot build Guix from source (error messages about the translations)

2021-10-18 Thread Leo Famulari
On Mon, Oct 18, 2021 at 07:23:40AM -0400, Julien Lepiller wrote:
> Hi Leo,
> 
> Looks like something is wrong with your setup… are you running in "guix 
> environment guix"? What's your $LANG?

Yes, it's in a "pure" environment.

Normally LANG=en_US.UTF-8, but in the pure environment, LANG is unset.
In both cases, LC_ALL is unset.





bug#51259: Cannot build Guix from source (error messages about the translations)

2021-10-18 Thread Julien Lepiller
I managed to reproduce the issue on fedora, in a broken pure environmert. In a 
pure environment, fedora gives error messages about software that doesn't 
exist, and asks if I want to install them. If I ^C at that point, I enter the 
environment, but some things are missing.

There are litteral ?? in manuals that don't use ascii, and this is especially 
visible in the korean manual. Po4a works fine in my experimentation, but it 
looks like the po parser or regular expression matching is broken at the POXREF 
phase, and everything is copied as literal ??.

Maybe setting LANG to a UTF-8 locale in the poxref rule would help? It didn't 
hix the issue in my case, but I think that's because I'm missing even more 
variables.

Le 18 octobre 2021 07:54:08 GMT-04:00, Tobias Geerinckx-Rice via Bug reports 
for GNU Guix  a écrit :
>Leo Famulari 写道:
>> ./doc/guix.ko.texi:431: here is the previous definition as @node
>> ./doc/guix.ko.texi:2065: @node `??' previously defined
>
>This seems to hint at a locale error, and indeed it was: when I 
>check out a fresh guix.git and build it in a recent ‘guix 
>environment guix’ on Guix System, I get the same error as you.
>
>When I repeat the exact same steps but first set
>
>   $ export LC_ALL=en_IE.utf8
>
>in the environment, the build goes swimmingly.
>
>I only ran each test once so it could be a coincidence, but I 
>doubt it.
>
>As for the actual error…
>
>> ./doc/guix.ko.texi:431: here is the previous definition as @node
>> ./doc/guix.ko.texi:2065: @node `??' previously defined
>
>At the risk of being naive: could it simply be that the missing 
>locale turns the Korean UTF-8 into a literal ‘??’, which of 
>course matches another mangled @node string of the same length?
>
>Kind regards,
>
>T G-R


bug#51259: Cannot build Guix from source (error messages about the translations)

2021-10-18 Thread Tobias Geerinckx-Rice via Bug reports for GNU Guix

Leo Famulari 写道:

./doc/guix.ko.texi:431: here is the previous definition as @node
./doc/guix.ko.texi:2065: @node `??' previously defined


This seems to hint at a locale error, and indeed it was: when I 
check out a fresh guix.git and build it in a recent ‘guix 
environment guix’ on Guix System, I get the same error as you.


When I repeat the exact same steps but first set

  $ export LC_ALL=en_IE.utf8

in the environment, the build goes swimmingly.

I only ran each test once so it could be a coincidence, but I 
doubt it.


As for the actual error…


./doc/guix.ko.texi:431: here is the previous definition as @node
./doc/guix.ko.texi:2065: @node `??' previously defined


At the risk of being naive: could it simply be that the missing 
locale turns the Korean UTF-8 into a literal ‘??’, which of 
course matches another mangled @node string of the same length?


Kind regards,

T G-R


signature.asc
Description: PGP signature


bug#51259: Cannot build Guix from source (error messages about the translations)

2021-10-18 Thread Julien Lepiller
Hi Leo,

Looks like something is wrong with your setup… are you running in "guix 
environment guix"? What's your $LANG?

Le 18 octobre 2021 00:01:28 GMT-04:00, Leo Famulari  a 
écrit :
>I noticed today that I can't build Guix from a fresh Git checkout in the
>usual manner. Something goes wrong while building the Korean language
>info manual. I tested it several times and on two different computers,
>both x86_64.
>
>--
>$ guix describe
>Generation 23   Oct 18 2021 00:23:51(current)
>  guix 473ea16
>repository URL: https://git.savannah.gnu.org/git/guix.git
>branch: master
>commit: 473ea161a15a13e7d5e7e0724693c1931ff8daaa
>$ git describe
>v1.3.0-7022-g473ea161a1
>$ guix environment --pure guix
>$ ./bootstrap  && ./configure --localstatedir=/var && make -j1
>[... bootstrap and configure succeed ...]
>Updating ./doc/version.texi
>  MAKEINFO doc/guix.de.info
>  MAKEINFO doc/guix.es.info
>./doc/guix.es.texi:16554: warning: `.' or `,' must follow @xref, not p
>./doc/guix.es.texi:37439: warning: `.' or `,' must follow @xref, not p
>  MAKEINFO doc/guix.fa.info
>  MAKEINFO doc/guix.fr.info
>./doc/guix.fr.texi:12628: warning: `.' or `,' must follow @xref, not p
>  MAKEINFO doc/guix.it.info
>  MAKEINFO doc/guix.ko.info
>Use of uninitialized value in hash element at 
>/gnu/store/w8k9hcigvhzrlrblv8lgqj77sm3833rs-texinfo-6.7/share/texinfo/Texinfo/Structuring.pm
> line 639.
>Use of uninitialized value in hash element at 
>/gnu/store/w8k9hcigvhzrlrblv8lgqj77sm3833rs-texinfo-6.7/share/texinfo/Texinfo/Structuring.pm
> line 639.
>Use of uninitialized value in hash element at 
>/gnu/store/w8k9hcigvhzrlrblv8lgqj77sm3833rs-texinfo-6.7/share/texinfo/Texinfo/Structuring.pm
> line 639.
>./doc/guix.ko.texi:604: @node `??' previously defined
>./doc/guix.ko.texi:431: here is the previous definition as @node
>./doc/guix.ko.texi:2065: @node `??' previously defined
>./doc/guix.ko.texi:431: here is the previous definition as @node
>./doc/guix.ko.texi:2538: @node `?? ??' previously defined
>./doc/guix.ko.texi:2262: here is the previous definition as @node
>./doc/guix.ko.texi:2739: @node `' previously defined
>./doc/guix.ko.texi:884: here is the previous definition as @node
>./doc/guix.ko.texi:2940: @node `? ??' previously defined
>./doc/guix.ko.texi:2029: here is the previous definition as @node
>./doc/guix.ko.texi:2973: @node `??' previously defined
>./doc/guix.ko.texi:431: here is the previous definition as @node
>./doc/guix.ko.texi:4933: @node `??' previously defined
>./doc/guix.ko.texi:431: here is the previous definition as @node
>./doc/guix.ko.texi:5459: @node `??' previously defined
>./doc/guix.ko.texi:431: here is the previous definition as @node
>./doc/guix.ko.texi:10011: @node `' previously defined
>./doc/guix.ko.texi:884: here is the previous definition as @node
>./doc/guix.ko.texi:13272: @node `? ??' previously defined
>./doc/guix.ko.texi:2029: here is the previous definition as @node
>./doc/guix.ko.texi:14606: @node `' previously defined
>./doc/guix.ko.texi:884: here is the previous definition as @node
>./doc/guix.ko.texi:31230: @node `?? ?' previously defined
>./doc/guix.ko.texi:13804: here is the previous definition as @node
>./doc/guix.ko.texi:35444: @node `??' previously defined
>./doc/guix.ko.texi:431: here is the previous definition as @node
>./doc/guix.ko.texi:35642: @node `?? ?' previously defined
>./doc/guix.ko.texi:13804: here is the previous definition as @node
>doc/contributing.ko.texi:1: @node `??' previously defined
>./doc/guix.ko.texi:431: here is the previous definition as @node
>doc/contributing.ko.texi:31: @node `? ??' previously defined
>./doc/guix.ko.texi:2029: here is the previous definition as @node
>doc/contributing.ko.texi:229: @node `? ??' previously defined
>./doc/guix.ko.texi:2029: here is the previous definition as @node
>doc/contributing.ko.texi:318: @node `? ??' previously defined
>./doc/guix.ko.texi:2029: here is the previous definition as @node
>doc/contributing.ko.texi:423: @node `? ?? ?' previously 
>defined
>./doc/guix.ko.texi:2623: here is the previous definition as @node
>doc/contributing.ko.texi:690: @node `? ??' previously defined
>./doc/guix.ko.texi:2029: here is the previous definition as @node
>doc/contributing.ko.texi:777: @node `?? ?' previously defined
>./doc/guix.ko.texi:13804: here is the previous definition as @node
>doc/contributing.ko.texi:796: @node `??? ??' previously defined
>doc/contributing.ko.texi:762: here is the previous definition as @node
>doc/contributing.ko.texi:833: @node `??' previously defined
>./doc/guix.ko.texi:431: here is the previous definition as @node
>doc/contributing.ko.texi:869: @node `?? ??' previously defined
>./doc/guix.ko.texi:2262: here is the previous definition as @node
>doc/contributing.ko.texi:883: @node 

bug#51258: emacs-next/git-master broken due to pdmp file naming changes

2021-10-18 Thread Paxton Evans
As of Emacs commit e81f1faca4382ed5c8f15fec84fb7c900a5468f9, building
emacs-next
with the git-master branch will cause some problems on Guix. The
"emacs-next"
build itself will work without any errors, but it will complain whenever
you try
run it:

> emacs: could not load dump file
> "/gnu/store/a5bx5v96snvgiv9r1b7i1im5ccn5mz54-emacs-next-git.master/libexec/emacs/29.0.50/x86_64-pc-linux-gnu/emacs-66e6890a5565f2bed1ee56075d21e0051d891a59200cdd092c0946403fb84ac2.pdmp":
> not a dump file

This will also cause new builds of packages that use
emacs-next/git-master as an
input to fail as well, with a version of the same error. Here's a
(failed) build
log for emacs-pdf-tools:

> [top part snipped]
> 
> make[1]: Leaving directory 
> '/tmp/guix-build-emacs-pdf-tools-0.90-2.5f77dae.drv-0/source/server'
> phase `install' succeeded after 0.3 seconds
> starting phase `patch-shebangs'
> phase `patch-shebangs' succeeded after 0.0 seconds
> starting phase `strip'
> stripping binaries in 
> "/gnu/store/swfjir05k1bg22l50yawhibbv0y5qhr9-emacs-pdf-tools-0.90-2.5f77dae/bin"
>  with "strip" and flags ("--strip-debug" "--enable-deterministic-archives")
> phase `strip' succeeded after 0.0 seconds
> starting phase `validate-runpath'
> validating RUNPATH of 1 binaries in 
> "/gnu/store/swfjir05k1bg22l50yawhibbv0y5qhr9-emacs-pdf-tools-0.90-2.5f77dae/bin"...
> phase `validate-runpath' succeeded after 0.0 seconds
> starting phase `validate-documentation-location'
> phase `validate-documentation-location' succeeded after 0.0 seconds
> starting phase `delete-info-dir-file'
> phase `delete-info-dir-file' succeeded after 0.0 seconds
> starting phase `patch-dot-desktop-files'
> phase `patch-dot-desktop-files' succeeded after 0.0 seconds
> starting phase `install-license-files'
> installing 0 license files from '.'
> phase `install-license-files' succeeded after 0.0 seconds
> starting phase `reset-gzip-timestamps'
> phase `reset-gzip-timestamps' succeeded after 0.0 seconds
> starting phase `compress-documentation'
> phase `compress-documentation' succeeded after 0.0 seconds
> starting phase `enter-lisp-dir'
> phase `enter-lisp-dir' succeeded after 0.0 seconds
> starting phase `emacs-patch-variables'
> emacs: could not load dump file
> "/gnu/store/rv72rvqa3vh2vw7jpkm3d9ww0xb4ibxv-emacs-next-git.master/libexec/emacs/29.0.50/x86_64-pc-linux-gnu/emacs-4588128eef9937d195927b0cccee280697619db43041dd08b620788b8dd59b77.pdmp":
> not a dump file

I think this is because of some recent changes made to the naming of the
Emacs
pdmp file in the master branch. Previously, it just made a file called
"emacs.pdmp" but now it appends the version or commit hash, i.e.
"emacs-4588128eef9937d195927b0cccee280697619db43041dd08b620788b8dd59b77.pdmp".
This new naming scheme started with Emacs commit
e81f1faca4382ed5c8f15fec84fb7c900a5468f9.

This might be confusing Guix's Emacs package recipe, which has a regexp
that
simply looks for "emacs.pdmp" when it does some cleanup after building
Emacs.

guix/gnu/packages/emacs.scm:182 and following:

   > (lambda* (#:key outputs target #:allow-other-keys)
   >   (let* ((libexec (string-append (assoc-ref outputs "out")
   >  "/libexec"))
   >  ;; each of these find-files should return one file
   >  (pdmp (find-files libexec "^emacs\\.pdmp$"))
   >  (pdmp-real (find-files libexec
   > "^\\.emacs\\.pdmp-real$")))

So I think that regexp might need to be changed a little to accommodate
those
recent Emacs changes. That's as far as I'm able to get with it, though,
as I'm
not very good at Guile or regexps.

-paxton





bug#51114: Owncloud client error message

2021-10-18 Thread Daniel Meißner via Bug reports for GNU Guix
Hi Cayetano,

this should be fixed in the current version of owncloud-client.  See
also https://issues.guix.gnu.org/47672 and
https://issues.guix.gnu.org/51117.

Best
Daniel





bug#51261: Guix from qcow2 image refuses to boot after reconfigure

2021-10-18 Thread Jonathan Brielmaier

Imagine follow scenario:

wget
https://ftp.gnu.org/gnu/guix/guix-system-vm-image-1.3.0.x86_64-linux.qcow2

Boot the VM:
qemu-system-x86_64 -enable-kvm -m 4G -device e1000,netdev=net0 \
  -netdev user,id=net0,hostfwd=tcp::5522-:22 \
  -drive
file=guix-system-vm-image-1.3.0.x86_64-linux.qcow2,if=virtio,cache=writeback,werror=report

Inside the VM do a:
sudo su
guix system reconfigure /run/current-system/configuration.scm
reboot

Boot fails (see attached image: failed_boot.png).

Its the same if I do:
sudo su
guix pull
GUIX_PROFILE="$HOME/.config/guix/current"
. "$GUIX_PROFILE/etc/profile"
hash guix
guix system reconfigure /run/current-system/configuration.scm
reboot

~Jonathan


bug#51141: guix home reconfigure does not apply changes to shepherd services

2021-10-18 Thread Andrew Tropin
On 2021-10-16 18:06, Oleg Pykhalov wrote:

> Hi Andrew,
>
> Andrew Tropin  writes:
>
>> On 2021-10-12 01:53, Oleg Pykhalov wrote:
>>
>>> After changing a home shepherd service I tried to reconfigure with 'guix
>>> home reconfigure'.
>>>
>>> Process started by a service did not restart.  Assuming home shepherd is
>>> like Guix System shepherd I tried to 'herd restart SERVICE_NAME', the
>>> process restarted but without changes in a service definition.
>>
>> It's intentional, only `herd load root new-config.conf` called on
>> activation, so existing services are not affected to prevent situations,
>> where emacs daemon or other important process killed in the middle of
>> unsaved work.
>
> If I change something inside a system service definition
> SERVICE-shepherd-service and then invoke 'guix system reconfigure', the
> service will not restart and not produce any effect until I invoke 'sudo
> herd restart SERVICE'.
>
> After herd restart the service will be running with applied changes and
> does not require 'herd unload root SERVICE_NAME'.
> E.g. nginx-service-type.
>
> I think this behaviour should be the same for home services.  WDYT?

Yes, make sense.

According to what I see in the shepherd tests:
https://git.savannah.gnu.org/cgit/shepherd.git/tree/tests/replacement.sh?h=4c5176f5a7a5a1e7d7f258f585e8ed127a21b99a#n61

and how it's implemented in home-shepherd:
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/home/services/shepherd.scm?h=7c3f28fdc4edc00f66801cd51a5ba08eee44f77f#n59

It should work as you expect it.

Tried to do the following: I updated documentation field for a shepherd
service, reconfigured and it got loaded after I restarted a service.

--8<---cut here---start->8---
~ $ herd doc state
Init, update and maybe destroy state.
~ $ herd restart state
Service state has been stopped.
Service state has been started.
~ $ herd doc state
Really init, update and maybe destroy state.
--8<---cut here---end--->8---

Didn't check if start action gexp is updated too, but I expect it was.

-- 
Best regards,
Andrew Tropin


signature.asc
Description: PGP signature