diff options
author | Patrick Vacek <patrickvacek@gmail.com> | 2018-05-25 14:13:01 +0200 |
---|---|---|
committer | Patrick Vacek <patrickvacek@gmail.com> | 2018-05-28 13:19:44 +0200 |
commit | 6fef541a1410493881689a4b2a60d1d6b49831cd (patch) | |
tree | ca128584d392af98d8b7b7980bfeef3be4462665 /scripts | |
parent | 39665ee8c87853f93d56c56754470261a0d19d1d (diff) | |
download | meta-updater-6fef541a1410493881689a4b2a60d1d6b49831cd.tar.gz |
find_packages.py: Fix repo name parsing logic.
Also expand/explain TODOs.
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/find_packages.py | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/scripts/find_packages.py b/scripts/find_packages.py index ddd9034..6bad742 100755 --- a/scripts/find_packages.py +++ b/scripts/find_packages.py | |||
@@ -46,7 +46,13 @@ def print_deps(tinfoil, abcd_file, rn): | |||
46 | abcd_file.write(' description: "%s"\n' % description) | 46 | abcd_file.write(' description: "%s"\n' % description) |
47 | abcd_file.write(' homepage_url: "%s"\n' % homepage) | 47 | abcd_file.write(' homepage_url: "%s"\n' % homepage) |
48 | abcd_file.write(' source_artifact:\n') | 48 | abcd_file.write(' source_artifact:\n') |
49 | repos = [] | ||
49 | for src in src_uri: | 50 | for src in src_uri: |
51 | # Strip options. | ||
52 | # TODO: ignore files with apply=false? | ||
53 | semi_pos = src.find(';') | ||
54 | if semi_pos > 0: | ||
55 | src = src[:semi_pos] | ||
50 | if src[0:7] == 'file://': | 56 | if src[0:7] == 'file://': |
51 | # TODO: Get full path of patches and other files within the source | 57 | # TODO: Get full path of patches and other files within the source |
52 | # repo, not just the filesystem? | 58 | # repo, not just the filesystem? |
@@ -55,18 +61,27 @@ def print_deps(tinfoil, abcd_file, rn): | |||
55 | abcd_file.write(' - "%s"\n' % local) | 61 | abcd_file.write(' - "%s"\n' % local) |
56 | else: | 62 | else: |
57 | abcd_file.write(' - "%s"\n' % src) | 63 | abcd_file.write(' - "%s"\n' % src) |
58 | # TODO: Check more than the first and not just git | 64 | if src[0:7] != 'http://' and src[0:8] != 'https://' and src[0:6] != 'ftp://' and src[0:6] != 'ssh://': |
59 | if src_uri and 'git' in src_uri[0]: | 65 | repos.append(src) |
66 | if len(repos) > 1: | ||
67 | print('Multiple repos not fully supported yet. Pacakge: %s' % info.pn) | ||
68 | for repo in repos: | ||
69 | colon_pos = repo.find(':') | ||
60 | abcd_file.write(' vcs:\n') | 70 | abcd_file.write(' vcs:\n') |
61 | abcd_file.write(' type: "git"\n') | 71 | vcs_type = repo[:colon_pos] |
62 | abcd_file.write(' url: "%s"\n' % src_uri[0]) | 72 | if vcs_type == 'gitsm': |
73 | vcs_type = 'git' | ||
74 | abcd_file.write(' type: "%s"\n' % vcs_type) | ||
75 | abcd_file.write(' url: "%s"\n' % repo[colon_pos + 3:]) | ||
76 | # TODO: Actually support multiple repos here: | ||
63 | abcd_file.write(' revision: "%s"\n' % srcrev) | 77 | abcd_file.write(' revision: "%s"\n' % srcrev) |
64 | abcd_file.write(' branch: "%s"\n' % branch) | 78 | abcd_file.write(' branch: "%s"\n' % branch) |
65 | 79 | ||
66 | abcd_file.write(' dependencies:\n') | 80 | abcd_file.write(' dependencies:\n') |
67 | for dep in depends: | 81 | for dep in depends: |
68 | abcd_file.write(' - "%s"\n' % dep) | 82 | abcd_file.write(' - "%s"\n' % dep) |
69 | # TODO: continue nesting here? | 83 | # TODO: search for transitive dependencies here? Each dependency will |
84 | # get checked for its own dependencies sooner or later. | ||
70 | 85 | ||
71 | return depends | 86 | return depends |
72 | 87 | ||