MartinX3-AndroidDevelopment / bug_tracker

Empty repository that is used as a bugtracker for MartinX3s Android Development
GNU Affero General Public License v3.0
1 stars 3 forks source link

[FEATURE] Stay on kernel 4.9 until 4.14 becomes daily driver usable #28

Closed MartinX3 closed 5 years ago

MartinX3 commented 5 years ago

Is your feature request related to a problem? Please describe. Stay on kernel 4.9 until 4.14 becomes daily driver usable

Describe the solution you'd like Stay on kernel 4.9 until 4.14 becomes daily driver usable

Describe alternatives you've considered None

Additional context https://github.com/sonyxperiadev/device-sony-tama/blob/master/platform.mk Set SOMC_KERNEL_VERSION to 4.9 in platform.mk of the board repo which sets TARGET_KERNEL_VERSION if it changes to the default value 4.14 in the future

https://github.com/sonyxperiadev/local_manifests Switch back to LE.UM.2.3.2.r1.4.xml And switch back to 2.3 or 7.3 branches Like here https://github.com/sonyxperiadev/local_manifests/commit/91c8fe586475535c5d64acd35bde8e92468b9dc8#diff-767b3adf2517b5959e6a28bc97d7fc2eL12

Revert https://github.com/sonyxperiadev/local_manifests/commit/91c8fe586475535c5d64acd35bde8e92468b9dc8 https://github.com/sonyxperiadev/local_manifests/commit/52af0a25c9d863179068d912ff1e231639f8de43 https://github.com/sonyxperiadev/device-sony-common/commit/249de5c1ad0ea282ad58d0625993cac78c00193a

Any useful PR? https://github.com/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+author%3AMarijnS95+archived%3Afalse+sort%3Aupdated-desc+org%3Asonyxperiadev

PS: Used this issue tracker to gather more informations what to revert https://github.com/sonyxperiadev/bug_tracker/issues/456

Patch:

 diff --git a/qcom.xml b/qcom.xml
 index 7077e28..402bc23 100644
 --- a/qcom.xml
 +++ b/qcom.xml
 @@ -9,7 +9,7 @@

  <project path="hardware/qcom/gps" name="platform/hardware/qcom/sdm845/gps" remote="aosp" groups="qcom_sdm845" revision="master" />

 -<project path="hardware/qcom/display/sde" name="hardware-qcom-display" groups="device" remote="sony" revision="aosp/LA.UM.7.1.r1" />
 +<project path="hardware/qcom/display/sde" name="hardware-qcom-display" groups="device" remote="sony" revision="aosp/LA.UM.7.3.r1" />
  <project path="hardware/qcom/media/sm8150" name="hardware-qcom-media" groups="device" remote="sony" revision="aosp/LA.UM.7.1.r1" />

  <project path="hardware/qcom/media/sdm845" name="platform/hardware/qcom/sdm845/media" groups="qcom_sdm845" remote="aosp" revision="master" />
 @@ -21,8 +21,7 @@
  <project path="vendor/qcom/opensource/dataservices" name="vendor-qcom-opensource-dataservices" groups="device" remote="sony" revision="master" />
  <project path="vendor/qcom/opensource/location" name="vendor-qcom-opensource-location" groups="device" remote="sony" revision="p-mr0" />
  <project path="vendor/qcom/opensource/wlan" name="hardware-qcom-wlan" groups="device" remote="sony" revision="master" />
 -<project path="vendor/qcom/opensource/display-commonsys-intf" name="vendor-qcom-opensource-commonsys-intf-display" groups="device" remote="sony" revision="aosp/LA.UM.7.1.r1" />
 -<project path="vendor/qcom/opensource/interfaces" name="vendor-qcom-opensource-interfaces" groups="device" remote="sony" revision="aosp/LA.UM.7.1.r1" >
 +<project path="vendor/qcom/opensource/interfaces" name="vendor-qcom-opensource-interfaces" groups="device" remote="sony" revision="aosp/LA.UM.7.3.r1" >
    <linkfile dest="vendor/qcom/opensource/Android.bp" src="os_pickup.bp" />
  </project>
  </manifest>

