diff options
Diffstat (limited to 'testing/android-tools')
-rw-r--r-- | testing/android-tools/APKBUILD | 86 | ||||
-rw-r--r-- | testing/android-tools/generate_build.rb | 415 | ||||
-rw-r--r-- | testing/android-tools/musl-fixes.patch | 199 |
3 files changed, 12 insertions, 688 deletions
diff --git a/testing/android-tools/APKBUILD b/testing/android-tools/APKBUILD index 68d8d50f7a..6042cfa547 100644 --- a/testing/android-tools/APKBUILD +++ b/testing/android-tools/APKBUILD @@ -3,95 +3,33 @@ pkgname=android-tools pkgver=8.1.0_p7 _realver=${pkgver/_p/_r} -# See https://android.googlesource.com/platform/external/boringssl/+/$_realver/BORINGSSL_REVISION -_boringssl=14308731e5446a73ac2258688a9688b524483cb6 -pkgrel=0 +pkgrel=1 pkgdesc="Android platform tools" url="http://tools.android.com/" arch="all !x86 !s390x" # build fails on x86 license="Apache-2.0 MIT" depends="" depends_dev="" -makedepends="zlib-dev pcre2-dev linux-headers bsd-compat-headers go perl - ruby gtest-dev cmake ninja clang clang-dev libressl-dev libusb-dev" -source="https://dev.alpinelinux.org/archive/$pkgname/$pkgname-core-$_realver.tar.gz - https://dev.alpinelinux.org/archive/$pkgname/$pkgname-extras-$_realver.tar.gz - https://dev.alpinelinux.org/archive/$pkgname/$pkgname-selinux-$_realver.tar.gz - https://dev.alpinelinux.org/archive/$pkgname/$pkgname-f2fs-tools-$_realver.tar.gz - https://dev.alpinelinux.org/archive/$pkgname/$pkgname-e2fsprogs-$_realver.tar.gz - - $pkgname-boringssl-$_realver.tar.gz::https://github.com/google/boringssl/archive/$_boringssl.tar.gz - - musl-fixes.patch - generate_build.rb - " - -_giturl="https://android.googlesource.com/platform" -_gittag="android-$_realver" - -builddir="$srcdir" -patch_args="-p0" - -snapshot() { - mkdir -p "$srcdir" && cd "$srcdir" - - local r= - for r in system/core system/extras external/selinux external/f2fs-tools external/e2fsprogs; do - local n="${r##*/}.git" - local f=$pkgname-"${r##*/}" - - if [ -d "$n" ]; then - git --git-dir $n fetch || return 1 - else - git clone --bare $_giturl/$r || return 1 - fi - - git --git-dir $n archive --prefix ${f#$pkgname-}/ -o "$srcdir"/$f-$_realver.tar.gz $_gittag - done - scp "$srcdir"/$pkgname-*-$_realver.tar.gz dev.alpinelinux.org:/archive/$pkgname/ -} - -prepare() { - default_prepare - - cd "$builddir" - ln -s boringssl-$_boringssl boringssl - - PKGVER=$_realver \ - CFLAGS="$CFLAGS -Wno-cpp" \ - CXXFLAGS="$CXXFLAGS -Wno-#warnings" \ - ruby ./generate_build.rb > build.ninja -} +makedepends="pcre2-dev linux-headers libusb-dev gtest-dev go perl cmake" +source="https://github.com/nmeum/$pkgname/releases/download/$_realver/$pkgname-$_realver.tar.xz" +builddir="$srcdir/$pkgname-$_realver" build() { - mkdir -p "$builddir"/boringssl/build - cd "$builddir"/boringssl/build + cd "$builddir" - cmake -GNinja \ - -DBUILD_SHARED_LIBS=False \ + mkdir build && cd build + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DCMAKE_C_FLAGS="$CFLAGS" \ .. - ninja - - cd "$builddir" - ninja + make } package() { - cd "$builddir" - mkdir -p "$pkgdir"/usr/bin - install -m755 fastboot adb mke2fs.android \ - e2fsdroid ext2simg core/mkbootimg/mkbootimg \ - "$pkgdir"/usr/bin + cd "$builddir/build" + make DESTDIR="$pkgdir" install } -sha512sums="0592d04a12ee992750a2975c7c6eaa0db6001fcabdd046dd4385878600f5549d74c5b418306d29faa20f1aeb0342323f1a274d6209941ca6a09c696c267d0d4d android-tools-core-8.1.0_r7.tar.gz -bd11d9b6c02f35715c8130f11f51ad74c1efbfe883a84c2c36bb6427de0d600494ffc5dfb9a6a60cca25b2410bd08c624fd319f01272e91afe983e72e8c9ea0d android-tools-extras-8.1.0_r7.tar.gz -85a55a2b9ea2205a9fd81f04a899851b498745e11bd915db8297924ab1ed71fefc9a9ea3b360f8ed9798124bff590fd7408128f19b0ff36f6118407ed7318602 android-tools-selinux-8.1.0_r7.tar.gz -9ead522e8e82d380833bb46b8b154f46f722ef6edd3f268ba992b746c1e896e61d3b8d92c69ef0862b7e00d8f8f54b9cc298de99a5ac80338ef91357f403e75b android-tools-f2fs-tools-8.1.0_r7.tar.gz -722d30b43cbb7ff325927c1696cec02a4d0dbb4ded4b9016f35908d2e87d5f65875f9cbdbb935c3cb6c790ea722c3119240ad2f3adfb33e01a6a7ca62d69c158 android-tools-e2fsprogs-8.1.0_r7.tar.gz -171b524b0452a48853b2c8010ff5e14d5d720e69eeaf1d3b79f675838f3afa94aee9de2f47b37303feb2d92cbf77639efe585786625b7b37b8cc2ba727c37fdc android-tools-boringssl-8.1.0_r7.tar.gz -785e201dd8131a6dc49b6b40b54bc698a33cc9500ad2161187d2505541fddd68a66aac951f0794c0d852383bb4ae2f5bd9c37455b8777462b3e3c9fa7bfe455e musl-fixes.patch -052bd5e602a600c21aaf30bd734dd6da37aaa62a0712a2a5cbb7f781bc2e59aad97516b65a6f985049307f849994a6b34a8646bd9b5eac247271ff5819b6a2e5 generate_build.rb" +sha512sums="13de48915aab3f529fa02795e0a2a83280369a8e9244a63095739478f5ad0bb56647767edf9e24a7587ed617e9c45b72131bcc2b39dcd60e964de37215ff4649 android-tools-8.1.0_r7.tar.xz" diff --git a/testing/android-tools/generate_build.rb b/testing/android-tools/generate_build.rb deleted file mode 100644 index e9319557b6..0000000000 --- a/testing/android-tools/generate_build.rb +++ /dev/null @@ -1,415 +0,0 @@ -#!/usr/bin/ruby -# This ruby script has been copied from Arch Linux. - -# Android build system is complicated and does not allow to build -# separate parts easily. -# This script tries to mimic Android build rules. - -def expand(dir, files) - files.map{|f| File.join(dir,f)} -end - -# Compiles sources to *.o files. -# Returns array of output *.o filenames -def compile(sources, cflags) - outputs = [] - for s in sources - ext = File.extname(s) - - case ext - when '.c' - cc = 'cc' - lang_flags = '-std=gnu11 $CFLAGS $CPPFLAGS' - when '.cpp', '.cc' - cc = 'cxx' - lang_flags = '-std=gnu++14 $CXXFLAGS $CPPFLAGS' - else - raise "Unknown extension #{ext}" - end - - output = s + '.o' - outputs << output - puts "build #{output}: #{cc} #{s}\n cflags = #{lang_flags} #{cflags}" - end - - return outputs -end - -# dir - directory where ninja file is located -# lib - static library path relative to dir -def subninja(dir, lib) - puts "subninja #{dir}build.ninja" - return lib.each{|l| dir + l} -end - -# Links object files -def link(output, objects, ldflags) - puts "build #{output}: link #{objects.join(' ')}\n ldflags = #{ldflags} $LDFLAGS" -end - -puts "# This set of commands generated by generate_build.rb script\n\n" -puts "CC = #{ENV['CC'] || 'clang'}" -puts "CXX = #{ENV['CXX'] || 'clang++'}\n\n" -puts "CFLAGS = #{ENV['CFLAGS']}" -puts "CXXFLAGS = #{ENV['CXXFLAGS']}" -puts "LDFLAGS = #{ENV['LDFLAGS']}" -puts "PKGVER = #{ENV['PKGVER']}\n\n" - - -puts """ -rule cc - command = $CC $cflags -c $in -o $out - -rule cxx - command = $CXX $cflags -c $in -o $out - -rule link - command = $CXX $ldflags $LDFLAGS $in -o $out - - -""" - -adbdfiles = %w( - adb.cpp - adb_io.cpp - adb_listeners.cpp - adb_trace.cpp - adb_utils.cpp - bugreport.cpp - line_printer.cpp - sockets.cpp - transport.cpp - transport_local.cpp - transport_usb.cpp - transport_mdns_unsupported.cpp - fdevent.cpp - adb_auth_host.cpp - shell_service_protocol.cpp -) -libadbd = compile(expand('core/adb', adbdfiles), '-DADB_VERSION="\"$PKGVER\"" -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/include') - -adbfiles = %w( - console.cpp - socket_spec.cpp - commandline.cpp - adb_client.cpp - services.cpp - file_sync_client.cpp - sysdeps_unix.cpp - sysdeps/errno.cpp - client/main.cpp - client/usb_dispatch.cpp - client/usb_linux.cpp - client/usb_libusb.cpp - sysdeps/posix/network.cpp -) -libadb = compile(expand('core/adb', adbfiles), '-D_GNU_SOURCE -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb') - -basefiles = %w( - file.cpp - logging.cpp - parsenetaddress.cpp - stringprintf.cpp - strings.cpp - errors_unix.cpp - test_utils.cpp -) -libbase = compile(expand('core/base', basefiles), '-DADB_HOST=1 -Icore/base/include -Icore/include') - -logfiles = %w( - log_event_write.c - fake_log_device.c - log_event_list.c - logger_write.c - config_write.c - config_read.c - logger_lock.c - local_logger.c - fake_writer.c - logger_name.c - stderr_write.c - logprint.c -) -liblog = compile(expand('core/liblog', logfiles), '-DLIBLOG_LOG_TAG=1006 -D_XOPEN_SOURCE=700 -DFAKE_LOG_DEVICE=1 -Icore/log/include -Icore/include') - -cutilsfiles = %w( - load_file.c - socket_local_client_unix.c - socket_network_client_unix.c - socket_local_server_unix.c - sockets_unix.cpp - socket_inaddr_any_server_unix.c - sockets.cpp - android_get_control_file.cpp - threads.c - fs_config.cpp - canned_fs_config.c -) -libcutils = compile(expand('core/libcutils', cutilsfiles), '-D_GNU_SOURCE -Icore/libcutils/include -Icore/include') - -diagnoseusbfiles = %w( - diagnose_usb.cpp -) -libdiagnoseusb = compile(expand('core/adb', diagnoseusbfiles), '-Icore/include -Icore/base/include') - -libcryptofiles = %w( - android_pubkey.c -) -libcrypto = compile(expand('core/libcrypto_utils', libcryptofiles), '-Icore/libcrypto_utils/include -Iboringssl/include') - -# TODO: make subninja working -#boringssl = subninja('boringssl/build/', ['crypto/libcrypto.a']) -boringssl = ['boringssl/build/crypto/libcrypto.a'] - -link('adb', libbase + liblog + libcutils + libadbd + libadb + libdiagnoseusb + libcrypto + boringssl, '-lpthread -lusb-1.0') - - -fastbootfiles = %w( - protocol.cpp - engine.cpp - bootimg_utils.cpp - fastboot.cpp - util.cpp - fs.cpp - usb_linux.cpp - socket.cpp - tcp.cpp - udp.cpp -) -libfastboot = compile(expand('core/fastboot', fastbootfiles), '-DFASTBOOT_VERSION="\"$PKGVER\"" -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -DUSE_F2FS -Icore/base/include -Icore/include -Icore/adb -Icore/libsparse/include -Icore/mkbootimg -Iextras/ext4_utils/include -Iextras/f2fs_utils -Icore/libziparchive/include') - -sparsefiles = %w( - backed_block.c - output_file.c - sparse.c - sparse_crc32.c - sparse_err.c - sparse_read.cpp -) -libsparse = compile(expand('core/libsparse', sparsefiles), '-Icore/libsparse/include -Icore/base/include') - -f2fsfiles = %w( - f2fs_utils.c - f2fs_ioutils.c - f2fs_dlutils.c -) -f2fs = compile(expand('extras/f2fs_utils', f2fsfiles), '-Iextras/f2fs_utils -If2fs-tools/include -If2fs-tools/mkfs -Icore/libsparse/include -Iselinux/libselinux/include') - -zipfiles = %w( - zip_archive.cc -) -libzip = compile(expand('core/libziparchive', zipfiles), '-Icore/base/include -Icore/include -Icore/libziparchive/include') - -utilfiles = %w( - FileMap.cpp -) -libutil = compile(expand('core/libutils', utilfiles), '-Icore/include') - -ext4files = %w( - make_ext4fs.c - ext4fixup.c - ext4_utils.c - allocate.c - contents.c - extent.c - indirect.c - sha1.c - wipe.c - crc16.c - ext4_sb.c -) -libext4 = compile(expand('extras/ext4_utils', ext4files), '-D_GNU_SOURCE -Icore/libsparse/include -Icore/include -Iselinux/libselinux/include -Iextras/ext4_utils/include') - -selinuxfiles = %w( - callbacks.c - check_context.c - freecon.c - init.c - label.c - label_file.c - label_support.c - setrans_client.c - regex.c - matchpathcon.c - selinux_config.c - label_backends_android.c - canonicalize_context.c - lsetfilecon.c - policyvers.c - lgetfilecon.c - load_policy.c - seusers.c - sha1.c - booleans.c - disable.c - enabled.c - getenforce.c - setenforce.c -) -libselinux = compile(expand('selinux/libselinux/src', selinuxfiles), '-DAUDITD_LOG_TAG=1003 -D_GNU_SOURCE -DHOST -DUSE_PCRE2 -DNO_PERSISTENTLY_STORED_PATTERNS -DDISABLE_SETRANS -DDISABLE_BOOL -DNO_MEDIA_BACKEND -DNO_X_BACKEND -DNO_DB_BACKEND -DPCRE2_CODE_UNIT_WIDTH=8 -Iselinux/libselinux/include -Iselinux/libsepol/include') - -libsepolfiles = %w( - policydb_public.c - genbools.c - debug.c - policydb.c - conditional.c - services.c - ebitmap.c - util.c - assertion.c - avtab.c - hashtab.c - sidtab.c - context.c - genusers.c - context_record.c - mls.c - avrule_block.c - symtab.c - policydb_convert.c - write.c - constraint.c - expand.c - hierarchy.c -) -libsepol = compile(expand('selinux/libsepol/src', libsepolfiles), '-Iselinux/libsepol/include') - -link('fastboot', libsparse + libzip + libcutils + liblog + libutil + libbase + libext4 + f2fs + libselinux + libsepol + libfastboot + libdiagnoseusb, '-lz -lpcre2-8 -lpthread -ldl') - - -# mke2fs.android - a ustom version of mke2fs that supports --android_sparse (FS#56955) -libext2fsfiles = %w( - lib/blkid/cache.c - lib/blkid/dev.c - lib/blkid/devname.c - lib/blkid/devno.c - lib/blkid/getsize.c - lib/blkid/llseek.c - lib/blkid/probe.c - lib/blkid/read.c - lib/blkid/resolve.c - lib/blkid/save.c - lib/blkid/tag.c - lib/e2p/feature.c - lib/e2p/hashstr.c - lib/e2p/mntopts.c - lib/e2p/ostype.c - lib/e2p/parse_num.c - lib/e2p/uuid.c - lib/et/com_err.c - lib/et/error_message.c - lib/et/et_name.c - lib/ext2fs/alloc.c - lib/ext2fs/alloc_sb.c - lib/ext2fs/alloc_stats.c - lib/ext2fs/alloc_tables.c - lib/ext2fs/atexit.c - lib/ext2fs/badblocks.c - lib/ext2fs/bb_inode.c - lib/ext2fs/bitmaps.c - lib/ext2fs/bitops.c - lib/ext2fs/blkmap64_ba.c - lib/ext2fs/blkmap64_rb.c - lib/ext2fs/blknum.c - lib/ext2fs/block.c - lib/ext2fs/bmap.c - lib/ext2fs/closefs.c - lib/ext2fs/crc16.c - lib/ext2fs/crc32c.c - lib/ext2fs/csum.c - lib/ext2fs/dirblock.c - lib/ext2fs/dir_iterate.c - lib/ext2fs/expanddir.c - lib/ext2fs/ext2_err.c - lib/ext2fs/ext_attr.c - lib/ext2fs/extent.c - lib/ext2fs/fallocate.c - lib/ext2fs/fileio.c - lib/ext2fs/freefs.c - lib/ext2fs/gen_bitmap64.c - lib/ext2fs/gen_bitmap.c - lib/ext2fs/get_num_dirs.c - lib/ext2fs/getsectsize.c - lib/ext2fs/getsize.c - lib/ext2fs/i_block.c - lib/ext2fs/ind_block.c - lib/ext2fs/initialize.c - lib/ext2fs/inline.c - lib/ext2fs/inline_data.c - lib/ext2fs/inode.c - lib/ext2fs/io_manager.c - lib/ext2fs/ismounted.c - lib/ext2fs/link.c - lib/ext2fs/llseek.c - lib/ext2fs/lookup.c - lib/ext2fs/mkdir.c - lib/ext2fs/mkjournal.c - lib/ext2fs/mmp.c - lib/ext2fs/namei.c - lib/ext2fs/newdir.c - lib/ext2fs/openfs.c - lib/ext2fs/progress.c - lib/ext2fs/punch.c - lib/ext2fs/rbtree.c - lib/ext2fs/read_bb.c - lib/ext2fs/read_bb_file.c - lib/ext2fs/res_gdt.c - lib/ext2fs/rw_bitmaps.c - lib/ext2fs/sparse_io.c - lib/ext2fs/symlink.c - lib/ext2fs/undo_io.c - lib/ext2fs/unix_io.c - lib/ext2fs/valid_blk.c - lib/support/dict.c - lib/support/mkquota.c - lib/support/parse_qtype.c - lib/support/plausible.c - lib/support/prof_err.c - lib/support/profile.c - lib/support/quotaio.c - lib/support/quotaio_tree.c - lib/support/quotaio_v2.c - lib/uuid/gen_uuid.c - lib/uuid/isnull.c - lib/uuid/pack.c - lib/uuid/parse.c - lib/uuid/unpack.c - lib/uuid/unparse.c - misc/create_inode.c -) -libext2fs = compile(expand('e2fsprogs', libext2fsfiles), '-Ie2fsprogs/lib -Icore/libsparse/include') - - -mke2fsfiles = %w( - misc/default_profile.c - misc/mke2fs.c - misc/mk_hugefiles.c - misc/util.c -) -mke2fs = compile(expand('e2fsprogs', mke2fsfiles), '-Ie2fsprogs/lib') - -link('mke2fs.android', mke2fs + libext2fs + libsparse + libbase + libzip + liblog + libutil, '-lpthread -lz') - - -e2fsdroidfiles = %w( - contrib/android/e2fsdroid.c - contrib/android/basefs_allocator.c - contrib/android/block_range.c - contrib/android/hashmap.c - contrib/android/base_fs.c - contrib/android/fsmap.c - contrib/android/block_list.c - contrib/android/perms.c -) -e2fsdroid = compile(expand('e2fsprogs', e2fsdroidfiles), '-Ie2fsprogs/lib -Iselinux/libselinux/include -Icore/libcutils/include -Ie2fsprogs/misc') - -link('e2fsdroid', e2fsdroid + libext2fs + libsparse + libbase + libzip + liblog + libutil + libselinux + libsepol + libcutils, '-lz -lpthread -lpcre2-8') - - -ext2simgfiles = %w( - contrib/android/ext2simg.c -) -ext2simg = compile(expand('e2fsprogs', ext2simgfiles), '-Ie2fsprogs/lib -Icore/libsparse/include') - -link('ext2simg', ext2simg + libext2fs + libsparse + libbase + libzip + liblog + libutil, '-lz -lpthread') diff --git a/testing/android-tools/musl-fixes.patch b/testing/android-tools/musl-fixes.patch deleted file mode 100644 index 235ef68854..0000000000 --- a/testing/android-tools/musl-fixes.patch +++ /dev/null @@ -1,199 +0,0 @@ -Patch has been taken from Arch Linux with some minor modifications for -needed to build android-tools with musl libc. - -diff -upr core.orig/adb/client/usb_libusb.cpp core/adb/client/usb_libusb.cpp ---- core.orig/adb/client/usb_libusb.cpp 2017-11-29 19:11:44.000000000 +0100 -+++ core/adb/client/usb_libusb.cpp 2018-02-25 10:35:06.661418453 +0100 -@@ -21,6 +21,7 @@ - #include <stdint.h> - - #include <atomic> -+#include <condition_variable> - #include <chrono> - #include <memory> - #include <mutex> -@@ -28,7 +29,7 @@ - #include <thread> - #include <unordered_map> - --#include <libusb/libusb.h> -+#include <libusb-1.0/libusb.h> - - #include <android-base/file.h> - #include <android-base/logging.h> -diff -upr core.orig/adb/diagnose_usb.cpp core/adb/diagnose_usb.cpp ---- core.orig/adb/diagnose_usb.cpp 2017-11-29 19:11:44.000000000 +0100 -+++ core/adb/diagnose_usb.cpp 2018-02-25 10:35:06.658085109 +0100 -@@ -45,9 +45,7 @@ static std::string GetUdevProblem() { - return ""; - } - -- // getgroups(2) indicates that the GNU group_member(3) may not check the egid so we check it -- // additionally just to be sure. -- if (group_member(plugdev_group->gr_gid) || getegid() == plugdev_group->gr_gid) { -+ if (getegid() == plugdev_group->gr_gid) { - // The user is in plugdev so the problem is likely with the udev rules. - return "user in plugdev group; are your udev rules wrong?"; - } -diff -upr core.orig/adb/sysdeps/posix/network.cpp core/adb/sysdeps/posix/network.cpp ---- core.orig/adb/sysdeps/posix/network.cpp 2017-11-29 19:11:44.000000000 +0100 -+++ core/adb/sysdeps/posix/network.cpp 2018-02-25 10:35:06.661418453 +0100 -@@ -21,6 +21,7 @@ - #include <sys/socket.h> - - #include <string> -+#include <string.h> - - #include "adb_unique_fd.h" - -diff -upr core.orig/base/errors_unix.cpp core/base/errors_unix.cpp ---- core.orig/base/errors_unix.cpp 2017-11-29 19:11:44.000000000 +0100 -+++ core/base/errors_unix.cpp 2018-02-25 10:35:06.654751766 +0100 -@@ -17,6 +17,7 @@ - #include "android-base/errors.h" - - #include <errno.h> -+#include <string.h> - - namespace android { - namespace base { -diff -upr core.orig/base/file.cpp core/base/file.cpp ---- core.orig/base/file.cpp 2017-11-29 19:11:44.000000000 +0100 -+++ core/base/file.cpp 2018-02-25 10:35:06.654751766 +0100 -@@ -22,6 +22,7 @@ - #include <sys/stat.h> - #include <sys/types.h> - #include <unistd.h> -+#include <string.h> - - #include <memory> - #include <mutex> -diff -upr core.orig/base/logging.cpp core/base/logging.cpp ---- core.orig/base/logging.cpp 2017-11-29 19:11:44.000000000 +0100 -+++ core/base/logging.cpp 2018-02-25 10:35:06.654751766 +0100 -@@ -23,6 +23,7 @@ - #include <fcntl.h> - #include <libgen.h> - #include <time.h> -+#include <string.h> - - // For getprogname(3) or program_invocation_short_name. - #if defined(__ANDROID__) || defined(__APPLE__) -@@ -89,7 +90,7 @@ static thread_id GetThreadId() { - } - - namespace { --#if defined(__GLIBC__) -+#if defined(__linux__) - const char* getprogname() { - return program_invocation_short_name; - } -diff -upr core.orig/fastboot/fs.cpp core/fastboot/fs.cpp ---- core.orig/fastboot/fs.cpp 2017-11-29 19:11:44.000000000 +0100 -+++ core/fastboot/fs.cpp 2018-02-25 10:35:06.651418422 +0100 -@@ -108,7 +108,7 @@ static int generate_ext4_image(const cha - static constexpr int block_size = 4096; - const std::string exec_dir = android::base::GetExecutableDirectory(); - -- const std::string mke2fs_path = exec_dir + "/mke2fs"; -+ const std::string mke2fs_path = exec_dir + "/mke2fs.android"; - std::vector<const char*> mke2fs_args = {mke2fs_path.c_str(), "-t", "ext4", "-b"}; - - std::string block_size_str = std::to_string(block_size); -diff -upr core.orig/fastboot/socket.cpp core/fastboot/socket.cpp ---- core.orig/fastboot/socket.cpp 2017-11-29 19:11:44.000000000 +0100 -+++ core/fastboot/socket.cpp 2018-02-25 10:35:06.651418422 +0100 -@@ -28,6 +28,8 @@ - - #include "socket.h" - -+#include <sys/select.h> -+ - #include <android-base/errors.h> - #include <android-base/stringprintf.h> - -diff -upr core.orig/libsparse/sparse_read.cpp core/libsparse/sparse_read.cpp ---- core.orig/libsparse/sparse_read.cpp 2017-11-29 19:11:44.000000000 +0100 -+++ core/libsparse/sparse_read.cpp 2018-02-25 10:35:06.621418331 +0100 -@@ -26,6 +26,7 @@ - #include <stdio.h> - #include <stdlib.h> - #include <string> -+#include <string.h> - #include <unistd.h> - - #include <sparse/sparse.h> -diff -upr selinux.orig/libsepol/src/private.h selinux/libsepol/src/private.h ---- selinux.orig/libsepol/src/private.h 2017-08-13 09:34:17.000000000 +0200 -+++ selinux/libsepol/src/private.h 2018-02-25 10:36:31.765008355 +0100 -@@ -14,7 +14,7 @@ - #endif - - #include <errno.h> --#include <dso.h> -+#include "dso.h" - - #ifdef __APPLE__ - #define __BYTE_ORDER BYTE_ORDER -diff -upr selinux.orig/libsepol/src/util.c selinux/libsepol/src/util.c ---- selinux.orig/libsepol/src/util.c 2017-08-13 09:34:17.000000000 +0200 -+++ selinux/libsepol/src/util.c 2018-02-25 10:36:31.765008355 +0100 -@@ -27,7 +27,7 @@ - #include <sepol/policydb/flask_types.h> - #include <sepol/policydb/policydb.h> - #include <sepol/policydb/util.h> --#include <dso.h> -+#include "dso.h" - - struct val_to_name { - unsigned int val; -diff -upr e2fsprogs.orig/contrib/android/perms.c e2fsprogs/contrib/android/perms.c ---- e2fsprogs.orig/contrib/android/perms.c 2017-11-29 00:28:33.000000000 +0100 -+++ e2fsprogs/contrib/android/perms.c 2018-02-25 10:37:13.048466147 +0100 -@@ -5,6 +5,7 @@ - #include "support/nls-enable.h" - #include <time.h> - #include <sys/stat.h> -+#include "private/android_filesystem_capability.h" - - #ifndef XATTR_SELINUX_SUFFIX - # define XATTR_SELINUX_SUFFIX "selinux" -diff -upr e2fsprogs.orig/lib/ext2fs/bitops.h e2fsprogs/lib/ext2fs/bitops.h ---- e2fsprogs.orig/lib/ext2fs/bitops.h 2017-11-29 00:28:33.000000000 +0100 -+++ e2fsprogs/lib/ext2fs/bitops.h 2018-02-25 10:37:13.028466087 +0100 -@@ -233,11 +233,11 @@ extern errcode_t ext2fs_find_first_set_g - #if (__STDC_VERSION__ >= 199901L) - #define _INLINE_ extern inline - #else --#define _INLINE_ inline -+#define _INLINE_ static inline - #endif - #else /* !INCLUDE_INLINE FUNCS */ - #if (__STDC_VERSION__ >= 199901L) --#define _INLINE_ inline -+#define _INLINE_ static inline - #else /* not C99 */ - #ifdef __GNUC__ - #define _INLINE_ extern __inline__ -diff -upr e2fsprogs.orig/lib/ext2fs/ext2fs.h e2fsprogs/lib/ext2fs/ext2fs.h ---- e2fsprogs.orig/lib/ext2fs/ext2fs.h 2017-11-29 00:28:33.000000000 +0100 -+++ e2fsprogs/lib/ext2fs/ext2fs.h 2018-02-25 10:37:13.028466087 +0100 -@@ -53,9 +53,7 @@ extern "C" { - */ - #define EXT2_LIB_CURRENT_REV EXT2_DYNAMIC_REV - --#ifdef HAVE_SYS_TYPES_H - #include <sys/types.h> --#endif - - #include <stdio.h> - #include <stdlib.h> -@@ -1736,7 +1734,7 @@ extern const struct ext2_inode *ext2fs_c - #define _INLINE_ extern - #else - #if (__STDC_VERSION__ >= 199901L) --#define _INLINE_ inline -+#define _INLINE_ static inline - #else - #ifdef __GNUC__ - #define _INLINE_ extern __inline__ |