diff mbox series

[meta-oe,v3] parallel: Add recipe for GNU Parallel

Message ID 20241106110311.1657900-1-peng.zhang1.cn@windriver.com
State Under Review
Headers show
Series [meta-oe,v3] parallel: Add recipe for GNU Parallel | expand

Commit Message

Peng Zhang Nov. 6, 2024, 11:03 a.m. UTC
From: Zhang Peng <peng.zhang1.cn@windriver.com>

This recipe adds the parallel package, a shell tool for executing jobs
in parallel using one or more computers.

Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
---
 .../parallel/parallel_20241022.bb             | 29 +++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 meta-oe/recipes-extended/parallel/parallel_20241022.bb

Comments

Rasmus Villemoes Nov. 7, 2024, 11:08 a.m. UTC | #1
On Wed, Nov 06 2024, "Zhang, Peng (Paul) (CN) via lists.openembedded.org" <peng.zhang1.cn=windriver.com@lists.openembedded.org> wrote:

> From: Zhang Peng <peng.zhang1.cn@windriver.com>
>
> This recipe adds the parallel package, a shell tool for executing jobs
> in parallel using one or more computers.
>
...
> +
> +inherit autotools bash-completion
> +
> +DEPENDS += "perl"
> +
> +RDEPENDS:${PN} += "perl \
> +        perl-module-ipc-open3 \
> +        perl-module-getopt-long \
> +        perl-module-file-temp \
> +        perl-module-filehandle \
> +        perl-module-file-glob \
> +"
> +do_install:append() {
> +    rm -rf ${D}${datadir}/zsh
> +}

Why remove this rather than just putting it in a package by itself, as
other recipes seem to deal with this.

PACKAGES =+ "${PN}-zsh-completion"
FILES:${PN}-zsh-completion = "${datadir}/zsh"

even saves a whole line :)

Otherwise, LGTM.

Rasmus
Peter Kjellerstedt Nov. 8, 2024, 11:04 a.m. UTC | #2
> -----Original Message-----
> From: openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org> On Behalf Of Zhang, Peng (Paul) (CN) via lists.openembedded.org
> Sent: den 6 november 2024 12:03
> To: openembedded-devel@lists.openembedded.org
> Subject: [oe] [meta-oe][PATCH v3] parallel: Add recipe for GNU Parallel
> 
> From: Zhang Peng <peng.zhang1.cn@windriver.com>
> 
> This recipe adds the parallel package, a shell tool for executing jobs
> in parallel using one or more computers.
> 
> Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
> ---
>  .../parallel/parallel_20241022.bb             | 29 +++++++++++++++++++
>  1 file changed, 29 insertions(+)
>  create mode 100644 meta-oe/recipes-extended/parallel/parallel_20241022.bb
> 
> diff --git a/meta-oe/recipes-extended/parallel/parallel_20241022.bb b/meta-oe/recipes-extended/parallel/parallel_20241022.bb
> new file mode 100644
> index 000000000..e3cf0a6a7
> --- /dev/null
> +++ b/meta-oe/recipes-extended/parallel/parallel_20241022.bb
> @@ -0,0 +1,29 @@
> +SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers"
> +DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \
> +It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks."
> +
> +HOMEPAGE = "https://www.gnu.org/software/parallel/"
> +LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later"
> +
> +LIC_FILES_CHKSUM = "file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166 \
> +    file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8\
> +    file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7\
> +"
> +
> +SRC_URI = "https://ftp.gnu.org/gnu/parallel/parallel-${PV}.tar.bz2"
> +SRC_URI[sha256sum] = "6de22bf1c67f7f316670d21ed1a2a32f1214dfbd3e420939ba937925c0a57a12"
> +
> +inherit autotools bash-completion
> +
> +DEPENDS += "perl"
> +
> +RDEPENDS:${PN} += "perl \
> +        perl-module-ipc-open3 \
> +        perl-module-getopt-long \
> +        perl-module-file-temp \
> +        perl-module-filehandle \
> +        perl-module-file-glob \
> +"
> +do_install:append() {
> +    rm -rf ${D}${datadir}/zsh
> +}
> --
> 2.34.1

