Files
PawletOS-Build/example.repo.yml
T
oxmc 53f3bc95c7 patches.mappings: support prefix-strip in addition to exact match
Lets patches be laid out as android/<version>/<real-aosp-path>/*.patch
and still land in the correct project, instead of every patch under a
mapped folder going to one fixed target.
2026-07-04 06:30:46 -07:00

68 lines
3.9 KiB
YAML

# Example repo.yml for environ.py.
#
# Copy this to repo.yml (or point --config at your own copy) and fill in real
# URLs/branches. This example is based on the PawletOS Raspberry Pi manifest:
# android_local_manifest/rpi/repo-shallow.yml
repo:
# Upstream manifest repo passed to `repo init -u`.
url: "https://android.googlesource.com/platform/manifest"
# Tag/branch passed to `repo init -b`. Must match an AOSP release tag.
branch: "android-16.0.0_r4"
# Extra flags appended verbatim to `repo init`.
options:
- "--depth=1" # Shallow clone: history-less checkout, faster/smaller sync.
# Local manifest XML fragments, fetched with `requests` and written into
# <source>/.repo/local_manifests/<key>.xml after `repo init`, before `repo sync`.
# `repo` reads every *.xml file in that directory and layers them on top of
# the upstream manifest (adding projects, removing projects, overriding revisions).
#
# Every key's value is normally a single URL string, downloaded as-is to
# "<key>.xml". The "remove_projects" key is the one exception: it may instead
# be a YAML list of URLs, all downloaded and merged into one "remove_projects.xml",
# combining their child elements and de-duplicating entries that share the
# same tag + name attribute (first occurrence wins). Useful for splitting a
# long <remove-project> list across a common file and a device-specific one.
local_manifests:
# Adds PawletOS's own repo/project definitions common to all devices.
manifest_common_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/pawletos.xml"
# Adds Broadcom vendor projects needed for Raspberry Pi (VideoCore/graphics, etc.).
manifest_brcm_rpi: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/rpi/vendor/brcm_rpi.xml"
# Adds LineageOS projects PawletOS builds on top of.
manifest_lineageos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/vendor/lineageos.xml"
# Adds PawletOS's Raspberry Pi-specific device/project definitions.
manifest_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/rpi/pawletos.xml"
# <remove-project> entries: AOSP projects unused on this target that should
# NOT be synced (saves time/disk; e.g. other-vendor devices, darwin prebuilts).
# Listed as a YAML list so a device-specific removal file can be appended
# alongside the common one, e.g.:
# remove_projects:
# - ".../common/remove_projects.xml"
# - ".../rpi/remove_projects.xml"
remove_projects:
- "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/remove_projects.xml"
patches:
# Directories (relative to source root) to search for patches, used with
# `environ.py --applyPatches`. Each entry is resolved inside the AOSP source
# directory after repo sync. Subdirectory layout mirrors AOSP project paths:
# vendor/pawlet/patches/frameworks/base/*.patch -> applied at frameworks/base/
# vendor/pawlet/patches/packages/apps/Settings/*.patch -> applied at packages/apps/Settings/
dirs:
- vendor/pawlet/patches
# Optional: maps a patch subdirectory to a different AOSP project path, for
# layouts that don't/shouldn't mirror the AOSP tree directly. Two forms:
# - Exact match -> replace the whole subdir; every patch under it applies
# to the one given project:
# android/36: frameworks/base
# - Prefix match (map to "") -> strip the matched prefix and use the rest
# of the path as-is; groups patches by Android version while still
# targeting multiple different AOSP projects underneath:
# android/37: ""
# vendor/pawlet/patches/android/37/frameworks/base/*.patch -> frameworks/base/
# vendor/pawlet/patches/android/37/packages/apps/Settings/*.patch -> packages/apps/Settings/
# mappings:
# android/36: frameworks/base
# android/37: ""