This seems to regress building ctapi-common recipe from meta-oe https://errors.yoctoproject.org/Errors/Details/705227/
On Fri, May 26, 2023 at 7:06 AM Alberto Planas via lists.openembedded.org <[email protected]> wrote: > > From: Alberto Planas <[email protected]> > > openSUSE RPMs are compressing the RPM payload using zstd, that > correspond to the magic ID 0x28, 0xb5, 0x2f. > > This patch update the script to the last version from the rpm project, > and add support to this compression format, and extract the cpio payload > using the "unzstd" binary. > > Signed-off-by: Alberto Planas <[email protected]> > --- > scripts/rpm2cpio.sh | 30 ++++++++++++++++++++---------- > 1 file changed, 20 insertions(+), 10 deletions(-) > mode change 100755 => 100644 scripts/rpm2cpio.sh > > diff --git a/scripts/rpm2cpio.sh b/scripts/rpm2cpio.sh > old mode 100755 > new mode 100644 > index 2034373fe4..8199b43784 > --- a/scripts/rpm2cpio.sh > +++ b/scripts/rpm2cpio.sh > @@ -7,7 +7,7 @@ fatal() { > } > > pkg="$1" > -[ -n "$pkg" -a -e "$pkg" ] || > +[ -n "$pkg" ] && [ -e "$pkg" ] || > fatal "No package supplied" > > _dd() { > @@ -16,14 +16,23 @@ _dd() { > } > > calcsize() { > + > + case "$(_dd $1 bs=4 count=1 | tr -d '\0')" in > + "$(printf '\216\255\350')"*) ;; # '\x8e\xad\xe8' > + *) fatal "File doesn't look like rpm: $pkg" ;; > + esac > + > offset=$(($1 + 8)) > > local i b b0 b1 b2 b3 b4 b5 b6 b7 > > i=0 > while [ $i -lt 8 ]; do > - b=$(_dd $(($offset + $i)) bs=1 count=1; echo X) > - b=${b%X} > + # add . to not loose \n > + # strip \0 as it gets dropped with warning otherwise > + b="$(_dd $(($offset + $i)) bs=1 count=1 | tr -d '\0' ; echo > .)" > + b=${b%.} # strip . again > + > [ -z "$b" ] && > b="0" || > b="$(exec printf '%u\n' "'$b")" > @@ -35,7 +44,7 @@ calcsize() { > offset=$(($offset + $rsize)) > } > > -case "$(_dd 0 bs=8 count=1)" in > +case "$(_dd 0 bs=4 count=1 | tr -d '\0')" in > "$(printf '\355\253\356\333')"*) ;; # '\xed\xab\xee\xdb' > *) fatal "File doesn't look like rpm: $pkg" ;; > esac > @@ -46,10 +55,11 @@ sigsize=$rsize > calcsize $(($offset + (8 - ($sigsize % 8)) % 8)) > hdrsize=$rsize > > -case "$(_dd $offset bs=3 count=1)" in > - "$(printf '\102\132')"*) _dd $offset | bzip2 -d ;; # '\x42\x5a' > - "$(printf '\037\213')"*) _dd $offset | gunzip ;; # '\x1f\x8b' > - "$(printf '\375\067')"*) _dd $offset | xzcat ;; # '\xfd\x37' > - "$(printf '\135\000')"*) _dd $offset | unlzma ;; # '\x5d\x00' > - *) fatal "Unrecognized rpm file: $pkg" ;; > +case "$(_dd $offset bs=2 count=1 | tr -d '\0')" in > + "$(printf '\102\132')") _dd $offset | bunzip2 ;; # '\x42\x5a' > + "$(printf '\037\213')") _dd $offset | gunzip ;; # '\x1f\x8b' > + "$(printf '\375\067')") _dd $offset | xzcat ;; # '\xfd\x37' > + "$(printf '\135')") _dd $offset | unlzma ;; # '\x5d\x00' > + "$(printf '\050\265')") _dd $offset | unzstd ;; # '\x28\xb5' > + *) fatal "Unrecognized payload compression format in rpm file: $pkg" > ;; > esac > -- > 2.40.1 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#181943): https://lists.openembedded.org/g/openembedded-core/message/181943 Mute This Topic: https://lists.openembedded.org/mt/99150379/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