Based on the above, and a corresponding recipe we have, I would 
suggest the following instead:

SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers"
DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \
It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks."
HOMEPAGE = "https://www.gnu.org/software/parallel/"

LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later"
LIC_FILES_CHKSUM = " \
    file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8\
    file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7\
    file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166 \
"

SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2"

SRC_URI[sha256sum] = "6de22bf1c67f7f316670d21ed1a2a32f1214dfbd3e420939ba937925c0a57a12"

inherit autotools bash-completion

PACKAGES += "${PN}-zsh-completion"

FILES:${PN}-zsh-completion = "${datadir}/zsh"

RDEPENDS:${PN} = " \
    perl \
    perl-module-file-basename \
    perl-module-file-path \
    perl-module-file-temp \
    perl-module-getopt-long \
    perl-module-io-select \
    perl-module-ipc-open3 \
    perl-module-posix \
    perl-module-symbol \
    perl-module-thread-queue \
    perl-module-threads \
    perl-module-threads-shared \
"

BBCLASSEXTEND = "native"

//Peter
Peng Zhang Nov. 9, 2024, 1:54 p.m. UTC | #3
On 11/7/2024 7:08 PM, Rasmus Villemoes wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Wed, Nov 06 2024, "Zhang, Peng (Paul) (CN) via lists.openembedded.org" <peng.zhang1.cn=windriver.com@lists.openembedded.org> wrote:
>
>> From: Zhang Peng <peng.zhang1.cn@windriver.com>
>>
>> This recipe adds the parallel package, a shell tool for executing jobs
>> in parallel using one or more computers.
>>
> ...
>> +
>> +inherit autotools bash-completion
>> +
>> +DEPENDS += "perl"
>> +
>> +RDEPENDS:${PN} += "perl \
>> +        perl-module-ipc-open3 \
>> +        perl-module-getopt-long \
>> +        perl-module-file-temp \
>> +        perl-module-filehandle \
>> +        perl-module-file-glob \
>> +"
>> +do_install:append() {
>> +    rm -rf ${D}${datadir}/zsh
>> +}
> Why remove this rather than just putting it in a package by itself, as
> other recipes seem to deal with this.
>
> PACKAGES =+ "${PN}-zsh-completion"
> FILES:${PN}-zsh-completion = "${datadir}/zsh"
>
> even saves a whole line :)
Currently, Yocto does not provide a recipe for zsh completion, but 
bash-completion does. Even if I were to add the zsh completion package, 
the only advantage would be enabling users to quickly install it on the 
target machine, and unfortunately, I am unable to verify this functionality.
That said, I have decided to remove the section on zsh completion.

However, I appreciate your suggestion, and after considering it, I think 
it's a solid approach. I’ve decided to incorporate it into the plan in 
v4 version.

//peng

