[arch-commits] Commit in android-tools/trunk (3 files)

Anatol Pomozov anatolik at archlinux.org
Sat May 16 03:35:12 UTC 2020


    Date: Saturday, May 16, 2020 @ 03:35:12
  Author: anatolik
Revision: 628148

Use Android's version of boringssl project

This helps to avoid reading a file with commit sha1 and then checking out upstream
with this sha1. We will checkout Android's git repository by its tag directly.

Android removes third_pary directory so we have to adjust CMakeLists.txt and use
system version of the libraries.

Added:
  android-tools/trunk/boringssl-disable-thirdpartydeps.patch
Modified:
  android-tools/trunk/PKGBUILD
  android-tools/trunk/generate_build.rb

----------------------------------------+
 PKGBUILD                               |   16 ++++++++++------
 boringssl-disable-thirdpartydeps.patch |   24 ++++++++++++++++++++++++
 generate_build.rb                      |   10 +++++-----
 3 files changed, 39 insertions(+), 11 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-05-16 02:33:17 UTC (rev 628147)
+++ PKGBUILD	2020-05-16 03:35:12 UTC (rev 628148)
@@ -17,7 +17,7 @@
 makedepends=(git clang gtest ruby cmake ninja go vim)
 provides=(fastboot adb)
 conflicts=(fastboot adb)
-_boringssl_commit=$(curl https://android.googlesource.com/platform/external/boringssl/+/refs/tags/$tag/BORINGSSL_REVISION?format=TEXT | base64 -d)
+#_boringssl_commit=$(curl https://android.googlesource.com/platform/external/boringssl/+/refs/tags/$tag/BORINGSSL_REVISION?format=TEXT | base64 -d)
 source=(git+https://android.googlesource.com/platform/frameworks/base#tag=$tag
         git+https://android.googlesource.com/platform/frameworks/native#tag=$tag
         git+https://android.googlesource.com/platform/system/core#tag=$tag
@@ -27,8 +27,8 @@
         git+https://android.googlesource.com/platform/external/f2fs-tools#tag=$tag
         git+https://android.googlesource.com/platform/external/e2fsprogs#tag=$tag
         git+https://android.googlesource.com/platform/external/avb#tag=$tag
-        #git+https://android.googlesource.com/platform/external/boringssl#tag=$tag
-        git+https://boringssl.googlesource.com/boringssl#commit=$_boringssl_commit
+        git+https://android.googlesource.com/platform/external/boringssl#tag=$tag
+        #git+https://boringssl.googlesource.com/boringssl#commit=$_boringssl_commit
         generate_build.rb
 # deployagent.jar is a library built from Android sources.
 # Building this java library requires a lot of dependencies:
@@ -43,6 +43,7 @@
 #   cp ./target/product/generic/system/framework/deployagent.jar .
         deployagent.jar
         fix_build_core.patch
+        boringssl-disable-thirdpartydeps.patch
         bash_completion.fastboot)
         # Bash completion file was taken from https://github.com/mbrubeck/android-completion
 sha1sums=('SKIP'
@@ -55,9 +56,10 @@
           'SKIP'
           'SKIP'
           'SKIP'
-          '930c5d4b94f7cc09087fe599d4b868e7187abd74'
+          '4aec96639c5a16e75fac907bc5a8ea6a7efca047'
           'd9dfac30245faa0a96968b96f3acd9ad536f4910'
           '70abd4483233ee481490b3369dbdd4977772c57f'
+          '1c025855a3e7ea351685843a0df45c52a7e674dd'
           '7004dbd0c193668827174880de6f8434de8ceaee')
 
 prepare() {
@@ -70,11 +72,13 @@
   cd "$srcdir"/mkbootimg
   sed -i 's|/usr/bin/env python$|/usr/bin/env python2|g' unpack_bootimg.py
 
-  mkdir -p "$srcdir"/boringssl/build
+  cd "$srcdir"/boringssl
+  patch -p1 < ../../boringssl-disable-thirdpartydeps.patch
+  mkdir -p "$srcdir"/boringssl/src/build
 }
 
 build() {
-  (cd "$srcdir"/boringssl/build && cmake -GNinja ..; ninja crypto/libcrypto.a ssl/libssl.a)
+  (cd "$srcdir"/boringssl/src/build && cmake -GNinja ..; ninja crypto/libcrypto.a ssl/libssl.a)
 
   PLATFORM_TOOLS_VERSION="$pkgver-$pkgrel" ./generate_build.rb > build.ninja
   ninja

Added: boringssl-disable-thirdpartydeps.patch
===================================================================
--- boringssl-disable-thirdpartydeps.patch	                        (rev 0)
+++ boringssl-disable-thirdpartydeps.patch	2020-05-16 03:35:12 UTC (rev 628148)
@@ -0,0 +1,24 @@
+commit a05f7bad3f07a4041e7011a629858a8b0921e9e0
+Author: Anatol Pomozov <anatol.pomozov at gmail.com>
+Date:   Fri May 15 20:04:43 2020 -0700
+
+    Do not use third-party dependency as it is missing in Android's version of the repo
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 75bf9981..9ec8e81b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -562,13 +562,6 @@ if(USE_CUSTOM_LIBCXX)
+   target_link_libraries(libcxx libcxxabi)
+ endif()
+ 
+-# Add minimal googletest targets. The provided one has many side-effects, and
+-# googletest has a very straightforward build.
+-add_library(boringssl_gtest third_party/googletest/src/gtest-all.cc)
+-target_include_directories(boringssl_gtest PRIVATE third_party/googletest)
+-
+-include_directories(third_party/googletest/include)
+-
+ # Declare a dummy target to build all unit tests. Test targets should inject
+ # themselves as dependencies next to the target definition.
+ add_custom_target(all_tests)

Modified: generate_build.rb
===================================================================
--- generate_build.rb	2020-05-16 02:33:17 UTC (rev 628147)
+++ generate_build.rb	2020-05-16 03:35:12 UTC (rev 628148)
@@ -113,7 +113,7 @@
   transport_local.cpp
   types.cpp
 )
-libadbd = compile(expand("core/adb", adbdfiles), '-DPLATFORM_TOOLS_VERSION="\"$PLATFORM_TOOLS_VERSION\"" -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/include -Icore/diagnose_usb/include -Icore/adb/crypto/include -Icore/adb/proto -Icore/adb/tls/include', :order_deps => [key_type_h])
+libadbd = compile(expand("core/adb", adbdfiles), '-DPLATFORM_TOOLS_VERSION="\"$PLATFORM_TOOLS_VERSION\"" -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/src/include -Icore/diagnose_usb/include -Icore/adb/crypto/include -Icore/adb/proto -Icore/adb/tls/include', :order_deps => [key_type_h])
 
 apkent_h, apkent_c, apkent_o = protoc("core/adb/fastdeploy/proto/ApkEntry.proto")
 app_processes_h, app_processes_c, app_processes_o = protoc("core/adb/proto/app_processes.proto")
@@ -164,7 +164,7 @@
   tls/adb_ca_list.cpp
   tls/tls_connection.cpp
 )
