GNU bug report logs - #49577
[PATCH] Add python-pmbootstrap

Previous Next

Package: guix-patches;

Reported by: phodina <phodina <at> protonmail.com>

Date: Thu, 15 Jul 2021 16:32:02 UTC

Severity: normal

Tags: patch

Merged with 62640

Done: Danny Milosavljevic <dannym <at> friendly-machines.com>

To reply to this bug, email your comments to 49577 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Thu, 15 Jul 2021 16:32:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to phodina <phodina <at> protonmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 15 Jul 2021 16:32:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: phodina <phodina <at> protonmail.com>
To: "guix-patches <at> gnu.org" <guix-patches <at> gnu.org>
Subject: [PATCH] Add python-pmbootstrap
Date: Thu, 15 Jul 2021 16:31:28 +0000
---
index d8c3fbec07..0ccd115416 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -985,6 +985,31 @@ 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
+     "A sophisticated chroot / build / flash tool to develop and install postmarketOS")
+    (license #f)))
+
 (define-public python-logwrap
   (package
     (name "python-logwrap")
--
2.31.1




Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Sun, 18 Jul 2021 10:36:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: phodina <phodina <at> protonmail.com>
To: "guix-patches <at> gnu.org" <guix-patches <at> gnu.org>
Subject: Re: [PATCH] Add python-pmbootstrap
Date: Sun, 18 Jul 2021 10:35:00 +0000
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))
+    (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")
--
2.31.1




Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Thu, 22 Jul 2021 02:19:02 GMT) Full text and rfc822 format available.

Message #11 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: Sarah Morgensen <iskarian <at> mgsn.dev>
To: phodina <phodina <at> protonmail.com>
Cc: 49577 <at> debbugs.gnu.org
Subject: Re: bug#49577: [PATCH] Add python-pmbootstrap
Date: Wed, 21 Jul 2021 19:18:13 -0700
Hi!

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

phodina <phodina <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Tue, 17 May 2022 19:50:01 GMT) Full text and rfc822 format available.

Message #14 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Sarah Morgensen <iskarian <at> mgsn.dev>
Cc: 49577 <at> debbugs.gnu.org, phodina <phodina <at> protonmail.com>
Subject: Re: bug#49577: [PATCH] Add python-pmbootstrap
Date: Tue, 17 May 2022 15:49:44 -0400
Hi phodina,

Sarah Morgensen <iskarian <at> mgsn.dev> writes:

> Hi!
>
> Thanks for the patch. I have some suggestions for this one as well.
>
> phodina <phodina <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Mon, 06 Jun 2022 21:08:02 GMT) Full text and rfc822 format available.

Message #17 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: phodina <phodina <at> protonmail.com>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 49577 <at> debbugs.gnu.org, Sarah Morgensen <iskarian <at> mgsn.dev>
Subject: Re: bug#49577: [PATCH] Add python-pmbootstrap
Date: Mon, 06 Jun 2022 21:07:10 +0000
[Message part 1 (text/plain, inline)]
Hi,

here's an updated version of the patch + 2 more tools around PMOS.

However, there is some issue with the sanity-check phase in pmbootstrap which I disabled as I didn't know how to fix it.

----
Petr
[0003-gnu-Add-boot-deploy.patch (text/x-patch, attachment)]
[0001-gnu-Add-pmbootstrap.patch (text/x-patch, attachment)]
[0002-gnu-Add-pmos-installer.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Thu, 15 Dec 2022 21:52:02 GMT) Full text and rfc822 format available.

Message #20 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: phodina <phodina <at> protonmail.com>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 49577 <at> debbugs.gnu.org, Sarah Morgensen <iskarian <at> mgsn.dev>
Subject: Re: bug#49577: [PATCH] Add python-pmbootstrap
Date: Thu, 15 Dec 2022 21:51:11 +0000
[Message part 1 (text/plain, inline)]
Hi Maxim,

here's update of the package. I moved to git repo as it has test suite packaged.

However, currently 44 tests fail, 80 pass.

The reason is they require network connectivity (mostly git tests, can be added to list of dependencies), then some require chroot (that might be dropped and run in guix isolated environment), sudo (again remove and use TMP location).

The tool is able to produce working PostmarketOS image which can be run on mobile device.

Not sure about the time it will take to patch all the tests. What do you think?