> Otherwise, LGTM.
>
> Rasmus
Peng Zhang Nov. 9, 2024, 1:56 p.m. UTC | #4
On 11/8/2024 7:04 PM, Peter Kjellerstedt wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
>> -----Original Message-----
>> From:openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org> On Behalf Of Zhang, Peng (Paul) (CN) via lists.openembedded.org
>> Sent: den 6 november 2024 12:03
>> To:openembedded-devel@lists.openembedded.org
>> Subject: [oe] [meta-oe][PATCH v3] parallel: Add recipe for GNU Parallel
>>
>> From: Zhang Peng<peng.zhang1.cn@windriver.com>
>>
>> This recipe adds the parallel package, a shell tool for executing jobs
>> in parallel using one or more computers.
>>
>> Signed-off-by: Zhang Peng<peng.zhang1.cn@windriver.com>
>> ---
>>   .../parallel/parallel_20241022.bb             | 29 +++++++++++++++++++
>>   1 file changed, 29 insertions(+)
>>   create mode 100644 meta-oe/recipes-extended/parallel/parallel_20241022.bb
>>
>> diff --git a/meta-oe/recipes-extended/parallel/parallel_20241022.bb b/meta-oe/recipes-extended/parallel/parallel_20241022.bb
>> new file mode 100644
>> index 000000000..e3cf0a6a7
>> --- /dev/null
>> +++ b/meta-oe/recipes-extended/parallel/parallel_20241022.bb
>> @@ -0,0 +1,29 @@
>> +SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers"
>> +DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \
>> +It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks."
>> +
>> +HOMEPAGE ="https://www.gnu.org/software/parallel/"
>> +LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later"
>> +
>> +LIC_FILES_CHKSUM ="file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166 
>> \ + 
>> file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8\ 
>> + 
>> file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7\ 
>> +"
>> +
>> +SRC_URI ="https://ftp.gnu.org/gnu/parallel/parallel-${PV}.tar.bz2"
>> +SRC_URI[sha256sum] = "6de22bf1c67f7f316670d21ed1a2a32f1214dfbd3e420939ba937925c0a57a12"
>> +
>> +inherit autotools bash-completion
>> +
>> +DEPENDS += "perl"
>> +
>> +RDEPENDS:${PN} += "perl \
>> +        perl-module-ipc-open3 \
>> +        perl-module-getopt-long \
>> +        perl-module-file-temp \
>> +        perl-module-filehandle \
>> +        perl-module-file-glob \
>> +"
>> +do_install:append() {
>> +    rm -rf ${D}${datadir}/zsh
>> +}
>> --
>> 2.34.1
> Based on the above, and a corresponding recipe we have, I would
> suggest the following instead:
>
> SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers"
> DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \
> It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks."
> HOMEPAGE ="https://www.gnu.org/software/parallel/"
>
> LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later"
> LIC_FILES_CHKSUM = " \
>      file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8\
>      file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7\
>      file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166 \
> "
>
> SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2"
will change in v4 version
>
> SRC_URI[sha256sum] = "6de22bf1c67f7f316670d21ed1a2a32f1214dfbd3e420939ba937925c0a57a12"
>
> inherit autotools bash-completion
>
> PACKAGES += "${PN}-zsh-completion"
>
> FILES:${PN}-zsh-completion = "${datadir}/zsh"
will add in v4 version
>
> RDEPENDS:${PN} = " \
>      perl \
>      perl-module-file-basename \
>      perl-module-file-path \
>      perl-module-file-temp \
>      perl-module-getopt-long \
>      perl-module-io-select \
>      perl-module-ipc-open3 \
>      perl-module-posix \
>      perl-module-symbol \
>      perl-module-thread-queue \
>      perl-module-threads \
>      perl-module-threads-shared \
> "
I think the DEPENDS += "perl" is necessary to add into recipes, because 
the parallel build depends on perl.
for RDEPENDS, i insist the my sets, after testing, RDEPENDS your 
provided is not make parallel run normal in target.
> BBCLASSEXTEND = "native"

I think "parallel" is more often using on targets. but i will add this 
config in v4 version.

Thanks very much

//Peng

>
> //Peter
>
Peter Kjellerstedt Nov. 10, 2024, 9:29 p.m. UTC | #5
[ I cannot answer inline due to the use of HTML mail. ]

* There is no reason to add DEPENDS += "perl" as it is not needed during the build.
* My list of runtime dependencies is based on the modules that the parallel scripts actually use. It is possible that your list will happen to work due to Perl modules depending on other Perl modules. Regardless of which, please sort the runtime dependencies.
* We only use parallel-native in our environment.

//Peter

From: openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org> On Behalf Of Zhang, Peng (Paul) (CN) via lists.openembedded.org
Sent: den 9 november 2024 14:56
To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>; openembedded-devel@lists.openembedded.org
Subject: Re: [oe] [meta-oe][PATCH v3] parallel: Add recipe for GNU Parallel


