From a9435ca42428a97ad1195384474495d80d376384 Mon Sep 17 00:00:00 2001 From: Ivan Afonichev Date: Mon, 28 Jan 2013 02:17:01 +0400 Subject: [PATCH] - Update to upstream git commit 98d0789 - Resolves: rhbz 903074 Move udev rule to docs as example - Resolves: rhbz 879585 Introduce adb.service with PrivateTmp --- 51-android.rules | 94 +++++++++++++++++++++++----------------------- adb.service | 13 +++++++ android-tools.spec | 46 +++++++++++++++++++---- sources | 2 +- 4 files changed, 100 insertions(+), 55 deletions(-) create mode 100644 adb.service diff --git a/51-android.rules b/51-android.rules index 9e10953..5e2189e 100644 --- a/51-android.rules +++ b/51-android.rules @@ -1,141 +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", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0502", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Dell -SUBSYSTEM=="usb", ATTR{idVendor}=="413c", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="413c", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Foxconn -SUBSYSTEM=="usb", ATTR{idVendor}=="0489", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0489", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Garmin-Asus -SUBSYSTEM=="usb", ATTR{idVendor}=="091E", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="091E", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Google -SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # HTC -SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Huawei -SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Kyocera -SUBSYSTEM=="usb", ATTR{idVendor}=="0482", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0482", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # LG -SUBSYSTEM=="usb", ATTR{idVendor}=="1004", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="1004", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Motorola -SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Nvidia -SUBSYSTEM=="usb", ATTR{idVendor}=="0955", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0955", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Pantech -SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Samsung -SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Sharp -SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Sony Ericsson -SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # ZTE -SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Qualcomm -SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # On-The-Go-Video -SUBSYSTEM=="usb", ATTR{idVendor}=="2257", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="2257", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # NEC -SUBSYSTEM=="usb", ATTR{idVendor}=="0409", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0409", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Panasonic -SUBSYSTEM=="usb", ATTR{idVendor}=="04da", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="04da", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Toshiba -SUBSYSTEM=="usb", ATTR{idVendor}=="0930", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0930", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # SK Telesys -SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # KT Tech -SUBSYSTEM=="usb", ATTR{idVendor}=="2116", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="2116", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # ASUS -SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Philips -SUBSYSTEM=="usb", ATTR{idVendor}=="0471", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0471", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Texas Instruments -SUBSYSTEM=="usb", ATTR{idVendor}=="0451", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0451", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Funai -SUBSYSTEM=="usb", ATTR{idVendor}=="0f1c", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0f1c", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Gigabyte -SUBSYSTEM=="usb", ATTR{idVendor}=="0414", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0414", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # IRiver -SUBSYSTEM=="usb", ATTR{idVendor}=="2420", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="2420", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Compal -SUBSYSTEM=="usb", ATTR{idVendor}=="1219", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="1219", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # T & A Mobile Phones -SUBSYSTEM=="usb", ATTR{idVendor}=="1bbb", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="1bbb", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # LenovoMobile -SUBSYSTEM=="usb", ATTR{idVendor}=="2006", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="2006", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Lenovo -SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Vizio -SUBSYSTEM=="usb", ATTR{idVendor}=="e040", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="e040", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # K-Touch -SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Pegatron -SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Archos -SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Positivo -SUBSYSTEM=="usb", ATTR{idVendor}=="1662", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="1662", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Intel -SUBSYSTEM=="usb", ATTR{idVendor}=="8087", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="8087", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Quanta -SUBSYSTEM=="usb", ATTR{idVendor}=="0408", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="0408", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # INQ Mobile -SUBSYSTEM=="usb", ATTR{idVendor}=="2314", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="2314", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Sony -SUBSYSTEM=="usb", ATTR{idVendor}=="054c", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="054c", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Lab126 -SUBSYSTEM=="usb", ATTR{idVendor}=="1949", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="1949", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Yulong Coolpad -SUBSYSTEM=="usb", ATTR{idVendor}=="1ebf", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="1ebf", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Kobo -SUBSYSTEM=="usb", ATTR{idVendor}=="2237", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="2237", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" # Teleepoch -SUBSYSTEM=="usb", ATTR{idVendor}=="2340", RUN+="/usr/bin/adb start-server" +SUBSYSTEM=="usb", ATTR{idVendor}=="2340", TAG+="systemd", ENV{SYSTEMD_WANTS}="adb.service" diff --git a/adb.service b/adb.service new file mode 100644 index 0000000..b9abc10 --- /dev/null +++ b/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/android-tools.spec b/android-tools.spec index d7472eb..dd7cd8f 100644 --- a/android-tools.spec +++ b/android-tools.spec @@ -1,5 +1,5 @@ -%global date 20121120 -%global git_commit 3ddc005 +%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 @@ -17,7 +17,7 @@ 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 mkbootimg include/cutils include/zipfile include/mincrypt | xz > %%{packdname}.tar.xz +# 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 @@ -28,11 +28,15 @@ Source2: core-Makefile Source3: adb-Makefile Source4: fastboot-Makefile Source5: 51-android.rules +Source6: adb.service -Requires: udev +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units BuildRequires: zlib-devel BuildRequires: openssl-devel BuildRequires: libselinux-devel +BuildRequires: systemd-units Provides: adb Provides: fastboot @@ -63,26 +67,52 @@ setup between the host and the target phone as adb. 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} -install -d -m 0755 ${RPM_BUILD_ROOT}/lib/udev/rules.d -install -D -m 0644 %{SOURCE5} ${RPM_BUILD_ROOT}/lib/udev/rules.d/51-android.rules make install DESTDIR=$RPM_BUILD_ROOT BINDIR=%{_bindir} +install -p -D -m 0644 %{SOURCE6} \ + %{buildroot}%{_unitdir}/adb.service + +%post +if [ "$1" -eq "1" ] ; then + # Initial installation + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi + +%preun +if [ "$1" -eq "0" ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable adb.service > /dev/null 2>&1 || : + /bin/systemctl stop adb.service > /dev/null 2>&1 || : +fi + +%postun +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ "$1" -ge "1" ] ; then + # Package upgrade, not uninstall + /bin/systemctl try-restart adb.service >/dev/null 2>&1 || : +fi %files -%doc adb/OVERVIEW.TXT adb/SERVICES.TXT adb/NOTICE adb/protocol.txt +%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 -/lib/udev/rules.d/51-android.rules %changelog +* 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 diff --git a/sources b/sources index 163f7f8..340709c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -651906a658de90a24301ba7d09525641 core-3ddc005.tar.xz e6c0b8dd70952e97a068c3a61f812968 extras-4ff85ad.tar.xz +8852699267ef36482ea917cc4381f583 core-98d0789.tar.xz