----
Petr
[v4-0001-gnu-Add-pmbootstrap.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Fri, 16 Dec 2022 04:53:02 GMT) Full text and rfc822 format available.

Message #23 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 49577 <at> debbugs.gnu.org, Sarah Morgensen <iskarian <at> mgsn.dev>
Subject: Re: bug#49577: [PATCH] Add python-pmbootstrap
Date: Thu, 15 Dec 2022 23:52:07 -0500
Hi Petr,

phodina <phodina <at> protonmail.com> writes:

> Hi Maxim,
>
> here's update of the package. I moved to git repo as it has test suite packaged.

Thank you!

> However, currently 44 tests fail, 80 pass.
>
> The reason is they require network connectivity (mostly git tests, can
> be added to list of dependencies), then some require chroot (that
> might be dropped and run in guix isolated environment), sudo (again
> remove and use TMP location).

Oh.  That's more than half the tests failing.  I guess the whole test
suite could be disabled with a comment, if possible with a link
requesting upstream to make it easy to skip network-requiring tests via
a flag or something.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Mon, 13 Mar 2023 05:22:01 GMT) Full text and rfc822 format available.

Message #26 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: "jgart" <jgart <at> dismail.de>
To: 49577 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Date: Mon, 13 Mar 2023 05:21:17 +0000
Hi,

What's the status on this?

Regarding the tests, you can try disabling the same ones that are disabled in the nixpkgs pmboostrap:

https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/tools/misc/pmbootstrap/default.nix#L31




Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Thu, 25 May 2023 00:17:02 GMT) Full text and rfc822 format available.

Message #29 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Jorge Gomez <jgart <at> dismail.de>
Cc: 49577 <at> debbugs.gnu.org, phodina <phodina <at> protonmail.com>,
 Sarah Morgensen <iskarian <at> mgsn.dev>
Subject: Re: bug#49577: [PATCH] Add python-pmbootstrap
Date: Wed, 24 May 2023 20:16:17 -0400
tags 49577 +moreinfo
quit

Hi Jorge,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Hi Petr,
>
> phodina <phodina <at> protonmail.com> writes:
>
>> Hi Maxim,
>>
>> here's update of the package. I moved to git repo as it has test suite packaged.
>
> Thank you!
>
>> However, currently 44 tests fail, 80 pass.
>>
>> The reason is they require network connectivity (mostly git tests, can
>> be added to list of dependencies), then some require chroot (that
>> might be dropped and run in guix isolated environment), sudo (again
>> remove and use TMP location).
>
> Oh.  That's more than half the tests failing.  I guess the whole test
> suite could be disabled with a comment, if possible with a link
> requesting upstream to make it easy to skip network-requiring tests via
> a flag or something.

The status is unchanged; the ball is in Petr's camp, or someone
interested enough in the patch to make the changes suggested.

I'm using this opportunity to gently ping Petr :-).

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Mon, 29 May 2023 10:32:01 GMT) Full text and rfc822 format available.

Message #32 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: phodina <phodina <at> protonmail.com>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 49577 <at> debbugs.gnu.org, Jorge Gomez <jgart <at> dismail.de>,
 Sarah Morgensen <iskarian <at> mgsn.dev>
Subject: Re: bug#49577: [PATCH] Add python-pmbootstrap
Date: Mon, 29 May 2023 10:31:26 +0000
[Message part 1 (text/plain, inline)]
Hi Jorge and Maxim,

unfreezing this patch. So I've modified the patch to list the tests that should not be run based on the Nix example.

The package is also updated to the latest version.

However, I'm struggling with the import of the `pmb_test` module.

I've modified the variable `PYTHONPATH` accordingly to fix the error:
```
E   ModuleNotFoundError: No module named 'pmb_test'
``` 

But now I get the following error:
```
wrong-type-arg "string-append" "Wrong type (expecting ~A): ~S" ("string" #f) (#f)
```

So it seems the `PYTHONPATH` env variable is not set. Do you know how to fix this?


----
Petr




Sent with Proton Mail secure email.

------- Original Message -------
On Thursday, May 25th, 2023 at 2:16 AM, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> wrote:


