From 7d797a19221fa2f254493e06162bdcbaf994c682 Mon Sep 17 00:00:00 2001 From: tuibuilder_pel7x64builder0 Date: Wed, 25 Apr 2018 16:41:12 +0200 Subject: [PATCH] added android tool Signed-off-by: tuibuilder_pel7x64builder0 --- SOURCES/51-android.rules | 143 ++++++++++++++++++++++++++++++ SOURCES/adb-Makefile | 65 ++++++++++++++ SOURCES/adb.service | 13 +++ SPECS/android-tools.spec | 185 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 406 insertions(+) create mode 100644 SOURCES/51-android.rules create mode 100644 SOURCES/adb-Makefile create mode 100644 SOURCES/adb.service create mode 100644 SPECS/android-tools.spec diff --git a/SOURCES/51-android.rules b/SOURCES/51-android.rules new file mode 100644 index 0000000..5e2189e --- /dev/null +++ b/SOURCES/51-android.rules @@ -0,0 +1,143 @@ +# Place this file into /etc/udev/rules.d/ if you want to autostart adb.service on plug +# +# http://developer.android.com/guide/developing/device.html +# adb/usb_vendors.c + +# Acer +SUBSYSTEM=="usb", ATTR{idVendor}=="0502", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Dell +SUBSYSTEM=="usb", ATTR{idVendor}=="413c", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Foxconn +SUBSYSTEM=="usb", ATTR{idVendor}=="0489", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Garmin-Asus +SUBSYSTEM=="usb", ATTR{idVendor}=="091E", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Google +SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# HTC +SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Huawei +SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Kyocera +SUBSYSTEM=="usb", ATTR{idVendor}=="0482", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# LG +SUBSYSTEM=="usb", ATTR{idVendor}=="1004", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Motorola +SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Nvidia +SUBSYSTEM=="usb", ATTR{idVendor}=="0955", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Pantech +SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Samsung +SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Sharp +SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Sony Ericsson +SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# ZTE +SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Qualcomm +SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# On-The-Go-Video +SUBSYSTEM=="usb", ATTR{idVendor}=="2257", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# NEC +SUBSYSTEM=="usb", ATTR{idVendor}=="0409", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Panasonic +SUBSYSTEM=="usb", ATTR{idVendor}=="04da", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Toshiba +SUBSYSTEM=="usb", ATTR{idVendor}=="0930", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# SK Telesys +SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# KT Tech +SUBSYSTEM=="usb", ATTR{idVendor}=="2116", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# ASUS +SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Philips +SUBSYSTEM=="usb", ATTR{idVendor}=="0471", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Texas Instruments +SUBSYSTEM=="usb", ATTR{idVendor}=="0451", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Funai +SUBSYSTEM=="usb", ATTR{idVendor}=="0f1c", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Gigabyte +SUBSYSTEM=="usb", ATTR{idVendor}=="0414", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# IRiver +SUBSYSTEM=="usb", ATTR{idVendor}=="2420", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Compal +SUBSYSTEM=="usb", ATTR{idVendor}=="1219", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# T & A Mobile Phones +SUBSYSTEM=="usb", ATTR{idVendor}=="1bbb", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# LenovoMobile +SUBSYSTEM=="usb", ATTR{idVendor}=="2006", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Lenovo +SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Vizio +SUBSYSTEM=="usb", ATTR{idVendor}=="e040", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# K-Touch +SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Pegatron +SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Archos +SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Positivo +SUBSYSTEM=="usb", ATTR{idVendor}=="1662", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Intel +SUBSYSTEM=="usb", ATTR{idVendor}=="8087", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Quanta +SUBSYSTEM=="usb", ATTR{idVendor}=="0408", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# INQ Mobile +SUBSYSTEM=="usb", ATTR{idVendor}=="2314", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Sony +SUBSYSTEM=="usb", ATTR{idVendor}=="054c", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Lab126 +SUBSYSTEM=="usb", ATTR{idVendor}=="1949", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Yulong Coolpad +SUBSYSTEM=="usb", ATTR{idVendor}=="1ebf", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Kobo +SUBSYSTEM=="usb", ATTR{idVendor}=="2237", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + +# Teleepoch +SUBSYSTEM=="usb", ATTR{idVendor}=="2340", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" + diff --git a/SOURCES/adb-Makefile b/SOURCES/adb-Makefile new file mode 100644 index 0000000..ff05f6f --- /dev/null +++ b/SOURCES/adb-Makefile @@ -0,0 +1,65 @@ +SRCS+= adb.c +SRCS+= adb_client.c +SRCS+= adb_auth_host.c +SRCS+= commandline.c +SRCS+= console.c +SRCS+= file_sync_client.c +SRCS+= fdevent.c +SRCS+= get_my_path_linux.c +SRCS+= services.c +SRCS+= sockets.c +SRCS+= transport.c +SRCS+= transport_local.c +SRCS+= transport_usb.c +SRCS+= usb_linux.c +SRCS+= usb_vendors.c +SRCS+= utils.c + +VPATH+= ../libcutils +SRCS+= abort_socket.c +SRCS+= socket_inaddr_any_server.c +SRCS+= socket_local_client.c +SRCS+= socket_local_server.c +SRCS+= socket_loopback_client.c +SRCS+= socket_loopback_server.c +SRCS+= socket_network_client.c +SRCS+= load_file.c +SRCS+= list.c + +VPATH+= ../libzipfile +SRCS+= centraldir.c +SRCS+= zipfile.c + +VPATH+= ../libmincrypt +SRCS+= rsa.c +SRCS+= rsa_e_3.c +SRCS+= rsa_e_f4.c +SRCS+= sha.c + +CPPFLAGS+= -DADB_HOST=1 +CPPFLAGS+= -DHAVE_FORKEXEC=1 +CPPFLAGS+= -DHAVE_SYMLINKS +CPPFLAGS+= -DHAVE_TERMIO_H +CPPFLAGS+= -D_GNU_SOURCE +CPPFLAGS+= -D_XOPEN_SOURCE +CPPFLAGS+= -I. +CPPFLAGS+= -I../include + +CFLAGS+= $(RPM_OPT_FLAGS) +LIBS= -lrt -lpthread -lz -lcrypto + +CC= $(TOOLCHAIN)gcc +LD= $(TOOLCHAIN)gcc + +OBJS= $(SRCS:.c=.o) + +all: adb + +adb: $(OBJS) + $(LD) -o $@ $(LDFLAGS) $(OBJS) $(LIBS) + +install: adb + install adb $(DESTDIR)$(BINDIR) + +clean: + rm -rf $(OBJS) diff --git a/SOURCES/adb.service b/SOURCES/adb.service new file mode 100644 index 0000000..b9abc10 --- /dev/null +++ b/SOURCES/adb.service @@ -0,0 +1,13 @@ +# Systemd unit file for adb + +[Unit] +Description=Android Debug Bridge (adb) service + +[Service] +Type=forking +ExecStart=/usr/bin/adb start-server +ExecStop=/usr/bin/adb kill-server +PrivateTmp=yes + +[Install] +WantedBy=multi-user.target diff --git a/SPECS/android-tools.spec b/SPECS/android-tools.spec new file mode 100644 index 0000000..6b23b18 --- /dev/null +++ b/SPECS/android-tools.spec @@ -0,0 +1,185 @@ +%global date 20130123 +%global git_commit 98d0789 +%global packdname core-%{git_commit} +#last extras ext4_utils commit without custom libselinux requirement +%global extras_git_commit 4ff85ad +%global extras_packdname extras-%{extras_git_commit} + + +Name: android-tools +Version: %{date}git%{git_commit} +Release: 5%{?dist} +Summary: Android platform tools(adb, fastboot) + +Group: Applications/System +# The entire source code is ASL 2.0 except fastboot/ which is BSD +License: ASL 2.0 and (ASL 2.0 and BSD) +URL: http://developer.android.com/guide/developing/tools/ + +# using git archive since upstream hasn't created tarballs. +# git archive --format=tar --prefix=%%{packdname}/ %%{git_commit} adb fastboot libzipfile libcutils libmincrypt libsparse mkbootimg include/cutils include/zipfile include/mincrypt | xz > %%{packdname}.tar.xz +# https://android.googlesource.com/platform/system/core.git +# git archive --format=tar --prefix=extras/ %%{extras_git_commit} ext4_utils | xz > %%{extras_packdname}.tar.xz +# https://android.googlesource.com/platform/system/extras.git + +Source0: %{packdname}.tar.xz +Source1: %{extras_packdname}.tar.xz +Source2: core-Makefile +Source3: adb-Makefile +Source4: fastboot-Makefile +Source5: 51-android.rules +Source6: adb.service + +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +BuildRequires: zlib-devel +BuildRequires: openssl-devel +BuildRequires: libselinux-devel +BuildRequires: systemd + +ExcludeArch: %{power64} + +Provides: adb +Provides: fastboot + +%description + +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. + +%prep +%setup -q -b 1 -n extras +%setup -q -b 0 -n %{packdname} +cp -p %{SOURCE2} Makefile +cp -p %{SOURCE3} adb/Makefile +cp -p %{SOURCE4} fastboot/Makefile +cp -p %{SOURCE5} 51-android.rules + +%build +make %{?_smp_mflags} + +%install +install -d -m 0755 ${RPM_BUILD_ROOT}%{_bindir} +make install DESTDIR=$RPM_BUILD_ROOT BINDIR=%{_bindir} +install -p -D -m 0644 %{SOURCE6} \ + %{buildroot}%{_unitdir}/adb.service + +%post +%systemd_post adb.service + +%preun +%systemd_preun adb.service + +%postun +%systemd_postun_with_restart adb.service + +%files +%doc adb/OVERVIEW.TXT adb/SERVICES.TXT adb/NOTICE adb/protocol.txt 51-android.rules +%{_unitdir}/adb.service +#ASL2.0 +%{_bindir}/adb +#ASL2.0 and BSD. +%{_bindir}/fastboot + + +%changelog +* Thu Sep 18 2014 Adam Miller - 20130123git98d0789-5 +- Exclude power64 architecture for EPEL7, not supported upstream. + +* Fri Aug 15 2014 Fedora Release Engineering - 20130123git98d0789-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 20130123git98d0789-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 20130123git98d0789-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Jan 28 2013 Ivan Afonichev - 20130123git98d0789-1 +- Update to upstream git commit 98d0789 +- Resolves: rhbz 903074 Move udev rule to docs as example +- Resolves: rhbz 879585 Introduce adb.service with PrivateTmp + +* Tue Nov 20 2012 Ivan Afonichev - 20121120git3ddc005-1 +- Update to upstream git commit 3ddc005 +- Added more udev devices +- Added ext4_utils from extras for fastboot +- Updated makefiles +- Resolves: rhbz 869624 start adb server by udev + +* Wed Jul 18 2012 Fedora Release Engineering - 20120510gitd98c87c-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu May 10 2012 Ivan Afonichev - 20120510gitd98c87c-1 +- Update to upstream git commit d98c87c +- Added more udev devices +- Resolves: rhbz 819292 secure udev permissions + +* Thu Jan 12 2012 Fedora Release Engineering - 20111220git1b251bd-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 20 2011 Ivan Afonichev - 20111220git1b251bd-1 +- Update to upstream git commit 1b251bd + +* Wed Nov 23 2011 Ivan Afonichev - 20111120git4a25390-3 +- Fix license +- More specific URL + +* Tue Nov 22 2011 Ivan Afonichev - 20111120git4a25390-2 +- Require udev + +* Sun Nov 20 2011 Ivan Afonichev - 20111120git4a25390-1 +- Versioning changes +- Use only needed sources +- Udev rules moved to lib +- More license info added +- adb and fastboot moved to provides from summary + +* Tue Nov 15 2011 Ivan Afonichev - 20111115.4a25390-1 +- Change upstream git repo URL +- Update to upstream git commit 4a25390 +- Added more udev devices + +* Mon Oct 17 2011 Ivan Afonichev - 20110816.80d508f-3 +- Update udev rules (s/SYSFS/ATTR/g) + +* Sat Aug 27 2011 Ivan Afonichev - 20110816.80d508f-2 +- Remove the rm in the install section +- Remove defattr +- Use install command(not macro) +- Add description of fastboot + +* Tue Aug 16 2011 Ivan Afonichev - 20110816.80d508f-1 +- Update to upstream git commit 80d508f +- Added more udev devices + +* Sun Jul 31 2011 Ivan Afonichev - 20110731.810cf41-1 +- Update to upstream git commit 810cf41 +- Fix License +- Use optflags +- Added more udev devices +- Remove Epoch + +* Tue Jul 26 2011 Ivan Afonichev - 0:20110726.212282c-1 +- Update to upstream git commit 212282c + +* Wed May 18 2011 Ivan Afonichev - 0:20110516.327b2b7-1 +- Initial spec +- Initial makefiles +- Initial udev rule