diff --git a/arm/Android.bp b/arm/Android.bp index 1db0055..9eb17be 100644 --- a/arm/Android.bp +++ b/arm/Android.bp @@ -1,104 +1,89 @@ // Automatically generated file. DO NOT MODIFY -// -// This file is generated by device/gapps/arm/setup-makefiles.sh soong_namespace { - imports: [ - "vendor/gapps/common", - ], + imports: ["vendor/gapps/common"], +} + +android_app_import { + name: "GmsCore", + owner: "gapps", + apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, +} + +android_app_import { + name: "Phonesky", + owner: "gapps", + apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, +} + +android_app_import { + name: "SetupWizard", + owner: "gapps", + apk: "proprietary/system_ext/priv-app/SetupWizard/SetupWizard.apk", + overrides: ["Provision"], + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + system_ext_specific: true, +} + +android_app_import { + name: "SpeechServicesByGoogle", + owner: "gapps", + apk: "proprietary/product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + product_specific: true, +} + +android_app_import { + name: "Velvet", + owner: "gapps", + apk: "proprietary/product/priv-app/Velvet/Velvet.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, +} + +android_app_import { + name: "talkback", + owner: "gapps", + apk: "proprietary/product/app/talkback/talkback.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + product_specific: true, } cc_prebuilt_library_shared { - name: "libjni_latinimegoogle", - owner: "gapps", - strip: { - none: true, - }, - target: { - android_arm: { - srcs: ["proprietary/product/lib/libjni_latinimegoogle.so"], - shared_libs: ["libc", "libm", "libc++", "libdl", ], - }, - }, - compile_multilib: "32", - prefer: true, - product_specific: true, + name: "libjni_latinimegoogle", + srcs: ["proprietary/product/lib/libjni_latinimegoogle.so"], + prefer: true, + product_specific: true, } - -android_app_import { - name: "GmsCore", - owner: "gapps", - apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, -} - -android_app_import { - name: "Phonesky", - owner: "gapps", - apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, -} - -android_app_import { - name: "SpeechServicesByGoogle", - owner: "gapps", - apk: "proprietary/product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - product_specific: true, -} - -android_app_import { - name: "talkback", - owner: "gapps", - apk: "proprietary/product/app/talkback/talkback.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - product_specific: true, -} - -android_app_import { - name: "Velvet", - owner: "gapps", - apk: "proprietary/product/priv-app/Velvet/Velvet.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, -} - -android_app_import { - name: "SetupWizard", - owner: "gapps", - apk: "proprietary/system_ext/priv-app/SetupWizard/SetupWizard.apk", - overrides: ["Provision"], - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - system_ext_specific: true, -} - diff --git a/arm/Android.mk b/arm/Android.mk deleted file mode 100644 index be03a9e..0000000 --- a/arm/Android.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Automatically generated file. DO NOT MODIFY -# -# This file is generated by device/gapps/arm/setup-makefiles.sh - -LOCAL_PATH := $(call my-dir) - -ifeq ($(TARGET_ARCH),arm) - -endif diff --git a/arm/BoardConfigVendor.mk b/arm/BoardConfigVendor.mk index 9b6e0bf..733a8bf 100644 --- a/arm/BoardConfigVendor.mk +++ b/arm/BoardConfigVendor.mk @@ -1,4 +1,2 @@ # Automatically generated file. DO NOT MODIFY # -# This file is generated by device/gapps/arm/setup-makefiles.sh - diff --git a/arm/arm-vendor.mk b/arm/arm-vendor.mk index 6cc907c..1ad7ba6 100644 --- a/arm/arm-vendor.mk +++ b/arm/arm-vendor.mk @@ -1,23 +1,20 @@ # Automatically generated file. DO NOT MODIFY # -# This file is generated by device/gapps/arm/setup-makefiles.sh PRODUCT_SOONG_NAMESPACES += \ - vendor/gapps/arm - + $(LOCAL_PATH) PRODUCT_PACKAGES += \ - libjni_latinimegoogle \ GmsCore \ - Phonesky + Phonesky \ + libjni_latinimegoogle ifeq ($(TARGET_IS_GROUPER),) - PRODUCT_PACKAGES += \ + SetupWizard \ SpeechServicesByGoogle \ - talkback \ Velvet \ - SetupWizard + talkback endif $(call inherit-product, vendor/gapps/common/common-vendor.mk) diff --git a/arm64/Android.bp b/arm64/Android.bp index 525fcd3..5646a29 100644 --- a/arm64/Android.bp +++ b/arm64/Android.bp @@ -1,130 +1,115 @@ // Automatically generated file. DO NOT MODIFY -// -// This file is generated by device/gapps/arm64/setup-makefiles.sh soong_namespace { - imports: [ - "vendor/gapps/common", - ], + imports: ["vendor/gapps/common"], +} + +android_app_import { + name: "GmsCore", + owner: "gapps", + apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, +} + +android_app_import { + name: "MarkupGoogle_v2", + owner: "gapps", + apk: "proprietary/product/app/MarkupGoogle_v2/MarkupGoogle_v2.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + product_specific: true, +} + +android_app_import { + name: "Phonesky", + owner: "gapps", + apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, +} + +android_app_import { + name: "SetupWizard", + owner: "gapps", + apk: "proprietary/system_ext/priv-app/SetupWizard/SetupWizard.apk", + overrides: ["Provision"], + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + system_ext_specific: true, +} + +android_app_import { + name: "SpeechServicesByGoogle", + owner: "gapps", + apk: "proprietary/product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + product_specific: true, +} + +android_app_import { + name: "Velvet", + owner: "gapps", + apk: "proprietary/product/priv-app/Velvet/Velvet.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, +} + +android_app_import { + name: "VelvetTitan", + owner: "gapps", + apk: "proprietary/product/priv-app/VelvetTitan/VelvetTitan.apk", + overrides: ["Velvet"], + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, +} + +android_app_import { + name: "talkback", + owner: "gapps", + apk: "proprietary/product/app/talkback/talkback.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + product_specific: true, } cc_prebuilt_library_shared { - name: "libjni_latinimegoogle", - owner: "gapps", - strip: { - none: true, - }, - target: { - android_arm64: { - srcs: ["proprietary/product/lib64/libjni_latinimegoogle.so"], - shared_libs: ["libc", "libm", "libc++", "libdl", ], - }, - }, - compile_multilib: "64", - prefer: true, - product_specific: true, + name: "libjni_latinimegoogle", + srcs: ["proprietary/product/lib64/libjni_latinimegoogle.so"], + prefer: true, + product_specific: true, } - -android_app_import { - name: "GmsCore", - owner: "gapps", - apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, -} - -android_app_import { - name: "Phonesky", - owner: "gapps", - apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, -} - -android_app_import { - name: "MarkupGoogle_v2", - owner: "gapps", - apk: "proprietary/product/app/MarkupGoogle_v2/MarkupGoogle_v2.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - product_specific: true, -} - -android_app_import { - name: "SpeechServicesByGoogle", - owner: "gapps", - apk: "proprietary/product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - product_specific: true, -} - -android_app_import { - name: "talkback", - owner: "gapps", - apk: "proprietary/product/app/talkback/talkback.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - product_specific: true, -} - -android_app_import { - name: "Velvet", - owner: "gapps", - apk: "proprietary/product/priv-app/Velvet/Velvet.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, -} - -android_app_import { - name: "VelvetTitan", - owner: "gapps", - apk: "proprietary/product/priv-app/VelvetTitan/VelvetTitan.apk", - overrides: ["Velvet"], - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, -} - -android_app_import { - name: "SetupWizard", - owner: "gapps", - apk: "proprietary/system_ext/priv-app/SetupWizard/SetupWizard.apk", - overrides: ["Provision"], - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - system_ext_specific: true, -} - diff --git a/arm64/Android.mk b/arm64/Android.mk deleted file mode 100644 index 78d075a..0000000 --- a/arm64/Android.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Automatically generated file. DO NOT MODIFY -# -# This file is generated by device/gapps/arm64/setup-makefiles.sh - -LOCAL_PATH := $(call my-dir) - -ifeq ($(TARGET_ARCH),arm64) - -endif diff --git a/arm64/BoardConfigVendor.mk b/arm64/BoardConfigVendor.mk index f1106eb..733a8bf 100644 --- a/arm64/BoardConfigVendor.mk +++ b/arm64/BoardConfigVendor.mk @@ -1,4 +1,2 @@ # Automatically generated file. DO NOT MODIFY # -# This file is generated by device/gapps/arm64/setup-makefiles.sh - diff --git a/arm64/arm64-vendor.mk b/arm64/arm64-vendor.mk index 2ca96ac..af0154a 100644 --- a/arm64/arm64-vendor.mk +++ b/arm64/arm64-vendor.mk @@ -1,28 +1,26 @@ # Automatically generated file. DO NOT MODIFY # -# This file is generated by device/gapps/arm64/setup-makefiles.sh PRODUCT_SOONG_NAMESPACES += \ - vendor/gapps/arm64 - + $(LOCAL_PATH) PRODUCT_PACKAGES += \ - libjni_latinimegoogle \ GmsCore \ - Phonesky + Phonesky \ + libjni_latinimegoogle ifeq ($(TARGET_IS_GROUPER),) - PRODUCT_PACKAGES += \ MarkupGoogle_v2 \ + SetupWizard \ SpeechServicesByGoogle \ - talkback \ Velvet \ - SetupWizard + talkback endif ifneq ($(filter %tangorpro,$(TARGET_PRODUCT)),) -PRODUCT_PACKAGES += VelvetTitan +PRODUCT_PACKAGES += \ + VelvetTitan endif $(call inherit-product, vendor/gapps/common/common-vendor.mk) diff --git a/common/Android.bp b/common/Android.bp index 3e62741..203e1c6 100644 --- a/common/Android.bp +++ b/common/Android.bp @@ -1,130 +1,229 @@ // Automatically generated file. DO NOT MODIFY -// -// This file is generated by device/gapps/common/setup-makefiles.sh soong_namespace { - imports: [ - ], } android_app_import { - name: "GoogleCalendarSyncAdapter", - owner: "gapps", - apk: "proprietary/product/app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - product_specific: true, + name: "AndroidAutoStub", + owner: "gapps", + apk: "proprietary/product/priv-app/AndroidAutoStub/AndroidAutoStub.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, } android_app_import { - name: "GoogleContactsSyncAdapter", - owner: "gapps", - apk: "proprietary/product/app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - product_specific: true, + name: "GoogleCalendarSyncAdapter", + owner: "gapps", + apk: "proprietary/product/app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + product_specific: true, } android_app_import { - name: "PrebuiltExchange3Google", - owner: "gapps", - apk: "proprietary/product/app/PrebuiltExchange3Google/PrebuiltExchange3Google.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - product_specific: true, + name: "GoogleContactsSyncAdapter", + owner: "gapps", + apk: "proprietary/product/app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + product_specific: true, } android_app_import { - name: "AndroidAutoStub", - owner: "gapps", - apk: "proprietary/product/priv-app/AndroidAutoStub/AndroidAutoStub.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, + name: "GoogleFeedback", + owner: "gapps", + apk: "proprietary/system_ext/priv-app/GoogleFeedback/GoogleFeedback.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + system_ext_specific: true, } android_app_import { - name: "GooglePartnerSetup", - owner: "gapps", - apk: "proprietary/product/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, + name: "GooglePartnerSetup", + owner: "gapps", + apk: "proprietary/product/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, } android_app_import { - name: "GoogleFeedback", - owner: "gapps", - apk: "proprietary/system_ext/priv-app/GoogleFeedback/GoogleFeedback.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - system_ext_specific: true, + name: "GoogleRestore", + owner: "gapps", + apk: "proprietary/product/priv-app/GoogleRestore/GoogleRestore.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, } android_app_import { - name: "GoogleServicesFramework", - owner: "gapps", - apk: "proprietary/system_ext/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - system_ext_specific: true, + name: "GoogleServicesFramework", + owner: "gapps", + apk: "proprietary/system_ext/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + system_ext_specific: true, +} + +android_app_import { + name: "PrebuiltExchange3Google", + owner: "gapps", + apk: "proprietary/product/app/PrebuiltExchange3Google/PrebuiltExchange3Google.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + product_specific: true, +} + +android_app_import { + name: "Wellbeing", + owner: "gapps", + apk: "proprietary/product/priv-app/Wellbeing/Wellbeing.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, } dex_import { - name: "com.google.android.dialer.support", - owner: "gapps", - jars: ["proprietary/product/framework/com.google.android.dialer.support.jar"], - product_specific: true, + name: "com.google.android.dialer.support", + owner: "gapps", + jars: ["proprietary/product/framework/com.google.android.dialer.support.jar"], + product_specific: true, } -android_app_import { - name: "GoogleRestore", - owner: "gapps", - apk: "proprietary/product/priv-app/GoogleRestore/GoogleRestore.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, +prebuilt_etc { + name: "com.google.android.dialer.support.xml", + src: "proprietary/product/etc/permissions/com.google.android.dialer.support.xml", + relative_install_path: "permissions", + filename_from_src: true, + product_specific: true, } -android_app_import { - name: "Wellbeing", - owner: "gapps", - apk: "proprietary/product/priv-app/Wellbeing/Wellbeing.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, +prebuilt_etc { + name: "d2d_cable_migration_feature.xml", + src: "proprietary/product/etc/sysconfig/d2d_cable_migration_feature.xml", + relative_install_path: "sysconfig", + filename_from_src: true, + product_specific: true, } +prebuilt_etc { + name: "default-permissions-google.xml", + src: "proprietary/product/etc/default-permissions/default-permissions-google.xml", + relative_install_path: "default-permissions", + filename_from_src: true, + product_specific: true, +} + +prebuilt_etc { + name: "default-permissions-mtg.xml", + src: "proprietary/product/etc/default-permissions/default-permissions-mtg.xml", + relative_install_path: "default-permissions", + filename_from_src: true, + product_specific: true, +} + +prebuilt_etc { + name: "gapps.rc", + src: "proprietary/product/etc/init/gapps.rc", + relative_install_path: "init", + filename_from_src: true, + product_specific: true, +} + +prebuilt_etc { + name: "gms_fsverity_cert.der", + src: "proprietary/product/etc/security/fsverity/gms_fsverity_cert.der", + relative_install_path: "security", + filename_from_src: true, + product_specific: true, +} + +prebuilt_etc { + name: "google-hiddenapi-package-allowlist.xml", + src: "proprietary/product/etc/sysconfig/google-hiddenapi-package-allowlist.xml", + relative_install_path: "sysconfig", + filename_from_src: true, + product_specific: true, +} + +prebuilt_etc { + name: "google.xml", + src: "proprietary/product/etc/sysconfig/google.xml", + relative_install_path: "sysconfig", + filename_from_src: true, + product_specific: true, +} + +prebuilt_etc { + name: "google_build.xml", + src: "proprietary/product/etc/sysconfig/google_build.xml", + relative_install_path: "sysconfig", + filename_from_src: true, + product_specific: true, +} + +prebuilt_etc { + name: "privapp-permissions-google-product.xml", + src: "proprietary/product/etc/permissions/privapp-permissions-google-product.xml", + relative_install_path: "permissions", + filename_from_src: true, + product_specific: true, +} + +prebuilt_etc { + name: "privapp-permissions-google-system-ext.xml", + src: "proprietary/system_ext/etc/permissions/privapp-permissions-google-system-ext.xml", + relative_install_path: "permissions", + filename_from_src: true, + system_ext_specific: true, +} + +prebuilt_etc { + name: "privapp-permissions-mtg.xml", + src: "proprietary/product/etc/permissions/privapp-permissions-mtg.xml", + relative_install_path: "permissions", + filename_from_src: true, + product_specific: true, +} + +prebuilt_etc { + name: "wellbeing.xml", + src: "proprietary/product/etc/sysconfig/wellbeing.xml", + relative_install_path: "sysconfig", + filename_from_src: true, + product_specific: true, +} diff --git a/common/Android.mk b/common/Android.mk deleted file mode 100644 index 24cade8..0000000 --- a/common/Android.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Automatically generated file. DO NOT MODIFY -# -# This file is generated by device/gapps/common/setup-makefiles.sh - -LOCAL_PATH := $(call my-dir) - -ifneq ($(filter arm arm64 x86_64,$(TARGET_ARCH)),) - -endif diff --git a/common/BoardConfigVendor.mk b/common/BoardConfigVendor.mk index 9ed4296..733a8bf 100644 --- a/common/BoardConfigVendor.mk +++ b/common/BoardConfigVendor.mk @@ -1,4 +1,2 @@ # Automatically generated file. DO NOT MODIFY # -# This file is generated by device/gapps/common/setup-makefiles.sh - diff --git a/common/common-vendor.mk b/common/common-vendor.mk index 779ffae..dc9df43 100644 --- a/common/common-vendor.mk +++ b/common/common-vendor.mk @@ -1,42 +1,43 @@ # Automatically generated file. DO NOT MODIFY # -# This file is generated by device/gapps/common/setup-makefiles.sh PRODUCT_SOONG_NAMESPACES += \ - vendor/gapps/common - -PRODUCT_COPY_FILES += \ - vendor/gapps/common/proprietary/product/etc/default-permissions/default-permissions-google.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions-google.xml \ - vendor/gapps/common/proprietary/product/etc/default-permissions/default-permissions-mtg.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions-mtg.xml \ - vendor/gapps/common/proprietary/product/etc/init/gapps.rc:$(TARGET_COPY_OUT_PRODUCT)/etc/init/gapps.rc \ - vendor/gapps/common/proprietary/product/etc/permissions/com.google.android.dialer.support.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/com.google.android.dialer.support.xml \ - vendor/gapps/common/proprietary/product/etc/permissions/privapp-permissions-google-product.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-google-product.xml \ - vendor/gapps/common/proprietary/product/etc/permissions/privapp-permissions-mtg.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-mtg.xml \ - vendor/gapps/common/proprietary/product/etc/security/fsverity/gms_fsverity_cert.der:$(TARGET_COPY_OUT_PRODUCT)/etc/security/fsverity/gms_fsverity_cert.der \ - vendor/gapps/common/proprietary/product/etc/sysconfig/d2d_cable_migration_feature.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/d2d_cable_migration_feature.xml \ - vendor/gapps/common/proprietary/product/etc/sysconfig/google.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/google.xml \ - vendor/gapps/common/proprietary/product/etc/sysconfig/google_build.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/google_build.xml \ - vendor/gapps/common/proprietary/product/etc/sysconfig/google-hiddenapi-package-allowlist.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/google-hiddenapi-package-allowlist.xml \ - vendor/gapps/common/proprietary/system_ext/etc/permissions/privapp-permissions-google-system-ext.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/privapp-permissions-google-system-ext.xml + $(LOCAL_PATH) PRODUCT_PACKAGES += \ + AndroidAutoStub \ GoogleCalendarSyncAdapter \ GoogleContactsSyncAdapter \ - PrebuiltExchange3Google \ - AndroidAutoStub \ - GooglePartnerSetup \ GoogleFeedback \ + GooglePartnerSetup \ GoogleServicesFramework \ - com.google.android.dialer.support + PrebuiltExchange3Google \ + com.google.android.dialer.support \ + com.google.android.dialer.support.xml \ + d2d_cable_migration_feature.xml \ + default-permissions-google.xml \ + default-permissions-mtg.xml \ + gapps.rc \ + gms_fsverity_cert.der \ + google-hiddenapi-package-allowlist.xml \ + google.xml \ + google_build.xml \ + privapp-permissions-google-product.xml \ + privapp-permissions-google-system-ext.xml \ + privapp-permissions-mtg.xml ifeq ($(TARGET_IS_GROUPER),) -PRODUCT_COPY_FILES += \ - vendor/gapps/common/proprietary/product/etc/sysconfig/wellbeing.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/wellbeing.xml - PRODUCT_PACKAGES += \ GoogleRestore \ - Wellbeing + Wellbeing \ + wellbeing.xml endif -PRODUCT_SOONG_NAMESPACES += vendor/gapps/overlay -PRODUCT_PACKAGES += GmsOverlay GmsSettingsOverlay GmsSettingsProviderOverlay GmsSetupWizardOverlay +PRODUCT_SOONG_NAMESPACES += \ + vendor/gapps/overlay + +PRODUCT_PACKAGES += \ + GmsSettingsOverlay \ + GmsOverlay \ + GmsSettingsProviderOverlay \ + GmsSetupWizardOverlay diff --git a/extract-files.sh b/extract-files.sh deleted file mode 100755 index bb46826..0000000 --- a/extract-files.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2016 The CyanogenMod Project -# Copyright (C) 2017-2021 The LineageOS Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -set -e - -export GAPPS_COMMON=common -export VENDOR=gapps - -# Load extract_utils and do some sanity checks -MY_DIR="${BASH_SOURCE%/*}" -if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi - -ANDROID_ROOT="$MY_DIR/../.." - -export TARGET_ENABLE_CHECKELF=true - -HELPER="$ANDROID_ROOT/tools/extract-utils/extract_utils.sh" -if [ ! -f "$HELPER" ]; then - echo "Unable to find helper script at $HELPER" - exit 1 -fi -. "$HELPER" - -SRC=$1 - -if [ -z "$SRC" ]; then - echo "Path to system dump not specified! Specify one with --path" - exit 1 -fi - -# Initialize the helper for common gapps -setup_vendor "$GAPPS_COMMON" "$VENDOR" "$ANDROID_ROOT" - -extract "$MY_DIR"/proprietary-files-common.txt "$SRC" -extract "$MY_DIR"/proprietary-files-common-nongrouper.txt "$SRC" - -"$MY_DIR"/setup-makefiles.sh diff --git a/proprietary-files-arm64-nongrouper.txt b/proprietary-files-arm64-nongrouper.txt index 1ef5c3c..62ce39c 100644 --- a/proprietary-files-arm64-nongrouper.txt +++ b/proprietary-files-arm64-nongrouper.txt @@ -2,6 +2,5 @@ product/app/MarkupGoogle_v2/MarkupGoogle_v2.apk;PRESIGNED|474ca0e1fb0e6340b64714 product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk;PRESIGNED product/app/talkback/talkback.apk;PRESIGNED product/priv-app/Velvet/Velvet.apk;PRESIGNED -product/priv-app/VelvetTitan/VelvetTitan.apk;OVERRIDES=Velvet;PRESIGNED|bb7c2f3fadfee4dda509daba285fec3dfffeed7e system_ext/priv-app/SetupWizard/SetupWizard.apk;OVERRIDES=Provision;PRESIGNED diff --git a/proprietary-files-arm64-tangorpro.txt b/proprietary-files-arm64-tangorpro.txt new file mode 100644 index 0000000..b31f07f --- /dev/null +++ b/proprietary-files-arm64-tangorpro.txt @@ -0,0 +1 @@ +product/priv-app/VelvetTitan/VelvetTitan.apk;OVERRIDES=Velvet;PRESIGNED|bb7c2f3fadfee4dda509daba285fec3dfffeed7e diff --git a/setup-makefiles.py b/setup-makefiles.py new file mode 100755 index 0000000..5706f9e --- /dev/null +++ b/setup-makefiles.py @@ -0,0 +1,341 @@ +#!/usr/bin/env python3 +from dataclasses import dataclass +from fnmatch import fnmatch +from pathlib import Path +import textwrap +import typing + + +@dataclass +class GappsTarget: + name: str + soong_imports: list[str] + additional_namespaces: list[str] + additional_packages: list[str] + additional_makefiles_to_inherit: list[str] + + +class SoongModule: + def __init__(self): + self.soong_module = type(self).__name__ + + @staticmethod + def _value_to_str(value: typing.Any) -> str: + match value: + case bool(): + return ["false", "true"][value] + case dict(): + ret = "{\n" + + for key, value in value.items(): + ret += f"{indent(SoongModule._prop_to_str(key, value))}\n" + + ret += "}" + + return ret + case list(): + return f'[{", ".join([SoongModule._value_to_str(x) for x in value])}]' + case str(): + return f'"{value}"' + case default: + assert False, f"Unhandled value type: {type(value)}" + + @staticmethod + def _prop_to_str(key: str, value: typing.Any) -> str: + return f"{key}: {SoongModule._value_to_str(value)}," + + def _to_blueprint(self, props: dict) -> str: + ret = f"{self.soong_module} {{\n" + + for key, value in props.items(): + ret += f"{indent(SoongModule._prop_to_str(key, value))}\n" + + ret += "}" + + return ret + + +class SoongPrebuilt(SoongModule): + def __init__(self, install_path: str, flags: dict): + SoongModule.__init__(self) + + self.name = Path(install_path).stem + self.install_path = install_path + self.src = f"proprietary/{install_path}" + self.flags = flags + + def _has_flag(self, key: str) -> bool: + return key in self.flags + + def _flag(self, key: str) -> str | None: + return self.flags.get(key, None) + + def _to_blueprint(self, props: dict) -> str: + partition, _ = self.install_path.split("/", maxsplit=1) + + match partition: + case "system": + pass + case "product": + props["product_specific"] = True + case "system_ext": + props["system_ext_specific"] = True + case _: + assert False, f"Unhandled partition: {partition}" + + return super()._to_blueprint(props) + + +class android_app_import(SoongPrebuilt): + def to_blueprint(self) -> str: + props = { + "name": self.name, + "owner": "gapps", + "apk": self.src, + "overrides": [self._flag("OVERRIDES")], + "preprocessed": True, + "presigned": True, + "dex_preopt": { + "enabled": False, + }, + "privileged": True, + } + + _, apk_dst, _ = self.install_path.split("/", maxsplit=2) + + if apk_dst != "priv-app": + del props["privileged"] + + if not self._has_flag("OVERRIDES"): + del props["overrides"] + + if not self._has_flag("PRESIGNED"): + del props["presigned"] + + return self._to_blueprint(props) + + +class cc_prebuilt_library_shared(SoongPrebuilt): + def to_blueprint(self) -> str: + props = { + "name": self.name, + "srcs": [self.src], + "prefer": True, + } + + return self._to_blueprint(props) + + +class dex_import(SoongPrebuilt): + def to_blueprint(self) -> str: + props = { + "name": self.name, + "owner": "gapps", + "jars": [self.src], + } + + return self._to_blueprint(props) + + +class prebuilt_etc(SoongPrebuilt): + def __init__(self, install_path: str, flags: dict): + super().__init__(install_path, flags) + + self.name += Path(self.install_path).suffix + + def to_blueprint(self) -> str: + props = { + "name": self.name, + "src": self.src, + "relative_install_path": self.install_path.split("/", maxsplit=3)[-2], + "filename_from_src": True, + } + + return self._to_blueprint(props) + + +class soong_namespace(SoongModule): + def __init__(self, imports: list[str]): + super().__init__() + + self.imports = imports + + def to_blueprint(self) -> str: + props = { + "imports": self.imports, + } + + if not self.imports: + del props["imports"] + + return self._to_blueprint(props) + + +def indent(text: str) -> str: + return textwrap.indent(text, " " * 4) + + +def parse_proprietary_file(line: str) -> SoongPrebuilt: + # Format: ORIG_PATH:INSTALL_PATH;FLAGS|SHA1 + + if "|" in line: + line, file_hash = line.split("|") + else: + file_hash = None + + if ";" in line: + line, flags_str = line.split(";", maxsplit=1) + flags = {} + for flag in flags_str.split(";"): + if "=" in flag: + key, value = flag.split("=", maxsplit=1) + else: + key = flag + value = None + flags[key] = value + else: + flags = {} + + if ":" in line: + line, install_path = line.split(":") + else: + install_path = line + + for pattern, blob_type in { + "*.apk": android_app_import, + "*.jar": dex_import, + "*.so": cc_prebuilt_library_shared, + "*/etc/*.*": prebuilt_etc, + }.items(): + if fnmatch(install_path, pattern): + return blob_type(install_path, flags) + else: + assert False, f"Unhandled install path: {install_path}" + + +def parse_proprietary_files(path: str) -> list: + packages = [] + + if Path(path).is_file(): + for line in open(path).readlines(): + line = line.strip() + + if not line: + continue + + if package := parse_proprietary_file(line): + packages.append(package) + + return sorted(packages, key=lambda x: (x.soong_module, x.name)) + + +def generate(targets: list[GappsTarget]) -> None: + for target in targets: + packages = parse_proprietary_files(f"proprietary-files-{target.name}.txt") + packages_nongrouper = parse_proprietary_files( + f"proprietary-files-{target.name}-nongrouper.txt" + ) + packages_tangorpro = parse_proprietary_files( + f"proprietary-files-{target.name}-tangorpro.txt" + ) + packages_all = sorted( + packages + packages_nongrouper + packages_tangorpro, + key=lambda x: (x.soong_module, x.name), + ) + + with open(f"{target.name}/Android.bp", "+wt") as f: + f.write("// Automatically generated file. DO NOT MODIFY\n") + f.write("\n") + + f.write(soong_namespace(target.soong_imports).to_blueprint()) + f.write("\n") + + for package in packages_all: + f.write("\n") + f.write(package.to_blueprint()) + f.write("\n") + + with open(f"{target.name}/BoardConfigVendor.mk", "+wt") as f: + f.write("# Automatically generated file. DO NOT MODIFY\n") + f.write("#\n") + + with open(f"{target.name}/{target.name}-vendor.mk", "+wt") as f: + f.write("# Automatically generated file. DO NOT MODIFY\n") + f.write("#\n") + + def write_list(var: str, items: list[str]): + f.write(f"{var} += \\\n") + f.write(" \\\n".join([indent(x) for x in items])) + f.write("\n") + + f.write("\n") + write_list("PRODUCT_SOONG_NAMESPACES", [f"$(LOCAL_PATH)"]) + + if packages: + f.write("\n") + write_list("PRODUCT_PACKAGES", [x.name for x in packages]) + + if packages_nongrouper: + f.write("\n") + f.write("ifeq ($(TARGET_IS_GROUPER),)\n") + write_list("PRODUCT_PACKAGES", [x.name for x in packages_nongrouper]) + f.write("endif\n") + + if packages_tangorpro: + f.write("\n") + f.write("ifneq ($(filter %tangorpro,$(TARGET_PRODUCT)),)\n") + write_list("PRODUCT_PACKAGES", [x.name for x in packages_tangorpro]) + f.write("endif\n") + + if target.additional_namespaces: + f.write("\n") + write_list("PRODUCT_SOONG_NAMESPACES", target.additional_namespaces) + + if target.additional_packages: + f.write("\n") + write_list("PRODUCT_PACKAGES", target.additional_packages) + + for path in target.additional_makefiles_to_inherit: + f.write("\n") + f.write(f"$(call inherit-product, {path})\n") + + +if __name__ == "__main__": + generate( + [ + GappsTarget( + name="common", + soong_imports=[], + additional_namespaces=["vendor/gapps/overlay"], + additional_packages=[x.name for x in Path("overlay").glob("*Overlay")], + additional_makefiles_to_inherit=[], + ), + GappsTarget( + name="arm", + soong_imports=["vendor/gapps/common"], + additional_namespaces=[], + additional_packages=[], + additional_makefiles_to_inherit=[ + "vendor/gapps/common/common-vendor.mk", + ], + ), + GappsTarget( + name="arm64", + soong_imports=["vendor/gapps/common"], + additional_namespaces=[], + additional_packages=[], + additional_makefiles_to_inherit=[ + "vendor/gapps/common/common-vendor.mk", + ], + ), + GappsTarget( + name="x86_64", + soong_imports=["vendor/gapps/common"], + additional_namespaces=[], + additional_packages=[], + additional_makefiles_to_inherit=[ + "vendor/gapps/common/common-vendor.mk", + ], + ), + ] + ) diff --git a/setup-makefiles.sh b/setup-makefiles.sh deleted file mode 100755 index 8435947..0000000 --- a/setup-makefiles.sh +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2016 The CyanogenMod Project -# Copyright (C) 2017-2021 The LineageOS Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -set -e - -export DEVICE_COMMON=common -export VENDOR=gapps - -# Load extract_utils and do some sanity checks -MY_DIR="${BASH_SOURCE%/*}" -if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi - -ANDROID_ROOT="$MY_DIR/../.." - -export TARGET_ENABLE_CHECKELF=true - -HELPER="$ANDROID_ROOT/tools/extract-utils/extract_utils.sh" -if [ ! -f "$HELPER" ]; then - echo "Unable to find helper script at $HELPER" - exit 1 -fi -. "$HELPER" - -# Initialize the helper for common gapps -setup_vendor "$DEVICE_COMMON" "$VENDOR" "$ANDROID_ROOT" true - -# Copyright headers -write_headers "arm arm64 x86_64" - -# Common gapps -write_makefiles "$MY_DIR"/proprietary-files-common.txt - -# Gapps that are too large for grouper -printf "\n" >> "$PRODUCTMK" -echo "ifeq (\$(TARGET_IS_GROUPER),)" >> "$PRODUCTMK" -write_makefiles "$MY_DIR"/proprietary-files-common-nongrouper.txt -echo "endif" >> "$PRODUCTMK" - -# Overlays -cd overlay -OVERLAYS=$(for dir in $(ls -d */); do echo ${dir%%/}; done) -OVERLAYS=$(echo $OVERLAYS | paste -s -d ' ') -cd - >/dev/null -printf "\n" >> "$PRODUCTMK" -echo "PRODUCT_SOONG_NAMESPACES += vendor/$VENDOR/overlay" >> "$PRODUCTMK" -echo "PRODUCT_PACKAGES += $OVERLAYS" >> "$PRODUCTMK" - -sed -i 's/TARGET_DEVICE/TARGET_ARCH/g' "$ANDROIDMK" - -# We are done with common -write_footers - -for DEVICE in arm arm64 x86_64; do - -# Reinitialize the helper for target gapps -setup_vendor "$DEVICE" "$VENDOR" "$ANDROID_ROOT" - -# Copyright headers and guards -write_headers "$DEVICE" - -write_makefiles "$MY_DIR"/proprietary-files-$DEVICE.txt - -# Gapps that are too large for grouper -printf "\n" >> "$PRODUCTMK" -echo "ifeq (\$(TARGET_IS_GROUPER),)" >> "$PRODUCTMK" -write_makefiles "$MY_DIR"/proprietary-files-$DEVICE-nongrouper.txt -echo "endif" >> "$PRODUCTMK" - -# Workaround for VelvetTitan on tangorpro -if grep -q "VelvetTitan" "$PRODUCTMK"; then - sed -i '/VelvetTitan/d' "$PRODUCTMK" - printf "\n" >> "$PRODUCTMK" - echo "ifneq (\$(filter %tangorpro,\$(TARGET_PRODUCT)),)" >> "$PRODUCTMK" - echo "PRODUCT_PACKAGES += VelvetTitan" >> "$PRODUCTMK" - echo "endif" >> "$PRODUCTMK" -fi - -printf '\n%s\n' "\$(call inherit-product, vendor/gapps/common/common-vendor.mk)" >> "$PRODUCTMK" - -sed -i 's/TARGET_DEVICE/TARGET_ARCH/g' "$ANDROIDMK" - -# We are done with target -write_footers - -done diff --git a/x86_64/Android.bp b/x86_64/Android.bp index 9ac741e..64e4ec5 100644 --- a/x86_64/Android.bp +++ b/x86_64/Android.bp @@ -1,80 +1,65 @@ // Automatically generated file. DO NOT MODIFY -// -// This file is generated by device/gapps/x86_64/setup-makefiles.sh soong_namespace { - imports: [ - "vendor/gapps/common", - ], + imports: ["vendor/gapps/common"], +} + +android_app_import { + name: "GmsCore", + owner: "gapps", + apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, +} + +android_app_import { + name: "Phonesky", + owner: "gapps", + apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, +} + +android_app_import { + name: "SetupWizard", + owner: "gapps", + apk: "proprietary/system_ext/priv-app/SetupWizard/SetupWizard.apk", + overrides: ["Provision"], + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + system_ext_specific: true, +} + +android_app_import { + name: "Velvet", + owner: "gapps", + apk: "proprietary/product/priv-app/Velvet/Velvet.apk", + preprocessed: true, + presigned: true, + dex_preopt: { + enabled: false, + }, + privileged: true, + product_specific: true, } cc_prebuilt_library_shared { - name: "libjni_latinimegoogle", - owner: "gapps", - strip: { - none: true, - }, - target: { - android_x86_64: { - srcs: ["proprietary/product/lib64/libjni_latinimegoogle.so"], - shared_libs: ["libc", "libc++", "libm", "libdl", ], - }, - }, - compile_multilib: "64", - prefer: true, - product_specific: true, + name: "libjni_latinimegoogle", + srcs: ["proprietary/product/lib64/libjni_latinimegoogle.so"], + prefer: true, + product_specific: true, } - -android_app_import { - name: "GmsCore", - owner: "gapps", - apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, -} - -android_app_import { - name: "Phonesky", - owner: "gapps", - apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, -} - -android_app_import { - name: "Velvet", - owner: "gapps", - apk: "proprietary/product/priv-app/Velvet/Velvet.apk", - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - product_specific: true, -} - -android_app_import { - name: "SetupWizard", - owner: "gapps", - apk: "proprietary/system_ext/priv-app/SetupWizard/SetupWizard.apk", - overrides: ["Provision"], - preprocessed: true, - presigned: true, - dex_preopt: { - enabled: false, - }, - privileged: true, - system_ext_specific: true, -} - diff --git a/x86_64/Android.mk b/x86_64/Android.mk deleted file mode 100644 index cca6c3f..0000000 --- a/x86_64/Android.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Automatically generated file. DO NOT MODIFY -# -# This file is generated by device/gapps/x86_64/setup-makefiles.sh - -LOCAL_PATH := $(call my-dir) - -ifeq ($(TARGET_ARCH),x86_64) - -endif diff --git a/x86_64/BoardConfigVendor.mk b/x86_64/BoardConfigVendor.mk index 4412af9..733a8bf 100644 --- a/x86_64/BoardConfigVendor.mk +++ b/x86_64/BoardConfigVendor.mk @@ -1,4 +1,2 @@ # Automatically generated file. DO NOT MODIFY # -# This file is generated by device/gapps/x86_64/setup-makefiles.sh - diff --git a/x86_64/x86_64-vendor.mk b/x86_64/x86_64-vendor.mk index 61ee098..46c7ee0 100644 --- a/x86_64/x86_64-vendor.mk +++ b/x86_64/x86_64-vendor.mk @@ -1,21 +1,18 @@ # Automatically generated file. DO NOT MODIFY # -# This file is generated by device/gapps/x86_64/setup-makefiles.sh PRODUCT_SOONG_NAMESPACES += \ - vendor/gapps/x86_64 - + $(LOCAL_PATH) PRODUCT_PACKAGES += \ - libjni_latinimegoogle \ GmsCore \ - Phonesky + Phonesky \ + libjni_latinimegoogle ifeq ($(TARGET_IS_GROUPER),) - PRODUCT_PACKAGES += \ - Velvet \ - SetupWizard + SetupWizard \ + Velvet endif $(call inherit-product, vendor/gapps/common/common-vendor.mk)