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
* For every commit, repopick checks the last commits for the presence of
the commits to be picked
* In every project a change should go in, it calls "git rev-list --count"
to find the maximum amount of commits to be searched, but it only cares
if there are less (or equal) commits at all than to be checked
* Therefore, we can limit the counting to one more than we want to check
* This is relevant for example for fw/b, where there is a huge amount of
changes and therefore a lot of time used to count
* Example: fw/b
git rev-list --count HEAD: 46.693s
git rev-list --count --max-count=1000 : 0.019s
* Real-life example:
repopick -t qs-lightmode
Old: 2m33.375s
New: 0m6.657s
Change-Id: If0500574fb282e332996b606dd9926841f8e0e88
breakfast may get stuck if the first breakfast for a target is
interrupted before cloning but after adding repositories to local
manifest. Re-doing breakfast skips syncing the repositories if
they're added to the manifest even if not cloned.
Change-Id: Ifefd08fa6da8785c1d5de0b27ac1a08a782f21d6
* Move $PATCHELF exporting from oat2dex to setup_vendor
* Since it requires $HOST to be set, let's make it global, so oat2dex can also use it
Change-Id: I4556a3c19cd01c9b3a68d358d19a361217d9c3c1