%define _boringssl_commit %(curl https://android.googlesource.com/platform/external/boringssl/+/refs/tags/platform-tools-%{version}/BORINGSSL_REVISION?format=TEXT | base64 -d) Name: android-tools Version: 29.0.4 Release: 1mamba Summary: Android platform tools Group: System/Tools Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://source.android.com Source0: https://android.googlesource.com/platform/system/core.git/platform-tools-%{version}/core-%{version}.tar.bz2 Source1: https://android.googlesource.com/platform/system/extras.git/platform-tools-%{version}/extras-%{version}.tar.bz2 Source2: https://android.googlesource.com/platform/system/tools/mkbootimg.git/platform-tools-%{version}/mkbootimg-%{version}.tar.bz2 Source3: https://android.googlesource.com/platform/external/selinux.git/platform-tools-%{version}/selinux-%{version}.tar.bz2 Source4: https://android.googlesource.com/platform/external/f2fs-tools.git/platform-tools-%{version}/f2fs-tools-%{version}.tar.bz2 Source5: https://android.googlesource.com/platform/external/e2fsprogs.git/platform-tools-%{version}/e2fsprogs-%{version}.tar.bz2 Source6: https://android.googlesource.com/platform/external/avb.git/platform-tools-%{version}/avb-%{version}.tar.bz2 Source7: https://boringssl.googlesource.com/boringssl.git/master@%{_boringssl_commit}/boringssl-%{version}.tar.bz2 # From arch linux Source20: android-tools-generate_build.rb Source21: android-tools-bash_completion.fastboot Patch0: android-tools-5.0.2_r1-remove-selinux-header.patch Patch1: android-tools-7.1.1_r13-fix-build.patch Patch2: android-tools-29.0.4-build-core.patch License: Apache License 2.0, BSD ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libgcc BuildRequires: libpcre2-devel BuildRequires: libstdc++6-devel BuildRequires: libusb-devel BuildRequires: libz-devel ## AUTOBUILDREQ-END BuildRequires: libf2fs-devel BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Android platform tools ported to GNU/Linux for Android based devices management. The Android Debug Bridge (ADB) is used to: * keep track of all Android devices and emulators instances connected to or running on a given host developer machine * implement various control commands (e.g. "adb shell", "adb pull", etc.) for the benefit of clients (command-line users, or helper programs like DDMS). These commands are what is called a 'service' in ADB. Fastboot is used to manipulate the flash partitions of the Android phone. It can also boot the phone using a kernel image or root filesystem image which reside on the host machine rather than in the phone flash. In order to use it, it is important to understand the flash partition layout for the phone. The fastboot program works in conjunction with firmware on the phone to read and write the flash partitions. It needs the same USB device setup between the host and the target phone as adb. %package -n mkbootimg Summary: A tool for creating kernel bootable images for the Android boot loader Group: System/Kernel and Hardware %description -n mkbootimg mkbootims is a command line tool useful for creating kernel bootable images for the Android boot loader. This package also includes mkbootfs. %debug_package %prep %setup -q -c -a1 -a2 -a3 -a4 -a5 -a6 -a7 #% setup -q -c -D -T #:<< _EOF mv core-%{version} core mv extras-%{version} extras mv mkbootimg-%{version} mkbootimg mv selinux-%{version} selinux mv f2fs-tools-%{version} f2fs-tools mv e2fsprogs-%{version} e2fsprogs mv avb-%{version} avb mv boringssl-%{version} boringssl cd core %patch2 -p1 cd .. #_EOF cp -p %{S:20} generate_build.rb %ifnarch x86_64 # Does not build on 32 bit sed -i "s|libfastboot = |#libfastboot =|" generate_build.rb sed -i "s|libfsmgr = |#libfsmgr =|" generate_build.rb sed -i "s|link(\"fastboot|#link\(\"fastboot|" generate_build.rb %endif chmod +x generate_build.rb PLATFORM_TOOLS_VERSION="%{version}-%{release}" LDFLAGS='-Wl,-z,relro,-z,now' ./generate_build.rb > build.ninja %build cd boringssl %cmake -dbuild \ -DBUILD_SHARED_LIBS:BOOL=OFF \ -GNinja ninja crypto/libcrypto.a cd ../.. ninja %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" for f in adb mke2fs.android e2fsdroid ext2simg; do install -D -m0755 ${f} %{buildroot}%{_bindir}/${f} done %ifarch x86_64 install -D -m0755 fastboot %{buildroot}%{_bindir}/fastboot %endif install -D -m0755 avb/avbtool %{buildroot}%{_bindir}/avbtool install -D -m0755 mkbootimg/mkbootimg.py %{buildroot}%{_bindir}/mkbootimg install -D -m0755 mkbootimg/unpack_bootimg.py %{buildroot}%{_bindir}/unpack_bootimg install -Dm 644 %{SOURCE21} %{buildroot}%{_datadir}/bash-completion/completions/fastboot %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %files %defattr(-,root,root) %{_bindir}/avbtool %{_bindir}/adb %{_bindir}/e2fsdroid %{_bindir}/ext2simg %ifarch x86_64 %{_bindir}/fastboot %endif %{_bindir}/mke2fs.android %{_bindir}/unpack_bootimg %{_datadir}/bash-completion/completions/fastboot %doc avb/LICENSE %files -n mkbootimg %defattr(-,root,root) %{_bindir}/mkbootimg %changelog * Sun Oct 27 2019 Silvan Calarco 29.0.4-1mamba - update to 29.0.4 * Sat Jun 17 2017 Automatic Build System 7.1.2_r6-1mamba - automatic version update by autodist * Fri Jan 13 2017 Silvan Calarco 7.1.1_r13-1mamba - update to 7.1.1_r13 * Mon Jul 04 2016 Silvan Calarco 5.1.1_r37-1mamba - update to 5.1.1_r37 - add permissions 0666 in udev rules * Fri Jun 26 2015 Automatic Build System 5.1.1_r5-1mamba - automatic version update by autodist * Thu Jun 18 2015 Automatic Build System 5.1.1_r4-1mamba - automatic version update by autodist * Thu May 14 2015 Automatic Build System 5.1.1_r2-1mamba - automatic version update by autodist * Thu Apr 09 2015 Automatic Build System 5.1.0_r3-1mamba - automatic version update by autodist * Tue Jan 20 2015 Automatic Build System 5.0.2_r1-1mamba - automatic version update by autodist * Wed Aug 27 2014 Automatic Build System 4.4.4_r2.0.1-1mamba - automatic version update by autodist * Sat Jul 12 2014 Silvan Calarco 4.4.4_r1-1mamba - update to 4.4.4_r1 * Fri Jun 01 2012 Stefano Cotta Ramusino 4.0.3_r1-3mamba - fixed android udev rules * Wed May 30 2012 Stefano Cotta Ramusino 4.0.3_r1-2mamba - added main package - fixed license * Tue Feb 21 2012 Silvan Calarco 4.0.3_r1-1mamba - package created by autospec