bug#69735: [BUG] Error running any docker-composse command

2024-03-24 Thread John Kehayias via Bug reports for GNU Guix
Hi Arun,

On Sat, Mar 16, 2024 at 08:59 PM, Arun Isaac wrote:

> Hi John,
>
>> I would suggest we revert commit
>> d084fb4b04a1cebb59959633660013fff495cd0d and/or use the previous version
>> 6.1.3 until we can have docker compose with v2 support. As it is, this
>> makes docker-compose unusable on Guix without some manual downgrade.
>>
>> Arun, what do you think?
>
> Reverted, thanks for reporting!
>
> Regards,
> Arun

Thanks! I can confirm things work again. I suppose we can update it to
6.1.3, but I haven't tried yet. More importantly would be to finally
tackle the docker upgrade...

Closing.

John






bug#39302: XFCE user cannot log out, shutdown, or reboot via GUI

2024-03-24 Thread Maxim Cournoyer
Hi,

Jonathan Brielmaier  writes:

> Hi Jesse,
>
> can you still reproduce this? For me at guix 1.1.0-4affa91 (current
> core-updates) log out, shutdown and reboot does work.

It works co me as well.  Closing.

-- 
Thanks,
Maxim





bug#43377: Possible Bug

2024-03-24 Thread Maxim Cournoyer
Hi,

Çağlar Yıldız  writes:

> Hello,
>
> I’m having trouble installing Guix System 1.1.0 on my computer. Installation 
> sequence reinitiates itself without giving any errors. Here are the steps 
> I’ve taken during installation:
>
>   *   Locale Language -> English
>   *   Locale Location -> United States
>   *   Gnu Guix Install -> Graphical install using a terminal based interface
>   *   Timezone -> America / Chicago
>   *   Layout -> English US
>   *   Variant -> English US
>   *   Hostname -> “hostname”
>   *   Internet Access -> Wired
>   *   System Administrator Password -> “password"
>   *   User Creation -> “username”
>   *   Desktop Environment -> Xfce
>   *   Network Service ->
>  *   OpenSSH secure shell daemon (sshd)
>  *   Tor anonymous network router
>  *   Mozilla NSS certificates, for HTTPS access
>   *   Partitioning method -> Guided using entire disk
>   *   Disk -> ATA ST200LX001-1R01 (SCSI) /dev/sda 2000GB msdos
>
> After I select the disk, I briefly see a cursor blinking on the left top 
> corner of the screen and system goes back to Locale language selecting step 
> without giving any error. I’ve verified the authenticity of the file after I 
> download it. I’ve tried restarting the computer and doing all over again but 
> nothing changed. It just repeats itself. Please let me know if you need any 
> further information. Thank you for your time.

There were improvements between 1.1.0 and 1.4.0 that probably resolved
that issue.  Tentatively closing.

-- 
Thanks,
Maxim





bug#40926: spice-vdagent not scaling the display

2024-03-24 Thread Maxim Cournoyer
Hi,

Maxim Cournoyer  writes:

[...]

> Which desktop environment were you using?  If it was Xfce, it's a known
> bug [0], and there's not much we can do about.  It should work fine out
> of the box for GNOME.
>
> Thank you,
>
> Maxim
>
> [0]  https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/142

We haven't heard back; I assume the problem was the one above, which was
worked around in the Guix Xfce demo VM via the x-resize tool.

Closing.

-- 
Thanks,
Maxim





bug#69982: Setting inodes to 0 leads to incorrect output when extracting with GNU cpio

2024-03-24 Thread Skyler Ferris via Bug reports for GNU Guix
Hello,

I have encountered a bug that is caused by the interaction of 
write-cpio-archive from (gnu build linux-initrd) writing all inodes as 0 
and the way that GNU cpio processes file headers. I observed this bug 
while creating a custom initramfs where init is based on a bash script 
used by another distribution (but I will provide a minimal reproducer 
below). This bug only exhibits itself when there are multiple different 
hard links present in the input directory. This email will contain a 
short set of reproduction steps, an explanation of what I understand the 
cause of the bug to be, some possible paths forward, and a disclaimer 
about my limitations due to my background.

To reproduce this bug, run the following commands:

```shell
$ mkdir /tmp/source
$ cd /tmp/source
$ echo contents1 > file1.txt
$ ln file1.txt link1.txt
$ echo contents2 > file2.txt
$ echo contents3 > file3.txt
$ ln file3.txt link3.txt
$ guix repl
 > (use-modules (gnu build linux-initrd))
 > ; disable compression so we don't waste time on it while debugging, 
it does not impact reproduction
 > (write-cpio-archive "." "../archive.cpio" #:compress? #f)
 > ,q
$ cd ..
$ mkdir out
$ cd out
$ cat ../archive.cpio | cpio -i
$ cat *
```

After running the final step you will see that all of file1.txt, 
link1.txt, file3.txt, and link3.txt have the contents "contents1": the 
files which should contain "contents3" have been created incorrectly.

