Subject: Re: [bug#70020] [PATCH v3 1/1] gnu: Add debian-devscripts.

From: Vagrant Cascadian <[email-masked]>
Date: Fri, 03 May 2024 19:42:11 -0700

On 2024-04-15, Steve George wrote:
> * gnu/packages/debian.scm (debian-devscripts): New variable.
>
> Change-Id: Iff64afdb1f730f3d941617bc428a57d09c0381b2
> ---
>  gnu/packages/debian.scm | 151 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 151 insertions(+)
>
> diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm
> index a88fb04feb..2c79afdc75 100644
> --- a/gnu/packages/debian.scm
> +++ b/gnu/packages/debian.scm
...
> +(define-public debian-devscripts
> +  (package
> +    (name "debian-devscripts")

As someone who has used devscripts for years (decades?), I would find it
very surprising that it includes a single script! :)

It is essentially a huge grab bag of scripts (most of which I have never
used) ... so I would suggest "debian-devscripts-bts" or simply "debian-bts".

Or packaging more of the scripts? Not sure what would be generally
useful on guix as most are very debian-specific, but I am sometimes
surprised. :)

> +          (add-after 'install 'manpage
> +            ;; FIXME: missing the man page for bts, how is it created?

I have not quite figured out exactly how it gets there, but according
the last build on debian:

  https://buildd.debian.org/status/fetch.php?pkg=devscripts&arch=all&ver=2.23.7&stamp=1702422001&raw=0

it calls:

  pod2man --utf8 --center=" " --release="Debian Utilities" bts.pl > bts.1

Presumably this is in one of the scripts/Makefile targets:

  %.1: %.pl
	podchecker $<
	pod2man --utf8 --center=" " --release="Debian Utilities" $< > $@

Seems like they get pulled into SCRIPTS via a wildcard:

  PL_FILES := $(wildcard *.pl)
  SH_FILES = $(wildcard *.sh)
  SCRIPTS = $(patsubst %.pl,%,$(PL_FILES)) $(patsubst %.sh,%,$(SH_FILES))

So it might be possible to get the Makefile to do the right thing ... or
just call pod2man (from "perl") directly since you're only packaging
bts.pl...

> +    (synopsis "BTS script from Debian's devscripts")
> +    (description "This package only provides the bts script from the Debian
> +devscripts archive.  It's useful for Guix Developers that interacting with GNU's
> +debbugs server.")
> +    (license license:gpl2)))

This should definitely be changed to gpl2+ looking at scripts/bts.pl and
debian/copyright documents some exceptions; a few of the common files
might actually be a smattering of other licenses; this is where shipping
only a subset is very nice. :)

Hope that is helpful! :)

live well,
  vagrant