bug#64644: emacs-next eshell-tramp not working when ssh to non Guix System

2023-07-17 Thread Moisés Simón


the Emacs commit that broke eshell/tramp on Guix is
cee1cbfd54375cdece23d4741ced6b0c7091f6d9

output fo magit bisect follows:

--8<---cut here---start->8---
Head: cee1cbfd543 Improve handling of $PATH in Eshell for remote directories
Tags: emacs-28.2 (159665), emacs-29.0.90 (4434)

cee1cbfd54375cdece23d4741ced6b0c7091f6d9 is the first bad commit
commit cee1cbfd54375cdece23d4741ced6b0c7091f6d9
Author: Jim Porter 
Date:   Thu Sep 15 12:24:37 2022 -0700
Improve handling of $PATH in Eshell for remote directories

* lisp/eshell/esh-util.el (eshell-path-env, eshell-parse-colon-path):
Make obsolete.
(eshell-path-env-list): New variable.
(eshell-connection-default-profile): New connection-local profile.
(eshell-get-path): Reimplement using 'eshell-path-env-list'; add
LITERAL-P argument.
(eshell-set-path): New function.

* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add entry for
$PATH.
(eshell-var-initialize): Add 'eshell-path-env-list' to
'eshell-subcommand-bindings'.

* lisp/eshell/esh-ext.el (eshell-search-path): Use 'file-name-concat'
instead of 'concat'.
(eshell/addpath): Use 'eshell-get-path' and 'eshell-set-path'.

* lisp/net/tramp-integration.el: Only apply Eshell hooks when
'eshell-path-env-list' is unbound.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/path-var/local-directory)
(esh-var-test/path-var/remote-directory, esh-var-test/path-var/set)
(esh-var-test/path-var/set-locally)
(esh-var-test/path-var-preserve-across-hosts): New tests.

* test/lisp/eshell/esh-ext-tests.el: New file.

* test/lisp/eshell/eshell-tests-helpers.el
(with-temp-eshell): Set 'eshell-last-dir-ring-file-name' to nil.
(eshell-tests-remote-accessible-p, eshell-last-input)
(eshell-last-output): New functions.
(eshell-match-output, eshell-match-output--explainer): Use
'eshell-last-input' and 'eshell-last-output'.

* doc/misc/eshell.texi (Variables): Document $PATH.

