[dunfell][PATCH 2/2] bitbake: fetch/git: download LFS content too during do_fetch
Mikko Rapeli
From: Matt Hoosier <matt.hoosier@...>
Insert an explicit pass to fetch all blobs needed by Git LFS, during the fetch() function. This avoids the default behavior of Git LFS to wait until 'git checkout' to begin downloading the blobs pointed to by LFS rec= ords. Network access is not allowed at that point in the recipe's lifecycle. [YOCTO #14191] (Bitbake rev: 0efac66043662e7a2027192f50e92e982db2ba1c) Signed-off-by: Matt Hoosier <matt.hoosier@...> Signed-off-by: Richard Purdie <richard.purdie@...> --- bitbake/lib/bb/fetch2/git.py | 44 ++++++++++++++++++++++++++++++++--- bitbake/lib/bb/tests/fetch.py | 28 +++++++++++++++------- 2 files changed, 61 insertions(+), 11 deletions(-) diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py index fc14192e24..85c45d4dd4 100644 --- a/bitbake/lib/bb/fetch2/git.py +++ b/bitbake/lib/bb/fetch2/git.py @@ -378,6 +378,35 @@ class Git(FetchMethod): if missing_rev: raise bb.fetch2.FetchError("Unable to find revision %s e= ven from upstream" % missing_rev) =20 + if self._contains_lfs(ud, d, ud.clonedir) and self._need_lfs(ud)= : + # Unpack temporary working copy, use it to run 'git checkout= ' to force pre-fetching + # of all LFS blobs needed at the the srcrev. + # + # It would be nice to just do this inline here by running 'g= it-lfs fetch' + # on the bare clonedir, but that operation requires a workin= g copy on some + # releases of Git LFS. + tmpdir =3D tempfile.mkdtemp(dir=3Dd.getVar('DL_DIR')) + try: + # Do the checkout. This implicitly involves a Git LFS fe= tch. + self.unpack(ud, tmpdir, d) + + # Scoop up a copy of any stuff that Git LFS downloaded. = Merge them into + # the bare clonedir. + # + # As this procedure is invoked repeatedly on incremental= fetches as + # a recipe's SRCREV is bumped throughout its lifetime, t= his will + # result in a gradual accumulation of LFS blobs in <ud.c= lonedir>/lfs + # corresponding to all the blobs reachable from the diff= erent revs + # fetched across time. + # + # Only do this if the unpack resulted in a .git/lfs dire= ctory being + # created; this only happens if at least one blob needed= to be + # downloaded. + if os.path.exists(os.path.join(tmpdir, "git", ".git", "l= fs")): + runfetchcmd("tar -cf - lfs | tar -xf - -C %s" % ud.c= lonedir, d, workdir=3D"%s/git/.git" % tmpdir) + finally: + bb.utils.remove(tmpdir, recurse=3DTrue) + def build_mirror_data(self, ud, d): if ud.shallow and ud.write_shallow_tarballs: if not os.path.exists(ud.fullshallow): @@ -473,7 +502,7 @@ class Git(FetchMethod): if os.path.exists(destdir): bb.utils.prunedir(destdir) =20 - need_lfs =3D ud.parm.get("lfs", "1") =3D=3D "1" + need_lfs =3D self._need_lfs(ud) =20 source_found =3D False source_error =3D [] @@ -559,6 +588,9 @@ class Git(FetchMethod): raise bb.fetch2.FetchError("The command '%s' gave output wit= h more then 1 line unexpectedly, output: '%s'" % (cmd, output)) return output.split()[0] !=3D "0" =20 + def _need_lfs(self, ud): + return ud.parm.get("lfs", "1") =3D=3D "1" + def _contains_lfs(self, ud, d, wd): """ Check if the repository has 'lfs' (large file) content @@ -569,8 +601,14 @@ class Git(FetchMethod): else: branchname =3D "master" =20 - cmd =3D "%s grep lfs origin/%s:.gitattributes | wc -l" % ( - ud.basecmd, ud.branches[ud.names[0]]) + # The bare clonedir doesn't use the remote names; it has the bra= nch immediately. + if wd =3D=3D ud.clonedir: + refname =3D ud.branches[ud.names[0]] + else: + refname =3D "origin/%s" % ud.branches[ud.names[0]] + + cmd =3D "%s grep lfs %s:.gitattributes | wc -l" % ( + ud.basecmd, refname) =20 try: output =3D runfetchcmd(cmd, d, quiet=3DTrue, workdir=3Dwd) diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.p= y index 4702c99a7e..9453c90d2b 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py @@ -2046,13 +2046,14 @@ class GitLfsTest(FetcherTest): cwd =3D self.gitdir return bb.process.run(cmd, cwd=3Dcwd)[0] =20 - def fetch(self, uri=3DNone): + def fetch(self, uri=3DNone, download=3DTrue): uris =3D self.d.getVar('SRC_URI').split() uri =3D uris[0] d =3D self.d =20 fetcher =3D bb.fetch2.Fetch(uris, d) - fetcher.download() + if download: + fetcher.download() ud =3D fetcher.ud[uri] return fetcher, ud =20 @@ -2062,16 +2063,21 @@ class GitLfsTest(FetcherTest): uri =3D 'git://%s;protocol=3Dfile;subdir=3D${S};lfs=3D1' % self.= srcdir self.d.setVar('SRC_URI', uri) =20 - fetcher, ud =3D self.fetch() + # Careful: suppress initial attempt at downloading until + # we know whether git-lfs is installed. + fetcher, ud =3D self.fetch(uri=3DNone, download=3DFalse) self.assertIsNotNone(ud.method._find_git_lfs) =20 - # If git-lfs can be found, the unpack should be successful - ud.method._find_git_lfs =3D lambda d: True - shutil.rmtree(self.gitdir, ignore_errors=3DTrue) - fetcher.unpack(self.d.getVar('WORKDIR')) + # If git-lfs can be found, the unpack should be successful. Only + # attempt this with the real live copy of git-lfs installed. + if ud.method._find_git_lfs(self.d): + fetcher.download() + shutil.rmtree(self.gitdir, ignore_errors=3DTrue) + fetcher.unpack(self.d.getVar('WORKDIR')) =20 # If git-lfs cannot be found, the unpack should throw an error with self.assertRaises(bb.fetch2.FetchError): + fetcher.download() ud.method._find_git_lfs =3D lambda d: False shutil.rmtree(self.gitdir, ignore_errors=3DTrue) fetcher.unpack(self.d.getVar('WORKDIR')) @@ -2082,10 +2088,16 @@ class GitLfsTest(FetcherTest): uri =3D 'git://%s;protocol=3Dfile;subdir=3D${S};lfs=3D0' % self.= srcdir self.d.setVar('SRC_URI', uri) =20 + # In contrast to test_lfs_enabled(), allow the implicit download + # done by self.fetch() to occur here. The point of this test cas= e + # is to verify that the fetcher can survive even if the source + # repository has Git LFS usage configured. fetcher, ud =3D self.fetch() self.assertIsNotNone(ud.method._find_git_lfs) =20 - # If git-lfs can be found, the unpack should be successful + # If git-lfs can be found, the unpack should be successful. A + # live copy of git-lfs is not required for this case, so + # unconditionally forge its presence. ud.method._find_git_lfs =3D lambda d: True shutil.rmtree(self.gitdir, ignore_errors=3DTrue) fetcher.unpack(self.d.getVar('WORKDIR')) --=20 2.20.1
|
|
[dunfell][PATCH 1/2] bitbake: git.py: Use the correct branch to check if the repository has LFS objects.
Mikko Rapeli
From: Mauro Queirós <maurofrqueiros@...>
Function "contains_lfs" was only looking at the master branch when searching for LFS content. LFS may be configured in specific branches only, so we need to use the correct branch. (Bitbake rev: 4fa67c2af830035a1ddedc14592ee25a15ebff22) Signed-off-by: Mauro Queiros <maurofrqueiros@...> Signed-off-by: Richard Purdie <richard.purdie@...> --- bitbake/lib/bb/fetch2/git.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py index dcecff5d38..fc14192e24 100644 --- a/bitbake/lib/bb/fetch2/git.py +++ b/bitbake/lib/bb/fetch2/git.py @@ -563,8 +563,15 @@ class Git(FetchMethod): """ Check if the repository has 'lfs' (large file) content """ - cmd = "%s grep lfs HEAD:.gitattributes | wc -l" % ( - ud.basecmd) + + if not ud.nobranch: + branchname = ud.branches[ud.names[0]] + else: + branchname = "master" + + cmd = "%s grep lfs origin/%s:.gitattributes | wc -l" % ( + ud.basecmd, ud.branches[ud.names[0]]) + try: output = runfetchcmd(cmd, d, quiet=True, workdir=wd) if int(output) > 0: -- 2.20.1
|
|
Re: git lfs not working in dunfell
Richard Purdie
On Thu, 2021-01-28 at 16:18 +0100, Marek Belisko wrote:
Hi,There is a patch in bitbake master related to this which you may want to test and maybe request for adding to dunfell if it helps. https://git.openembedded.org/bitbake/commit/?id=0efac66043662e7a2027192f50e92e982db2ba1c Cheers, Richard
|
|
[meta-mingw] [PATCH 2/2] README: Add instructions for configuring git repo for sending patches
Richard Purdie
Signed-off-by: Richard Purdie <richard.purdie@...>
--- README | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README b/README index c17f74a..af3ace9 100644 --- a/README +++ b/README @@ -15,3 +15,9 @@ Layer Maintainer: Joshua Watt <jpewhacker@...> Please send changes to the yocto mailing list with [meta-mingw] in the subject line, cc'ing the maintainer. + +This can be configured within the repository with the commands: + +git config sendemail.to yocto@... +git config sendemail.cc jpewhacker@... +git config format.subjectprefix "meta-mingw] [PATCH" -- 2.27.0
|
|
[meta-mingw] [PATCH 1/2] libiconv: Update to work with autoconf 2.70
Richard Purdie
Signed-off-by: Richard Purdie <richard.purdie@...>
--- .../libiconv/libiconv/autoconf270.patch | 17 +++++++++++++++++ recipes-support/libiconv/libiconv_1.15.bb | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 recipes-support/libiconv/libiconv/autoconf270.patch diff --git a/recipes-support/libiconv/libiconv/autoconf270.patch b/recipes-support/libiconv/libiconv/autoconf270.patch new file mode 100644 index 0000000..17e6e0b --- /dev/null +++ b/recipes-support/libiconv/libiconv/autoconf270.patch @@ -0,0 +1,17 @@ +Update to add the required gettext version to work with autoconf 2.70 + +Upstream-Status: Pending +RP - 2021/1/28 + +Index: libiconv-1.15/configure.ac +=================================================================== +--- libiconv-1.15.orig/configure.ac ++++ libiconv-1.15/configure.ac +@@ -98,6 +98,7 @@ fi + gl_VISIBILITY + AM_ICONV + AM_GNU_GETTEXT([external], [need-ngettext]) ++AM_GNU_GETTEXT_VERSION([0.21]) + + dnl checks for typedefs + diff --git a/recipes-support/libiconv/libiconv_1.15.bb b/recipes-support/libiconv/libiconv_1.15.bb index e3eacd9..df7f527 100644 --- a/recipes-support/libiconv/libiconv_1.15.bb +++ b/recipes-support/libiconv/libiconv_1.15.bb @@ -10,7 +10,8 @@ LICENSE = "LGPLv3" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \ file://libcharset/COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" -SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" +SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ + file://autoconf270.patch" SRC_URI[md5sum] = "ace8b5f2db42f7b3b3057585e80d9808" SRC_URI[sha256sum] = "ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178" -- 2.27.0
|
|
[meta-gplv2] [PATCH 3/3] grep: Update to work with autoconf 2.70
Richard Purdie
Signed-off-by: Richard Purdie <richard.purdie@...>
--- .../grep/grep-2.5.1a/autoconf270.patch | 27 +++++++++++++++++++ recipes-extended/grep/grep_2.5.1a.bb | 1 + 2 files changed, 28 insertions(+) create mode 100644 recipes-extended/grep/grep-2.5.1a/autoconf270.patch diff --git a/recipes-extended/grep/grep-2.5.1a/autoconf270.patch b/recipes-extended/grep/grep-2.5.1a/autoconf270.patch new file mode 100644 index 0000000..fe2cb0b --- /dev/null +++ b/recipes-extended/grep/grep-2.5.1a/autoconf270.patch @@ -0,0 +1,27 @@ +Update to add the required gettext version to work with autoconf 2.70 + +Also the script needs CPP so add the appropriate macro. + +Upstream-Status: Inappropriate [needed for old GPLv2 version only] +RP - 2021/1/28 + +Index: grep-2.5.1a/configure.in +=================================================================== +--- grep-2.5.1a.orig/configure.in ++++ grep-2.5.1a/configure.in +@@ -27,6 +27,7 @@ AC_PROG_AWK + AC_PROG_CC + AC_PROG_INSTALL + AC_PROG_RANLIB ++AC_PROG_CPP + + dnl Checks for typedefs, structures, and compiler characteristics. + AC_SYS_LARGEFILE +@@ -73,6 +74,7 @@ esac + dnl I18N feature + ALL_LINGUAS="cs de el eo es et fr gl hr id it ja ko nl no pl pt_BR ru sl sv" + AM_GNU_GETTEXT([external]) ++AM_GNU_GETTEXT_VERSION([0.21]) + + dnl DOS file name convention + dnl sets HAVE_DOS_FILE_NAMES diff --git a/recipes-extended/grep/grep_2.5.1a.bb b/recipes-extended/grep/grep_2.5.1a.bb index d3b4ddc..5445c7e 100644 --- a/recipes-extended/grep/grep_2.5.1a.bb +++ b/recipes-extended/grep/grep_2.5.1a.bb @@ -18,6 +18,7 @@ SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.bz2 \ file://grep-egrep-fgrep-Fix-LSB-NG-cases.patch \ file://search-fix-compilation-error-with-security-flags-ena.patch \ file://0001-Fix-builds-with-gettext-0.20.patch \ + file://autoconf270.patch \ " SRC_URI[md5sum] = "52202fe462770fa6be1bb667bd6cf30c" -- 2.27.0
|
|
[meta-gplv2] [PATCH 2/3] diffutils: Update to work with autoconf 2.70
Richard Purdie
Signed-off-by: Richard Purdie <richard.purdie@...>
--- .../diffutils/diffutils-2.8.1/autoconf270.patch | 17 +++++++++++++++++ recipes-extended/diffutils/diffutils_2.8.1.bb | 1 + 2 files changed, 18 insertions(+) create mode 100644 recipes-extended/diffutils/diffutils-2.8.1/autoconf270.patch diff --git a/recipes-extended/diffutils/diffutils-2.8.1/autoconf270.patch b/recipes-extended/diffutils/diffutils-2.8.1/autoconf270.patch new file mode 100644 index 0000000..5651675 --- /dev/null +++ b/recipes-extended/diffutils/diffutils-2.8.1/autoconf270.patch @@ -0,0 +1,17 @@ +Update to add the required gettext version to work with autoconf 2.70 + +Upstream-Status: Inappropriate [needed for obsolete GPLv2 version] +RP - 2021/1/28 + +Index: diffutils-2.8.1/configure.ac +=================================================================== +--- diffutils-2.8.1.orig/configure.ac ++++ diffutils-2.8.1/configure.ac +@@ -62,6 +62,7 @@ AC_CHECK_TYPE(ptrdiff_t, int) + AC_CHECK_TYPE(ssize_t, int) + jm_AC_TYPE_UINTMAX_T + AM_GNU_GETTEXT([external]) ++AM_GNU_GETTEXT_VERSION([0.21]) + XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT" + AC_HEADER_DIRENT + AC_HEADER_STAT diff --git a/recipes-extended/diffutils/diffutils_2.8.1.bb b/recipes-extended/diffutils/diffutils_2.8.1.bb index 7c43c4b..88d189d 100644 --- a/recipes-extended/diffutils/diffutils_2.8.1.bb +++ b/recipes-extended/diffutils/diffutils_2.8.1.bb @@ -11,6 +11,7 @@ SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.gz \ file://0001-Make-it-build-with-compile-time-hardening-enabled.patch \ file://0002-included-libc-use-mempcpy-instead-of.patch \ file://0003-context-fix-compilation-with-64bit-time_t-on-32bit-a.patch \ + file://autoconf270.patch \ " SRC_URI[md5sum] = "71f9c5ae19b60608f6c7f162da86a428" -- 2.27.0
|
|
[meta-gplv2] [PATCH 1/3] bash: Update to work with autoconf 2.70
Richard Purdie
Signed-off-by: Richard Purdie <richard.purdie@...>
--- .../bash/bash-3.2.57/autoconf270.patch | 17 +++++++++++++++++ recipes-extended/bash/bash_3.2.57.bb | 1 + 2 files changed, 18 insertions(+) create mode 100644 recipes-extended/bash/bash-3.2.57/autoconf270.patch diff --git a/recipes-extended/bash/bash-3.2.57/autoconf270.patch b/recipes-extended/bash/bash-3.2.57/autoconf270.patch new file mode 100644 index 0000000..2249bb9 --- /dev/null +++ b/recipes-extended/bash/bash-3.2.57/autoconf270.patch @@ -0,0 +1,17 @@ +Update to add the required gettext version to work with autoconf 2.70 + +Upstream-Status: Inappropriate [required for bash 3.2.57 (GPLv2) recipe only] +RP - 2021/1/28 + +Index: bash-3.2.57/configure.in +=================================================================== +--- bash-3.2.57.orig/configure.in ++++ bash-3.2.57/configure.in +@@ -625,6 +625,7 @@ AC_C_CHAR_UNSIGNED + + dnl initialize GNU gettext + AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl]) ++AM_GNU_GETTEXT_VERSION([0.21]) + + dnl header files + AC_HEADER_DIRENT diff --git a/recipes-extended/bash/bash_3.2.57.bb b/recipes-extended/bash/bash_3.2.57.bb index 5c288b3..f4db7a5 100644 --- a/recipes-extended/bash/bash_3.2.57.bb +++ b/recipes-extended/bash/bash_3.2.57.bb @@ -10,6 +10,7 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ file://run-ptest \ file://dont-include-target-CFLAGS-in-host-LDFLAGS.patch \ file://string-format.patch \ + file://autoconf270.patch \ " SRC_URI[md5sum] = "237a8767c990b43ae2c89895c2dbc062" -- 2.27.0
|
|
Re: Kernel Initramfs Problems
Martin Townsend <mtownsend1973@...>
On Wed, Jan 27, 2021 at 8:01 PM Martin Townsend <mtownsend1973@...> wrote:
I managed to get a workaround by using a do_rootfs postfunc, here it is in case anyone else finds it useful do_rootfs[depends] += "virtual/kernel:do_deploy" do_rootfs[postfuncs] += "rootfs_add_kernel" rootfs_add_kernel() { rm ${IMAGE_ROOTFS}/boot/fitImage* install -m 0644 ${DEPLOY_DIR_IMAGE}/fitImage-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE} ${IMAGE_ROOTFS}/boot ln -snf fitImage-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE} ${IMAGE_ROOTFS}/boot/fitImage }
|
|
Re: Task only for target recipe
Richard Purdie
On Thu, 2021-01-28 at 18:53 +0100, Ayoub Zaki via
lists.yoctoproject.org wrote: Hello I created a new task that I want to run for every recipe of myHow are you running it? You've said you want it to run after do_install but not what should trigger it. Adding "before do_build" to the addtask line for example might trigger it (do_build is the default task). Cheers, Richard
|
|
Task only for target recipe
Ayoub Zaki
Hello I created a new task that I want to run for every recipe of my image but only for target recipes and skip all native, sdk,... mytask.bbclass: addtask do_mytask after do_install do_mytask() { : } do_mytask_class-target() { bbwarn "mytask" : } I added to local.conf : INHERIT += "mytask" I don't see it running! what is the proper way to achieve this? cheers
|
|
git lfs not working in dunfell
Marek Belisko
Hi,
I have repo where I'm using lfs. I've added to my SRC_URI = "git://...... ;lfs=1" and the project is fetched but the issue is that lfs files are shown as references only (content is not fetched). I briefly checked git fetcher in bitbake and seems it checks that repo have lfs content but I cannot see anywhere git lfs pull to actually pull lfs content. Am I missing something? When checked poky master it looks like proper fetching is in place. Is there any way how to get it to dunfell LTS release? Thanks. BR, marek
|
|
[meta-selinux][PATCH] policycoreutils: Improve reproducibility
LOCALEDIR should be set to target path,
e.g. /usr/share/locale not host absolute path. This prevent to build reproducible package. LOCALEDIR constructed from: $(DESTDIR)$(PREFIX)/share/locale Change PREFIX from ${D} to ${prefix}. DESTDIR is not set during compilation and is set to proper value during install. Signed-off-by: Oleksiy Obitotskyy <oobitots@...> --- recipes-security/selinux/policycoreutils.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-security/selinux/policycoreutils.inc b/recipes-security/selinux/policycoreutils.inc index 92f7a75..43a641d 100644 --- a/recipes-security/selinux/policycoreutils.inc +++ b/recipes-security/selinux/policycoreutils.inc @@ -118,7 +118,7 @@ EXTRA_OEMAKE += "\ ${@bb.utils.contains('PACKAGECONFIG', 'libpam', 'PAMH=y', 'PAMH=', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'AUDITH=y', 'AUDITH=', d)} \ INOTIFYH=n \ - PREFIX=${D} \ + PREFIX=${prefix} \ SBINDIR=${base_sbindir} \ " -- 2.26.2.Cisco
|
|
Re: any interest in an official "meta-rubygems" layer?
Robert P. J. Day
On Wed, 27 Jan 2021, akuster wrote:
On 1/27/21 1:29 PM, Robert P. J. Day wrote:interesting idea, i hadn't considered that. in the meantime, i thinkOn Wed, 27 Jan 2021, Armin Kuster wrote:Regardless of its home, there seems to be interest in such a layer.i personally am not, so i suspect github is the option. we'll ponder what the structure of the new layer will look like, and put together a first pass. rday
|
|
Re: any interest in an official "meta-rubygems" layer?
VIVAVIS AG
since it appears that i will be diving head-first into messing with ruby in someWe would also find an official layer for gems interesting. We are currently using the old ruby.bbclass from the meta-ruby layer from openemebedded to build the gems. We are also particularly interested in gems that need cross compiling, e.g. ruby-pcap. srp
|
|
Re: [meta-zephyr] bitbake zephyr-helloworld configure failure
Tim Orling
On Wed, Jan 27, 2021 at 12:51 AM Peter Smith <salerio@...> wrote:
BBEXTEND = “native” is a perfectly fine patch to submit to meta-python. We tend to only make those changes when needed (as in your use case) rather than universally. Please submit a patch :)
|
|
Re: Including binary application as part of the image output
Richard Purdie
On Wed, 2021-01-27 at 10:32 -0800, chuck kamas via
lists.yoctoproject.org wrote: You could add a "do_deploy" task that places it there. See meta/classes/deploy.bbclass and other recipes which add such a task. Cheers, Richard
|
|
Re: Including binary application as part of the image output
chuck kamas
OK, Making some progress. I added a package_tar to my conf file and now I get a nice little tar file with my app and its helpers in it! I might also play with the do_deploy command and see if I can just copy it over too.
Thanks all!
Chuck
On 1/27/21 1:48 PM, chuck kamas via
lists.yoctoproject.org wrote:
|
|
Re: any interest in an official "meta-rubygems" layer?
On 1/27/21 1:29 PM, Robert P. J. Day wrote:
On Wed, 27 Jan 2021, Armin Kuster wrote:i personally am not, so i suspect github is the option. Regardless of its home, there seems to be interest in such a layer. There is nothing stopping you from registering in the layer in the layer index and see where it goes from there. Ruby was part of meta-openembedded. Maybe OE would want to host such a layer or include it within meta-openembedded. -armin
|
|
Re: Including binary application as part of the image output
chuck kamas
Thanks Khem and Chuck!
Yes, the application is built in its own bitbake recipe. I do see that there are rpm files built for the application, and that may be a way to upgrade the application in the future... but for right now I would like the application just copied into one the deploy directory unmodified. I am beginning to think that there is no easy way to do this.
Chuck
On 1/27/21 11:16 AM, Khem Raj wrote:
On Wed, Jan 27, 2021 at 10:32 AM chuck kamas via lists.yoctoproject.org <chuckkamas=yahoo.com@...> wrote:Hi all, As part of our image we build our company's application. This application becomes part of the image and is executed when the image boots. My question is how to have the binary image also be available along with the image's wic file? Is there a line I can add to a recipe to have it copy that image file to the tmp/deploy directory or other appropriate directory so that it is available?you can perhaps make a recipe that packages your binary and then add it to IMAGE_INSTALL also look into binconfig.bbclass if you need more post processing, then perhaps look at using ROOTFS_POSTPROCESS_COMMANDThanks! Chuck
|
|