diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-11-02 11:34:21 +0000 |
---|---|---|
committer | Anuj Mittal <anuj.mittal@intel.com> | 2021-11-09 11:28:53 +0800 |
commit | fc9209fa892b31b2226008bdaf474750c3b61f38 (patch) | |
tree | 6523d019058e8695f1725e374c20af73bc3efec7 | |
parent | 467aa56b8773e8dd2e8e29936684606d5e291888 (diff) | |
download | openembedded-core-fc9209fa892b31b2226008bdaf474750c3b61f38.tar.gz |
scripts/convert-srcuri: Update SRC_URI conversion script to handle github url changes
Github are dropping support for git:// protocol fetching. Update the script
to learn about corner cases found in the previous conversion and
support remapping the github urls as needed too.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e59fe8279b209f67ff79b9d6dbb69389a64db236)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-rwxr-xr-x | scripts/contrib/convert-srcuri.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/scripts/contrib/convert-srcuri.py b/scripts/contrib/convert-srcuri.py index 4bf9e3013d..5b362ea2e8 100755 --- a/scripts/contrib/convert-srcuri.py +++ b/scripts/contrib/convert-srcuri.py @@ -19,19 +19,33 @@ if len(sys.argv) < 2: sys.exit(1) def processfile(fn): + def matchline(line): + if "MIRROR" in line or ".*" in line or "GNOME_GIT" in line: + return False + return True print("processing file '%s'" % fn) try: + if "distro_alias.inc" in fn or "linux-yocto-custom.bb" in fn: + return fh, abs_path = tempfile.mkstemp() modified = False with os.fdopen(fh, 'w') as new_file: with open(fn, "r") as old_file: for line in old_file: - if ("git://" in line or "gitsm://" in line) and "branch=" not in line and "MIRROR" not in line and ".*" not in line: + if ("git://" in line or "gitsm://" in line) and "branch=" not in line and matchline(line): if line.endswith('"\n'): line = line.replace('"\n', ';branch=master"\n') elif line.endswith(" \\\n"): line = line.replace(' \\\n', ';branch=master \\\n') modified = True + if ("git://" in line or "gitsm://" in line) and "github.com" in line and "protocol=https" not in line and matchline(line): + if "protocol=git" in line: + line = line.replace('protocol=git', 'protocol=https') + elif line.endswith('"\n'): + line = line.replace('"\n', ';protocol=https"\n') + elif line.endswith(" \\\n"): + line = line.replace(' \\\n', ';protocol=https \\\n') + modified = True new_file.write(line) if modified: shutil.copymode(fn, abs_path) |