Bug 705587 - Review Request: android-tools - Android platform tools (adb, fastboot, etc)
Summary: Review Request: android-tools - Android platform tools (adb, fastboot, etc)
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: nucleo
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-05-17 22:13 UTC by Ivan Afonichev
Modified: 2014-09-18 15:02 UTC (History)
11 users (show)

Fixed In Version: android-tools-20111120git4a25390-3.fc16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-10 19:47:57 UTC
Type: ---
Embargoed:
alekcejk: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Ivan Afonichev 2011-05-17 22:13:13 UTC
Spec URL: https://github.com/vanaf/android-tools-fedora/blob/master/android-tools.spec
SRPM URL: http://baldr.sgu.ru/rpm/android-tools-20110516.327b2b7-1.fc14.src.rpm
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.

Comment 1 Ivan Afonichev 2011-07-26 18:53:51 UTC
Spec URL:
https://github.com/vanaf/android-tools-fedora/blob/master/android-tools.spec
SRPM URL: http://baldr.sgu.ru/rpm/android-tools-20110726.212282c-1.fc15.src.rpm

-Updated to the latest upstream commit
-Added more USB Vendors
-fix source URL

Comment 2 Mohamed El Morabity 2011-07-30 09:08:01 UTC
Be careful: the Fedora compilation flags are not set. CLFAGS must include $RPM_OPT_FLAGS.

Comment 3 nucleo 2011-07-30 11:28:51 UTC
Files in fastboot/ have BSD license.
Resulting License tag should be ASL 2.0 and BSD.

Comment 4 Ivan Afonichev 2011-07-31 20:16:18 UTC
Spec URL:
https://github.com/vanaf/android-tools-fedora/blob/master/android-tools.spec
SRPM URL: http://baldr.sgu.ru/rpm/android-tools-20110731.810cf41-1.fc15.src.rpm

- Update to upstream git commit 810cf41
- Fix License
- Use optflags
- Added more udev devices
- Remove Epoch

Comment 5 Ivan Afonichev 2011-08-16 19:18:29 UTC
Spec URL: https://github.com/vanaf/android-tools-fedora/blob/master/android-tools.spec
SRPM URL: http://baldr.sgu.ru/rpm/android-tools-20110816.80d508f-1.fc15.src.rpm

- Update to upstream git commit 80d508f
- Added more udev devices

Comment 6 Volker Fröhlich 2011-08-23 19:53:40 UTC
I can't download the SRPM.

Comment 7 Ivan Afonichev 2011-08-24 22:04:23 UTC
Sorry there were some network problems on baldr.sgu.ru
fixed now.

Comment 8 Volker Fröhlich 2011-08-26 20:27:18 UTC
If you aim for EPEL5 and older, define a buildroot. If not, delete the rm in the install section. Defattr is not necessary anymore as well.

The install macro is not used anymore; just use the install command.

I'm under the impression, the description only describes one part of the package. Is this correct? The description could probably be more concise in the end.

"etc" and "etc.." should be "etc."

There are a few files licensed under GPL:

debuggerd/arm/pr-support.c: GPL 
debuggerd/arm/unwind.c: GPL 
sh/arith.c: GPL (with incorrect FSF address)

Comment 9 Ivan Afonichev 2011-08-26 22:08:02 UTC
Spec URL: https://github.com/vanaf/android-tools-fedora/blob/master/android-tools.spec
SRPM URL: http://baldr.sgu.ru/rpm/android-tools-20110816.80d508f-2.fc15.src.rpm

- Remove the rm in the install section
- Remove defattr
- Use install command(not macro)
- Add description of fastboot

This package includes only adb and fastboot binaries.

As far as I know

debuggerd/arm/pr-support.c: GPL 
debuggerd/arm/unwind.c: GPL 
sh/arith.c: GPL (with incorrect FSF address)

are not used for them and some binary files in adb/ and fastboot/ dirs also are not necessary for building this package

Comment 10 Volker Fröhlich 2011-09-05 06:15:11 UTC
You're right, they're not used.