Now I will list the set of steps the relevant programs performed which 
caused this error, followed by a more verbose explanation with 
references to source code:

1. Guix creates the archive with the inode and major & minor device 
numbers set to 0. Number of hard links is reported accurately.
2. CPIO reads the archive and hard links files when the header indicates 
that there are multiple links. It uses the inode and major & minor 
device numbers to find the correct file to hard link to.
3. As file3.txt and link3.txt both have multiple links and share their 
inode and major & minor device numbers with file1.txt, they are all 
linked to file1.txt

This error occurs when the cpio utility processes files with hard link. 
In `copyin_regular_file`, there is a code block which only runs if the 
file has multiple hard links and the newascii (or checksummed new ascii) 
format is in use (1). Within that code block there is a conditional to 
check if the file size is 0, with a comment explaining that the newascii 
format only records the data for the final file pointing to the relevant 
inode rather than repeating the data each time. The  code in 
guix/cpio.scm does not actually do this, so this code block never 
executes. Instead, the other code block runs which simply calls 
`link_to_maj_min_ino` (and checks for an error code) (2). This uses 
`find_inode_file` which references a hash table that associates the 
inode/major device/minor device with a file path, and if it finds a 
match then it creates a hard link on the target file system. However, 
Guix's `file->cpio-header*` sets all of the inode and device numbers to 
0 for reproducibility. This causes cpio to hard link every file with 
multiple links to the first file that has multiple links.

I see 3 possible paths forward to address this issue:

1. Provide spoofed inode numbers, tracking hard link data. In (gnu build 
linux-initrd), the `write-cpio-archive` procedure sorts the files by 
name so we can provide inode numbers that increase sequentially. 
However, in order to make sure that the correct hard links are findable 
by the cpio utility we would need to track the real inode numbers as 
well and use the correct pseudonym in each place. This would noticeably 
increase the complexity of the code.
2. Provide spoofed inode numbers and spoofed hard link data. In order to 
avoid tracking the real hard link numbers we can just report all files 
as having only a single link, and still provide sequential inode numbers 
as above. This will not increase the size of the cpio archives we 
generate compared to current output because we are storing the data for 
each link anyway. This will add some complexity to the cpio code, but 
less than option 1.
3. Don't support inputs with multiple hard links and require callers to 
work around this issue. This avoids any changes to the cpio code.

I am in favor of option 2 because I think it strikes a good balance 
between keeping the cpio code stable and supporting reasonable use 
cases. The cpio code is used to build the initramfs in Guix systems so a 
bug here could make some systems unbootable. Guix does provide 
transactional rollbacks which is helpful but it is still a frustrating 
experience to reboot and immediately see a crash; debugging issues in 
this early environment is significantly more difficult than debugging 
post-boot issues. Hard links are not common on many systems because they 
add complexity to filesystem analysis, but Guix makes good use of them 
to save space in the store, where it is common for 

bug#69800: [PATCH gnome-team] gnu: kcalendarcore: Disable failing test.

2024-03-24 Thread Liliana Marie Prikler
Am Samstag, dem 23.03.2024 um 11:15 +0100 schrieb Liliana Marie
Prikler:
> Am Samstag, dem 23.03.2024 um 10:07 +0100 schrieb Vivien Kraus:
> > * gnu/packages/kde-frameworks.scm (kcalendarcore) [#:phases]: Add
> > 'disable-failing-test.
> > 
> > Change-Id: Ia0a5828b032d1940f30a7d38ebd276e60929c310
> > ---
> LGTM
Also LGT cbaines on IRC, so pushed.





bug#69682: [PATCH v2] gnu: ocaml-extlib: Convert to dune-build-system.

2024-03-24 Thread pukkamustard


Sorry for being late to the party. But the conversion to use
dune-build-system looks good to me!

I ran into the same issue when updating opam to 2.1.5 but never managed
to get to the bottom of it. Thanks for figuring this out!

-pukkamustard

Vivien Kraus  writes:

> * gnu/packages/ocaml.scm (ocaml-extlib) [build-system]: Convert to
> dune-build-system.
> [arguments]: Remove '#:phases' and add '#:package'.
>
> Change-Id: Ia50c05423f3062200704fbcbb0680f2b326a7ca4
> ---
> Opam still builds on gnome-team.
>
>  gnu/packages/ocaml.scm | 6 ++
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index 0f4c351141..b70e925d51 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -644,11 +644,9 @@ (define-public ocaml-extlib
>(sha256
> (base32
>  "1jydzw2n84cfiz9y6lk4gih4wbr8jybanmiryfs01svd07g4vpjq"
> -(build-system ocaml-build-system)
> +(build-system dune-build-system)
>  (arguments
> - `(#:phases
> -   (modify-phases %standard-phases
> - (delete 'configure
> + (list #:package "extlib"))
>  (native-inputs
>(list ocaml-cppo))
>  (home-page "https://github.com/ygrek/ocaml-extlib;)
>
> base-commit: 2f441fc738976175d438f7942211b1894e2eb416