]> git.pld-linux.org Git - packages/android-tools.git/commitdiff
new, packages adb and fastboot
authorElan Ruusamäe <glen@delfi.ee>
Wed, 30 Jul 2014 08:10:33 +0000 (11:10 +0300)
committerElan Ruusamäe <glen@delfi.ee>
Wed, 30 Jul 2014 08:10:33 +0000 (11:10 +0300)
based on fedora package
ab5293976b6f4fab836502aa03f375ec2fffb954

51-android.rules [new file with mode: 0644]
adb-Makefile [new file with mode: 0644]
adb.service [new file with mode: 0644]
android-tools.spec [new file with mode: 0644]
core-Makefile [new file with mode: 0644]
fastboot-Makefile [new file with mode: 0644]

diff --git a/51-android.rules b/51-android.rules
new file mode 100644 (file)
index 0000000..5e2189e
--- /dev/null
@@ -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/adb-Makefile b/adb-Makefile
new file mode 100644 (file)
index 0000000..ff05f6f
--- /dev/null
@@ -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/adb.service b/adb.service
new file mode 100644 (file)
index 0000000..b9abc10
--- /dev/null
@@ -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/android-tools.spec b/android-tools.spec
new file mode 100644 (file)
index 0000000..0bfea5d
--- /dev/null
@@ -0,0 +1,102 @@
+%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
diff --git a/core-Makefile b/core-Makefile
new file mode 100644 (file)
index 0000000..17f7152
--- /dev/null
@@ -0,0 +1,11 @@
+all:
+       $(MAKE) -C adb all
+       $(MAKE) -C fastboot all
+
+install:
+       $(MAKE) -C adb install
+       $(MAKE) -C fastboot install
+
+clean:
+       $(MAKE) -C adb clean
+       $(MAKE) -C fastboot clean
diff --git a/fastboot-Makefile b/fastboot-Makefile
new file mode 100644 (file)
index 0000000..07eaff8
--- /dev/null
@@ -0,0 +1,60 @@
+SRCS+= protocol.c
+SRCS+= engine.c
+SRCS+= bootimg.c
+SRCS+= fastboot.c
+SRCS+= usb_linux.c
+SRCS+= util_linux.c
+
+VPATH+= ../libzipfile
+SRCS+= centraldir.c
+SRCS+= zipfile.c
+
+VPATH+= ../libsparse
+SRCS+= backed_block.c
+SRCS+= output_file.c
+SRCS+= sparse.c
+SRCS+= sparse_crc32.c
+SRCS+= sparse_err.c
+SRCS+= sparse_read.c
+
+VPATH+= ../../extras/ext4_utils
+SRCS+= allocate.c
+SRCS+= contents.c
+SRCS+= ext4_utils.c
+SRCS+= extent.c
+SRCS+= indirect.c
+SRCS+= make_ext4fs.c
+SRCS+= sha1.c
+SRCS+= uuid.c
+SRCS+= wipe.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
+CPPFLAGS+= -I../libsparse/include
+CPPFLAGS+= -I../mkbootimg
+CPPFLAGS+= -I../../extras/ext4_utils
+
+CFLAGS+= $(RPM_OPT_FLAGS)
+LIBS= -lrt -lpthread -lz -lselinux
+
+CC= $(TOOLCHAIN)gcc
+LD= $(TOOLCHAIN)gcc
+
+OBJS= $(SRCS:.c=.o)
+
+all: fastboot
+
+fastboot: $(OBJS)
+       $(LD) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
+
+install: fastboot
+       install fastboot $(DESTDIR)$(BINDIR)
+
+clean:
+       rm -rf $(OBJS)
This page took 0.147345 seconds and 4 git commands to generate.