Comment 11 Thomas Spura 2011-10-16 20:49:34 UTC
I tried to build it (and use it, but I'm not familiar with manually doing something with android devices yet ;)) and this is now in my dmesg:

SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/51-android.rules

(Repeating several times ~20-30)

Comment 13 Ivan Afonichev 2011-11-15 20:30:08 UTC
Spec URL:
https://github.com/vanaf/android-tools-fedora/blob/master/android-tools.spec
SRPM URL: http://baldr.sgu.ru/rpm/android-tools-20111115.4a25390-1.fc16.src.rpm

- Change upstream git repo URL
- Update to upstream git commit 4a25390
- Added more udev devices

Comment 14 Thomas Spura 2011-11-15 22:29:14 UTC
- As you are adding your own Makefiles anyway, could you use "install -p" there to preserve timestamps?:
  https://fedoraproject.org/wiki/Packaging:Guidelines#Timestamps

- version is slightly wrong:
  https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Non-Numeric_Version_in_Release

  Please use, e.g. %{date}git%{git_commit}

(Out of curiosity, why do you use $git_commit and not a tagged release?)

- License issues:
  You need to add a comment, which file has what license, for an example see:
  https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Multiple_Licensing_Scenarios

  (It would make reviewing a lot easier, when you delete not needed directories either in %prep or when generating the source...)

- $ rpmlint ~/rpmbuild/SRPMS/android-tools-20111115.4a25390-1.fc16.src.rpm ~/rpmbuild/RPMS/x86_64/android-tools-*20111115.4a25390*
android-tools.src: W: spelling-error Summary(en_US) adb -> dab, adv, ad
android-tools.src: W: spelling-error Summary(en_US) fastboot -> fast boot, fast-boot, fastball
android-tools.src: W: spelling-error %description -l en_US adb -> dab, adv, ad
android-tools.src: W: spelling-error %description -l en_US Fastboot -> Fast boot, Fast-boot, Fastball
android-tools.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
android-tools.src: W: spelling-error %description -l en_US fastboot -> fast boot, fast-boot, fastball
android-tools.src:15: W: macro-in-comment %{packdname}
android-tools.src:15: W: macro-in-comment %{git_commit}
android-tools.src:15: W: macro-in-comment %{packdname}
android-tools.src: W: invalid-url Source0: core-4a25390.tar.xz
android-tools.x86_64: W: spelling-error %description -l en_US Fastboot -> Fast boot, Fast-boot, Fastball
android-tools.x86_64: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
android-tools.x86_64: W: non-conffile-in-etc /etc/udev/rules.d/51-android.rules
android-tools.x86_64: W: no-manual-page-for-binary adb
android-tools.x86_64: W: no-manual-page-for-binary fastboot
3 packages and 0 specfiles checked; 0 errors, 15 warnings.

- macro-in-comment: Please use two %%, so the warning is gone (you can't use the macros anyway)

####################################################################

RFC:
- non-conffile-in-etc: I don't consider udev rules as conf file...
  Anyone else here?

Comment 15 nucleo 2011-11-15 22:41:08 UTC
(In reply to comment #14)
> RFC:
> - non-conffile-in-etc: I don't consider udev rules as conf file...
>   Anyone else here?

Looks like this should be fixed. Right place for rules is /lib/udev/rules.d/. See bug 748205

Comment 16 nucleo 2011-11-17 22:39:44 UTC
"(adb, fastboot, etc)" should not be in Summary (The summary should be a short and concise description of the package. The description expands upon this.)
http://fedoraproject.org/wiki/Packaging/Guidelines#Summary_and_description

If you want yum search to find adb and fastboot than you can add

Provides: adb
Provides: fastboot

Comment 17 nucleo 2011-11-17 22:46:46 UTC
So if there are tags available then maybe it would be more correct to use tag number in Version and %{date}git%{git_commit} in Release as for pre-release packages?
https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Pre-Release_packages

Comment 18 nucleo 2011-11-17 23:51:54 UTC
adb ans fastboot are statically linked with libzipfile (adb also with libcutils).
Can you modify makefiles for using shared libs?

Comment 19 nucleo 2011-11-19 17:17:19 UTC
License text adb/NOTICE also should be added in %doc.

Comment 20 Ivan Afonichev 2011-11-20 19:22:01 UTC
Spec URL:
https://github.com/vanaf/android-tools-fedora/blob/master/android-tools.spec
SRPM URL: http://baldr.sgu.ru/rpm/android-tools-20111120git4a25390-1.fc16.src.rpm
- Versioning changes
- Use only needed sources
- Udev rules moved to lib
- More license info added
- adb and fastboot moved to provides from summary


It seems that git tags have very little relation to platform tools part of this git repository. Git tags also have no info about how next release will be called.

libzipfile and libcutils seems to be used only in android project and there are not currently packaged in Fedora...

Comment 21 nucleo 2011-11-20 19:48:46 UTC
/lib/udev/rules.d/ is owned by udev, so "Requires: udev" should be added.

There are two issues with libzipfile:
1. libzipfile compiled in both in adb and fastboot
2. libzipfile have ASL 2.0 license but fastboot is BSD

So building at least libzipfile as shared library will eliminate its code duplication in adb and fastboot and made two binaries with different licenses.
Is it possible to build libzipfile as shared library?

Comment 23 nucleo 2011-11-22 21:58:36 UTC
If libzipfile and mkbootimg will be compiled in fatsboot then fastboot license will be "ASL 2.0 and BSD" but adb license is ASL 2.0.
So resulting License tag should be

License: ASL 2.0 and (ASL 2.0 and BSD)

See https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Combined_Dual_and_Multiple_Licensing_Scenario

Please also add comment before License:
# The entire source code is ASL 2.0 except fastboot/ which is BSD

Also please change URL to more specific for android tools
http://developer.android.com/guide/developing/tools/

Comment 25 nucleo 2011-11-23 20:10:43 UTC
Name: ok
License: ok
BuildRequires/Requires: ok
Macros used consistently: ok
ldconfig: NA
Locales: NA
Devel: NA
Files: ok
Builds in mock: ok
rpmlint output:
android-tools.src: W: spelling-error %description -l en_US adb -> dab, adv, ad
android-tools.src: W: spelling-error %description -l en_US Fastboot -> Fast boot, Fast-boot, Fastball
android-tools.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
android-tools.src: W: spelling-error %description -l en_US fastboot -> fast boot, fast-boot, fastball
android-tools.src: W: invalid-url URL: http://developer.android.com/guide/developing/tools/ HTTP Error 405: Method Not Allowed
android-tools.src: W: strange-permission adb-Makefile 0660L
android-tools.src: W: strange-permission fastboot-Makefile 0660L
android-tools.src: W: strange-permission core-Makefile 0660L
android-tools.src:28: W: unversioned-explicit-provides adb
android-tools.src:29: W: unversioned-explicit-provides fastboot
android-tools.src: W: invalid-url Source0: core-4a25390.tar.xz
android-tools.i686: W: spelling-error %description -l en_US Fastboot -> Fast boot, Fast-boot, Fastball
android-tools.i686: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
android-tools.i686: W: invalid-url URL: http://developer.android.com/guide/developing/tools/ HTTP Error 405: Method Not Allowed
android-tools.i686: W: no-manual-page-for-binary adb
android-tools.i686: W: no-manual-page-for-binary fastboot
android-tools-debuginfo.i686: W: invalid-url URL: http://developer.android.com/guide/developing/tools/ HTTP Error 405: Method Not Allowed

unversioned-explicit-provides is ok because there is no update from previous versions.
You can set 644 permissions for makefiles when uploading them to git but this is not blocker.
All other warnings are harmless.

APPROVED

Comment 26 Ivan Afonichev 2011-11-23 20:46:07 UTC
New Package SCM Request
=======================
Package Name: android-tools
Short Description: Android platform tools
Owners: van
Branches: f15 f16
InitialCC:

Comment 27 Gwyn Ciesla 2011-11-25 03:34:15 UTC
Git done (by process-git-requests).

Comment 28 Fedora Update System 2011-11-27 21:30:36 UTC
android-tools-20111120git4a25390-3.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/android-tools-20111120git4a25390-3.fc15

Comment 29 Fedora Update System 2011-11-27 21:30:46 UTC
android-tools-20111120git4a25390-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/android-tools-20111120git4a25390-3.fc16

Comment 30 Fedora Update System 2011-11-29 00:03:04 UTC
android-tools-20111120git4a25390-3.fc15 has been pushed to the Fedora 15 testing repository.

Comment 31 Fedora Update System 2011-12-10 19:47:57 UTC
android-tools-20111120git4a25390-3.fc15 has been pushed to the Fedora 15 stable repository.

Comment 32 Fedora Update System 2011-12-10 20:08:29 UTC
android-tools-20111120git4a25390-3.fc16 has been pushed to the Fedora 16 stable repository.

Comment 33 Adam Miller 2013-11-25 21:56:49 UTC
Package Change Request
======================
Package Name: android-tools
New Branches: el6
Owners: maxamillion


I would like to maintain this package for EPEL EL6, I have contacted Ivan (package owner for Fedora) and he said he doesn't have any RHEL/EL machines but wouldn't mind if I maintained.

Comment 34 Gwyn Ciesla 2013-11-26 13:18:00 UTC
Git done (by process-git-requests).

Comment 35 Adam Miller 2014-09-18 13:46:08 UTC
Package Change Request
======================
Package Name: android-tools
New Branches: epel7
Owners: maxamillion

Comment 36 Gwyn Ciesla 2014-09-18 15:02:38 UTC
Git done (by process-git-requests).


Note You need to log in before you can comment on or make changes to this bug.