From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6928728789410119680 X-Received: by 2002:a05:6512:33d1:: with SMTP id d17mr8177833lfg.13.1613381128713; Mon, 15 Feb 2021 01:25:28 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:a58c:: with SMTP id m12ls2802065ljp.2.gmail; Mon, 15 Feb 2021 01:25:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJx/cAaIblpyciotH2666GWz1xABmQq9ukRbobfJo8pDPX7oB+Kb/dnO9n4b6wVavrBi+uzW X-Received: by 2002:a05:651c:509:: with SMTP id o9mr9110771ljp.369.1613381127684; Mon, 15 Feb 2021 01:25:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613381127; cv=none; d=google.com; s=arc-20160816; b=GF4Zjn/zI2Z9QXzBWwMoDreO9GXJx4njLx/ainl+jXNnKMXGC4r3ZeHcpCKXuo7id4 VnogzXFiwRPp1mDW5x9S1XRSqx+vT7cxgAOqfw0DXOLdmvT/9zqQMMcVOh1gG3UlW8Y6 1E7pw/3/dHN8AjP8jnFK14GssK7/tDCs50XcEfi2/UbeJL8DzhDYRJNWmLBrvTElAYum kCZCggZe6umABaQVx+xps0+yOss7O9+IJOoQeJCZ3q13tLZ28aTTWDQAnuG6D8kTWduR Anql8GIFCA9+3vseRZIg+rUmt/GK8d1c2d/n249P6M6tajUcmbSBdNdmUE9Od9nyspU+ TP8Q== 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=tkMapD5gLFnwX7xODURYyX320mZCydckgP5gbxc1F7U=; b=nCyf5MPXT6GGi2NvYWe2IecIYtMpGQjJVd3Ul43HYFBDiAsOASXctng/oif9fXtTft 2JdEHh/j05+uuCG+VLeYFn6B6960tdr+ZyPExInBPjEizAdrs069nlMXAWXF7MjtwzAj OYbLSH4qJZizbn69XSGeBsEGPfhkKTNgv7+HxU4R9/TiHt8NFfuU3VUWy6yDMZ6lgaiE qPgHDoOb9grI9FeUwy06ywip/1ivTkD7/ofgu/7srUYUiqY/sorF67mlD3u2uBguCFlC ZV4bNDeSDfN/yJV1HzY0jpvr+O3SgL6r7s7PI4777OF+tDmXBY8Se9spEQR/HWJvmpi/ 5i7Q== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id j2si634684lfe.5.2021.02.15.01.25.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Feb 2021 01:25:27 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.39 as permitted sender) client-ip=194.138.37.39; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id 11F9PQG2021500 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 15 Feb 2021 10:25:27 +0100 Received: from [139.22.41.241] ([139.22.41.241]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 11F9PQLj004788; Mon, 15 Feb 2021 10:25:26 +0100 Subject: Re: [PATCH v2 1/2] meta-isar: Add simple example for injecting prebuilt deb packages To: Henning Schild Cc: isar-users References: <20210215084544.3b3af71d@md1za8fc.ad001.siemens.net> From: Jan Kiszka Message-ID: <22c70697-d075-bba2-d170-09eb392e1453@siemens.com> Date: Mon, 15 Feb 2021 10:25:26 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: <20210215084544.3b3af71d@md1za8fc.ad001.siemens.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: 2qmy+GUZNniX On 15.02.21 08:45, Henning Schild wrote: > Am Sat, 13 Feb 2021 13:46:20 +0100 > schrieb Jan Kiszka : > >> From: Jan Kiszka >> >> While it's definitely nicer and more convenient to pull deb packages >> from repos, this may not always be the case. This recipe demonstrates >> how to implement such a pattern. >> >> The example embeds the deb as local artifact which is clearly an >> anti-pattern. That path was only chosen here because it's hard to >> find a stable URL to a prebuilt arch-independent deb file in the >> wild. The procedure for creating the deb is also included as README. >> >> Signed-off-by: Jan Kiszka >> --- >> meta-isar/conf/local.conf.sample | 2 +- >> .../prebuilt-deb/files/README-create-deb.txt | 14 ++++++++++++ >> .../files/example-prebuilt_1.0.0-0_all.deb | Bin 0 -> 776 bytes >> .../recipes-app/prebuilt-deb/prebuilt-deb.bb | 20 >> ++++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) >> create mode 100644 >> meta-isar/recipes-app/prebuilt-deb/files/README-create-deb.txt create >> mode 100644 >> meta-isar/recipes-app/prebuilt-deb/files/example-prebuilt_1.0.0-0_all.deb >> create mode 100644 meta-isar/recipes-app/prebuilt-deb/prebuilt-deb.bb >> >> diff --git a/meta-isar/conf/local.conf.sample >> b/meta-isar/conf/local.conf.sample index 107496c1..cc0b5c66 100644 >> --- a/meta-isar/conf/local.conf.sample >> +++ b/meta-isar/conf/local.conf.sample >> @@ -172,7 +172,7 @@ CONF_VERSION = "1" >> >> # >> # The default list of extra packages to be installed. >> -IMAGE_INSTALL = "hello-isar example-raw >> example-module-${KERNEL_NAME} enable-fsck isar-exclude-docs samefile >> hello isar-disable-apt-cache cowsay" +IMAGE_INSTALL = "hello-isar >> example-raw example-module-${KERNEL_NAME} enable-fsck >> isar-exclude-docs samefile hello isar-disable-apt-cache cowsay >> example-prebuilt" # # Enable cross-compilation support diff --git >> a/meta-isar/recipes-app/prebuilt-deb/files/README-create-deb.txt >> b/meta-isar/recipes-app/prebuilt-deb/files/README-create-deb.txt new >> file mode 100644 index 00000000..e2dc35dc --- /dev/null >> +++ b/meta-isar/recipes-app/prebuilt-deb/files/README-create-deb.txt >> @@ -0,0 +1,14 @@ >> +Create test deb package: >> + >> +mkdir -p example-prebuilt/DEBIAN example-prebuilt/opt >> +cat << EOF > example-prebuilt/DEBIAN/control >> +Section: misc >> +Priority: optional >> +Package: example-prebuilt >> +Version: 1.0.0 >> +Maintainer: Who Knows >> +Description: Just a test package >> +Architecture: all >> +EOF >> +echo "Just some test content" > >> example-prebuilt/opt/some-package-file +dpkg -b example-prebuilt >> example-prebuilt_1.0.0-0_all.deb diff --git >> a/meta-isar/recipes-app/prebuilt-deb/files/example-prebuilt_1.0.0-0_all.deb >> b/meta-isar/recipes-app/prebuilt-deb/files/example-prebuilt_1.0.0-0_all.deb >> new file mode 100644 index >> 0000000000000000000000000000000000000000..3049dab62d8e8bb1857626e2a791e65a986c8f36 >> GIT binary patch literal 776 >> zcmY$iNi0gvu;WTeP0CEn(@o0EODw8XP*5;5Gc-0dH8e4^R8TMg@?oT*fq|KciGl(U >> zK|unSk)8opa(-S(QGSkINn(*+MHONF#>QrF{eR7?BBB@=Se{+m;>L1d0#iePBBK}s >> z1c=Be={!*X&&UzWAkMu> zcNkvUUAXiyd%l*pyuspRjqxy_YRdYBVND7#5f2 >> zojAB~Q`K$05-xTIohG9> zwlkYV_?K)u^IdHBj> zZa$kQOar1|Vp{`0?+ >> zGmh5!vGP}B^_Qz+ljl!vuwN=~khxmP{$jH3WN!ur_pGvC@;BsPGcc|Jh7|+D;&bc5 >> zHXcd;%>)WEmdL1-#F9jKL;ypXP+S_BSm20@?TpBAacGgFB`_`+)+5J-+Z>rA{{;?r >> zDJES0U>A4Mbkg>BhKoyfKZ^bHDTkvjv;OI?g)B0Xc6n=U6YUqgTlLZCx22wE_MFR! >> zml`a@^X-z-ZcRL~D)HNvt!|yXnddOzB=Yw^ccs|9VlcYWwh >> z4s> ma*R#G{p}eGV}ZePiLHOqg_-NZ85l1E{lvhK&Rz8yIm`gKeJ%$8 >> >> literal 0 >> HcmV?d00001 >> >> diff --git a/meta-isar/recipes-app/prebuilt-deb/prebuilt-deb.bb >> b/meta-isar/recipes-app/prebuilt-deb/prebuilt-deb.bb new file mode >> 100644 index 00000000..2f1b699e >> --- /dev/null >> +++ b/meta-isar/recipes-app/prebuilt-deb/prebuilt-deb.bb > > prebuilt-deb-1.0.0.bb > Well, not consistently done in our examples. But I can change that. >> @@ -0,0 +1,20 @@ >> +# This software is a part of ISAR. >> +# Copyright (c) Siemens AG, 2021 >> +# >> +# SPDX-License-Identifier: MIT >> + >> +inherit dpkg-base >> + >> +# NOTE: The deb packages should almost never be stored in the repo >> itself but +# rather fetched from a binary-serving location. >> For this example, local +# storage was just simpler to maintain >> across all archs and distros. +# >> +# 2nd NOTE: "unpack=false" is important, bitbake unpacks deb files >> otherwise +SRC_URI = >> "file://example-prebuilt_1.0.0-0_all.deb;unpack=false" + > > file://${P}-0_all.deb > Nope, these are intentionally decoupled. No magics here, that's only confusing. >> +# Only needed if recipe name != package name, as in this case. Or >> multiple +# packages are provided by a single recipe. >> +PROVIDES += "example-prebuilt" >> + >> +do_dpkg_build() { >> +} > Jan -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux