Paths relative to BBPATH are fine if device table files are always
static and contained somewhere within a meta layer. However if device
tables are created dynamically, they will be located somewhere within
${TMPDIR} and most conveniently referenced via an absolute path.The legacy IMAGE_DEVICE_TABLE variable supported an absolute path, therefore make IMAGE_DEVICE_TABLES support absolute paths too, to avoid users who need dynamic device table files being dependent on the legacy variable. Signed-off-by: Andre McCurdy <[email protected]> --- meta/lib/oe/rootfs.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index a348b97..32cce64 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -352,8 +352,8 @@ class Rootfs(object, metaclass=ABCMeta): """ Create devfs: * IMAGE_DEVICE_TABLE is the old name to an absolute path to a device table file - * IMAGE_DEVICE_TABLES is a new name for a file, or list of files, seached - for in the BBPATH + * IMAGE_DEVICE_TABLES is the new name for a file, or list of files, which may be + either absolute paths or paths relative to BBPATH. If neither are specified then the default name of files/device_table-minimal.txt is searched for in the BBPATH (same as the old version.) """ @@ -367,7 +367,10 @@ class Rootfs(object, metaclass=ABCMeta): if devtables is None: devtables = 'files/device_table-minimal.txt' for devtable in devtables.split(): - devtable_list.append("%s" % bb.utils.which(self.d.getVar('BBPATH', True), devtable)) + if os.path.isabs(devtable): + devtable_list.append(devtable) + else: + devtable_list.append("%s" % bb.utils.which(self.d.getVar('BBPATH', True), devtable)) for devtable in devtable_list: self._exec_shell_cmd(["makedevs", "-r", -- 1.9.1 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
