diff mbox series

[1/2] opkg: use a git clone, not a dynamic snapshot

Message ID 20221006133122.493953-1-ross.burton@arm.com
State New
Headers show
Series [1/2] opkg: use a git clone, not a dynamic snapshot | expand

Commit Message

Ross Burton Oct. 6, 2022, 1:31 p.m. UTC
opkg fetches using a cgit snapshot of a tag, which is not reproducible as
the tag could move, not reliable as a future dynamic snapshot could have
a different checksum, and a waste of CPU load as these tarballs are built
on demand.

Switch opkg to use a proper git clone of the relevant SHA.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-devtools/opkg/opkg_0.6.0.bb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Alex Stewart Oct. 6, 2022, 3:51 p.m. UTC | #1
NACK.

The downloads.yoctoproject.org fileserver isn't a dynamic cgit snapshot. 
Those are static tarballs that I manually create every opkg release. [1]

[1] https://git.yoctoproject.org/opkg/tree/scripts/make-dist.sh


On 10/6/22 08:31, Ross Burton wrote:
> opkg fetches using a cgit snapshot of a tag, which is not reproducible as
> the tag could move, not reliable as a future dynamic snapshot could have
> a different checksum, and a waste of CPU load as these tarballs are built
> on demand.
>
> Switch opkg to use a proper git clone of the relevant SHA.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>   meta/recipes-devtools/opkg/opkg_0.6.0.bb | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-devtools/opkg/opkg_0.6.0.bb b/meta/recipes-devtools/opkg/opkg_0.6.0.bb
> index 4cd589cd29e..f9e5073ba5d 100644
> --- a/meta/recipes-devtools/opkg/opkg_0.6.0.bb
> +++ b/meta/recipes-devtools/opkg/opkg_0.6.0.bb
> @@ -12,13 +12,15 @@ DEPENDS = "libarchive"
>   
>   PE = "1"
>   
> -SRC_URI = "https://urldefense.com/v3/__http://downloads.yoctoproject.org/releases/$*7BBPN*7D/$*7BBPN*7D-$*7BPV*7D.tar.gz__;JSUlJSUl!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWgh2nsmLQ$   \
> +SRC_URI = "git://git.yoctoproject.org/opkg;protocol=https;branch=master \
>              file://opkg.conf \
>              file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
>              file://run-ptest \
>   "
>   
> -SRC_URI[sha256sum] = "56844722eff237daf14aa6e681436f3245213c5590ed0cda37a79df637ff3a4c"
> +SRCREV = "9007789c18f70bc9f315a566c589231ef0a2e6fa"
> +
> +S = "${WORKDIR}/git"
>   
>   # This needs to be before ptest inherit, otherwise all ptest files end packaged
>   # in libopkg package if OPKGLIBDIR == libdir, because default
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#171502): https://urldefense.com/v3/__https://lists.openembedded.org/g/openembedded-core/message/171502__;!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWj0RaRGrQ$
> Mute This Topic: https://urldefense.com/v3/__https://lists.openembedded.org/mt/94157332/3616788__;!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWgOZqMzhA$
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://urldefense.com/v3/__https://lists.openembedded.org/g/openembedded-core/unsub__;!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWj3f46u5w$   [alex.stewart@ni.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Ross Burton Oct. 6, 2022, 4:14 p.m. UTC | #2
Sorry, got carried away whilst battling a cold.

I retract this patch, but stand by the opkg-utils patch.

Ross


From: Alex Stewart <alex.stewart@ni.com>
Date: Thursday, 6 October 2022 at 16:52
To: Ross Burton <Ross.Burton@arm.com>
Cc: nd <nd@arm.com>, openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH 1/2] opkg: use a git clone, not a dynamic snapshot
NACK.

The downloads.yoctoproject.org fileserver isn't a dynamic cgit snapshot.
Those are static tarballs that I manually create every opkg release. [1]

[1] https://git.yoctoproject.org/opkg/tree/scripts/make-dist.sh


