From 3c623aac9333d20a62475279c72b6b6ec3d7dd6b Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Tue, 24 May 2016 16:18:50 +1200 Subject: devtool: upgrade: handle upgrading recipes with a versioned inc file The gdb recipe in OE-Core has an inc file with the version in it; since the inc file is pulled in with a "require ${PV}.inc", when upgrading the recipe we need to also rename the inc file it will fail to parse and the upgrade itself will fail. Fixes [YOCTO #9574]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/upgrade.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'scripts/lib/devtool') diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py index a085f78c43..e34234a34f 100644 --- a/scripts/lib/devtool/upgrade.py +++ b/scripts/lib/devtool/upgrade.py @@ -77,11 +77,19 @@ def _recipe_contains(rd, var): def _rename_recipe_dirs(oldpv, newpv, path): for root, dirs, files in os.walk(path): + # Rename directories with the version in their name for olddir in dirs: if olddir.find(oldpv) != -1: newdir = olddir.replace(oldpv, newpv) if olddir != newdir: shutil.move(os.path.join(path, olddir), os.path.join(path, newdir)) + # Rename any inc files with the version in their name (unusual, but possible) + for oldfile in files: + if oldfile.endswith('.inc'): + if oldfile.find(oldpv) != -1: + newfile = oldfile.replace(oldpv, newpv) + if oldfile != newfile: + os.rename(os.path.join(path, oldfile), os.path.join(path, newfile)) def _rename_recipe_file(oldrecipe, bpn, oldpv, newpv, path): oldrecipe = os.path.basename(oldrecipe) -- cgit 1.2.3-korg