mirror of
git://git.yoctoproject.org/layerindex-web.git
synced 2025-07-19 20:59:01 +02:00
update_layer: fix regressions in missing layer detection
If a layer is removed by its subdirectory being deleted then we want to pick up on that and produce an appropriate error message - so let the layer_update code do the checking out and verifying things are correct before trying to parse layer.conf. This also fixes --nocheckout still checking out a branch. Additionally, drop some code that gets the layerbranch which we just retrieved a few lines above. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
This commit is contained in:
parent
e547528fd3
commit
05f3bccbc6
|
@ -34,9 +34,6 @@ class LayerConfParse:
|
||||||
|
|
||||||
def parse_layer(self, layerbranch, layerdir):
|
def parse_layer(self, layerbranch, layerdir):
|
||||||
|
|
||||||
utils.checkout_layer_branch(layerbranch, layerdir, self.logger)
|
|
||||||
|
|
||||||
|
|
||||||
# This is not a valid layer, parsing will cause exception.
|
# This is not a valid layer, parsing will cause exception.
|
||||||
if not utils.is_layer_valid(layerdir):
|
if not utils.is_layer_valid(layerdir):
|
||||||
return None
|
return None
|
||||||
|
|
|
@ -226,9 +226,7 @@ def main():
|
||||||
urldir = layer.get_fetch_dir()
|
urldir = layer.get_fetch_dir()
|
||||||
repodir = os.path.join(fetchdir, urldir)
|
repodir = os.path.join(fetchdir, urldir)
|
||||||
|
|
||||||
layerbranch = layer.get_layerbranch(branch)
|
utils.checkout_layer_branch(layerbranch, repodir, logger)
|
||||||
if not layerbranch:
|
|
||||||
continue
|
|
||||||
|
|
||||||
config_data = layerconfparser.parse_layer(layerbranch, repodir)
|
config_data = layerconfparser.parse_layer(layerbranch, repodir)
|
||||||
if not config_data:
|
if not config_data:
|
||||||
|
|
|
@ -292,18 +292,6 @@ def main():
|
||||||
layerdir = os.path.join(repodir, layerbranch.vcs_subdir)
|
layerdir = os.path.join(repodir, layerbranch.vcs_subdir)
|
||||||
layerdir_start = os.path.normpath(layerdir) + os.sep
|
layerdir_start = os.path.normpath(layerdir) + os.sep
|
||||||
|
|
||||||
from layerconfparse import LayerConfParse
|
|
||||||
layerconfparser = LayerConfParse(logger=logger, tinfoil=tinfoil)
|
|
||||||
layer_config_data = layerconfparser.parse_layer(layerbranch, layerdir)
|
|
||||||
if not layer_config_data:
|
|
||||||
logger.info("Skipping update of layer %s for branch %s - conf/layer.conf may have parse issues" % (layer.name, branchdesc))
|
|
||||||
layerconfparser.shutdown()
|
|
||||||
sys.exit(1)
|
|
||||||
utils.add_dependencies(layerbranch, layer_config_data, logger=logger)
|
|
||||||
utils.add_recommends(layerbranch, layer_config_data, logger=logger)
|
|
||||||
utils.set_layerbranch_collection_version(layerbranch, layer_config_data, logger=logger)
|
|
||||||
layerbranch.save()
|
|
||||||
|
|
||||||
layerrecipes = Recipe.objects.filter(layerbranch=layerbranch)
|
layerrecipes = Recipe.objects.filter(layerbranch=layerbranch)
|
||||||
layermachines = Machine.objects.filter(layerbranch=layerbranch)
|
layermachines = Machine.objects.filter(layerbranch=layerbranch)
|
||||||
layerdistros = Distro.objects.filter(layerbranch=layerbranch)
|
layerdistros = Distro.objects.filter(layerbranch=layerbranch)
|
||||||
|
@ -328,6 +316,18 @@ def main():
|
||||||
|
|
||||||
logger.info("Collecting data for layer %s on branch %s" % (layer.name, branchdesc))
|
logger.info("Collecting data for layer %s on branch %s" % (layer.name, branchdesc))
|
||||||
|
|
||||||
|
from layerconfparse import LayerConfParse
|
||||||
|
layerconfparser = LayerConfParse(logger=logger, tinfoil=tinfoil)
|
||||||
|
layer_config_data = layerconfparser.parse_layer(layerbranch, layerdir)
|
||||||
|
if not layer_config_data:
|
||||||
|
logger.info("Skipping update of layer %s for branch %s - conf/layer.conf may have parse issues" % (layer.name, branchdesc))
|
||||||
|
layerconfparser.shutdown()
|
||||||
|
sys.exit(1)
|
||||||
|
utils.add_dependencies(layerbranch, layer_config_data, logger=logger)
|
||||||
|
utils.add_recommends(layerbranch, layer_config_data, logger=logger)
|
||||||
|
utils.set_layerbranch_collection_version(layerbranch, layer_config_data, logger=logger)
|
||||||
|
layerbranch.save()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
config_data_copy = recipeparse.setup_layer(tinfoil.config_data, fetchdir, layerdir, layer, layerbranch)
|
config_data_copy = recipeparse.setup_layer(tinfoil.config_data, fetchdir, layerdir, layer, layerbranch)
|
||||||
except recipeparse.RecipeParseError as e:
|
except recipeparse.RecipeParseError as e:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user