Currently there is a limit of 500 changes per page, giving us only
those when repopicking a query. By observing the "_more_changes" field
in the response and adding the "start" parameter to the query we can
do pagination and return all changes
Test: repopick -p -Q "branch:lineage-23.0"
Result before: 500 changes
Result after: 1094 changes (correct count as of time of commit)
Change-Id: I00304bc2c87b75cef89a26838da3dd1b1f0e65db
Some DTBOs might use symbols from other DTBOs and require them to be
applied before them.
Sort them based on the __symbols__ and __fixups__ nodes, by creating a
dependency graph.
Change-Id: I40acf5da6b673b636a91f75ae3f3c634f2b5c505
Some OEMs add their own properties to avoid merging incompatible
overlays for different devices with the same QCOM soc.
Change-Id: Ic5b38a122173d8e9ecc1f0f399411cb37acf3150
Incorporate the hash of a combination of all msm-ids, board-ids, and
pmic-ids of the InnerMergedDeviceTree in the final filenames of the
saved InnerMergedDeviceTrees.
Change-Id: I629e1a274b23d71061c547578d1ddbcf92c8cf79
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Use the logging module to log important information to various log
levels: info, debug, warning and error.
- Modify __str__ representations of classes DeviceTree and
InnerMergedDeviceTree for readability in debug logs
- Make parse_dt_files() return instead of yield so as to order all the
filename parsing at one go after the preceding log messages
Use the argparse module to specify script arguments cleanly. Also make
the corresponding change to merge_dtbs.sh to invoke this script with the
correct flags.
Change-Id: Id09d9d7b34cde60eff99876f0c0c4f6643852aee
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
When debugging issues with the script, it helps to not have in the
script's output the fully qualified path names of the DTB and DTBO files
being merged as they are very lengthy. Retain only the relevant parts of
the filnames - the basenames for better readability.
Change-Id: Ia18584fcf9ff173c4b22d4543c83c4091e15b8f8
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Some devices have the same codename but shipped a long time
ago and may not have a current branch set up.
Continue looking up all repositories until a match is found
or no repos are left to check.
For example:
- android_device_amazon_thor
- cm-14.1
- android_device_xiaomi_thor
- lineage-21.0
- android_device_semc_zeus
- jellybean
- android_device_xiaomi_zeus
- lineage-21.0
- android_device_amazon_otter
- cm-12.1
- android_device_shift_otter
- lineage-21.0
Change-Id: Icf9826b31efd872363fdfe73d5a71ff2d06cbe20
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
write() handles XML conversion and file writing internally.
The xml_declaration=True parameter adds the XML header
automatically, eliminating the need for manual string manipulation
Change-Id: Ib8c3fe33e60accad05572c5af0f0b90866a219d9
Signed-off-by: Jyotiraditya Panda <jyotiraditya@aospa.co>
* Bypasses the literally infinite timeout for users who have
limited access to GitHub (before: 2m13.749s, after: 0m14.354s)
* The timeouts should be enough for users who have freedom internet
access, even ADSL network connection shouldn't take that long...
Test:
1. Execute `source build/envsetup.sh`
2. `breakfast` a existing device
3. Add "0.0.0.1 github.com" and "0.0.0.1 raw.githubusercontent.com"
to /etc/hosts
4. `breakfast` any device, observe that it should not take up to
minutes to quit
Change-Id: Ib90e69c75a50e66b47e6245cb6d0521351b5c71b
* In local build environments, we may want roomservice to
not mess with the repos and local_manifests
Change-Id: I83014fdedbfdcd9f731463954a8779cf6d1f4cbf
Jobs such as check for already picked changes only need to be done once
for each git repository, but it was lunched every time picking a commit.
Change-Id: I87b3fea101dbcedb38502015fe9a9af5f25b397c
* Use the builtin approach to decode text output
* Drop unnecessary system shell usage
* Use subprocess.run when we don't need its stdout
Change-Id: Ibb2aeae442b5e97828fe4e0eb783e6512288d245
* Recursively extend the fallback branches mechanism to any
layer of dependencies.
* Instead of forcing a dependency to use the fallback branch,
check for each repository if the current one is available.
* Always write the revision in the manifest entry
Change-Id: I37a4aa094de51e9f58e72851f3bc9dc4767dd79b