Subject: Re: [bug#53007] [PATCH] gnu: networking: Add arp-scan

From: Leo Famulari <[email-masked]>
Date: Tue, 11 Jan 2022 13:54:18 -0500

Thanks for the patch!

On Tue, Jan 04, 2022 at 05:34:15PM +0200, [email-masked] wrote:
> +    (version "1.9.7")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "https://github.com/royhills/arp-scan/"
> +                           "archive/refs/tags/" version ".tar.gz"))

This type of tarball is automatically generated by Git / Github based on
the Git tag. However, whenever Github updates their software, the
generated tarballs may change, invalidating our hash. [0]

For that reason, we either use tarballs created by the upstream
developers, or the git-fetch method. For this program, the developers
stopped making tarballs after version 1.9, so we have to use git-fetch
to package 1.9.7.

> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (replace 'bootstrap
> +           (lambda _
> +             (invoke "autoreconf" "-vfi"))))))

The bootstrap phase of gnu-build-system runs autoreconf when 'configure'
is missing. I'm guessing this package was written before
gnu-build-system learned to do that, because the package does build
successfully without this replacement.

> +    (inputs
> +     (list libpcap))
> +    (native-inputs
> +     (list autoconf automake libtool pkg-config))
> +    (propagated-inputs
> +     (list perl-libwww))
> +    (home-page "https://github.com/royhills/arp-scan")
> +    (synopsis "Dscover and fingerprint IP hosts on the local network using ARP")
                  ^
Typo here --------|

> +    (description "A tool that uses ARP to discover and fingerprint IP hosts on the local network")

Descriptions should be written in "complete" sentences. How about the
following?

"Arp-scan is a tool that uses ARP to discover and fingerprint IP hosts
on the local network."

> +    (license license:gpl3)))

The source headers of 'arp-scan.c' say that the program can be
distributed "either version 3 of the License, or (at your option) any
later version." So I think it's gpl3+.

Can you send a revised patch?

[0] https://github.com/libgit2/libgit2/issues/4343