Package: guix-patches;
Reported by: Sughosha <Sughosha <at> proton.me>
Date: Mon, 3 Apr 2023 08:19:01 UTC
Severity: normal
Tags: patch
To reply to this bug, email your comments to 62640 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#62640
; Package guix-patches
.
(Mon, 03 Apr 2023 08:19:02 GMT) Full text and rfc822 format available.Sughosha <Sughosha <at> proton.me>
:guix-patches <at> gnu.org
.
(Mon, 03 Apr 2023 08:19:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Sughosha <Sughosha <at> proton.me> To: "guix-patches <at> gnu.org" <guix-patches <at> gnu.org> Subject: [PATCH] gnu: Add pmbootstrap. Date: Mon, 03 Apr 2023 08:17:50 +0000
* gnu/packages/postmarketos.scm: New file. (pmbootstrap): New public variable. * gnu/packages/local.mk (GNU_SYSTEM_MODULES): Add the new file. --- gnu/local.mk | 1 + gnu/packages/postmarketos.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/postmarketos.scm diff --git a/gnu/local.mk b/gnu/local.mk index 186d82a..92848b2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -502,6 +502,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/poedit.scm \ %D%/packages/polkit.scm \ %D%/packages/popt.scm \ + %D%/packages/postmarketos \ %D%/packages/printers.scm \ %D%/packages/profiling.scm \ %D%/packages/prolog.scm \ diff --git a/gnu/packages/postmarketos.scm b/gnu/packages/postmarketos.scm new file mode 100644 index 0000000..9de45ec --- /dev/null +++ b/gnu/packages/postmarketos.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Sughosha <sughosha <at> proton.me> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages postmarketos) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (gnu packages admin) + #:use-module (gnu packages bash) + #:use-module (gnu packages linux) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control)) + +(define-public pmbootstrap + (package + (name "pmbootstrap") + (version "1.51.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pmbootstrap" version)) + (sha256 + (base32 + "08g55fh24n3wpva7d1ps6fnk65ik49wfycjpwrjs9w0889zlwsl1")))) + (build-system python-build-system) + (arguments + `(#:tests? #f + #:phases (modify-phases %standard-phases + (replace 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/pmbootstrap") + `("PATH" = ("/run/setuid-programs" ,(getenv "PATH"))) + `("GUIX_PYTHONPATH" = + (,(getenv "GUIX_PYTHONPATH")))))) + ;; Dissociate "sudo" as setuid-programs is preferred + (add-after 'sanity-check 'dissociate-sudo + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (sudo (assoc-ref inputs "sudo"))) + (substitute* (string-append out "/bin/pmbootstrap") + (((string-append ":" sudo "/sbin")) + "") + (((string-append ":" sudo "/bin")) + "")))))))) + (native-inputs (list sudo)) + (inputs (list bash-minimal git openssl procps)) + (home-page "https://git.sr.ht/~postmarketos/pmbootstrap") + (synopsis "Bootstrap a postmarketOS system") + (description + "This package provides a sophisticated chroot / build / flash tool to + develop and install postmarketOS.") + (license license:gpl3+))) -- libgit2 1.5.1
guix-patches <at> gnu.org
:bug#62640
; Package guix-patches
.
(Mon, 03 Apr 2023 08:26:02 GMT) Full text and rfc822 format available.Message #8 received at 62640 <at> debbugs.gnu.org (full text, mbox):
From: Sughosha <Sughosha <at> proton.me> To: "62640 <at> debbugs.gnu.org" <62640 <at> debbugs.gnu.org> Subject: [PATCH v2] gnu: Add pmbootstrap. Date: Mon, 03 Apr 2023 08:24:37 +0000
* gnu/packages/postmarketos.scm: New file. (pmbootstrap): New public variable. * gnu/packages/local.mk (GNU_SYSTEM_MODULES): Add the new file. --- gnu/local.mk | 1 + gnu/packages/postmarketos.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/postmarketos.scm diff --git a/gnu/local.mk b/gnu/local.mk index 186d82a..12e5f68 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -502,6 +502,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/poedit.scm \ %D%/packages/polkit.scm \ %D%/packages/popt.scm \ + %D%/packages/postmarketos.scm \ %D%/packages/printers.scm \ %D%/packages/profiling.scm \ %D%/packages/prolog.scm \ diff --git a/gnu/packages/postmarketos.scm b/gnu/packages/postmarketos.scm new file mode 100644 index 0000000..9de45ec --- /dev/null +++ b/gnu/packages/postmarketos.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Sughosha <sughosha <at> proton.me> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages postmarketos) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (gnu packages admin) + #:use-module (gnu packages bash) + #:use-module (gnu packages linux) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control)) + +(define-public pmbootstrap + (package + (name "pmbootstrap") + (version "1.51.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pmbootstrap" version)) + (sha256 + (base32 + "08g55fh24n3wpva7d1ps6fnk65ik49wfycjpwrjs9w0889zlwsl1")))) + (build-system python-build-system) + (arguments + `(#:tests? #f + #:phases (modify-phases %standard-phases + (replace 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/pmbootstrap") + `("PATH" = ("/run/setuid-programs" ,(getenv "PATH"))) + `("GUIX_PYTHONPATH" = + (,(getenv "GUIX_PYTHONPATH")))))) + ;; Dissociate "sudo" as setuid-programs is preferred + (add-after 'sanity-check 'dissociate-sudo + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (sudo (assoc-ref inputs "sudo"))) + (substitute* (string-append out "/bin/pmbootstrap") + (((string-append ":" sudo "/sbin")) + "") + (((string-append ":" sudo "/bin")) + "")))))))) + (native-inputs (list sudo)) + (inputs (list bash-minimal git openssl procps)) + (home-page "https://git.sr.ht/~postmarketos/pmbootstrap") + (synopsis "Bootstrap a postmarketOS system") + (description + "This package provides a sophisticated chroot / build / flash tool to + develop and install postmarketOS.") + (license license:gpl3+))) -- libgit2 1.5.1
guix-patches <at> gnu.org
:bug#62640
; Package guix-patches
.
(Mon, 19 May 2025 11:44:02 GMT) Full text and rfc822 format available.Message #11 received at 62640 <at> debbugs.gnu.org (full text, mbox):
From: Herman Rimm <herman <at> rimm.ee> To: 62640 <at> debbugs.gnu.org Cc: Sughosha <Sughosha <at> proton.me> Subject: [PATCH v3] gnu: Add pmbootstrap. Date: Mon, 19 May 2025 13:42:13 +0200
From: Sughosha <Sughosha <at> proton.me> * gnu/packages/postmarketos.scm: New file. * gnu/packages/local.mk (GNU_SYSTEM_MODULES): Register file. Change-Id: Ib8347dd536738d2ea16a961c85308a0e43b98c1f --- Hello, For v3: version is bumped to 3.4.0; source uses git-fetch; three tests are skipped; mkbootimg, python-setuptools, python-wheel and util-linux are added to native-inputs; multipath-tools is added to propagated-inputs. pmbootstrap uses kpartx from multipath-tools for e.g.: $ pmbootstrap install --sdcard /dev/sda If the kpartx invocations could be replaced with a store path, then multipath-tools could be moved to (normal) inputs. Cheers, Herman gnu/local.mk | 3 +- gnu/packages/postmarketos.scm | 71 +++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/postmarketos.scm diff --git a/gnu/local.mk b/gnu/local.mk index 3730d272eae..c4d5e6cb2e4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -566,7 +566,8 @@ GNU_SYSTEM_MODULES = \ %D%/packages/poedit.scm \ %D%/packages/polkit.scm \ %D%/packages/popt.scm \ - %D%/packages/potassco.scm \ + %D%/packages/postmarketos.scm \ + %D%/packages/potassco.scm \ %D%/packages/power.scm \ %D%/packages/printers.scm \ %D%/packages/profiling.scm \ diff --git a/gnu/packages/postmarketos.scm b/gnu/packages/postmarketos.scm new file mode 100644 index 00000000000..78e95fcbb5d --- /dev/null +++ b/gnu/packages/postmarketos.scm @@ -0,0 +1,71 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Sughosha <sughosha <at> proton.me> +;;; Copyright © 2025 Herman Rimm <herman <at> rimm.ee> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages postmarketos) + #:use-module (gnu packages admin) + #:use-module (gnu packages android) + #:use-module (gnu packages bash) + #:use-module (gnu packages check) + #:use-module (gnu packages linux) + #:use-module (gnu packages python-build) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) + #:use-module (guix build-system pyproject) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public pmbootstrap + (package + (name "pmbootstrap") + (version "3.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://gitlab.postmarketos.org/" + "postmarketOS/pmbootstrap")) + (commit version))) + (sha256 + (base32 "16naj8ykipbrs2a93zaxci1wl045cc9jn7rq8sy76d1rqlqb9mmw")))) + (build-system pyproject-build-system) + (arguments + (list #:test-flags + ;; Tests require a pmaports git repository in the workdir. + #~(list (string-append "--deselect=test/core/test_pkgrepo.py" + "::test_pkgrepo_pmaports") + (string-append "--deselect=test/parse/test_bootimg.py" + "::test_bootimg") + ;; RuntimeError: No package repositories specified? + (string-append "--deselect=test/parse/test_deviceinfo.py" + "::test_random_valid_deviceinfos")))) + (native-inputs (list mkbootimg + python-pytest + python-setuptools + python-wheel + util-linux)) ; for losetup + (inputs (list bash-minimal git openssl procps)) + (propagated-inputs (list multipath-tools)) ; for kpartx + (home-page "https://gitlab.com/postmarketOS/pmbootstrap") + (synopsis "Bootstrap a postmarketOS system") + (description + "This package provides a sophisticated chroot, build and flash tool +to develop and install postmarketOS.") + (license license:gpl3+))) base-commit: 450a361532573a02389530a6a80b7821683ed41b -- 2.47.1
guix-patches <at> gnu.org
:bug#62640
; Package guix-patches
.
(Fri, 23 May 2025 18:42:02 GMT) Full text and rfc822 format available.Message #14 received at 62640 <at> debbugs.gnu.org (full text, mbox):
From: André Batista <nandre <at> riseup.net> To: Herman Rimm <herman <at> rimm.ee> Cc: Sughosha <Sughosha <at> proton.me>, 62640 <at> debbugs.gnu.org Subject: Re: [bug#62640] [PATCH v3] gnu: Add pmbootstrap. Date: Fri, 23 May 2025 15:41:18 -0300
Hi Herman, seg 19 mai 2025 às 13:42:13 (1747672933), guix-patches <at> gnu.org enviou: > From: Sughosha <Sughosha <at> proton.me> > > * gnu/packages/postmarketos.scm: New file. > * gnu/packages/local.mk (GNU_SYSTEM_MODULES): Register file. > > Change-Id: Ib8347dd536738d2ea16a961c85308a0e43b98c1f > --- > Hello, > > For v3: > version is bumped to 3.4.0; > source uses git-fetch; > three tests are skipped; > mkbootimg, python-setuptools, python-wheel and util-linux are added to > native-inputs; > multipath-tools is added to propagated-inputs. > > pmbootstrap uses kpartx from multipath-tools for e.g.: > $ pmbootstrap install --sdcard /dev/sda > If the kpartx invocations could be replaced with a store path, > then multipath-tools could be moved to (normal) inputs. > > Cheers, > Herman > > gnu/local.mk | 3 +- > gnu/packages/postmarketos.scm | 71 +++++++++++++++++++++++++++++++++++ > 2 files changed, 73 insertions(+), 1 deletion(-) > create mode 100644 gnu/packages/postmarketos.scm > > diff --git a/gnu/local.mk b/gnu/local.mk > index 3730d272eae..c4d5e6cb2e4 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -566,7 +566,8 @@ GNU_SYSTEM_MODULES = \ > %D%/packages/poedit.scm \ > %D%/packages/polkit.scm \ > %D%/packages/popt.scm \ > - %D%/packages/potassco.scm \ > + %D%/packages/postmarketos.scm \ > + %D%/packages/potassco.scm \ IMO, it would be better if you did not touch the potassco.scm line, since this format change is unrelated to this commit. > %D%/packages/power.scm \ > %D%/packages/printers.scm \ > %D%/packages/profiling.scm \ > diff --git a/gnu/packages/postmarketos.scm b/gnu/packages/postmarketos.scm > new file mode 100644 > index 00000000000..78e95fcbb5d > --- /dev/null > +++ b/gnu/packages/postmarketos.scm > @@ -0,0 +1,71 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright © 2023 Sughosha <sughosha <at> proton.me> > +;;; Copyright © 2025 Herman Rimm <herman <at> rimm.ee> > +;;; > +;;; This file is part of GNU Guix. > +;;; > +;;; GNU Guix is free software; you can redistribute it and/or modify it > +;;; under the terms of the GNU General Public License as published by > +;;; the Free Software Foundation; either version 3 of the License, or (at > +;;; your option) any later version. > +;;; > +;;; GNU Guix is distributed in the hope that it will be useful, but > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;;; GNU General Public License for more details. > +;;; > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. > + > +(define-module (gnu packages postmarketos) > + #:use-module (gnu packages admin) > + #:use-module (gnu packages android) > + #:use-module (gnu packages bash) > + #:use-module (gnu packages check) > + #:use-module (gnu packages linux) > + #:use-module (gnu packages python-build) > + #:use-module (gnu packages tls) > + #:use-module (gnu packages version-control) > + #:use-module (guix build-system pyproject) > + #:use-module (guix gexp) > + #:use-module (guix git-download) > + #:use-module ((guix licenses) #:prefix license:) > + #:use-module (guix packages)) > + > +(define-public pmbootstrap > + (package > + (name "pmbootstrap") > + (version "3.4.0") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url (string-append "https://gitlab.postmarketos.org/" > + "postmarketOS/pmbootstrap")) > + (commit version))) 'origin' is missing a file-name field which usually goes: (file-name (git-file-name name version)) > + (sha256 > + (base32 "16naj8ykipbrs2a93zaxci1wl045cc9jn7rq8sy76d1rqlqb9mmw")))) > + (build-system pyproject-build-system) > + (arguments > + (list #:test-flags > + ;; Tests require a pmaports git repository in the workdir. > + #~(list (string-append "--deselect=test/core/test_pkgrepo.py" > + "::test_pkgrepo_pmaports") This is a nitpick of mine, but I find it confusing when keys starting with '#' are followed by their arguments on another aligned line which also starts with '#' (a gexp this time, not another key). So, I'd suggest indenting the arguments with two spaces to ease reading. Also, I would also have inserted this package directly on android.scm, since this tool is useful for android related activities and it seems overkill to create a new file for just one package. WDYT? Thanks for picking up this patch!
guix-patches <at> gnu.org
:bug#62640
; Package guix-patches
.
(Sat, 24 May 2025 13:02:02 GMT) Full text and rfc822 format available.Message #17 received at 62640 <at> debbugs.gnu.org (full text, mbox):
From: Herman Rimm <herman <at> rimm.ee> To: André Batista <nandre <at> riseup.net> Cc: Sughosha <Sughosha <at> proton.me>, 62640 <at> debbugs.gnu.org Subject: Re: [bug#62640] [PATCH v3] gnu: Add pmbootstrap. Date: Sat, 24 May 2025 14:59:48 +0200
Hi, On Fri, May 23, 2025 at 03:41:18PM -0300, Andr� Batista wrote: > > diff --git a/gnu/local.mk b/gnu/local.mk > > index 3730d272eae..c4d5e6cb2e4 100644 > > --- a/gnu/local.mk > > +++ b/gnu/local.mk > > @@ -566,7 +566,8 @@ GNU_SYSTEM_MODULES = \ > > %D%/packages/poedit.scm \ > > %D%/packages/polkit.scm \ > > %D%/packages/popt.scm \ > > - %D%/packages/potassco.scm \ > > + %D%/packages/postmarketos.scm \ > > + %D%/packages/potassco.scm \ > > IMO, it would be better if you did not touch the potassco.scm line, since > this format change is unrelated to this commit. > > > +(define-public pmbootstrap > > + (package > > + (name "pmbootstrap") > > + (version "3.4.0") > > + (source > > + (origin > > + (method git-fetch) > > + (uri (git-reference > > + (url (string-append "https://gitlab.postmarketos.org/" > > + "postmarketOS/pmbootstrap")) > > + (commit version))) > > 'origin' is missing a file-name field which usually goes: > (file-name (git-file-name name version)) Thanks, I will make the appropriate changes for the next revision. I will also add a wrap phase so pmbootstrap can find the inputs' binaries. > > + (sha256 > > + (base32 "16naj8ykipbrs2a93zaxci1wl045cc9jn7rq8sy76d1rqlqb9mmw")))) > > + (build-system pyproject-build-system) > > + (arguments > > + (list #:test-flags > > + ;; Tests require a pmaports git repository in the workdir. > > + #~(list (string-append "--deselect=test/core/test_pkgrepo.py" > > + "::test_pkgrepo_pmaports") > > This is a nitpick of mine, but I find it confusing when keys starting > with '#' are followed by their arguments on another aligned line which > also starts with '#' (a gexp this time, not another key). So, I'd suggest > indenting the arguments with two spaces to ease reading. Like this? (arguments (list #:test-flags ;; Tests require a pmaports git repository in the workdir. #~(list (string-append "--deselect=test/core/test_pkgrepo.py" ...)))) I would rather do it like this: (arguments (list ;; The first two tests require a pmaports git repository in the workdir. #:test-flags #~(list (string-append "--deselect=test/core/test_pkgrepo" ...)))) > Also, I would also have inserted this package directly on android.scm, > since this tool is useful for android related activities and it seems > overkill to create a new file for just one package. Besides handling the Android bootimg format, I don't think pmbootstrap is Android related. Yes, the only other major PostmarketOS project is pmaports, but I don't think there is an existing module where pmbootstrap belongs. Should it be a more general module like: (gnu packages smartphone)? Can you please close or merge issue #49577, because the PyPi pmbootstrap releases are apparently deprecated? Cheers, Herman
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.