Skip to contentSkip to conversation

cookerdata: Set TOPDIR when using bblayers.conf

PATCH New Richard Purdie 1 participant 1 message Aug 29, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 cookerdata: Set TOPDIR when using bblayers.conf

By definition, bblayers.conf is at the top of the build tree. We'd like to support running bitbake anywhere within that build tree but TOPDIR gets set to wherever cwd is. Change the code to reset TOPDIR to the top of the build directory.

This shouldn't break anything but does make the system more usable.

---

bitbake/lib/bb/cookerdata.py +3 -0
index a0379cf..8a0bc22 100644
@@ -239,6 +239,9 @@ class CookerDataBuilder(object):
         layerconf = self._findLayerConf()
         if layerconf:
             parselog.debug(2, "Found bblayers.conf (%s)", layerconf)
+            # By definition bblayers.conf is in conf/ of TOPDIR.
+            # We may have been called with cwd somewhere else so reset TOPDIR
+            data.setVar("TOPDIR", os.path.dirname(os.path.dirname(layerconf)))
             data = parse_config_file(layerconf, data)
 
             layers = (data.getVar('BBLAYERS', True) or "").split()