1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 01:19:52 +00:00

bitbake: toastergui: verify that an existing layer path is given

Verify that an existing layer path was given when adding a new
layer.

Manually using the shell for globbing is unnecessary, use the glob
function instead for cleaner code.

(Bitbake rev: fe0881615896de844141393b21a121f7c3fa9d16)

Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Marta Rybczynska
2023-12-20 18:44:56 +01:00
committed by Richard Purdie
parent 191645f746
commit 1720dae4ed
+7 -6
View File
@@ -11,7 +11,7 @@ import os
import re import re
import logging import logging
import json import json
import subprocess import glob
from collections import Counter from collections import Counter
from orm.models import Project, ProjectTarget, Build, Layer_Version from orm.models import Project, ProjectTarget, Build, Layer_Version
@@ -234,13 +234,11 @@ class XhrSetDefaultImageUrl(View):
def scan_layer_content(layer,layer_version): def scan_layer_content(layer,layer_version):
# if this is a local layer directory, we can immediately scan its content # if this is a local layer directory, we can immediately scan its content
if layer.local_source_dir: if os.path.isdir(layer.local_source_dir):
try: try:
# recipes-*/*/*.bb # recipes-*/*/*.bb
cmd = '%s %s' % ('ls', os.path.join(layer.local_source_dir,'recipes-*/*/*.bb')) recipes_list = glob.glob(os.path.join(layer.local_source_dir, 'recipes-*/*/*.bb'))
recipes_list = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE,stderr=subprocess.STDOUT).stdout.read() for recipe in recipes_list:
recipes_list = recipes_list.decode("utf-8").strip()
if recipes_list and 'No such' not in recipes_list:
for recipe in recipes_list.split('\n'): for recipe in recipes_list.split('\n'):
recipe_path = recipe[recipe.rfind('recipes-'):] recipe_path = recipe[recipe.rfind('recipes-'):]
recipe_name = recipe[recipe.rfind('/')+1:].replace('.bb','') recipe_name = recipe[recipe.rfind('/')+1:].replace('.bb','')
@@ -260,6 +258,9 @@ def scan_layer_content(layer,layer_version):
except Exception as e: except Exception as e:
logger.warning("ERROR:scan_layer_content: %s" % e) logger.warning("ERROR:scan_layer_content: %s" % e)
else:
logger.warning("ERROR: wrong path given")
raise KeyError("local_source_dir")
class XhrLayer(View): class XhrLayer(View):
""" Delete, Get, Add and Update Layer information """ Delete, Get, Add and Update Layer information