On 11/8/2024 7:04 PM, Peter Kjellerstedt wrote:

CAUTION: This email comes from a non Wind River email account!

Do not click links or open attachments unless you recognize the sender and know the content is safe.



-----Original Message-----

From: openembedded-devel@lists.openembedded.org<mailto:openembedded-devel@lists.openembedded.org> <openembedded-devel@lists.openembedded.org><mailto:openembedded-devel@lists.openembedded.org> On Behalf Of Zhang, Peng (Paul) (CN) via lists.openembedded.org

Sent: den 6 november 2024 12:03

To: openembedded-devel@lists.openembedded.org<mailto:openembedded-devel@lists.openembedded.org>

Subject: [oe] [meta-oe][PATCH v3] parallel: Add recipe for GNU Parallel



From: Zhang Peng <peng.zhang1.cn@windriver.com><mailto:peng.zhang1.cn@windriver.com>



This recipe adds the parallel package, a shell tool for executing jobs

in parallel using one or more computers.



Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com><mailto:peng.zhang1.cn@windriver.com>

---

 .../parallel/parallel_20241022.bb             | 29 +++++++++++++++++++

 1 file changed, 29 insertions(+)

 create mode 100644 meta-oe/recipes-extended/parallel/parallel_20241022.bb



diff --git a/meta-oe/recipes-extended/parallel/parallel_20241022.bb b/meta-oe/recipes-extended/parallel/parallel_20241022.bb

new file mode 100644

index 000000000..e3cf0a6a7

--- /dev/null

+++ b/meta-oe/recipes-extended/parallel/parallel_20241022.bb

@@ -0,0 +1,29 @@

+SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers"

+DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \

+It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks."

+

+HOMEPAGE = "https://www.gnu.org/software/parallel/"<https://www.gnu.org/software/parallel/>

+LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later"

+

+LIC_FILES_CHKSUM = "file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166 \<file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166/+file:/LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8/+file:/LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7/+>

+    file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8\<file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166/+file:/LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8/+file:/LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7/+>

+    file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7\<file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166/+file:/LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8/+file:/LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7/+>

+"<file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166/+file:/LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8/+file:/LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7/+>

+

+SRC_URI = "https://ftp.gnu.org/gnu/parallel/parallel-${PV}.tar.bz2"<https://ftp.gnu.org/gnu/parallel/parallel-$%7bPV%7d.tar.bz2>

+SRC_URI[sha256sum] = "6de22bf1c67f7f316670d21ed1a2a32f1214dfbd3e420939ba937925c0a57a12"

+

+inherit autotools bash-completion

+

+DEPENDS += "perl"

+

+RDEPENDS:${PN} += "perl \

+        perl-module-ipc-open3 \

+        perl-module-getopt-long \

+        perl-module-file-temp \

+        perl-module-filehandle \

+        perl-module-file-glob \

+"

+do_install:append() {

+    rm -rf ${D}${datadir}/zsh

+}

--

2.34.1



Based on the above, and a corresponding recipe we have, I would

suggest the following instead:



SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers"

DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \

It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks."

HOMEPAGE = "https://www.gnu.org/software/parallel/"<https://www.gnu.org/software/parallel/>



LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later"

LIC_FILES_CHKSUM = " \

    file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8\<file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8/>

    file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7\<file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7/>

    file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166 \

"



SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2"
will change in v4 version






SRC_URI[sha256sum] = "6de22bf1c67f7f316670d21ed1a2a32f1214dfbd3e420939ba937925c0a57a12"



inherit autotools bash-completion



PACKAGES += "${PN}-zsh-completion"



FILES:${PN}-zsh-completion = "${datadir}/zsh"
will add in v4 version






RDEPENDS:${PN} = " \

    perl \

    perl-module-file-basename \

    perl-module-file-path \

    perl-module-file-temp \

    perl-module-getopt-long \

    perl-module-io-select \

    perl-module-ipc-open3 \

    perl-module-posix \

    perl-module-symbol \

    perl-module-thread-queue \

    perl-module-threads \

    perl-module-threads-shared \

