Discussing it with :willdurand on Slack, and he agrees that skipping a non-existent manifest doesn't feel right.
Maybe this is sensible enough (only ignore `features*` missing manifests)
```
diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py
--- a/python/mozbuild/mozbuild/action/langpack_manifest.py
+++ b/python/mozbuild/mozbuild/action/langpack_manifest.py
@@ -343,18 +343,23 @@ def convert_entry_flags_to_platform_code
# 'platforms': ['win', 'mac'],
# 'path': 'chrome/pl/locale/pl/autoconfig/'
# },
# ]
###
def parse_chrome_manifest(path, base_path, chrome_entries):
for entry in parse_manifest(None, path):
if isinstance(entry, Manifest):
+ entry_path = os.path.join(os.path.dirname(path), entry.relpath)
+ # This is needed to work around the hack in browser/locales/jar.mn
+ # from bug 1240628, when there are no localized system add-ons.
+ if entry.relpath.startswith("features") and not os.path.exists(entry_path):
+ continue
parse_chrome_manifest(
- os.path.join(os.path.dirname(path), entry.relpath),
+ entry_path,
base_path,
chrome_entries,
)
elif isinstance(entry, ManifestLocale):
entry_path = os.path.join(
os.path.relpath(os.path.dirname(path), base_path), entry.relpath
)
chrome_entries.append(
```
Bug 1952334 Comment 15 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Discussing it with :willdurand on Slack, and he agrees that skipping a non-existent manifest doesn't feel right.
Maybe this is sensible enough (only ignore `features*` missing manifests)
```diff
diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py
--- a/python/mozbuild/mozbuild/action/langpack_manifest.py
+++ b/python/mozbuild/mozbuild/action/langpack_manifest.py
@@ -343,18 +343,23 @@ def convert_entry_flags_to_platform_code
# 'platforms': ['win', 'mac'],
# 'path': 'chrome/pl/locale/pl/autoconfig/'
# },
# ]
###
def parse_chrome_manifest(path, base_path, chrome_entries):
for entry in parse_manifest(None, path):
if isinstance(entry, Manifest):
+ entry_path = os.path.join(os.path.dirname(path), entry.relpath)
+ # This is needed to work around the hack in browser/locales/jar.mn
+ # from bug 1240628, when there are no localized system add-ons.
+ if entry.relpath.startswith("features") and not os.path.exists(entry_path):
+ continue
parse_chrome_manifest(
- os.path.join(os.path.dirname(path), entry.relpath),
+ entry_path,
base_path,
chrome_entries,
)
elif isinstance(entry, ManifestLocale):
entry_path = os.path.join(
os.path.relpath(os.path.dirname(path), base_path), entry.relpath
)
chrome_entries.append(
```