Non-English manuals for 1.4.0 are unavailable

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Maxim Cournoyer
  • pelzflorian (Florian Pelz)
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
important
L
L
L
Ludovic Courtès wrote on 23 Jul 17:15 +0200
control message for bug #72257
(address . control@debbugs.gnu.org)
87ttggf8b6.fsf@gnu.org
severity 72257 important
quit
L
L
Ludovic Courtès wrote on 23 Jul 17:18 +0200
Re: bug#72257: Non-English manuals for 1.4.0 are unavailable
(address . 72257@debbugs.gnu.org)
87plr4f86g.fsf@gnu.org
Hi,

(+Cc translations team.)

Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (6 lines)
> Right now, non-English manuals for 1.4.0 are 404:
>
> https://guix.gnu.org/manual/de/html_node/
> https://guix.gnu.org/manual/es/html_node/
> https://guix.gnu.org/manual/fr/html_node/

Looks like current po4a as invoked by ‘doc/build.scm’ doesn’t work:

Toggle snippet (38 lines)
$ guix build /gnu/store/ffb4pkrfn9s8nxdmf65nziqhs4qlla2m-texinfo-manual-source.drv --check
The following derivations will be built:
/gnu/store/ffb4pkrfn9s8nxdmf65nziqhs4qlla2m-texinfo-manual-source.drv
/gnu/store/j87wq7m117c3d3ja8jla2jn2wkv1lg4k-guix-translated-texinfo.drv
substitute: updating substitutes from 'http://ci.guix.gnu.org'... 100.0%
building /gnu/store/j87wq7m117c3d3ja8jla2jn2wkv1lg4k-guix-translated-texinfo.drv...
File /gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg does not exist.
File /gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg does not exist.
File /gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg does not exist.
File /gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg does not exist.
File /gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg does not exist.
File /gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg does not exist.
File /gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg does not exist.
File /gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg does not exist.
In thread:
uncaught throw to %exception: (#<&invoke-error program: "/gnu/store/wf4gkjz3pqax3ids9xlgzg9pj2il7dni-po4a-0.69/bin/po4a" arguments: ("--no-update" "--variable" "localized=guix.fr.texi.tmp" "--variable" "master=guix.texi" "--variable" "po=./guix-manual.fr.po" "--variable" "pot=/tmp/fileNBHtSJ.pot" "--srcdir=/gnu/store/3fk7j3g14q1h6prb93xhy44f3f55rxbr-guix" "--destdir=." "/gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg") exit-status: 2 term-signal: #f stop-signal: #f>)
In thread:
uncaught throw to %exception: (#<&invoke-error program: "/gnu/store/wf4gkjz3pqax3ids9xlgzg9pj2il7dni-po4a-0.69/bin/po4a" arguments: ("--no-update" "--variable" "localized=guix.pt_BR.texi.tmp" "--variable" "master=guix.texi" "--variable" "po=./guix-manual.pt_BR.po" "--variable" "pot=/tmp/fileQkL7Re.pot" "--srcdir=/gnu/store/3fk7j3g14q1h6prb93xhy44f3f55rxbr-guix" "--destdir=." "/gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg") exit-status: 2 term-signal: #f stop-signal: #f>)
In thread:
uncaught throw to %exception: (#<&invoke-error program: "/gnu/store/wf4gkjz3pqax3ids9xlgzg9pj2il7dni-po4a-0.69/bin/po4a" arguments: ("--no-update" "--variable" "localized=guix.es.texi.tmp" "--variable" "master=guix.texi" "--variable" "po=./guix-manual.es.po" "--variable" "pot=/tmp/fileJ2khxq.pot" "--srcdir=/gnu/store/3fk7j3g14q1h6prb93xhy44f3f55rxbr-guix" "--destdir=." "/gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg") exit-status: 2 term-signal: #f stop-signal: #f>)
In thread:
uncaught throw to %exception: (#<&invoke-error program: "/gnu/store/wf4gkjz3pqax3ids9xlgzg9pj2il7dni-po4a-0.69/bin/po4a" arguments: ("--no-update" "--variable" "localized=guix.de.texi.tmp" "--variable" "master=guix.texi" "--variable" "po=./guix-manual.de.po" "--variable" "pot=/tmp/fileI2FBVS.pot" "--srcdir=/gnu/store/3fk7j3g14q1h6prb93xhy44f3f55rxbr-guix" "--destdir=." "/gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg") exit-status: 2 term-signal: #f stop-signal: #f>)
In thread:
uncaught throw to %exception: (#<&invoke-error program: "/gnu/store/wf4gkjz3pqax3ids9xlgzg9pj2il7dni-po4a-0.69/bin/po4a" arguments: ("--no-update" "--variable" "localized=guix-cookbook.sk.texi.tmp" "--variable" "master=guix-cookbook.texi" "--variable" "po=./guix-cookbook.sk.po" "--variable" "pot=/tmp/file8Dg90X.pot" "--srcdir=/gnu/store/3fk7j3g14q1h6prb93xhy44f3f55rxbr-guix" "--destdir=." "/gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg") exit-status: 2 term-signal: #f stop-signal: #f>)
In thread:
uncaught throw to %exception: (#<&invoke-error program: "/gnu/store/wf4gkjz3pqax3ids9xlgzg9pj2il7dni-po4a-0.69/bin/po4a" arguments: ("--no-update" "--variable" "localized=guix-cookbook.fr.texi.tmp" "--variable" "master=guix-cookbook.texi" "--variable" "po=./guix-cookbook.fr.po" "--variable" "pot=/tmp/file6io6rG.pot" "--srcdir=/gnu/store/3fk7j3g14q1h6prb93xhy44f3f55rxbr-guix" "--destdir=." "/gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg") exit-status: 2 term-signal: #f stop-signal: #f>)
In thread:
uncaught throw to %exception: (#<&invoke-error program: "/gnu/store/wf4gkjz3pqax3ids9xlgzg9pj2il7dni-po4a-0.69/bin/po4a" arguments: ("--no-update" "--variable" "localized=guix-cookbook.de.texi.tmp" "--variable" "master=guix-cookbook.texi" "--variable" "po=./guix-cookbook.de.po" "--variable" "pot=/tmp/filer0TSAC.pot" "--srcdir=/gnu/store/3fk7j3g14q1h6prb93xhy44f3f55rxbr-guix" "--destdir=." "/gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg") exit-status: 2 term-signal: #f stop-signal: #f>)
In thread:
uncaught throw to %exception: (#<&invoke-error program: "/gnu/store/wf4gkjz3pqax3ids9xlgzg9pj2il7dni-po4a-0.69/bin/po4a" arguments: ("--no-update" "--variable" "localized=guix-cookbook.ko.texi.tmp" "--variable" "master=guix-cookbook.texi" "--variable" "po=./guix-cookbook.ko.po" "--variable" "pot=/tmp/filebmkQ3a.pot" "--srcdir=/gnu/store/3fk7j3g14q1h6prb93xhy44f3f55rxbr-guix" "--destdir=." "/gnu/store/gh2qlibnp6zy3ish7l5fxgq2v7k8n7f8-doc/po4a.cfg") exit-status: 2 term-signal: #f stop-signal: #f>)

Some deprecated features have been used. Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information. Set it to "no" to suppress
this message.
successfully built /gnu/store/j87wq7m117c3d3ja8jla2jn2wkv1lg4k-guix-translated-texinfo.drv

Thoughts?

Ludo’.
M
M
Maxim Cournoyer wrote on 23 Jul 21:59 +0200
C0F070B2-C229-4589-9353-98C8A720946B@gmail.com
Hi Ludo,

I think there is a patch on our tracker to use the latest po4a; perhaps it could help.

Maxim
Attachment: file
P
P
pelzflorian (Florian Pelz) wrote on 24 Jul 12:04 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)
871q3jrtq8.fsf@pelzflorian.de
Hello all, I do not understand why these old manuals are built with
po4a.cfg. Why does it not use old guix 1.4.0 to build old manual 1.4.0?

po4a.cfg was added to guix.git in early June 2024 in commits starting from

commit 2d4af5247057505956e841d396ec78af9f769837
Author: gemmaro <gemmaro.dev@gmail.com>
Date: Sun Apr 14 16:18:51 2024 +0900

build: Update the POT creation task with the po4a command.
* configure.ac (Documentation translation): Add the po4a program and remove
the po4a-updatepo program. The PO4A defined here can be used in
Makefiles (e.g. po/doc/local.mk below). The po4a command integrates the
functionality of po4a-updatepo and is currently recommended for use [1]. The
po4a-updatepo command has been replaced by the po4a command and are not used
from anywhere.
* po/doc/local.mk (%D%/%.pot): Use a po4a command instead of the po4a-updatepo
for the POT generation. This eliminates the warning of po4a-updatepo;
"po4a-updatepo is deprecated. The unified po4a(1) program is more convenient
and less error prone." Here, the file paths are passed using variables. This
is because the po4a command needs to be executed for each language and each
file. Dummy values are passed for those that are not needed to update the POT
file.
* po/doc/po4a.cfg: Add a po4a config file for the POT generation. The po4a
command requires a configulation file.
Change-Id: Ica39a0d1f77b6a64d37c592ac2e693319443d3c5
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>


The old manual as referred to in maintenance.git in
hydra/modules/sysadmin/web.scm was expected to build with the
guix/self.scm of old guix.git; it should not try to use po4a.cfg.

Current po4a also still includes the old po4a tools (po4a-updatepo and
po4a-translate) from before; they just are little maintained.

Regards,
Florian
P
P
pelzflorian (Florian Pelz) wrote on 24 Jul 13:34 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)
877cdbaur6.fsf@pelzflorian.de
"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> writes:
Toggle quote (4 lines)
> The old manual as referred to in maintenance.git in
> hydra/modules/sysadmin/web.scm was expected to build with the
> guix/self.scm of old guix.git; it should not try to use po4a.cfg.

The issue seems to be, maintenance.git in hydra/modules/sysadmin/web.scm
uses old guix 1.4.0’s doc/build.scm, but it imports the (guix self)
module by @@ from the new guix, which expects po4a.cfg.

Can we make it @@ the modules from old guix 1.4.0?

Regards,
Florian
P
P
pelzflorian (Florian Pelz) wrote on 24 Jul 17:58 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)
87ttgesrxd.fsf@pelzflorian.de
The easiest resolution would be to generally use an old 1.4.0 guix
package in with-extensions, because the modules from a guix@1.4.0 still
should work fine even for the latest devel manual (I have not tested,
but autonomous guix/self.scm ignores the changed Makefile).

Regards,
Florian
P
P
pelzflorian (Florian Pelz) wrote on 25 Jul 14:41 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)
878qxpzlse.fsf@pelzflorian.de
Could someone knowledgeable in maintenance.git in
hydra/modules/sysadmin/web.scm change the guix-extensions to use an
older guix package earlier than June 2024, such as guix version 1.4.0?

I try

((options->transformation '((with-commit . "guix=v1.4.0"))) guix)

but could it be made to get a guix@1.4.0 with substitutes instead?

Or should it define a new guix@1.4.0 package with (package (inherit
guix))?

Should it look more like how guix.git’s guix/scripts/time-machine.scm
uses old guix?

Then the doc/build.scm would again @@ out to a (guix self) module that
does not require po4a.cfg, which is not yet present when building old
guix’s manual.

Regards,
Florian
L
L
Ludovic Courtès wrote on 26 Jul 00:32 +0200
(name . pelzflorian (Florian Pelz))(address . pelzflorian@pelzflorian.de)
87r0bhcdbq.fsf@gnu.org
Hello,

"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> skribis:

Toggle quote (11 lines)
> "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> writes:
>> The old manual as referred to in maintenance.git in
>> hydra/modules/sysadmin/web.scm was expected to build with the
>> guix/self.scm of old guix.git; it should not try to use po4a.cfg.
>
> The issue seems to be, maintenance.git in hydra/modules/sysadmin/web.scm
> uses old guix 1.4.0’s doc/build.scm, but it imports the (guix self)
> module by @@ from the new guix, which expects po4a.cfg.
>
> Can we make it @@ the modules from old guix 1.4.0?

Alternatively, could we use (@ (guix self) translate-texi-manuals) as it
existed in Guix commit 5f86eebd240958001ab4f178005f355d24d9b7f1 by
simply copying it to ‘doc/build.scm’ on the ‘version-1.4.0’ branch?

That seems simpler and more orthogonal to me than special-casing
(sysadmin web).

Patch below.

WDYT?

Ludo’.

PS: I’ll be away from keyboard in the coming days so feel free to push
to ‘version-1.4.0’ if it looks good to you.
Attachment: file
P
P
pelzflorian (Florian Pelz) wrote on 27 Jul 10:34 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)
87sevvutby.fsf@pelzflorian.de
Thank you Ludo, with your diff, building doc/build.scm failed previously
and works for me now. I tested and pushed it to branch `version-1.4.0'
yesterday evening.

But mcron should have picked it up by now, but has not. Maybe someone
could look at the logs? Or wait some more.

Regards,
Florian
P
P
pelzflorian (Florian Pelz) wrote on 28 Jul 09:35 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)
8734nu2clz.fsf@pelzflorian.de
The manual builds now. Closing.

(I had miscalculated how long it takes, but thanks if someone intervened
and initiated the build.)

Regards,
Florian
Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 72257
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