diff mbox series

[bug#49577] Add python-pmbootstrap

Message ID ccA3RW4itpcr2ag2aMUShdcr-bBr_vWmOMN5cToA0QccaCYXpENB9_tIrCpWwdMfVUxd2DAZQsyCKReV7oUj2Ts7XpjG4vkeZ2oCTanNcTU=@protonmail.com
State New
Headers show
Series [bug#49577] Add python-pmbootstrap | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

phodina July 18, 2021, 10:35 a.m. UTC
Here's updated patch with better package description:

---
index d8c3fbec07..a59d065efa 100644
--
2.31.1

Comments

Sarah Morgensen July 22, 2021, 2:18 a.m. UTC | #1
Hi!

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

phodina <phodina@protonmail.com> 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
Maxim Cournoyer May 17, 2022, 7:49 p.m. UTC | #2
Hi phodina,

Sarah Morgensen <iskarian@mgsn.dev> writes:

> Hi!
>
> Thanks for the patch. I have some suggestions for this one as well.
>
> phodina <phodina@protonmail.com> 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
diff mbox series

Patch

--- 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))
+    (inputs
+     `(("python-pytest" ,python-pytest) ("python-pyopenssl" ,python-pyopenssl)))
+    (propagated-inputs `(("openssl" ,openssl)))
+    (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)))
+
 (define-public python-logwrap
   (package
     (name "python-logwrap")