"
I think the DEPENDS += "perl" is necessary to add into recipes, because the parallel build depends on perl.
for RDEPENDS, i insist the my sets, after testing, RDEPENDS your provided is not make parallel run normal in target.



BBCLASSEXTEND = "native"

I think "parallel" is more often using on targets. but i will add this config in v4 version.

Thanks very much

//Peng





//Peter
Peng Zhang Nov. 12, 2024, 1:56 a.m. UTC | #6
On 11/11/24 05:29, Peter Kjellerstedt wrote:
> **
> *CAUTION: This email comes from a non Wind River email account!*
> Do not click links or open attachments unless you recognize the sender 
> and know the content is safe.
>
> [ I cannot answer inline due to the use of HTML mail. ]
>
> * There is no reason to add DEPENDS += "perl"as it is not needed 
> during the build.
>
removed in v5
>
> * My list of runtime dependencies is based on the modules that the 
> parallelscripts actually use. It is possible that your list will 
> happen to work due to Perl modules depending on other Perl modules. 
> Regardless of which, please sort the runtime dependencies.
>
gnu parallel 20241022 provide paralle/parcat/parsort... to use. so my 
rdepends is only work for parallel, updated in v5 for all
>
> * We only use parallel-nativein our environment.
>
Ok, updated

//peng