On 10/6/22 08:31, Ross Burton wrote:
> opkg fetches using a cgit snapshot of a tag, which is not reproducible as
> the tag could move, not reliable as a future dynamic snapshot could have
> a different checksum, and a waste of CPU load as these tarballs are built
> on demand.
>
> Switch opkg to use a proper git clone of the relevant SHA.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>   meta/recipes-devtools/opkg/opkg_0.6.0.bb | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-devtools/opkg/opkg_0.6.0.bb b/meta/recipes-devtools/opkg/opkg_0.6.0.bb
> index 4cd589cd29e..f9e5073ba5d 100644
> --- a/meta/recipes-devtools/opkg/opkg_0.6.0.bb
> +++ b/meta/recipes-devtools/opkg/opkg_0.6.0.bb
> @@ -12,13 +12,15 @@ DEPENDS = "libarchive"
>
>   PE = "1"
>
> -SRC_URI = "https://urldefense.com/v3/__http://downloads.yoctoproject.org/releases/$*7BBPN*7D/$*7BBPN*7D-$*7BPV*7D.tar.gz__;JSUlJSUl!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWgh2nsmLQ$   \
> +SRC_URI = "git://git.yoctoproject.org/opkg;protocol=https;branch=master \
>              file://opkg.conf<file:///opkg.conf> \
>              file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch<file:///0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch> \
>              file://run-ptest<file:///run-ptest> \
>   "
>
> -SRC_URI[sha256sum] = "56844722eff237daf14aa6e681436f3245213c5590ed0cda37a79df637ff3a4c"
> +SRCREV = "9007789c18f70bc9f315a566c589231ef0a2e6fa"
> +
> +S = "${WORKDIR}/git"
>
>   # This needs to be before ptest inherit, otherwise all ptest files end packaged
>   # in libopkg package if OPKGLIBDIR == libdir, because default
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#171502): https://urldefense.com/v3/__https://lists.openembedded.org/g/openembedded-core/message/171502__;!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWj0RaRGrQ$<https://urldefense.com/v3/__https:/lists.openembedded.org/g/openembedded-core/message/171502__;!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWj0RaRGrQ$>
> Mute This Topic: https://urldefense.com/v3/__https://lists.openembedded.org/mt/94157332/3616788__;!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWgOZqMzhA$<https://urldefense.com/v3/__https:/lists.openembedded.org/mt/94157332/3616788__;!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWgOZqMzhA$>
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://urldefense.com/v3/__https://lists.openembedded.org/g/openembedded-core/unsub__;!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWj3f46u5w$<https://urldefense.com/v3/__https:/lists.openembedded.org/g/openembedded-core/unsub__;!!FbZ0ZwI3Qg!pyuHI_PMGrZ2NigEUgUanIZNHVUAWoJRWYY0JDL6RQzMmoQPyN-WSs9wjjW7a9E1qPmn22PazWj3f46u5w$>   [alex.stewart@ni.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>

--
Alex Stewart
Software Engineer - NI Real-Time OS
NI (National Instruments)

alex.stewart@ni.com
diff mbox series

Patch

diff --git a/meta/recipes-devtools/opkg/opkg_0.6.0.bb b/meta/recipes-devtools/opkg/opkg_0.6.0.bb
index 4cd589cd29e..f9e5073ba5d 100644
--- a/meta/recipes-devtools/opkg/opkg_0.6.0.bb
+++ b/meta/recipes-devtools/opkg/opkg_0.6.0.bb
@@ -12,13 +12,15 @@  DEPENDS = "libarchive"
 
 PE = "1"
 
-SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
+SRC_URI = "git://git.yoctoproject.org/opkg;protocol=https;branch=master \
            file://opkg.conf \
            file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
            file://run-ptest \
 "
 
-SRC_URI[sha256sum] = "56844722eff237daf14aa6e681436f3245213c5590ed0cda37a79df637ff3a4c"
+SRCREV = "9007789c18f70bc9f315a566c589231ef0a2e6fa"
+
+S = "${WORKDIR}/git"
 
 # This needs to be before ptest inherit, otherwise all ptest files end packaged
 # in libopkg package if OPKGLIBDIR == libdir, because default