From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6643631712973619200 X-Received: by 2002:a2e:541c:: with SMTP id i28-v6mr3971829ljb.20.1546867068130; Mon, 07 Jan 2019 05:17:48 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a19:f65:: with SMTP id e98ls34250lfi.4.gmail; Mon, 07 Jan 2019 05:17:47 -0800 (PST) X-Google-Smtp-Source: AFSGD/UEnrRaptDbvi7Fml07AD362tj/UNRuZAtcdJqIz8dWABhDD+VHu7+iAnCIhbj2zW1QYUlK X-Received: by 2002:a19:fc11:: with SMTP id a17mr3388562lfi.11.1546867067505; Mon, 07 Jan 2019 05:17:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546867067; cv=none; d=google.com; s=arc-20160816; b=WDYSiKIoPEjr2Z61zl5MvxB+0gZeBP2Ct4rdIv1TfLzLbCPiLU6wF8uHhRevmDOORg rMDi6l7Ma69Vv43hf3LFBjmHVu7gaHR6r2+VkPY3Vjess2g9+op3SmrQkDitisXnuMSj mKLCInK+KsBNEjBxebiM+0+/BzMBossryM4DewA405CSOPt+6rbYChtHx5qlNGoyfA5a ruHEPzGoN9XnQqU328EPDrQodVZ+wLu11SX0fG4OCC7xglWGSU+AwiGfkBAc4P83qWeF IXWXlE7/G77RKvrRiqU/9wjCLG7O/Q1Qsq/pFD+y6af8tmvp/ixH2urd67gZvC0xsG69 udoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject; bh=7HLC6FY6PbsiozEy8CcDYcQf14TlzuJyt5Uk/8+H8MU=; b=CdnIttZH7ce+8POqB0GLk3VVpQm9L/qJiKZjXHBXsrVTBsWoNte5BtuKHL6M30T73E Fo3ZX4/6PmSioomkyikX7Za4b+vTkmEtE9HSn32dD+BpQfaA0IxqRh+IVhxn0ji5NNtN IlLNE9kZHXKcIdPuJspIUX1TTUy/4zbOAql3/MzPBbQdOB7KpZ/MEwFTkUbj6239qZ6v 0w5JvHauP6genHQwoW9XRNvpv8TwE1EhTf611pAyJ283jjCmrmmjUR4dHsIxy1giV33C S53YPug72T640OsDvBGbF8obwLpJ2T2beqIu/N48nyRl7vH7mZoZCsn0mGzpgIRyLXqu Nm0g== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id e17-v6si2623609ljg.5.2019.01.07.05.17.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 Jan 2019 05:17:47 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id x07DHkrh002399 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 7 Jan 2019 14:17:46 +0100 Received: from [139.25.68.37] (md1q0hnc.ad001.siemens.net [139.25.68.37] (may be forged)) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id x07DHkCU031902; Mon, 7 Jan 2019 14:17:46 +0100 Subject: Re: [PATCH] scripts: Add rpm2cpio.sh To: Henning Schild Cc: isar-users References: <20190107141714.7c2ddfa7@md1za8fc.ad001.siemens.net> From: Jan Kiszka Message-ID: Date: Mon, 7 Jan 2019 14:17:45 +0100 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 In-Reply-To: <20190107141714.7c2ddfa7@md1za8fc.ad001.siemens.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: bIz3uro2LSts On 07.01.19 14:17, Henning Schild wrote: > Am Mon, 7 Jan 2019 07:04:03 +0100 > schrieb "[ext] Jan Kiszka" : > >> From: Jan Kiszka >> >> Bitbake is able to unpack rpm packages. For this to work, it just >> needs rpm2cpio.sh in scripts. Add it from rpm upstream, similar to >> what OE core did. > > Could you add where exactly you got that from, and the commit id if it > is version control? See the header of the file. Jan > > Henning > >> Signed-off-by: Jan Kiszka >> --- >> scripts/rpm2cpio.sh | 59 >> +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, >> 59 insertions(+) create mode 100755 scripts/rpm2cpio.sh >> >> diff --git a/scripts/rpm2cpio.sh b/scripts/rpm2cpio.sh >> new file mode 100755 >> index 0000000..db3cae6 >> --- /dev/null >> +++ b/scripts/rpm2cpio.sh >> @@ -0,0 +1,59 @@ >> +#!/bin/sh -efu >> +# >> +# This software is a part of ISAR, >> +# originating from the RPM Package Manager version 4.14 >> +# >> +# SPDX-License-Identifier: GPL-2.0 >> + >> +fatal() { >> + echo "$*" >&2 >> + exit 1 >> +} >> + >> +pkg="$1" >> +[ -n "$pkg" -a -e "$pkg" ] || >> + fatal "No package supplied" >> + >> +_dd() { >> + local o="$1"; shift >> + dd if="$pkg" skip="$o" iflag=skip_bytes status=none $* >> +} >> + >> +calcsize() { >> + 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)" >> + [ -z "$b" ] && >> + b="0" || >> + b="$(exec printf '%u\n' "'$b")" >> + eval "b$i=\$b" >> + i=$(($i + 1)) >> + done >> + >> + rsize=$((8 + ((($b0 << 24) + ($b1 << 16) + ($b2 << 8) + $b3) >> << 4) + ($b4 << 24) + ($b5 << 16) + ($b6 << 8) + $b7)) >> + offset=$(($offset + $rsize)) >> +} >> + >> +case "$(_dd 0 bs=8 count=1)" in >> + "$(printf '\355\253\356\333')"*) ;; # '\xed\xab\xee\xdb' >> + *) fatal "File doesn't look like rpm: $pkg" ;; >> +esac >> + >> +calcsize 96 >> +sigsize=$rsize >> + >> +calcsize $(($offset + (8 - ($sigsize % 8)) % 8)) >> +hdrsize=$rsize >> + >> +case "$(_dd $offset bs=3 count=1)" 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\000')"*) _dd $offset | unlzma ;; # >> '\x5d\x00' >> + "$(printf '\050\265')"*) _dd $offset | unzstd ;; # >> '\x28\xb5' >> + *) fatal "Unrecognized rpm file: $pkg" ;; >> +esac > -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux