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

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 17 May 2022 15:49:44 -0400

Hi phodina,

Sarah Morgensen <[email-masked]> writes:

> 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")

Gentle ping, since the above comments were 42 weeks ago :-)

Thanks,

Maxim