> tags 49577 +moreinfo
> quit
> 
> Hi Jorge,
> 
> Maxim Cournoyer maxim.cournoyer <at> gmail.com writes:
> 
> > Hi Petr,
> > 
> > phodina phodina <at> protonmail.com writes:
> > 
> > > Hi Maxim,
> > > 
> > > here's update of the package. I moved to git repo as it has test suite packaged.
> > 
> > Thank you!
> > 
> > > However, currently 44 tests fail, 80 pass.
> > > 
> > > The reason is they require network connectivity (mostly git tests, can
> > > be added to list of dependencies), then some require chroot (that
> > > might be dropped and run in guix isolated environment), sudo (again
> > > remove and use TMP location).
> > 
> > Oh. That's more than half the tests failing. I guess the whole test
> > suite could be disabled with a comment, if possible with a link
> > requesting upstream to make it easy to skip network-requiring tests via
> > a flag or something.
> 
> 
> The status is unchanged; the ball is in Petr's camp, or someone
> interested enough in the patch to make the changes suggested.
> 
> I'm using this opportunity to gently ping Petr :-).
> 
> --
> Thanks,
> Maxim
[v2-0001-gnu-Add-pmbootstrap.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Wed, 14 Jun 2023 02:47:02 GMT) Full text and rfc822 format available.

Message #35 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 49577 <at> debbugs.gnu.org, Jorge Gomez <jgart <at> dismail.de>,
 Sarah Morgensen <iskarian <at> mgsn.dev>
Subject: Re: bug#49577: [PATCH] Add python-pmbootstrap
Date: Tue, 13 Jun 2023 22:46:30 -0400
Hi Petr,

phodina <phodina <at> protonmail.com> writes:

> Hi Jorge and Maxim,
>
> unfreezing this patch. So I've modified the patch to list the tests that should not be run based on the Nix example.
>
> The package is also updated to the latest version.
>
> However, I'm struggling with the import of the `pmb_test` module.
>
> I've modified the variable `PYTHONPATH` accordingly to fix the error:
> ```
> E   ModuleNotFoundError: No module named 'pmb_test'
> ``` 
>
> But now I get the following error:
> ```
> wrong-type-arg "string-append" "Wrong type (expecting ~A): ~S" ("string" #f) (#f)
> ```
>
> So it seems the `PYTHONPATH` env variable is not set. Do you know how to fix this?

Maybe because we've moved to use GUIX_PYTHONPATH and not PYTHONPATH?

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Wed, 14 Jun 2023 03:07:01 GMT) Full text and rfc822 format available.

Message #38 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: "jgart" <jgart <at> dismail.de>
To: "Maxim Cournoyer" <maxim.cournoyer <at> gmail.com>, "phodina"
 <phodina <at> protonmail.com>
Cc: Lars-Dominik Braun <ldb <at> leibniz-psychology.org>, 49577 <at> debbugs.gnu.org,
 Sarah Morgensen <iskarian <at> mgsn.dev>
Subject: Re: bug#49577: [PATCH] Add python-pmbootstrap
Date: Wed, 14 Jun 2023 03:06:17 +0000
Hi phodina,

I would try Maxim's suggestion. 

Otherwise, that might be a good Lars question... CC'ing

I would have to read through more code to affirm that for you and I don't have the time at the moment to read down that particular rabbit hole.

Maybe a this weekend project.

There's also a pmbootstrap in guixrus if that helps to crosscheck anything useful or not for this patch:

https://toys.whereis.みんな/?search=pmbootstrap

hope this helps and excuse the lack of further investigation at this moment on my end,

jgart




Information forwarded to guix-patches <at> gnu.org:
bug#49577; Package guix-patches. (Sat, 23 Nov 2024 18:00:02 GMT) Full text and rfc822 format available.

Message #41 received at 49577 <at> debbugs.gnu.org (full text, mbox):

From: Aaron Covrig <aaron.covrig.us <at> ieee.org>
To: 49577 <at> debbugs.gnu.org
Subject: [PATCH] Add python-pmbootstrap
Date: Sat, 23 Nov 2024 12:57:45 -0500
[Message part 1 (text/plain, inline)]
Hello all,

Out of curiosity has there been anymore progress on this?

v/r,

Aaron
[Message part 2 (application/pgp-signature, inline)]

Merged 49577 62640. Request was from André Batista <nandre <at> riseup.net> to control <at> debbugs.gnu.org. (Sat, 24 May 2025 16:27:02 GMT) Full text and rfc822 format available.

This bug report was last modified 18 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.