diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rw-r--r-- | bitbake/lib/toaster/toastergui/views.py | 60 |
1 files changed, 47 insertions, 13 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py index 8f6e201ec2..0f92caf56b 100644 --- a/bitbake/lib/toaster/toastergui/views.py +++ b/bitbake/lib/toaster/toastergui/views.py | |||
@@ -1280,7 +1280,7 @@ the RRECOMENDS or TRECOMENDS value. | |||
1280 | The lists are built in the sort order specified for the package runtime | 1280 | The lists are built in the sort order specified for the package runtime |
1281 | dependency views. | 1281 | dependency views. |
1282 | """ | 1282 | """ |
1283 | def get_package_dependencies(package_id, target_id = INVALID_KEY): | 1283 | def _get_package_dependencies(package_id, target_id = INVALID_KEY): |
1284 | runtime_deps = [] | 1284 | runtime_deps = [] |
1285 | other_deps = [] | 1285 | other_deps = [] |
1286 | other_depends_types = OTHER_DEPENDS_BASE | 1286 | other_depends_types = OTHER_DEPENDS_BASE |
@@ -1318,6 +1318,10 @@ def get_package_dependencies(package_id, target_id = INVALID_KEY): | |||
1318 | 'depends_on_id' : dep_package.id, | 1318 | 'depends_on_id' : dep_package.id, |
1319 | 'installed' : installed, | 1319 | 'installed' : installed, |
1320 | } | 1320 | } |
1321 | |||
1322 | if target_id != INVALID_KEY: | ||
1323 | dep['alias'] = _get_package_alias(dep_package) | ||
1324 | |||
1321 | if idep.dep_type == rdepends_type : | 1325 | if idep.dep_type == rdepends_type : |
1322 | runtime_deps.append(dep) | 1326 | runtime_deps.append(dep) |
1323 | elif idep.dep_type in other_depends_types : | 1327 | elif idep.dep_type in other_depends_types : |
@@ -1331,28 +1335,50 @@ def get_package_dependencies(package_id, target_id = INVALID_KEY): | |||
1331 | return retvalues | 1335 | return retvalues |
1332 | 1336 | ||
1333 | # Return the count of packages dependent on package for this target_id image | 1337 | # Return the count of packages dependent on package for this target_id image |
1334 | def get_package_reverse_dep_count(package, target_id): | 1338 | def _get_package_reverse_dep_count(package, target_id): |
1335 | return package.package_dependencies_target.filter(target_id__exact=target_id, dep_type__exact = Package_Dependency.TYPE_TRDEPENDS).count() | 1339 | return package.package_dependencies_target.filter(target_id__exact=target_id, dep_type__exact = Package_Dependency.TYPE_TRDEPENDS).count() |
1336 | 1340 | ||
1337 | # Return the count of the packages that this package_id is dependent on. | 1341 | # Return the count of the packages that this package_id is dependent on. |
1338 | # Use one of the two RDEPENDS types, either TRDEPENDS if the package was | 1342 | # Use one of the two RDEPENDS types, either TRDEPENDS if the package was |
1339 | # installed, or else RDEPENDS if only built. | 1343 | # installed, or else RDEPENDS if only built. |
1340 | def get_package_dependency_count(package, target_id, is_installed): | 1344 | def _get_package_dependency_count(package, target_id, is_installed): |
1341 | if is_installed : | 1345 | if is_installed : |
1342 | return package.package_dependencies_source.filter(target_id__exact = target_id, | 1346 | return package.package_dependencies_source.filter(target_id__exact = target_id, |
1343 | dep_type__exact = Package_Dependency.TYPE_TRDEPENDS).count() | 1347 | dep_type__exact = Package_Dependency.TYPE_TRDEPENDS).count() |
1344 | else : | 1348 | else : |
1345 | return package.package_dependencies_source.filter(dep_type__exact = Package_Dependency.TYPE_RDEPENDS).count() | 1349 | return package.package_dependencies_source.filter(dep_type__exact = Package_Dependency.TYPE_RDEPENDS).count() |
1346 | 1350 | ||
1351 | def _get_package_alias(package): | ||
1352 | alias = package.installed_name | ||
1353 | if alias != None and alias != '' and alias != package.name: | ||
1354 | return alias | ||
1355 | else: | ||
1356 | return '' | ||
1357 | |||
1358 | def _get_fullpackagespec(package): | ||
1359 | r = package.name | ||
1360 | version_good = package.version != None and package.version != '' | ||
1361 | revision_good = package.revision != None and package.revision != '' | ||
1362 | if version_good or revision_good: | ||
1363 | r += '_' | ||
1364 | if version_good: | ||
1365 | r += package.version | ||
1366 | if revision_good: | ||
1367 | r += '-' | ||
1368 | if revision_good: | ||
1369 | r += package.revision | ||
1370 | return r | ||
1371 | |||
1347 | def package_built_detail(request, build_id, package_id): | 1372 | def package_built_detail(request, build_id, package_id): |
1348 | template = "package_built_detail.html" | 1373 | template = "package_built_detail.html" |
1349 | if Build.objects.filter(pk=build_id).count() == 0 : | 1374 | if Build.objects.filter(pk=build_id).count() == 0 : |
1350 | return redirect(builds) | 1375 | return redirect(builds) |
1351 | package = Package.objects.filter(pk=package_id)[0] | 1376 | package = Package.objects.filter(pk=package_id)[0] |
1377 | package.fullpackagespec = _get_fullpackagespec(package) | ||
1352 | context = { | 1378 | context = { |
1353 | 'build' : Build.objects.filter(pk=build_id)[0], | 1379 | 'build' : Build.objects.filter(pk=build_id)[0], |
1354 | 'package' : package, | 1380 | 'package' : package, |
1355 | 'dependency_count' : get_package_dependency_count(package, -1, False), | 1381 | 'dependency_count' : _get_package_dependency_count(package, -1, False), |
1356 | } | 1382 | } |
1357 | return render(request, template, context) | 1383 | return render(request, template, context) |
1358 | 1384 | ||
@@ -1362,13 +1388,14 @@ def package_built_dependencies(request, build_id, package_id): | |||
1362 | return redirect(builds) | 1388 | return redirect(builds) |
1363 | 1389 | ||
1364 | package = Package.objects.filter(pk=package_id)[0] | 1390 | package = Package.objects.filter(pk=package_id)[0] |
1365 | dependencies = get_package_dependencies(package_id) | 1391 | package.fullpackagespec = _get_fullpackagespec(package) |
1392 | dependencies = _get_package_dependencies(package_id) | ||
1366 | context = { | 1393 | context = { |
1367 | 'build' : Build.objects.filter(pk=build_id)[0], | 1394 | 'build' : Build.objects.filter(pk=build_id)[0], |
1368 | 'package' : package, | 1395 | 'package' : package, |
1369 | 'runtime_deps' : dependencies['runtime_deps'], | 1396 | 'runtime_deps' : dependencies['runtime_deps'], |
1370 | 'other_deps' : dependencies['other_deps'], | 1397 | 'other_deps' : dependencies['other_deps'], |
1371 | 'dependency_count' : get_package_dependency_count(package, -1, False) | 1398 | 'dependency_count' : _get_package_dependency_count(package, -1, False) |
1372 | } | 1399 | } |
1373 | return render(request, template, context) | 1400 | return render(request, template, context) |
1374 | 1401 | ||
@@ -1379,13 +1406,15 @@ def package_included_detail(request, build_id, target_id, package_id): | |||
1379 | return redirect(builds) | 1406 | return redirect(builds) |
1380 | 1407 | ||
1381 | package = Package.objects.filter(pk=package_id)[0] | 1408 | package = Package.objects.filter(pk=package_id)[0] |
1409 | package.fullpackagespec = _get_fullpackagespec(package) | ||
1410 | package.alias = _get_package_alias(package) | ||
1382 | target = Target.objects.filter(pk=target_id)[0] | 1411 | target = Target.objects.filter(pk=target_id)[0] |
1383 | context = { | 1412 | context = { |
1384 | 'build' : Build.objects.filter(pk=build_id)[0], | 1413 | 'build' : Build.objects.filter(pk=build_id)[0], |
1385 | 'target' : target, | 1414 | 'target' : target, |
1386 | 'package' : package, | 1415 | 'package' : package, |
1387 | 'reverse_count' : get_package_reverse_dep_count(package, target_id), | 1416 | 'reverse_count' : _get_package_reverse_dep_count(package, target_id), |
1388 | 'dependency_count' : get_package_dependency_count(package, target_id, True) | 1417 | 'dependency_count' : _get_package_dependency_count(package, target_id, True) |
1389 | } | 1418 | } |
1390 | return render(request, template, context) | 1419 | return render(request, template, context) |
1391 | 1420 | ||
@@ -1395,17 +1424,19 @@ def package_included_dependencies(request, build_id, target_id, package_id): | |||
1395 | return redirect(builds) | 1424 | return redirect(builds) |
1396 | 1425 | ||
1397 | package = Package.objects.filter(pk=package_id)[0] | 1426 | package = Package.objects.filter(pk=package_id)[0] |
1427 | package.fullpackagespec = _get_fullpackagespec(package) | ||
1428 | package.alias = _get_package_alias(package) | ||
1398 | target = Target.objects.filter(pk=target_id)[0] | 1429 | target = Target.objects.filter(pk=target_id)[0] |
1399 | 1430 | ||
1400 | dependencies = get_package_dependencies(package_id, target_id) | 1431 | dependencies = _get_package_dependencies(package_id, target_id) |
1401 | context = { | 1432 | context = { |
1402 | 'build' : Build.objects.filter(pk=build_id)[0], | 1433 | 'build' : Build.objects.filter(pk=build_id)[0], |
1403 | 'package' : package, | 1434 | 'package' : package, |
1404 | 'target' : target, | 1435 | 'target' : target, |
1405 | 'runtime_deps' : dependencies['runtime_deps'], | 1436 | 'runtime_deps' : dependencies['runtime_deps'], |
1406 | 'other_deps' : dependencies['other_deps'], | 1437 | 'other_deps' : dependencies['other_deps'], |
1407 | 'reverse_count' : get_package_reverse_dep_count(package, target_id), | 1438 | 'reverse_count' : _get_package_reverse_dep_count(package, target_id), |
1408 | 'dependency_count' : get_package_dependency_count(package, target_id, True) | 1439 | 'dependency_count' : _get_package_dependency_count(package, target_id, True) |
1409 | } | 1440 | } |
1410 | return render(request, template, context) | 1441 | return render(request, template, context) |
1411 | 1442 | ||
@@ -1415,6 +1446,8 @@ def package_included_reverse_dependencies(request, build_id, target_id, package_ | |||
1415 | return redirect(builds) | 1446 | return redirect(builds) |
1416 | 1447 | ||
1417 | package = Package.objects.filter(pk=package_id)[0] | 1448 | package = Package.objects.filter(pk=package_id)[0] |
1449 | package.fullpackagespec = _get_fullpackagespec(package) | ||
1450 | package.alias = _get_package_alias(package) | ||
1418 | target = Target.objects.filter(pk=target_id)[0] | 1451 | target = Target.objects.filter(pk=target_id)[0] |
1419 | 1452 | ||
1420 | reverse_deps = [] | 1453 | reverse_deps = [] |
@@ -1426,6 +1459,7 @@ def package_included_reverse_dependencies(request, build_id, target_id, package_ | |||
1426 | version += '-' + dep_package.revision | 1459 | version += '-' + dep_package.revision |
1427 | dep = { | 1460 | dep = { |
1428 | 'name' : dep_package.name, | 1461 | 'name' : dep_package.name, |
1462 | 'alias' : _get_package_alias(dep_package), | ||
1429 | 'dependent_id' : dep_package.id, | 1463 | 'dependent_id' : dep_package.id, |
1430 | 'version' : version, | 1464 | 'version' : version, |
1431 | 'size' : dep_package.size | 1465 | 'size' : dep_package.size |
@@ -1438,8 +1472,8 @@ def package_included_reverse_dependencies(request, build_id, target_id, package_ | |||
1438 | 'package' : package, | 1472 | 'package' : package, |
1439 | 'target' : target, | 1473 | 'target' : target, |
1440 | 'reverse_deps' : reverse_deps, | 1474 | 'reverse_deps' : reverse_deps, |
1441 | 'reverse_count' : get_package_reverse_dep_count(package, target_id), | 1475 | 'reverse_count' : _get_package_reverse_dep_count(package, target_id), |
1442 | 'dependency_count' : get_package_dependency_count(package, target_id, True) | 1476 | 'dependency_count' : _get_package_dependency_count(package, target_id, True) |
1443 | } | 1477 | } |
1444 | return render(request, template, context) | 1478 | return render(request, template, context) |
1445 | 1479 | ||