# vendor/partner_gms — PawletOS Bundles a small set of prebuilt FOSS APKs (microG + app stores) into the PawletOS build. Forked from [lineageos4microg/android_vendor_partner_gms](https://github.com/lineageos4microg/android_vendor_partner_gms) and trimmed down for PawletOS — this repo now just documents and installs the apps below; it is no longer kept in sync with upstream. All APKs are official, unmodified prebuilts signed by their original developers (`presigned: true`), so signature spoofing works and the stores can self-update. ## Included apps | App | Package | Purpose | |-----|---------|---------| | GmsCore | `com.google.android.gms` | microG — FOSS reimplementation of Google Play Services | | FakeStore | `com.android.vending` | Empty stub that mocks the Play Store's presence for apps that require it | | GsfProxy | `com.google.android.gsf` | GmsCore proxy for legacy GCM compatibility | | F-Droid | `org.fdroid.fdroid` | FOSS app catalogue | | F-Droid Privileged Extension | `org.fdroid.fdroid.privileged` | Silent install/removal for F-Droid | | Aurora Store | `com.aurora.store` | Play Store client (preload variant) | `apps/FDroid/additional_repos.xml` pre-seeds the microG F-Droid repo. ## How it's wired - **`vendorsetup.sh`** downloads each APK (from GitHub / F-Droid / GitLab) into its `apps/**` folder at sync time. Versions are pinned by the `.version_code` file next to each app (and `.microg_release` for the microG bundle). - **`gms.mk`** adds the modules to `PRODUCT_PACKAGES`. - Each app's **`Android.bp`** imports the APK and, where needed, installs its `privapp-permissions-*.xml` (privileged allowlist) and `default-permissions-*.xml` (runtime pre-grants). ## Signature spoofing Restricted / system-level only. The `FAKE_PACKAGE_SIGNATURE` permission is declared `signature|privileged` by the framework patch in `patches/frameworks/base/`, so **no third-party app can request it**. It is granted only via privapp-permissions to the privileged microG apps that need it (`com.google.android.gms`, `com.android.vending`). ## Maintainer notes When bumping to a new microG release, update the pinned versions: - `.microg_release` - `apps/GMS/GmsCore/.version_code` - `apps/FakeStore/.version_code` Other apps pin their own `.version_code` (`apps/GMS/GsfProxy`, `apps/FDroid`, `apps/FDroid/FDroidPrivilegedExtension`, `apps/AuroraStore`).