summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rw-r--r--bitbake/lib/toaster/toastergui/views.py60
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.
1280The lists are built in the sort order specified for the package runtime 1280The lists are built in the sort order specified for the package runtime
1281dependency views. 1281dependency views.
1282""" 1282"""
1283def get_package_dependencies(package_id, target_id = INVALID_KEY): 1283def _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
1334def get_package_reverse_dep_count(package, target_id): 1338def _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.
1340def get_package_dependency_count(package, target_id, is_installed): 1344def _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
1351def _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
1358def _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
1347def package_built_detail(request, build_id, package_id): 1372def 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