--- /dev/null
+# 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"
+
--- /dev/null
+%define rel 1
+%define git_date 20130123
+%define git_commit 98d0789
+%define packdname core-%{git_commit}
+# last extras ext4_utils commit without custom libselinux requirement
+%define extras_git_commit 4ff85ad
+%define extras_packdname extras-%{extras_git_commit}
+Summary: Android platform tools(adb, fastboot)
+Name: android-tools
+Version: 0.0.1
+Release: 0.%{git_date}git%{git_commit}.%{rel}
+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)
+# 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: http://pkgs.fedoraproject.org/repo/pkgs/android-tools/core-98d0789.tar.xz/8852699267ef36482ea917cc4381f583/%{packdname}.tar.xz
+# Source0-md5: 8852699267ef36482ea917cc4381f583
+Source1: http://pkgs.fedoraproject.org/repo/pkgs/android-tools/extras-4ff85ad.tar.xz/e6c0b8dd70952e97a068c3a61f812968/%{extras_packdname}.tar.xz
+# Source1-md5: e6c0b8dd70952e97a068c3a61f812968
+Source2: core-Makefile
+Source3: adb-Makefile
+Source4: fastboot-Makefile
+Source5: 51-android.rules
+Source6: adb.service
+URL: http://developer.android.com/guide/developing/tools/
+BuildRequires: libselinux-devel
+BuildRequires: openssl-devel
+BuildRequires: rpmbuild(macros) >= 1.671
+BuildRequires: systemd-devel
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+BuildRequires: zlib-devel
+Requires: systemd-units >= 38
+Provides: adb
+Provides: fastboot
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%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 -qc -a1
+mv %{packdname}/* .
+
+cp -p %{SOURCE2} Makefile
+cp -p %{SOURCE3} adb/Makefile
+cp -p %{SOURCE4} fastboot/Makefile
+cp -p %{SOURCE5} 51-android.rules
+
+%build
+%{__make} \
+ CC="%{__cc}" \
+ LD="%{__cc}"
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_bindir},%{systemdunitdir}}
+%{__make} install \
+ BINDIR=%{_bindir} \
+ DESTDIR=$RPM_BUILD_ROOT
+
+cp -p %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}/adb.service
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+%systemd_post adb.service
+
+%preun
+%systemd_preun adb.service
+
+%postun
+%systemd_reload
+
+%files
+%defattr(644,root,root,755)
+%doc adb/OVERVIEW.TXT adb/SERVICES.TXT adb/NOTICE adb/protocol.txt 51-android.rules
+# ASL2.0
+%attr(755,root,root) %{_bindir}/adb
+# ASL2.0 and BSD.
+%attr(755,root,root) %{_bindir}/fastboot
+%{systemdunitdir}/adb.service