diff options
Diffstat (limited to 'bitbake/lib/layerindexlib')
| -rw-r--r-- | bitbake/lib/layerindexlib/__init__.py | 51 | ||||
| -rw-r--r-- | bitbake/lib/layerindexlib/cooker.py | 19 |
2 files changed, 36 insertions, 34 deletions
diff --git a/bitbake/lib/layerindexlib/__init__.py b/bitbake/lib/layerindexlib/__init__.py index 74f3e2e93e..cb79cb37d7 100644 --- a/bitbake/lib/layerindexlib/__init__.py +++ b/bitbake/lib/layerindexlib/__init__.py | |||
| @@ -448,7 +448,7 @@ layerBranches set. If not, they are effectively blank.''' | |||
| 448 | This function is used to implement debugging and provide the user info. | 448 | This function is used to implement debugging and provide the user info. |
| 449 | ''' | 449 | ''' |
| 450 | for lix in self.indexes: | 450 | for lix in self.indexes: |
| 451 | if object not in lix: | 451 | if not hasattr(lix, object): |
| 452 | continue | 452 | continue |
| 453 | 453 | ||
| 454 | logger.plain ('') | 454 | logger.plain ('') |
| @@ -1046,15 +1046,15 @@ class LayerBranch(LayerIndexItemObj): | |||
| 1046 | self.id = id | 1046 | self.id = id |
| 1047 | self.collection = collection | 1047 | self.collection = collection |
| 1048 | self.version = version | 1048 | self.version = version |
| 1049 | if type(layer) != type(LayerItem): | 1049 | if isinstance(layer, LayerItem): |
| 1050 | self.layer_id = layer | ||
| 1051 | else: | ||
| 1052 | self.layer = layer | 1050 | self.layer = layer |
| 1053 | |||
| 1054 | if type(branch) != type(Branch): | ||
| 1055 | self.branch_id = branch | ||
| 1056 | else: | 1051 | else: |
| 1052 | self.layer_id = layer | ||
| 1053 | |||
| 1054 | if isinstance(branch, Branch): | ||
| 1057 | self.branch = branch | 1055 | self.branch = branch |
| 1056 | else: | ||
| 1057 | self.branch_id = branch | ||
| 1058 | 1058 | ||
| 1059 | self.vcs_subdir = vcs_subdir | 1059 | self.vcs_subdir = vcs_subdir |
| 1060 | self.vcs_last_fetch = vcs_last_fetch | 1060 | self.vcs_last_fetch = vcs_last_fetch |
| @@ -1088,7 +1088,7 @@ class LayerBranch(LayerIndexItemObj): | |||
| 1088 | 1088 | ||
| 1089 | @layer.setter | 1089 | @layer.setter |
| 1090 | def layer(self, value): | 1090 | def layer(self, value): |
| 1091 | if type(value) != type(LayerItem): | 1091 | if not isinstance(value, LayerItem): |
| 1092 | raise TypeError('value is not a LayerItem') | 1092 | raise TypeError('value is not a LayerItem') |
| 1093 | if self.index != value.index: | 1093 | if self.index != value.index: |
| 1094 | raise AttributeError('Object and value do not share the same index and thus key set.') | 1094 | raise AttributeError('Object and value do not share the same index and thus key set.') |
| @@ -1122,7 +1122,7 @@ class LayerBranch(LayerIndexItemObj): | |||
| 1122 | 1122 | ||
| 1123 | @branch.setter | 1123 | @branch.setter |
| 1124 | def branch(self, value): | 1124 | def branch(self, value): |
| 1125 | if type(value) != type(LayerItem): | 1125 | if not isinstance(value, LayerItem): |
| 1126 | raise TypeError('value is not a LayerItem') | 1126 | raise TypeError('value is not a LayerItem') |
| 1127 | if self.index != value.index: | 1127 | if self.index != value.index: |
| 1128 | raise AttributeError('Object and value do not share the same index and thus key set.') | 1128 | raise AttributeError('Object and value do not share the same index and thus key set.') |
| @@ -1181,7 +1181,7 @@ class LayerIndexItemObj_LayerBranch(LayerIndexItemObj): | |||
| 1181 | 1181 | ||
| 1182 | @layerbranch.setter | 1182 | @layerbranch.setter |
| 1183 | def layerbranch(self, value): | 1183 | def layerbranch(self, value): |
| 1184 | if type(value) != type(LayerBranch): | 1184 | if not isinstance(value, LayerBranch): |
| 1185 | raise TypeError('value (%s) is not a layerBranch' % type(value)) | 1185 | raise TypeError('value (%s) is not a layerBranch' % type(value)) |
| 1186 | if self.index != value.index: | 1186 | if self.index != value.index: |
| 1187 | raise AttributeError('Object and value do not share the same index and thus key set.') | 1187 | raise AttributeError('Object and value do not share the same index and thus key set.') |
| @@ -1207,14 +1207,14 @@ class LayerIndexItemObj_LayerBranch(LayerIndexItemObj): | |||
| 1207 | class LayerDependency(LayerIndexItemObj_LayerBranch): | 1207 | class LayerDependency(LayerIndexItemObj_LayerBranch): |
| 1208 | def define_data(self, id, layerbranch, dependency, required=True): | 1208 | def define_data(self, id, layerbranch, dependency, required=True): |
| 1209 | self.id = id | 1209 | self.id = id |
| 1210 | if type(layerbranch) != type(LayerBranch): | 1210 | if isinstance(layerbranch, LayerBranch): |
| 1211 | self.layerbranch_id = layerbranch | ||
| 1212 | else: | ||
| 1213 | self.layerbranch = layerbranch | 1211 | self.layerbranch = layerbranch |
| 1214 | if type(dependency) != type(LayerDependency): | ||
| 1215 | self.dependency_id = dependency | ||
| 1216 | else: | 1212 | else: |
| 1213 | self.layerbranch_id = layerbranch | ||
| 1214 | if isinstance(dependency, LayerDependency): | ||
| 1217 | self.dependency = dependency | 1215 | self.dependency = dependency |
| 1216 | else: | ||
| 1217 | self.dependency_id = dependency | ||
| 1218 | self.required = required | 1218 | self.required = required |
| 1219 | 1219 | ||
| 1220 | @property | 1220 | @property |
| @@ -1240,7 +1240,7 @@ class LayerDependency(LayerIndexItemObj_LayerBranch): | |||
| 1240 | 1240 | ||
| 1241 | @dependency.setter | 1241 | @dependency.setter |
| 1242 | def dependency(self, value): | 1242 | def dependency(self, value): |
| 1243 | if type(value) != type(LayerDependency): | 1243 | if not isinstance(value, LayerDependency): |
| 1244 | raise TypeError('value (%s) is not a dependency' % type(value)) | 1244 | raise TypeError('value (%s) is not a dependency' % type(value)) |
| 1245 | if self.index != value.index: | 1245 | if self.index != value.index: |
| 1246 | raise AttributeError('Object and value do not share the same index and thus key set.') | 1246 | raise AttributeError('Object and value do not share the same index and thus key set.') |
| @@ -1288,10 +1288,10 @@ class Recipe(LayerIndexItemObj_LayerBranch): | |||
| 1288 | self.inherits = inherits | 1288 | self.inherits = inherits |
| 1289 | self.updated = updated or datetime.datetime.today().isoformat() | 1289 | self.updated = updated or datetime.datetime.today().isoformat() |
| 1290 | self.blacklisted = blacklisted | 1290 | self.blacklisted = blacklisted |
| 1291 | if type(layerbranch) != type(LayerBranch): | 1291 | if isinstance(layerbranch, LayerBranch): |
| 1292 | self.layerbranch_id = layerbranch | ||
| 1293 | else: | ||
| 1294 | self.layerbranch = layerbranch | 1292 | self.layerbranch = layerbranch |
| 1293 | else: | ||
| 1294 | self.layerbranch_id = layerbranch | ||
| 1295 | 1295 | ||
| 1296 | @property | 1296 | @property |
| 1297 | def fullpath(self): | 1297 | def fullpath(self): |
| @@ -1324,10 +1324,10 @@ class Machine(LayerIndexItemObj_LayerBranch): | |||
| 1324 | self.id = id | 1324 | self.id = id |
| 1325 | self.name = name | 1325 | self.name = name |
| 1326 | self.description = description | 1326 | self.description = description |
| 1327 | if type(layerbranch) != type(LayerBranch): | 1327 | if isinstance(layerbranch, LayerBranch): |
| 1328 | self.layerbranch_id = layerbranch | ||
| 1329 | else: | ||
| 1330 | self.layerbranch = layerbranch | 1328 | self.layerbranch = layerbranch |
| 1329 | else: | ||
| 1330 | self.layerbranch_id = layerbranch | ||
| 1331 | self.updated = updated or datetime.datetime.today().isoformat() | 1331 | self.updated = updated or datetime.datetime.today().isoformat() |
| 1332 | 1332 | ||
| 1333 | class Distro(LayerIndexItemObj_LayerBranch): | 1333 | class Distro(LayerIndexItemObj_LayerBranch): |
| @@ -1337,13 +1337,12 @@ class Distro(LayerIndexItemObj_LayerBranch): | |||
| 1337 | self.id = id | 1337 | self.id = id |
| 1338 | self.name = name | 1338 | self.name = name |
| 1339 | self.description = description | 1339 | self.description = description |
| 1340 | if type(layerbranch) != type(LayerBranch): | 1340 | if isinstance(layerbranch, LayerBranch): |
| 1341 | self.layerbranch_id = layerbranch | ||
| 1342 | else: | ||
| 1343 | self.layerbranch = layerbranch | 1341 | self.layerbranch = layerbranch |
| 1342 | else: | ||
| 1343 | self.layerbranch_id = layerbranch | ||
| 1344 | self.updated = updated or datetime.datetime.today().isoformat() | 1344 | self.updated = updated or datetime.datetime.today().isoformat() |
| 1345 | 1345 | ||
| 1346 | |||
| 1347 | # When performing certain actions, we may need to sort the data. | 1346 | # When performing certain actions, we may need to sort the data. |
| 1348 | # This will allow us to keep it consistent from run to run. | 1347 | # This will allow us to keep it consistent from run to run. |
| 1349 | def sort_entry(item): | 1348 | def sort_entry(item): |
diff --git a/bitbake/lib/layerindexlib/cooker.py b/bitbake/lib/layerindexlib/cooker.py index 248a597754..848f0e2ee2 100644 --- a/bitbake/lib/layerindexlib/cooker.py +++ b/bitbake/lib/layerindexlib/cooker.py | |||
| @@ -136,10 +136,13 @@ class CookerPlugin(layerindexlib.plugin.IndexPlugin): | |||
| 136 | layerrev = self._run_command('git rev-parse HEAD', layerpath, default="<unknown>") | 136 | layerrev = self._run_command('git rev-parse HEAD', layerpath, default="<unknown>") |
| 137 | 137 | ||
| 138 | for remotes in self._run_command('git remote -v', layerpath, default="").split("\n"): | 138 | for remotes in self._run_command('git remote -v', layerpath, default="").split("\n"): |
| 139 | remote = remotes.split("\t")[1].split(" ")[0] | 139 | if not remotes: |
| 140 | if "(fetch)" == remotes.split("\t")[1].split(" ")[1]: | 140 | layerurl = self._handle_git_remote(layerpath) |
| 141 | layerurl = self._handle_git_remote(remote) | 141 | else: |
| 142 | break | 142 | remote = remotes.split("\t")[1].split(" ")[0] |
| 143 | if "(fetch)" == remotes.split("\t")[1].split(" ")[1]: | ||
| 144 | layerurl = self._handle_git_remote(remote) | ||
| 145 | break | ||
| 143 | 146 | ||
| 144 | layerItemId += 1 | 147 | layerItemId += 1 |
| 145 | index.layerItems[layerItemId] = layerindexlib.LayerItem(index, None) | 148 | index.layerItems[layerItemId] = layerindexlib.LayerItem(index, None) |
| @@ -297,7 +300,7 @@ class CookerPlugin(layerindexlib.plugin.IndexPlugin): | |||
| 297 | 300 | ||
| 298 | for layerBranchId in index.layerBranches: | 301 | for layerBranchId in index.layerBranches: |
| 299 | # load_bblayers uses the description to cache the actual path... | 302 | # load_bblayers uses the description to cache the actual path... |
| 300 | machine_path = index.layerBranches[layerBranchId].getDescription() | 303 | machine_path = index.layerBranches[layerBranchId].layer.description |
| 301 | machine_path = os.path.join(machine_path, 'conf/machine') | 304 | machine_path = os.path.join(machine_path, 'conf/machine') |
| 302 | if os.path.isdir(machine_path): | 305 | if os.path.isdir(machine_path): |
| 303 | for (dirpath, _, filenames) in os.walk(machine_path): | 306 | for (dirpath, _, filenames) in os.walk(machine_path): |
| @@ -310,7 +313,7 @@ class CookerPlugin(layerindexlib.plugin.IndexPlugin): | |||
| 310 | machine = layerindexlib.Machine(index, None) | 313 | machine = layerindexlib.Machine(index, None) |
| 311 | machine.define_data(id=machineId, name=fname[:-5], | 314 | machine.define_data(id=machineId, name=fname[:-5], |
| 312 | description=fname[:-5], | 315 | description=fname[:-5], |
| 313 | layerbranch=collection_layerbranch[entry]) | 316 | layerbranch=index.layerBranches[layerBranchId]) |
| 314 | 317 | ||
| 315 | index.add_element("machines", [machine]) | 318 | index.add_element("machines", [machine]) |
| 316 | 319 | ||
| @@ -321,7 +324,7 @@ class CookerPlugin(layerindexlib.plugin.IndexPlugin): | |||
| 321 | 324 | ||
| 322 | for layerBranchId in index.layerBranches: | 325 | for layerBranchId in index.layerBranches: |
| 323 | # load_bblayers uses the description to cache the actual path... | 326 | # load_bblayers uses the description to cache the actual path... |
| 324 | distro_path = index.layerBranches[layerBranchId].getDescription() | 327 | distro_path = index.layerBranches[layerBranchId].layer.description |
| 325 | distro_path = os.path.join(distro_path, 'conf/distro') | 328 | distro_path = os.path.join(distro_path, 'conf/distro') |
| 326 | if os.path.isdir(distro_path): | 329 | if os.path.isdir(distro_path): |
| 327 | for (dirpath, _, filenames) in os.walk(distro_path): | 330 | for (dirpath, _, filenames) in os.walk(distro_path): |
| @@ -334,7 +337,7 @@ class CookerPlugin(layerindexlib.plugin.IndexPlugin): | |||
| 334 | distro = layerindexlib.Distro(index, None) | 337 | distro = layerindexlib.Distro(index, None) |
| 335 | distro.define_data(id=distroId, name=fname[:-5], | 338 | distro.define_data(id=distroId, name=fname[:-5], |
| 336 | description=fname[:-5], | 339 | description=fname[:-5], |
| 337 | layerbranch=collection_layerbranch[entry]) | 340 | layerbranch=index.layerBranches[layerBranchId]) |
| 338 | 341 | ||
| 339 | index.add_element("distros", [distro]) | 342 | index.add_element("distros", [distro]) |
| 340 | 343 | ||
