From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6928417051690139648 X-Received: by 2002:a19:c30c:: with SMTP id t12mr2034826lff.404.1613149950357; Fri, 12 Feb 2021 09:12:30 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:90d2:: with SMTP id o18ls1895327ljg.1.gmail; Fri, 12 Feb 2021 09:12:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJzDF4m237Slklo78U3ufZ2bgjQiy41IHt/5QREO8u7kiEYCunlFQf3OuHXXIAo/H80Ejgp/ X-Received: by 2002:a05:651c:1201:: with SMTP id i1mr2189985lja.421.1613149947799; Fri, 12 Feb 2021 09:12:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613149947; cv=none; d=google.com; s=arc-20160816; b=AwGPf7dY3/0x9Itv1otxnfIUbvoYJb7mCKmT9qeaLxDdotxfOPmMnOZXK8V2lODKaF B0r2IDKOrQOg4Ot9GvstVrJChZvdmJ79dDOAd7sX8jmn1aChMky2u9DbPE+FDOhDa3mo FisuKnePmYwthUWHahRFvadF8X+2oXj5TE+yaVdmf+5LyFch6D7XTdIJyj9d/yidYCit ZNr34b76XLpABhnmAohOGnzBgSriyJZTLVebQ52oeyLlrCMYpjnNVr104+NB5tlrk9jf LutLk4qJ6dwqVcGolNIefQBzG2afjdJg0HgDgsAjQPKaK3RlQl1YBbKVnplK0Ke+3sbw HEnA== 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=jq1fh4CkEXrSyzwvjFC+1QiWb2cQvPKYcFoVguPyavA=; b=kcZdvkeFKj7J+zyumH9Pv5gyTYdhanEPJQbuYXj+bDQcaKsR723f7wFhIFAw4KiIDC L1gfVrUdmXnTeI9mhobC9x2N+GDjt1IvxXb5ELZvb/O1e5L1ctvNnMjgnfkkfUEb+Ook suq/bET5GOeYBAYQBSH2y5p4HpI6hJVTUmafMtvf8LEYxkvBS+QmfRYW2TsFvPCEw1Vb 5t1tcgYiqz5Bp0tfNCDdVKmbdCsG/wY/I1sW8k/rOLB1LmDO7lSx7aq+kI2JU5ff976X tJMdqdIqasBAuTLO86mPGDk+npYbKYNael4rRqIzae8dUW33e8g9Swvg5ZJWN+p/5okw QUsA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.39 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 lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id y3si310156lfb.6.2021.02.12.09.12.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Feb 2021 09:12:27 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@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 henning.schild@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=henning.schild@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 11CHCQFh017886 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 12 Feb 2021 18:12:27 +0100 Received: from md1za8fc.ad001.siemens.net ([167.87.17.8]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 11CH7QRn032264; Fri, 12 Feb 2021 18:07:26 +0100 Date: Fri, 12 Feb 2021 18:07:25 +0100 From: Henning Schild To: Jan Kiszka Cc: isar-users Subject: Re: [PATCH] meta-isar: Add simple example for injecting prebuilt deb packages Message-ID: <20210212180725.5e3af386@md1za8fc.ad001.siemens.net> In-Reply-To: <8cbb94d5-0020-75b4-e724-4d6fde994c01@siemens.com> References: <8cbb94d5-0020-75b4-e724-4d6fde994c01@siemens.com> 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: hEYGH+CZKqR7 Ok, seems we did not align correctly on who does it. We both did add actual code, while i later found that an example in the user manual might have been enough after all. Am Fri, 12 Feb 2021 17:36:40 +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 "sources" and the procedure for creating the deb is also > included. > > Signed-off-by: Jan Kiszka > --- > > This was only lightly tested because our CI still f...-up thanks to > some primitive content checker at the proxies. > > meta-isar/conf/local.conf.sample | 2 +- > .../recipes-app/prebuilt-deb/files/README.deb | 3 +++ > .../files/some-deb-package/DEBIAN/control | 7 +++++++ > .../some-deb-package/opt/some-package-file | 1 + > .../files/some-deb-package_1.0.0-0_all.deb | Bin 0 -> 780 bytes > .../recipes-app/prebuilt-deb/prebuilt-deb.bb | 16 > ++++++++++++++++ 6 files changed, 28 insertions(+), 1 deletion(-) > create mode 100644 > meta-isar/recipes-app/prebuilt-deb/files/README.deb create mode > 100644 > meta-isar/recipes-app/prebuilt-deb/files/some-deb-package/DEBIAN/control > create mode 100644 > meta-isar/recipes-app/prebuilt-deb/files/some-deb-package/opt/some-package-file > create mode 100644 > meta-isar/recipes-app/prebuilt-deb/files/some-deb-package_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..2379f1ca 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 > some-deb-package" # # Enable cross-compilation support diff --git > a/meta-isar/recipes-app/prebuilt-deb/files/README.deb > b/meta-isar/recipes-app/prebuilt-deb/files/README.deb new file mode > 100644 index 00000000..92f07113 --- /dev/null > +++ b/meta-isar/recipes-app/prebuilt-deb/files/README.deb I would say ".txt" or ".md" dot deb is pretty confusing > @@ -0,0 +1,3 @@ > +Create test deb package: > + > +dpkg -b some-deb-package some-deb-package_1.0.0-0_all.deb Maybe fold all the files into here, if we have that binary and keep it. > diff --git > a/meta-isar/recipes-app/prebuilt-deb/files/some-deb-package/DEBIAN/control > b/meta-isar/recipes-app/prebuilt-deb/files/some-deb-package/DEBIAN/control > new file mode 100644 index 00000000..cb2c39fe --- /dev/null > +++ > b/meta-isar/recipes-app/prebuilt-deb/files/some-deb-package/DEBIAN/control > @@ -0,0 +1,7 @@ +Section: misc > +Priority: optional > +Package: some-deb-package > +Version: 1.0.0 > +Maintainer: Who Knows > +Description: Just a test package > +Architecture: all > diff --git > a/meta-isar/recipes-app/prebuilt-deb/files/some-deb-package/opt/some-package-file > b/meta-isar/recipes-app/prebuilt-deb/files/some-deb-package/opt/some-package-file > new file mode 100644 index 00000000..6f6625ec --- /dev/null > +++ > b/meta-isar/recipes-app/prebuilt-deb/files/some-deb-package/opt/some-package-file > @@ -0,0 +1 @@ +Just some test content > diff --git > a/meta-isar/recipes-app/prebuilt-deb/files/some-deb-package_1.0.0-0_all.deb > b/meta-isar/recipes-app/prebuilt-deb/files/some-deb-package_1.0.0-0_all.deb > new file mode 100644 index > 0000000000000000000000000000000000000000..a4a760736634405807edac4d877f4cef7b86413f > GIT binary patch literal 780 > zcmY$iNi0gvu;WTeP0CEn(@o0EODw8XP*5;5Gc-0dF|#x=Qcy4e@?oT*fq|KciGl(U > zK|unSk)8opa(-S(QGSkINn(*+MHONF#>QrF{eR7?BBB@=Se{+m;>L1d0#iePBBK}s > z1c=Be={!*X&&UzWAkMu zx+f?ra#=crzhZ7v#ryvMx*KjK$A-*3CCL?48u*_7_SMSI-+S3iH{HwXtGe%c?dVtE > z>Hdo^eb!7g*4_Uhkoo>Dfx{)fa#I@9-$vDa|C%?%WNxEKYBq8M0x@T;GN3 > zI?@#u1k0RQ{xIgJP2ba+drHq!A5B!8^4IhFEc1a&mY)*cXB4e+;9!rB zp0N|Y6dmsE<`A`0Qa(4K;!4DK^d8t3wv2D4l$0%sm# > ztTCu-;Onbhv43WF`L6qSE^4(iZ;LxzrGkN>N2h+Lb5Z?K2F5kOuwr0Xd~RLX > z#v|#!nLt6t5*d|}Sds{j2w*4^ic2F?U?hV<0vBpr>|#WYi z@?YR^mtw-@4|Z`EO($)Cr*_cl@+9w?S5~%*U9K9;@!!KJsnw7ycW>ePi!-NYJj=B& > zywCTBf9Z|PpUZ#koBN3WsqU%r(r*h-T#i=B$rsOFDzCCiVP|}*?cp~QEuJc`dJ#2; > z-KIh2%4xORWiqEYCL8#RNUZj|R vUv?tv7}w87VeYFs!@f+{Rt5#l@6;9#QQo!E42;)+{$gObGHd&8 > literal 0 > HcmV?d00001 A binary? It is small and you provided sources ... acceptable. One reason to not build a random package within isar was that i did not want it misunderstood as a valid way of building a package. So i like the binary and suggest to move the sources into the README. To give that README content but not give people files to do stupid stuff. And if it is a ```shell copy paste section ... > 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..2ead6024 > --- /dev/null > +++ b/meta-isar/recipes-app/prebuilt-deb/prebuilt-deb.bb > @@ -0,0 +1,16 @@ > +# 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. +SRC_URI = > "file://some-deb-package_1.0.0-0_all.deb;unpack=false" + > +PROVIDES += "some-deb-package" > + > +do_dpkg_build() { > +} This is much more readable than mine and more to the point, without the second package and the hacks to rename and pull it. And my hacks are really bad examples ... overriding the checksumming function, pulling packages out of isar-apt, task reordering ... it is even fragile and hard to maintain. Maybe take the verbosity of my patches and put it into your patch where applicable. Which also means i only have to review and not code ;) Henning