-libadb = compile(expand("core/adb", adbfiles), "-D_GNU_SOURCE -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/include -Ibase/libs/androidfw/include -Inative/include -Icore/adb/crypto/include -Icore/adb/proto -Icore/adb/tls/include -Icore/adb/pairing_connection/include -Icore/libziparchive/include -Icore/adb/pairing_auth/include",
+libadb = compile(expand("core/adb", adbfiles), "-D_GNU_SOURCE -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/src/include -Ibase/libs/androidfw/include -Inative/include -Icore/adb/crypto/include -Icore/adb/proto -Icore/adb/tls/include -Icore/adb/pairing_connection/include -Icore/libziparchive/include -Icore/adb/pairing_auth/include",
     :order_deps => [apkent_h, key_type_h, app_processes_h, adb_known_hosts_h, pairing_h, deployagent_inc, deployagentscript_inc])
 androidfwfiles = %w(
   LocaleData.cpp
@@ -223,11 +223,11 @@
 libcryptofiles = %w(
   android_pubkey.c
 )
-libcrypto = compile(expand("core/libcrypto_utils", libcryptofiles), "-Icore/libcrypto_utils/include -Iboringssl/include")
+libcrypto = compile(expand("core/libcrypto_utils", libcryptofiles), "-Icore/libcrypto_utils/include -Iboringssl/src/include")
 
 # TODO: make subninja working
-#boringssl = subninja('boringssl/build/', ['ssl/libssl.a'])
-boringssl = ["boringssl/build/crypto/libcrypto.a", "boringssl/build/ssl/libssl.a"]
+#boringssl = subninja('boringssl/src/build/', ['ssl/libssl.a'])
+boringssl = ["boringssl/src/build/crypto/libcrypto.a", "boringssl/src/build/ssl/libssl.a"]
 boringssl_ldflags = "-Wl,--whole-archive " + boringssl.join(" ") + " -Wl,--no-whole-archive"
 
 fastbootfiles = %w(



More information about the arch-commits mailing list