Fixes [YOCTO #12760]
Updated the cmake.bbclass description to tell what directory
to insall custom CMake toolchain files into. Also, updated
the two areas in the "Writing a New Recipe" section that
mention CMake. Placed a couple notes there concerning the
same directory stuff.
(From yocto-docs rev: a65cd2c4c062d4ae388191b9d6708b4fadffaa3f)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alejandro Enedino Hernandez Samaniego <aehs29@gmail.com>
commited a change to these manuals (see
9e79e96cad66316c1b4ee608723edfa763f0f9ef) and did not
use YP documentation standards for the content. I cleaned
up the text and tabbing.
(From yocto-docs rev: 9c95799322e1830a5faae0980384ab10b6504007)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was in a moving to YP version 1.8 migration section.
(From yocto-docs rev: b87f0882c39524747004fafc4d1caf58b3344c3a)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I was using "2.8" throughout the manual set instead
of "3.0". Updated all aspects to "3.0".
(From yocto-docs rev: db19937e98c59d4d2a9ce89877be3c8e0b05991a)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Turned "2.8" into "3.0". Nobody told me about skipping
2.8 and 2.9.
(From yocto-docs rev: 13819f0651c48adae9d1a8d6d19341ba5ee44978)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The connman-wait-online package currently isn't marked as
systemd-enabled package. This means it is impossible to
auto-enable the service during image creation or package
installation, as no preset files and no pkg_postinst()
snippet is being created.
This change should have been done as part of the
upgrade to v1.31
Note:
connman-wait-online is needed when connman is in use
in more complex network/interface setups for systemd's
network-online.target to report success.
systemd-networkd's systemd-networkd-wait-online.service
alone doesn't work in such scenarios and simply times
out, as it know nothing about the expected network/
interface configuration, meaning the target doesn't
boot successfully (systemctl list-units --failed),
and long delays are seen, caused by waiting for the
systemd-networkd-wait-online.service timeout.
(From OE-Core rev: 1a8d18eeee6dc188d8becc778bfa933031490781)
Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel.bbclass installs non-standard kernels (where
KERNEL_PACKAGE_NAME is not "kernel") in a subdirectory of ${DEPLOYDIR}.
To achieve this kernel_do_deploy sets the deployDir shell variable to
${DEPLOYDIR} for the standard kernel or
${DEPLOYDIR}/${KERNEL_DEPLOYSUBDIR} for non-standard kernels.
kernel-devicetree.bbclass's do_deploy_append ought to do the same
and can do so by using the same shell variable.
(From OE-Core rev: db5752911fe085337b9d3d4af85f89a0c664388e)
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel.bbclass installs non-standard kernels (where
KERNEL_PACKAGE_NAME is not "kernel") in a subdirectory of ${DEPLOYDIR}.
To achieve this kernel_do_deploy sets the deployDir shell variable to
${DEPLOYDIR} for the standard kernel or
${DEPLOYDIR}/${KERNEL_DEPLOYSUBDIR} for non-standard kernels.
kernel-fitimage.bbclass's kernel_do_deploy_append ought to do the same
and can do so by using the same shell variable.
(From OE-Core rev: d324b22d32eaea9e4337c963c8b1a33b0ba6a2dd)
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In Sudo before 1.8.28, an attacker with access to a Runas ALL sudoer
account can bypass certain policy blacklists and session PAM modules,
and can cause incorrect logging, by invoking sudo with a crafted user
ID. For example, this allows bypass of !root configuration, and USER=
logging, for a "sudo -u \#$((0xffffffff))" command.
(From OE-Core rev: 4e11cd561f2bdaa6807cf02ee7c9870881826308)
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a backported commit from upstream which helps fix build failures
in meta-oe.
(From OE-Core rev: 6665e84bfba43cd8897b9561b14975ac524fbbe2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PKNAME is NULL when run "lsblk -o+PKNAME /dev/sda1"
backport an upstream patch to fix it.
(From OE-Core rev: a5a987ff5e5e333e28be44a12e729907272ea3cb)
Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When loading controllers as (external) modules, the code currently
tries to load all files ending with .py. This is a problem when
during development using an editor that creates a lock-file
in the same directory as the .py file, as the lock file is
typically called '.#xxxx.py'.
Python will try to load the lock file and fail miserably with
an exception:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:do_testimage(d)
0003:
File: 'poky/meta/classes/testimage.bbclass', lineno: 114, function: do_testimage
0110: netstat -an
0111:}
0112:
0113:python do_testimage() {
*** 0114: testimage_main(d)
0115:}
0116:
0117:addtask testimage
0118:do_testimage[nostamp] = "1"
File: 'poky/meta/classes/testimage.bbclass', lineno: 294, function: testimage_main
0290:
0291: # the robot dance
0292: target = OERuntimeTestContextExecutor.getTarget(
0293: d.getVar("TEST_TARGET"), logger, d.getVar("TEST_TARGET_IP"),
*** 0294: d.getVar("TEST_SERVER_IP"), **target_kwargs)
0295:
0296: # test context
0297: tc = OERuntimeTestContext(td, logger, target, host_dumper,
0298: image_packages, extract_dir)
File: 'poky/meta/lib/oeqa/runtime/context.py', lineno: 116, function: getTarget
0112: # XXX: Don't base your targets on this code it will be refactored
0113: # in the near future.
0114: # Custom target module loading
0115: target_modules_path = kwargs.get('target_modules_path', '')
*** 0116: controller = OERuntimeTestContextExecutor.getControllerModule(target_type, target_modules_path)
0117: target = controller(logger, target_ip, server_ip, **kwargs)
0118:
0119: return target
0120:
File: 'poky/meta/lib/oeqa/runtime/context.py', lineno: 128, function: getControllerModule
0124: # ImportError raised if a provided module can not be imported.
0125: @staticmethod
0126: def getControllerModule(target, target_modules_path):
0127: controllerslist = OERuntimeTestContextExecutor._getControllerModulenames(target_modules_path)
*** 0128: controller = OERuntimeTestContextExecutor._loadControllerFromName(target, controllerslist)
0129: return controller
0130:
0131: # Return a list of all python modules in lib/oeqa/controllers for each
0132: # layer in bbpath
File: 'poky/meta/lib/oeqa/runtime/context.py', lineno: 163, function: _loadControllerFromName
0159: # Raise ImportError if a provided module can not be imported
0160: @staticmethod
0161: def _loadControllerFromName(target, modulenames):
0162: for name in modulenames:
*** 0163: obj = OERuntimeTestContextExecutor._loadControllerFromModule(target, name)
0164: if obj:
0165: return obj
0166: raise AttributeError("Unable to load {0} from available modules: {1}".format(target, str(modulenames)))
0167:
File: 'poky/meta/lib/oeqa/runtime/context.py', lineno: 173, function: _loadControllerFromModule
0169: @staticmethod
0170: def _loadControllerFromModule(target, modulename):
0171: obj = None
0172: # import module, allowing it to raise import exception
*** 0173: module = __import__(modulename, globals(), locals(), [target])
0174: # look for target class in the module, catching any exceptions as it
0175: # is valid that a module may not have the target class.
0176: try:
0177: obj = getattr(module, target)
Exception: ImportError: No module named 'oeqa.controllers.'
Simply ignore those when collecting the list of files to try
to load.
(From OE-Core rev: 682f223cf2e2dabe8cf60634b6779bb2d5e359bd)
Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tweak the write loop slightly to avoid dict lookups that can easily be
done in the for loop.
(From OE-Core rev: 35c65b7336c52c19810e3e9e87a36a8636ac4120)
Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace copy-and-if with a filtering list comprehension.
(From OE-Core rev: eb763856be8da854d37c7d4b8e8d645ab1d3fa06)
Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The PID file referenced in dbus-1.init script was out of date and no longer existed. This meant that dbus could not be restarted via init.d without force removing the old PID file.
(From OE-Core rev: 2ed6f06f30cb54b9c70f1a92d93c920ec4d01ffe)
Signed-off-by: fridgecow <fridgecow@fb.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* the (new?) ruby expects some additional compiled libraries
to run, so we need to copy them as part of ptest.
Fixes errors like:
# ruby ./runner.rb ./-ext-/vm/test_at_exit.rb
Run options:
# Running tests:
[1/1] TestVM#test_at_exit = 0.06 s
1) Failure:
TestVM#test_at_exit [/usr/lib/ruby/ptest/test/-ext-/vm/test_at_exit.rb:7]:
1. [1/2] Assertion for "stdout"
| <["begin", "end"]> expected but was
| <[]>.
2. [2/2] Assertion for "stderr"
| <[]> expected but was
| <["-:1:in `require': cannot load such file -- -test-/vm/at_exit (LoadError)",
| "\tfrom -:1:in `<main>'"]>.
* the 'erb' test can't find the erb binary, as we're not
running this from within the build directory
(From OE-Core rev: 158d5285372240f6b3502a6c715a2491e37a3118)
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By exporting ICECC_CC, ICECC_CXX, and ICECC_VERSION in a wrapper-script,
and putting this wrapper-script in the PATH, the Makefiles generated by CMake or
the autotools are able to function correctly outside of bitbake.
This provides a convenient developer workflow in which the
modify-compile-unittest cycle can happen directly in the ${B} directory.
The `rm -f $ICE_PATH/$compiler` line is transitional,
and can go at some later date (October 2020 or later, perhaps).
(From OE-Core rev: 40d74cb1d0ddce930267e49764cacb263b244091)
Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The find_program command will fail if it is used on a tool that is listed in
ASSUME_PROVIDED. This is because these tools are in the hosttools directory
which is not listed in CMAKE_FIND_ROOT_PATH so cmake will not find them.
Adding the directory HOSTTOOLS_DIR to the CMAKE_FIND_ROOT_PATH variable fixes
the initial issue of needing to search for tools in ASSUME_PROVIDED.
Note that this change alone does not fix the issue because find_program will
by default only look into the subdirectories bin and usr/bin under the paths
in CMAKE_FIND_ROOT_PATH to find the programs and the hosttools directory has
instead the symlinks directly present without these subdirectories.
Set CMAKE_PROGRAM_PATH to by default include the root directory so
find_program can search the hosttools directory without needing the prefix
directories.
(From OE-Core rev: 7847f431cd8db59fce8c9401a603c4b0678ee16d)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>