> //Peter
>
> *From:*openembedded-devel@lists.openembedded.org 
> <openembedded-devel@lists.openembedded.org> *On Behalf Of *Zhang, Peng 
> (Paul) (CN) via lists.openembedded.org 
> <https://urldefense.com/v3/__http://lists.openembedded.org__;!!AjveYdw8EvQ!arus123lfJoMqW9PcIe-48HHqBhvXbUvrKbpNsAXHkEOYPGTLMGWNENgZ6B28bL4dq4WWIXbJmaZMtd4pHcXe-_rffjlZZAlxA$>
> *Sent:* den 9 november 2024 14:56
> *To:* Peter Kjellerstedt <peter.kjellerstedt@axis.com>; 
> openembedded-devel@lists.openembedded.org
> *Subject:* Re: [oe] [meta-oe][PATCH v3] parallel: Add recipe for GNU 
> Parallel
>
> On 11/8/2024 7:04 PM, Peter Kjellerstedt wrote:
>
>     CAUTION: This email comes from a non Wind River email account!
>
>     Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
>         -----Original Message-----
>
>         From:openembedded-devel@lists.openembedded.org  <openembedded-devel@lists.openembedded.org>  <mailto:openembedded-devel@lists.openembedded.org>  On Behalf Of Zhang, Peng (Paul) (CN) vialists.openembedded.org  <https://urldefense.com/v3/__http://lists.openembedded.org__;!!AjveYdw8EvQ!arus123lfJoMqW9PcIe-48HHqBhvXbUvrKbpNsAXHkEOYPGTLMGWNENgZ6B28bL4dq4WWIXbJmaZMtd4pHcXe-_rffjlZZAlxA$>
>
>         Sent: den 6 november 2024 12:03
>
>         To:openembedded-devel@lists.openembedded.org
>
>         Subject: [oe] [meta-oe][PATCH v3] parallel: Add recipe for GNU Parallel
>
>         From: Zhang Peng<peng.zhang1.cn@windriver.com>  <mailto:peng.zhang1.cn@windriver.com>
>
>         This recipe adds the parallel package, a shell tool for executing jobs
>
>         in parallel using one or more computers.
>
>         Signed-off-by: Zhang Peng<peng.zhang1.cn@windriver.com>  <mailto:peng.zhang1.cn@windriver.com>
>
>         ---
>
>           .../parallel/parallel_20241022.bb  <https://urldefense.com/v3/__http://parallel_20241022.bb__;!!AjveYdw8EvQ!arus123lfJoMqW9PcIe-48HHqBhvXbUvrKbpNsAXHkEOYPGTLMGWNENgZ6B28bL4dq4WWIXbJmaZMtd4pHcXe-_rffhDX-r87g$>              | 29 +++++++++++++++++++
>
>           1 file changed, 29 insertions(+)
>
>           create mode 100644 meta-oe/recipes-extended/parallel/parallel_20241022.bb  <https://urldefense.com/v3/__http://parallel_20241022.bb__;!!AjveYdw8EvQ!arus123lfJoMqW9PcIe-48HHqBhvXbUvrKbpNsAXHkEOYPGTLMGWNENgZ6B28bL4dq4WWIXbJmaZMtd4pHcXe-_rffhDX-r87g$>
>
>         diff --git a/meta-oe/recipes-extended/parallel/parallel_20241022.bb  <https://urldefense.com/v3/__http://parallel_20241022.bb__;!!AjveYdw8EvQ!arus123lfJoMqW9PcIe-48HHqBhvXbUvrKbpNsAXHkEOYPGTLMGWNENgZ6B28bL4dq4WWIXbJmaZMtd4pHcXe-_rffhDX-r87g$>  b/meta-oe/recipes-extended/parallel/parallel_20241022.bb  <https://urldefense.com/v3/__http://parallel_20241022.bb__;!!AjveYdw8EvQ!arus123lfJoMqW9PcIe-48HHqBhvXbUvrKbpNsAXHkEOYPGTLMGWNENgZ6B28bL4dq4WWIXbJmaZMtd4pHcXe-_rffhDX-r87g$>
>
>         new file mode 100644
>
>         index 000000000..e3cf0a6a7
>
>         --- /dev/null
>
>         +++ b/meta-oe/recipes-extended/parallel/parallel_20241022.bb  <https://urldefense.com/v3/__http://parallel_20241022.bb__;!!AjveYdw8EvQ!arus123lfJoMqW9PcIe-48HHqBhvXbUvrKbpNsAXHkEOYPGTLMGWNENgZ6B28bL4dq4WWIXbJmaZMtd4pHcXe-_rffhDX-r87g$>
>
>         @@ -0,0 +1,29 @@
>
>         +SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers"
>
>         +DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \
>
>         +It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks."
>
>         +
>
>         +HOMEPAGE ="https://www.gnu.org/software/parallel/"  <https://urldefense.com/v3/__https://www.gnu.org/software/parallel/__;!!AjveYdw8EvQ!arus123lfJoMqW9PcIe-48HHqBhvXbUvrKbpNsAXHkEOYPGTLMGWNENgZ6B28bL4dq4WWIXbJmaZMtd4pHcXe-_rffhQ_pd9hA$>
>
>         +LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later"
>
>         +
>
>         +LIC_FILES_CHKSUM ="file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166
>         \  <file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166/+file:/LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8/+file:/LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7/+>
>
>         +   
>         file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8\<file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166/+file:/LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8/+file:/LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7/+>
>
>         +   
>         file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7\<file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166/+file:/LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8/+file:/LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7/+>
>
>         +"
>         <file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166/+file:/LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8/+file:/LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7/+>
>
>         +
>
>         +SRC_URI ="https://ftp.gnu.org/gnu/parallel/parallel-${PV}.tar.bz2"  <https://urldefense.com/v3/__https://ftp.gnu.org/gnu/parallel/parallel-$*7bPV*7d.tar.bz2__;JSU!!AjveYdw8EvQ!arus123lfJoMqW9PcIe-48HHqBhvXbUvrKbpNsAXHkEOYPGTLMGWNENgZ6B28bL4dq4WWIXbJmaZMtd4pHcXe-_rffjl7oCJbQ$>
>
>         +SRC_URI[sha256sum] = "6de22bf1c67f7f316670d21ed1a2a32f1214dfbd3e420939ba937925c0a57a12"
>
>         +
>
>         +inherit autotools bash-completion
>
>         +
>
>         +DEPENDS += "perl"
>
>         +
>
>         +RDEPENDS:${PN} += "perl \
>
>         +        perl-module-ipc-open3 \
>
>         +        perl-module-getopt-long \
>
>         +        perl-module-file-temp \
>
>         +        perl-module-filehandle \
>
>         +        perl-module-file-glob \
>
>         +"
>
>         +do_install:append() {
>
>         +    rm -rf ${D}${datadir}/zsh
>
>         +}
>
>         --
>
>         2.34.1
>
>     Based on the above, and a corresponding recipe we have, I would
>
>     suggest the following instead:
>
>     SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers"
>
>     DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \
>
>     It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks."
>
>     HOMEPAGE ="https://www.gnu.org/software/parallel/"  <https://urldefense.com/v3/__https://www.gnu.org/software/parallel/__;!!AjveYdw8EvQ!arus123lfJoMqW9PcIe-48HHqBhvXbUvrKbpNsAXHkEOYPGTLMGWNENgZ6B28bL4dq4WWIXbJmaZMtd4pHcXe-_rffhQ_pd9hA$>
>
>     LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later"
>
>     LIC_FILES_CHKSUM = " \
>
>          file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8\  <file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8/>
>
>          file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7\  <file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7/>
>
>          file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166  <file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166>  \
>
>     "
>
>     SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2"
>
> will change in v4 version
>
>     SRC_URI[sha256sum] = "6de22bf1c67f7f316670d21ed1a2a32f1214dfbd3e420939ba937925c0a57a12"
>
>     inherit autotools bash-completion
>
>     PACKAGES += "${PN}-zsh-completion"
>
>     FILES:${PN}-zsh-completion = "${datadir}/zsh"
>
> will add in v4 version
>
>     RDEPENDS:${PN} = " \
>
>          perl \
>
>          perl-module-file-basename \
>
>          perl-module-file-path \
>
>          perl-module-file-temp \
>
>          perl-module-getopt-long \
>
>          perl-module-io-select \
>
>          perl-module-ipc-open3 \
>
>          perl-module-posix \
>
>          perl-module-symbol \
>
>          perl-module-thread-queue \
>
>          perl-module-threads \
>
>          perl-module-threads-shared \
>
>     "
>
> I think the DEPENDS += "perl" is necessary to add into recipes, 
> because the parallel build depends on perl.
>
> for RDEPENDS, i insist the my sets, after testing, RDEPENDS your 
> provided is not make parallel run normal in target.
>
>     BBCLASSEXTEND = "native"
>
> I think "parallel" is more often using on targets. but i will add this 
> config in v4 version.
>
> Thanks very much
>
> //Peng
>
>     //Peter
>
diff mbox series

Patch

diff --git a/meta-oe/recipes-extended/parallel/parallel_20241022.bb b/meta-oe/recipes-extended/parallel/parallel_20241022.bb
new file mode 100644
index 000000000..e3cf0a6a7
--- /dev/null
+++ b/meta-oe/recipes-extended/parallel/parallel_20241022.bb
@@ -0,0 +1,29 @@ 
+SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers"
+DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \
+It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks."
+
+HOMEPAGE = "https://www.gnu.org/software/parallel/"
+LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later"
+
+LIC_FILES_CHKSUM = "file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166 \
+    file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8\
+    file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7\
+"
+
+SRC_URI = "https://ftp.gnu.org/gnu/parallel/parallel-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "6de22bf1c67f7f316670d21ed1a2a32f1214dfbd3e420939ba937925c0a57a12"
+
+inherit autotools bash-completion
+
+DEPENDS += "perl"
+
+RDEPENDS:${PN} += "perl \
+        perl-module-ipc-open3 \
+        perl-module-getopt-long \
+        perl-module-file-temp \
+        perl-module-filehandle \
+        perl-module-file-glob \
+"
+do_install:append() {
+    rm -rf ${D}${datadir}/zsh
+}