Providing `roomservice.xml` breaks build, patch provided
Summary
I'm building /e/OS for a yet unsupported Xiaomi device, which requires some custom vendor/device/kernel repositories that I'm experimentally providing to registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community
through local_manifests/roomservice.xml
. However, src/R/vendor/lineage/build/tools/roomservice.py
is aborting the build with the following error:
Adding dependencies to manifest
Checking if hardware/xiaomi is fetched from android_hardware_xiaomi
Adding dependency: android_hardware_xiaomi -> hardware/xiaomi
Traceback (most recent call last):
File "vendor/lineage/build/tools/roomservice.py", line 296, in <module>
fetch_dependencies(repo_path)
File "vendor/lineage/build/tools/roomservice.py", line 288, in fetch_dependencies
fetch_dependencies(deprepo)
File "vendor/lineage/build/tools/roomservice.py", line 279, in fetch_dependencies
add_to_manifest(fetch_list, fallback_branch)
File "vendor/lineage/build/tools/roomservice.py", line 228, in add_to_manifest
if repos_from_e and is_on_e(repo_name):
NameError: global name 'repos_from_e' is not defined
The issue can be easily fixed by making sure repos_from_e
is defined, which allows the build to finish successfully (and the resulting build works on hardware, I'll hopefully be able to share it as an unofficial build soon). Here's the fix in patch form for android_vendor_lineage
:
diff --git a/build/tools/roomservice.py b/build/tools/roomservice.py
index f337b1c4..d4de74cf 100755
--- a/build/tools/roomservice.py
+++ b/build/tools/roomservice.py
@@ -68,6 +68,8 @@ try:
except:
githubauth = None
+repos_from_e = False
+
def getRepos():
global repos_from_e
repos_from_e = True
I'm submitting this here, since I don't have access to push to or fork the https://gitlab.e.foundation/e/os/android_vendor_lineage repository to make a proper pull request. Is there a way to contribute future improvements more directly? Do you prefer forks and PRs or promoting people to developers with permissions to submit MRs? I did read through the documentation, but the development/contribution workflow isn't explained in much detail (except for ROM maintainers).