From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6928728789410119680 X-Received: by 2002:a2e:9088:: with SMTP id l8mr8064133ljg.29.1613375447172; Sun, 14 Feb 2021 23:50:47 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:a58c:: with SMTP id m12ls2749947ljp.2.gmail; Sun, 14 Feb 2021 23:50:46 -0800 (PST) X-Google-Smtp-Source: ABdhPJxgoNvIiYzDElBEOjY2W8Q8MZOIkGvNAj/YsP5APCC2556WJ5j42v01sX/So9BFGu+HCIFN X-Received: by 2002:a2e:5046:: with SMTP id v6mr8409750ljd.439.1613375446024; Sun, 14 Feb 2021 23:50:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613375446; cv=none; d=google.com; s=arc-20160816; b=QN6SDifwBB0BPqTXIw1XyNtrFBcg35T4qkjV6eKFx5b6pg8TXGeBlFpmUUM81B/evV kNLbZ/wx1MUXNVpPiftURw5eHI5X6eJARhCU6evSfW2hvB56um2UucF/p1KEbumaj5bk y0TlKJSrwV+VQMNPK7pJviZKZf4Cz3WnPRiFDeQ+00P1OSxTuvnsjbqrFf806uXa+ft1 9piEkUBiNIZ4fZsfnU6EnKQmjAppWVLTE3T2qzKMNnv9Gs00+9RDNiWFX7ajvGKYfytN u0S9pJcuNUeaPIKi9w2PowlqCVZ9uBqUTgr6GhWN/9gAiF4ie8yfxpezocxkiUU1Uufn QEXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date; bh=e+Fsncnngmp74JQ7J5VGgqqKube/HF8AkvQGyfrv0Fw=; b=DBaXPZXayt1RTQYKSBm7zilJey9gH1ThrU1jV4JrD/6L88JDdNQ/LFQk+xvtPKG09K 2XIZoKWebwg3XrvlwZoYnXKMU+hapkMVa7hHPRxRhn6G9L9dOGtHGL2qoJYjRSk7f9E3 XuLq0X+UyYwZmPzbIvYdreObN0ZAnpZ4FADzlky0FllSFL2cTriTzCymt0oqMdxgrRCC zfor8+VSR/mi6hk6IBUf08aD95dgSnN+yu+I02sc5it3O/6K6B0sBbXLEzCfxJPheG34 /ytgcfNBTTyuCZf7uhiSN+inN2x9sCDwG5R3MktsEIb+5N19wSKjR2dNQl1FxsfPMpfs JXxQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id g12si305813lfu.13.2021.02.14.23.50.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 14 Feb 2021 23:50:45 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id 11F7ojof007489 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 15 Feb 2021 08:50:45 +0100 Received: from md1za8fc.ad001.siemens.net ([167.87.46.48]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 11F7jiKD026072; Mon, 15 Feb 2021 08:45:44 +0100 Date: Mon, 15 Feb 2021 08:45:44 +0100 From: Henning Schild To: Jan Kiszka Cc: isar-users Subject: Re: [PATCH v2 1/2] meta-isar: Add simple example for injecting prebuilt deb packages Message-ID: <20210215084544.3b3af71d@md1za8fc.ad001.siemens.net> In-Reply-To: References: X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: AfZiA8M2Fo07 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 > @@ -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 > +# 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() { > +}