Buildscript:

 #!/bin/bash
 set -e

 Q_CUSTOM=/home/stefan/android/q
 SOURCES=/home/stefan/android/source

 USED_MSM="msm-4.9"
 NOT_USED_MSM="msm-4.14"

 pick_pr() {
     local PR_ID=$1
     local COMMITS=$2
     local INDEX=$(($COMMITS - 1))

     git fetch sony pull/$PR_ID/head

     while [ $INDEX -ge 0 ]; do
         git cherry-pick -Xtheirs --no-edit FETCH_HEAD~$INDEX
         INDEX=$(($INDEX - 1))
     done
 }

 cd $SOURCES

 if [ -d kernel/sony/$NOT_USED_MSM ]; then 
    rm -r kernel/sony/$NOT_USED_MSM
 fi

 pushd device/sony/common
     git reset --hard sony/master
 popd

 pushd device/sony/yoshino
     git reset --hard sony/master
 popd

 pushd vendor/oss/transpower
     git reset --hard sony/master
 popd

 if [ -d vendor/opengapps/sources/all ]; then
     pushd vendor/opengapps/sources/all
         git reset --hard gitlab/master
     popd
 fi

 # ----------------------------------------------------------------------
 # Manifest adjustments
 # ----------------------------------------------------------------------
 pushd .repo/manifests
     git checkout .
     git pull

     # ----------------------------------------------------------------------
     # Include opengapps repos
     # ----------------------------------------------------------------------
     patch -p1 <<EOF
 diff --git a/default.xml b/default.xml
 index 18983252..134ba366 100644
 --- a/default.xml
 +++ b/default.xml
 @@ -768,4 +768,14 @@

    <repo-hooks in-project="platform/tools/repohooks" enabled-list="pre-upload" />

 +  <remote name="opengapps" fetch="https://github.com/MarijnS95/"  />
 +  <remote name="gitlab" fetch="https://gitlab.opengapps.org/opengapps/"  />
 +
 +  <project path="vendor/opengapps/build" name="opengapps_aosp_build" revision="master" remote="opengapps" />
 +
 +  <project path="vendor/opengapps/sources/all" name="all" clone-depth="1" revision="master" remote="gitlab" />
 +
 +  <!-- arm64 depends on arm -->
 +  <project path="vendor/opengapps/sources/arm" name="arm" clone-depth="1" revision="master" remote="gitlab" />
 +  <project path="vendor/opengapps/sources/arm64" name="arm64" clone-depth="1" revision="master" remote="gitlab" />
  </manifest>
 EOF
 popd

 # ----------------------------------------------------------------------
 # Local manifest adjustments
 # ----------------------------------------------------------------------
 pushd .repo/local_manifests
     git checkout .
     git pull
     rm LA.UM.7.1.r1.xml

     # ----------------------------------------------------------------------
     # qcom.xml for kernel 4.9
     # ----------------------------------------------------------------------
     patch -p1 <<EOF
 diff --git a/qcom.xml b/qcom.xml
 index 7077e28..402bc23 100644
 --- a/qcom.xml
 +++ b/qcom.xml
 @@ -9,7 +9,7 @@

  <project path="hardware/qcom/gps" name="platform/hardware/qcom/sdm845/gps" remote="aosp" groups="qcom_sdm845" revision="master" />

 -<project path="hardware/qcom/display/sde" name="hardware-qcom-display" groups="device" remote="sony" revision="aosp/LA.UM.7.1.r1" />
 +<project path="hardware/qcom/display/sde" name="hardware-qcom-display" groups="device" remote="sony" revision="aosp/LA.UM.7.3.r1" />
  <project path="hardware/qcom/media/sm8150" name="hardware-qcom-media" groups="device" remote="sony" revision="aosp/LA.UM.7.1.r1" />

  <project path="hardware/qcom/media/sdm845" name="platform/hardware/qcom/sdm845/media" groups="qcom_sdm845" remote="aosp" revision="master" />
 @@ -21,8 +21,7 @@
  <project path="vendor/qcom/opensource/dataservices" name="vendor-qcom-opensource-dataservices" groups="device" remote="sony" revision="master" />
  <project path="vendor/qcom/opensource/location" name="vendor-qcom-opensource-location" groups="device" remote="sony" revision="p-mr0" />
  <project path="vendor/qcom/opensource/wlan" name="hardware-qcom-wlan" groups="device" remote="sony" revision="master" />
 -<project path="vendor/qcom/opensource/display-commonsys-intf" name="vendor-qcom-opensource-commonsys-intf-display" groups="device" remote="sony" revision="aosp/LA.UM.7.1.r1" />
 -<project path="vendor/qcom/opensource/interfaces" name="vendor-qcom-opensource-interfaces" groups="device" remote="sony" revision="aosp/LA.UM.7.1.r1" >
 +<project path="vendor/qcom/opensource/interfaces" name="vendor-qcom-opensource-interfaces" groups="device" remote="sony" revision="aosp/LA.UM.7.3.r1" >
    <linkfile dest="vendor/qcom/opensource/Android.bp" src="os_pickup.bp" />
  </project>
  </manifest>
 EOF

     # ----------------------------------------------------------------------
     # 4.9 kernel-repos
     # ----------------------------------------------------------------------
     cat >LE.UM.2.3.2.r1.4.xml <<EOF
 <?xml version="1.0" encoding="UTF-8"?>
 <manifest>
 <remote name="sony" fetch="https://github.com/sonyxperiadev/" />
 <remote name="marijns95" fetch="https://github.com/MarijnS95/" />
 <project path="kernel/sony/msm-4.9/common-headers" name="device-sony-common-headers" groups="device" remote="sony" revision="aosp/LE.UM.2.3.2.r1.4" />
 <project path="kernel/sony/msm-4.9/common-kernel" name="kernel-sony-msm-4.9-common" groups="device" remote="marijns95" revision="aosp/LE.UM.2.3.2.r1.4" clone-depth="1" />
 <project path="kernel/sony/msm-4.9/kernel" name="kernel" groups="device" remote="sony" revision="aosp/LE.UM.2.3.2.r1.4" />
 <project path="kernel/sony/msm-4.9/kernel/arch/arm64/configs/sony" name="kernel-defconfig" groups="device" remote="sony" revision="aosp/LE.UM.2.3.2.r1.4" />
 <project path="kernel/sony/msm-4.9/kernel/drivers/staging/wlan-qc/fw-api" name="vendor-qcom-opensource-wlan-fw-api" groups="device" remote="sony" revision="aosp/LA.UM.7.3.r1" />
 <project path="kernel/sony/msm-4.9/kernel/drivers/staging/wlan-qc/qca-wifi-host-cmn" name="vendor-qcom-opensource-wlan-qca-wifi-host-cmn" groups="device" remote="sony" revision="aosp/LA.UM.7.3.r1" />
 <project path="kernel/sony/msm-4.9/kernel/drivers/staging/wlan-qc/qcacld-3.0" name="vendor-qcom-opensource-wlan-qcacld-3.0" groups="device" remote="sony" revision="aosp/LA.UM.7.3.r1" />
 </manifest>    
 EOF
 popd

 ./repo_update.sh

 if [ -d kernel/sony/$NOT_USED_MSM ]; then 
    rm -r kernel/sony/$NOT_USED_MSM
 fi

 pushd device/sony/common
     sed -i 's/TARGET_VENDOR_VERSION := .*/TARGET_VENDOR_VERSION := v9/1' common-odm.mk
     sed -i 's/QCOM_NEW_MEDIA_PLATFORM := .*/QCOM_NEW_MEDIA_PLATFORM := sdm845 sm8150/1' hardware/qcom/Android.mk
 popd

 pushd device/sony/yoshino
     sed -i 's/SOMC_KERNEL_VERSION := .*/SOMC_KERNEL_VERSION := 4.9/1' platform.mk
 popd

 pushd vendor/oss/transpower
     # [Android-10] Telephony: Do not instantiate PhoneStateListener with subId
     pick_pr 10 1
 popd

 # ----------------------------------------------------------------------
 # opengapps permissions-google
 # ----------------------------------------------------------------------
 pushd vendor/opengapps/sources/all
     patch -p1 <<EOF
 diff --git a/etc/permissions/privapp-permissions-google.xml b/etc/permissions/privapp-permissions-google.xml
 index 0b46f07..2d2e5cd 100644
 --- a/etc/permissions/privapp-permissions-google.xml
 +++ b/etc/permissions/privapp-permissions-google.xml
 @@ -81,12 +81,14 @@ It allows additional grants on top of privapp-permissions-platform.xml
          <permission name="android.permission.MANAGE_USERS"/>
          <permission name="android.permission.PACKAGE_USAGE_STATS"/>
          <permission name="android.permission.PACKAGE_VERIFICATION_AGENT"/>
 +        <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
          <permission name="android.permission.READ_RUNTIME_PROFILES"/>
          <permission name="android.permission.REAL_GET_TASKS"/>
 -        <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
 -        <permission name="android.permission.REBOOT" />
 +        <permission name="android.permission.REBOOT"/>
 +        <permission name="android.permission.SEND_DEVICE_CUSTOMIZATION_READY"/>
          <permission name="android.permission.SEND_SMS_NO_CONFIRMATION"/>
          <permission name="android.permission.SET_PREFERRED_APPLICATIONS"/>
 +        <permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
          <permission name="android.permission.STATUS_BAR"/>
          <permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
          <permission name="android.permission.UPDATE_DEVICE_STATS"/>
 @@ -297,6 +299,7 @@ It allows additional grants on top of privapp-permissions-platform.xml
          <permission name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
          <permission name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
          <permission name="android.permission.CONTROL_DISPLAY_SATURATION"/>
 +        <permission name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"/>
          <permission name="android.permission.DISPATCH_PROVISIONING_MESSAGE"/>
          <permission name="android.permission.DUMP"/>
          <permission name="android.permission.GET_APP_OPS_STATS"/>
 @@ -305,7 +308,7 @@ It allows additional grants on top of privapp-permissions-platform.xml
          <permission name="android.permission.INVOKE_CARRIER_SETUP"/>
          <permission name="android.permission.LOCAL_MAC_ADDRESS"/>
          <permission name="android.permission.LOCATION_HARDWARE"/>
 -        <permission name="android.permission.MANAGE_ACTIVITY_STACKS"/>
 +        <permission name="android.permission.LOCK_DEVICE"/>
          <permission name="android.permission.MANAGE_DEVICE_ADMINS"/>
          <permission name="android.permission.MANAGE_SOUND_TRIGGER"/>
          <permission name="android.permission.MANAGE_SUBSCRIPTION_PLANS"/>
 @@ -331,12 +334,16 @@ It allows additional grants on top of privapp-permissions-platform.xml
          <permission name="android.permission.RECOVER_KEYSTORE"/>
          <permission name="android.permission.RECOVERY"/>
          <permission name="android.permission.REGISTER_CALL_PROVIDER"/>
 +        <permission name="android.permission.REMOTE_DISPLAY_PROVIDER"/>
 +        <permission name="android.permission.RESET_PASSWORD"/>
          <permission name="android.permission.SCORE_NETWORKS"/>
          <permission name="android.permission.SEND_SMS_NO_CONFIRMATION"/>
          <permission name="android.permission.SET_TIME"/>
          <permission name="android.permission.SET_TIME_ZONE"/>
 +        <permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
          <permission name="android.permission.START_TASKS_FROM_RECENTS"/>
          <permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
 +        <permission name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"/>
          <permission name="android.permission.TETHER_PRIVILEGED"/>
          <permission name="android.permission.UPDATE_APP_OPS_STATS"/>
          <permission name="android.permission.USE_RESERVED_DISK"/>
 @@ -437,14 +444,25 @@ It allows additional grants on top of privapp-permissions-platform.xml
          <permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
      </privapp-permissions>

 +    <privapp-permissions package="com.google.android.permissioncontroller">
 +        <permission name="android.permission.MANAGE_USERS"/>
 +        <permission name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"/>
 +        <permission name="android.permission.GET_APP_OPS_STATS"/>
 +        <permission name="android.permission.UPDATE_APP_OPS_STATS"/>
 +        <permission name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL"/>
 +        <permission name="android.permission.APPROVE_INCIDENT_REPORTS"/>
 +        <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
 +        <permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
 +    </privapp-permissions>
 +
      <privapp-permissions package="com.google.android.packageinstaller">
 -        <permission name="android.permission.CLEAR_APP_CACHE"/>
          <permission name="android.permission.DELETE_PACKAGES"/>
          <permission name="android.permission.INSTALL_PACKAGES"/>
 +        <permission name="android.permission.USE_RESERVED_DISK"/>
          <permission name="android.permission.MANAGE_USERS"/>
 -        <permission name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"/>
          <permission name="android.permission.UPDATE_APP_OPS_STATS"/>
 -        <permission name="android.permission.USE_RESERVED_DISK"/>
 +        <permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
 +        <permission name="android.permission.PACKAGE_USAGE_STATS"/>
      </privapp-permissions>

      <privapp-permissions package="com.google.android.partnersetup">
 @@ -488,11 +506,12 @@ It allows additional grants on top of privapp-permissions-platform.xml
          <permission name="android.permission.PERFORM_CDMA_PROVISIONING"/>
          <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
          <permission name="android.permission.REBOOT"/>
 -        <permission name="android.permission.REQUEST_NETWORK_SCORES"/>
          <permission name="android.permission.SET_TIME"/>
          <permission name="android.permission.SET_TIME_ZONE"/>
          <permission name="android.permission.SHUTDOWN"/>
          <permission name="android.permission.STATUS_BAR"/>
 +        <permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
 +        <permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
          <permission name="android.permission.WRITE_APN_SETTINGS"/>
          <permission name="android.permission.WRITE_SECURE_SETTINGS"/>
      </privapp-permissions>
 @@ -576,10 +595,14 @@ It allows additional grants on top of privapp-permissions-platform.xml
      </privapp-permissions>

      <privapp-permissions package="com.google.android.apps.wellbeing">
 +        <permission name="android.permission.ACCESS_INSTANT_APPS"/>
 +        <permission name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"/>
          <permission name="android.permission.CONTROL_DISPLAY_SATURATION"/>
 +        <permission name="android.permission.INTERACT_ACROSS_PROFILES"/>
          <permission name="android.permission.MODIFY_PHONE_STATE"/>
          <permission name="android.permission.OBSERVE_APP_USAGE"/>
          <permission name="android.permission.PACKAGE_USAGE_STATS"/>
 +        <permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
          <permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
          <permission name="android.permission.SUSPEND_APPS"/>
          <permission name="android.permission.WRITE_SECURE_SETTINGS"/>
 EOF
 popd

 # ----------------------------------------------------------------------
 # customization to build opengapps
 # ----------------------------------------------------------------------
 if [ -d device/sony/customization/ ]; then
     rm -r device/sony/customization
 fi
 mkdir device/sony/customization
 cat >device/sony/customization/customization.mk <<EOF
 GAPPS_VARIANT := pico

 GAPPS_PRODUCT_PACKAGES += \\
     GooglePackageInstaller \\
     GooglePermissionController \\
     SetupWizard

 WITH_DEXPREOPT := true

 \$(call inherit-product, vendor/opengapps/build/opengapps-packages.mk)
 EOF

 # ----------------------------------------------------------------------
 # Copy required apks for android 10 from crosshatch not yet in opengapps
 # The apks can be eobtained from a pixel 10 image e.g. crosshatch from:
 # https://developers.google.com/android/images
 # ----------------------------------------------------------------------
 # PackageInstaller
 # ----------------------------------------------------------------------
 if [ -d vendor/opengapps/sources/all/priv-app/com.google.android.packageinstaller/29 ]; then
     rm -r vendor/opengapps/sources/all/priv-app/com.google.android.packageinstaller/29
 fi
 mkdir -p vendor/opengapps/sources/all/priv-app/com.google.android.packageinstaller/29/nodpi
 cp $Q_CUSTOM/GooglePackageInstaller.apk vendor/opengapps/sources/all/priv-app/com.google.android.packageinstaller/29/nodpi/29.apk

 # ----------------------------------------------------------------------
 # PermissionController
 # ----------------------------------------------------------------------
 if [ -d vendor/opengapps/sources/arm64/app/com.google.android.permissioncontroller/29 ]; then
     rm -r vendor/opengapps/sources/arm64/app/com.google.android.permissioncontroller/29
 fi
 mkdir -p vendor/opengapps/sources/arm64/app/com.google.android.permissioncontroller/29/nodpi
 cp $Q_CUSTOM/GooglePermissionControllerPrebuilt.apk vendor/opengapps/sources/arm64/app/com.google.android.permissioncontroller/29/nodpi/291601200.apk

 # ----------------------------------------------------------------------
 # SetupWizard
 # ----------------------------------------------------------------------
 if [ -d vendor/opengapps/sources/all/priv-app/com.google.android.setupwizard.default/29 ]; then
     rm -r vendor/opengapps/sources/all/priv-app/com.google.android.setupwizard.default/29
 fi
 mkdir -p vendor/opengapps/sources/all/priv-app/com.google.android.setupwizard.default/29/nodpi
 cp $Q_CUSTOM/SetupWizardPrebuilt.apk vendor/opengapps/sources/all/priv-app/com.google.android.setupwizard.default/29/nodpi/2436.apk

 . build/envsetup.sh
 lunch aosp_g8441-userdebug

 pushd kernel/sony/$USED_MSM/common-kernel
     sed -i 's/PLATFORMS=.*/PLATFORMS=yoshino/1' build-kernels-clang.sh
     sed -i 's/YOSHINO=.*/YOSHINO=lilac/1' build-kernels-clang.sh
     find . -name "*dtb*" -exec rm "{}" \;
     ./build-kernels-clang.sh
 popd

 make clean
 make -j4
MartinX3 commented 5 years ago

Closed because regarding my limited resources as a volunteer I'll focus on Q 4.14 test builds to speed up the SODP development.

stefanhh0 commented 5 years ago

Just linking here the build.sh, in case someone is interested: https://github.com/stefanhh0/aosp-10/blob/master/build.sh