* etc/NEWS: Announce this change (bug#57556).
 doc/misc/eshell.texi | 10 +
 etc/NEWS |  5 +++
 lisp/eshell/esh-ext.el   | 23 +-
 lisp/eshell/esh-util.el  | 55 ---
 lisp/eshell/esh-var.el   | 12 -
 lisp/net/tramp-integration.el| 21 -
 test/lisp/eshell/esh-ext-tests.el| 76 
 test/lisp/eshell/esh-var-tests.el| 60 +
 test/lisp/eshell/eshell-tests-helpers.el | 32 +++---
 9 files changed, 257 insertions(+), 37 deletions(-)
 create mode 100644 test/lisp/eshell/esh-ext-tests.el

Bisect Rest (1)
cee1cbfd543 * @ Improve handling of $PATH in Eshell for remote directories

Bisect Log (20)
git bisect start 'emacs-29.0.91' 'd9732425a6b339d83332f265da32fc3802357701'
3aef46e466f bad Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into 
emacs-29
d9732425a6b good Don't create unused file rmail-loaddefs.el

git bisect skip 2eb2eb0c9ead205935be58ce9bb54465d48b20c8
2eb2eb0c9ea skip ; * emoji.el (emoji--define-transient): Adapt to recent 
changes in transient.

git bisect skip 8b8038494ce8354a3e2cfffebba40dbd1328ebb9
8b8038494ce skip * src/gnutls.c (Fgnutls_available_p): Avoid duplicating 
capabilities.

git bisect skip abfe41cc2c2932525844d9d1cef83bf877145bf4
abfe41cc2c2 skip Prepare to sumbit to gnu elpa

git bisect good 8ec7f8f1699ca1ab4d1e75b369ea231f5802f0e3
8ec7f8f1699 good Update Unicode support to Unicode version 15.0.0 (bug#57846)

git bisect skip f35dc7058b22a6c7bca23c6696b815f137427fb0
f35dc7058b2 skip Add sqlite library version string retrieval function 
(bug#58766)

git bisect bad fafcf02c856ef8fd712ff75e8999dfb0f6d97f07
fafcf02c856 bad Fix syntax tables of tree-sitter modes (bug#59807)

git bisect bad 8721e87a6ec0874057f83f54498a0e3a64475a53
8721e87a6ec bad ; * etc/ERC-NEWS: Mention move to erc-common.el.

git bisect bad e08e9bc40f2c309bf119659a6496759493bd35e1
e08e9bc40f2 bad Remove modifications to the list of ignored files in source 
packages

git bisect good abe83f76de36bc3922b410f9872065fc3903738b
abe83f76de3 good Merge from origin/emacs-28

git bisect good 36ab1644964ae5a933bd9808536f60d4ae64c99f
36ab1644964 good Improve error message from sqlite-execute

git bisect good b9aff5fdb89092b68ebd7782c8dc85e6daca14b2
b9aff5fdb89 good Fix spurious "Compilation finished" native-comp messages

git bisect good 1a5e705dda54b74686cdc31543e4783a1f3337e1
1a5e705dda5 good ; * lisp/vc/vc-cvs.el (vc-cvs-clone): Remove function

git bisect skip 86581698acc1a0991592e018c1ba749f3ded21be
86581698acc skip Fix faulty loaddefs detection

git bisect bad 254536e41bf5fb62263206edb3c2d734f9cd50ef
254536e41bf bad Regenerated ldefs-boot.el

git bisect good 1beb389e472ab8132b478c9f24dd0ab6b7398670
1beb389e472 good ; Remove over-quoting of :applica

bug#64593: ‘guix system image’ fails to create image while invoking ‘grub-bios-setup’

2023-07-17 Thread Ludovic Courtès
Hi Josselin,

Josselin Poiret  skribis:

> Ludovic Courtès  writes:
>
>> The culprit might be 209204e23b39af09e0ea92540b6fa00a60e6a0ae, from
>> .
>>
>> Josselin, Sergey, WDYT?
>
> Apologies!  Our install-grub-disk-image doesn't really support GPT
> right, now but this is easy to fix (I've successfully booted your
> example with a local change).  However, for this to work we need to have
> a BIOS Boot partition instead of the ESP that's defined for efi images.
> We have two options here, either add a new image type that has that
> instead of the ESP (which means duplicating a bunch of them...), or make
> the partition of efi-raw change depending on the bootloader, which would
> need some refactoring.  I'm not a big fan of either options though :)

I’m not sure what a good fix is, but I think we should make sure ‘guix
system image’ (‘-t efi-raw’, that is) doesn’t remain broken.

One possible short-term option is to revert, or maybe we could
special-case along these lines:

diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 841e7e0c7e..b4ed4181ac 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -204,7 +204,12 @@ (define-syntax-rule (image-with-os base-image os)
 (define efi-raw-image-type
   (image-type
(name 'efi-raw)
-   (constructor (cut image-with-os efi-disk-image <>
+   (constructor (cut image-with-os
+ (image-without-os
+  (format 'disk-image)
+  (partition-table-type 'mbr) ;XXX
+  (partitions (list esp-partition root-partition)))
+ <>
 
 (define efi32-raw-image-type
   (image-type

WDYT?

Ludo’.


bug#64106: [PATCH] gnu: services: Revert to deleting and updating all matching services

2023-07-17 Thread Brian Cully via Bug reports for GNU Guix
This patch reverts the behavior introduced in
181951207339508789b28ba7cb914f983319920f which caused ‘modify-services’
clauses to only match a single instance of a service.

We will now match all service instances when doing a deletion or update, while
still raising an exception when trying to match against a service that does
not exist in the services list, or which was deleted explicitly by a ‘delete’
clause (or an update clause that returns ‘#f’ for the service).

Fixes: #64106

* gnu/services.scm (%modify-services): New procedure.
(modify-services): Use it.
(apply-clauses): Add DELETED-SERVICES argument, change to modify one service
at a time.
* tests/services.scm
("modify-services: delete then modify"),
("modify-services: modify then delete"),
("modify-services: delete multiple services of the same type"),
("modify-services: modify multiple services of the same type"): New tests.
---
 gnu/services.scm   | 95 +++---
 tests/services.scm | 68 +
 2 files changed, 124 insertions(+), 39 deletions(-)

diff --git a/gnu/services.scm b/gnu/services.scm
index 109e050a23..4c5b9b16df 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -320,45 +320,62 @@ (define-syntax clause-alist
 ((_)
  '(
 
-(define (apply-clauses clauses services)
-  "Apply CLAUSES, an alist as returned by 'clause-alist', to SERVICES, a list
-of services.  Use each clause at most once; raise an error if a clause was not
-used."
-  (let loop ((services services)
- (clauses clauses)
- (result '()))
-(match services
-  (()
-   (match clauses
- (()  ;all clauses fired, good
-  (reverse result))
- (((kind _ properties) _ ...);one or more clauses didn't match
-  (raise (make-compound-condition
-  (condition
-   (&error-location
-(location (source-properties->location properties
-  (formatted-message
-   (G_ "modify-services: service '~a' not found in service 
list")
-   (service-type-name kind)))
-  ((head . tail)
-   (let ((service clauses
-  (fold2 (lambda (clause service remainder)
-   (if service
-   (match clause
- ((kind proc properties)
-  (if (eq? kind (service-kind service))
-  (values (proc service) remainder)
-  (values service
-  (cons clause remainder)
-   (values #f (cons clause remainder
- head
+(define (apply-clauses clauses service deleted-services)
+  (define (raise-if-deleted kind properties)
+(match (find (lambda (deleted)
+   (match deleted
+ ((deleted-kind _)
+  (eq? kind deleted-kind
+ deleted-services)
+  ((_ deleted-properties)
+   (raise (make-compound-condition
+   (condition
+(&error-location
+ (location (source-properties->location properties
+   (formatted-message
+(G_ "modify-services: service '~a' was deleted here: ~a")
+(service-type-name kind)
+(source-properties->location deleted-properties)
+  (_ #t)))
+
+  (match clauses
+(((kind proc properties) . rest)
+ (begin
+   (raise-if-deleted kind properties)
+   (if (eq? (and service (service-kind service))
+kind)
+   (let ((new-service (proc service)))
+ (apply-clauses rest new-service
+(if new-service
+deleted-services
+(cons (list kind properties)
+  deleted-services
+   (apply-clauses rest service deleted-services
+(()
+ service)))
+
+(define (%modify-services services clauses)
+  (define (raise-if-not-found clause)
+(match clause
+  ((kind _ properties)
+   (when (not (find (lambda (service)
+  (eq? kind (service-kind service)))
+services))
+ (raise (make-compound-condition
+ (condition
+  (&error-location
+   (location (source-properties->location properties
+ (formatted-message
+  (G_ "modify-services: service '~a' not found in service 
list")
+  (service-type-name kind
+
+  (for-each raise-if-not-found clauses)
+  (reverse (filter-map identity
+   (fold (lambda (service services)
+   (cons (a

bug#64691: use https:// instead of git:// in shepherd www

2023-07-17 Thread Simon Josefsson via Bug reports for GNU Guix
Hello, and congratulations on the shepherd 0.10.2 release!

How about using https for git clone instructions, instead of the old
non-secured way?  See patch below.

The "Download" link on 
goes to  which doesn't exist.  How about
updating it to point to ?

/Simon

cvs2 diff: Diffing .
Index: dmd.html
===
RCS file: /web/shepherd/shepherd/dmd.html,v
retrieving revision 1.34
diff -u -p -r1.34 dmd.html
--- dmd.html13 May 2023 14:40:49 -  1.34
+++ dmd.html17 Jul 2023 19:36:44 -
@@ -87,7 +87,7 @@ can be found at
 Development
 
 
-  Anonymous checkout: git clone 
git://git.savannah.gnu.org/shepherd.git
+  Anonymous checkout: git clone 
https://git.savannah.gnu.org/git/shepherd.git
   You can also browse the Git repository with your web browser: 
 https://git.savannah.gnu.org/cgit/shepherd.git";>https://git.savannah.gnu.org/cgit/shepherd.git
 
cvs2 diff: Diffing manual
cvs2 diff: Diffing manual/html_node


signature.asc
Description: PGP signature