Subject: Re: bug#49577: [PATCH] Add python-pmbootstrap

From: Sarah Morgensen <[email-masked]>
Date: Wed, 21 Jul 2021 19:18:13 -0700

Hi!

Thanks for the patch. I have some suggestions for this one as well.

phodina <[email-masked]> writes:

> Here's updated patch with better package description:
>
> ---
> index d8c3fbec07..a59d065efa 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -985,6 +985,44 @@ and URL-safe UUIDs.  UUIDs are generated using the built-in Python @code{uuid}
>  module and then similar looking characters are removed.")
>      (license license:bsd-3)))
>
> +(define-public python-pmbootstrap
> +  (package
> +    (name "python-pmbootstrap")
> +    (version "1.32.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "pmbootstrap" version))
> +       (sha256
> +        (base32
> +         "1j796f4wrcdrjd7j9m3w3ziiyqq17kskil9bgy893j6sk73fc5q0"))))
> +    (build-system python-build-system)
> +    ;; TODO: Running tests fails
> +    (arguments
> +     '(#:tests? #f))

It is not a good idea to skip tests without knowing why they fail, as
there could be subtle bugs in the program even if it seems to run. In
this case, it seems like the reason they're failing is that the pypi
release strips some directories that are required for testing. Perhaps
try from the git repo?

> +    (inputs
> +     `(("python-pytest" ,python-pytest) ("python-pyopenssl" ,python-pyopenssl)))

Typically test packages are put in native-inputs rather than inputs.

> +    (propagated-inputs `(("openssl" ,openssl)))

Is this necessary? If pmbootstrap just uses openssl through pyopenssl,
it shouldn't be necessary.

> +    (home-page "https://www.postmarketos.org")
> +    (synopsis
> +     "A sophisticated chroot / build / flash tool to develop and install
> +postmarketOS")
> +    (description
> +     "Bootstrap program that abstracts everything in chroots and therefore
> +basically runs on top of any Linux distribution. Features:
> +@enumerate
> +@item chroot setup (distro-independent QEMU user emulation
> +@item clean chroot shutdown (umount) and zapping
> +@item build software as packages
> +@item cross-compile all armhf-packages
> +@item effective caching out of the box (survives chroot zaps)
> +@item installation targets
> +@item flasher abstractions
> +@item logging
> +@item security
> +@end enumerate")
> +    (license #f)))

Please make sure not to skip the license field. It looks like this one
is gpl3.

> +
>  (define-public python-logwrap
>    (package
>      (name "python-logwrap")
> --
> 2.31.1

--
Sarah