Subject: [bug#70001] [PATCH] gnu: reprotest: Add missing propogated inputs

From: Vagrant Cascadian <[email-masked]>
Date: Mon, 25 Mar 2024 23:02:58 -0700

On 2024-03-25, Skyler Ferris wrote:
> This patch adds some propagated inputs to the reprotest package so that 
> most tests can run in a pure shell.

Thanks for taking an interest in this!

My understanding is that propagated inputs are generally to be used very
sparingly, as they make it very difficult to install multiple packages
that might contain conflicting propagated inputs.

Most of the proposed inputs are largely optional dependencies of
reprotest, which in guix terms, generally the end-user is expected to
install the additional packages to enable desired optional features.

It might make sense to list the additional dependencies in the
description describing what features each enables?

Adding some of them to native-inputs might also make sense to enable
more tests, and give a clear place to write comments about each. Then
"guix shell --pure --development reprotest reprotest" would pull them in
and reprotest itself to be able to run the relevent tests as you had
tried.

If reprotest behaves quite badly without some of the in the working
environment, such as spitting out an ugly backtrace rather than
reporting what is missing, it should probably be fixed upstream (and
possibly patched in guix in the meantime).

> Additionally, this patch adds a new build phase to call fusermount3 
> instead of fusermount, which is the name of the command provided by 
> Guix's fuse package. This does not make it work in a pure shell but it 
> does make it work in an operating system that provides the suid version 
> of the binary.

It seems like this is missing from the patch, though I suspect it is
needed to behave correctly with things relying on fuse!

> You can try the suid-dependent tests with the same Makefile. The sudo 
> and fuse-2 packages need to be installed; the default %setuid-programs 
> variable includes the relevant binaries. Remove the `--pure` flag from 
> the shell invocation and change the `--variations` flag in the reprotest 
> variations to have the value `"+fileordering, +user_group"`.

Thanks for the detailed report ... this might be or should be covered by
upstream documentation ... although if there are guix-specific angles on
it, I am not sure where that should be documented.

So, in summary, I think there are some ideas to explore from your patch,
although it needs a bit of rethinking about implementation details.

live well,
  vagrant