[yocto] Unset task_name[noexec] in bbappend
Stath, Paul
PStath at Axxcelera.com
Wed Feb 4 06:19:18 PST 2015
> On Monday 02 February 2015 19:51:15 Stath, Paul wrote:
> > If there any way in the bbappend file to override <task_name>[noexec] = "1"
> > specified in the parent .bb file?
> >
> > I want to extend the package-index task, and need to fetch a couple of
> > configuration files. The package-index.bb task contains do_fetch[noexec] =
> > "1", so the fetch is not performed.
>
> This is a little tricky - you need to actually delete the varflag not just
> unset it. (You'll almost certainly need to do the same for do_unpack so that
> the files end up in the workdir as well.) You can do this from an anonymous
> python section within the recipe e.g.:
>
> python __anonymous() {
> d.delVarFlag('do_fetch', 'noexec')
> d.delVarFlag('do_unpack', 'noexec')
> }
Thanks for the quick response. That did the trick.
It seems strange that bitbake allows these varFlag values to be set,
yet doesn't provide a way to clear them. I guess there is not much call for it,
or it is considered an anti-pattern.
In addition, I also needed to override:
addtask do_package_index before do_build
to be:
addtask do_package_index after do_unpack before do_build
Otherwise, the do_package_index might run before the do_unpack task,
which will result in a failure to copy one of the fetched files.
>
> (I'm not sure what you're doing this for, but in case it's not obvious, bear
> mind this will only affect explicit calls to bitbake package-index and won't be
> automatically incorporated into the indexes created when building images.)
It didn't occur to me until you pointed it out, but that is exactly what I'm looking for.
I am invoking 'bitbake package-index' after a 'bitbake <image>' build.
When the build server completes the build, the tmp/deploy/deb sub-tree is archived.
This archive can be used directly via apt-get on the target devices to upgrade
to the latest software.
The default 'package_update_index_deb' function uses the
'dpkg-scanpackages' command to generate the Packages file.
Instead of dpkg-scanpackages, I use apt-ftparchive,
The apt-ftparchive command is a superset of dpkg-scanpackages,
and will generate checksums of the packages.
I needed to do_fetch/do_unpack to get the apt-ftparchive.conf
configuration file, and a deb-extra-override format file to add
supplementary overrides to some of the packages.
--
Paul Stath
Axxcelera Broadband Wireless
More information about the yocto
mailing list