Bug 1236300 - Review Request: GarminPlugin - Garmin Communicator Plugin port for Linux
Summary: Review Request: GarminPlugin - Garmin Communicator Plugin port for Linux
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Christian Dersch
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1236294
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-06-27 13:16 UTC by Björn 'besser82' Esser
Modified: 2015-07-20 19:48 UTC (History)
2 users (show)

Fixed In Version: GarminPlugin-0.3.27-2.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-07-14 15:29:39 UTC
Type: ---
Embargoed:
lupinix.fedora: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Björn 'besser82' Esser 2015-06-27 13:16:45 UTC
Description:

  This browser plugin has the same methods and properties as the
  official Garmin Communicator Plugin.  It can be used to transfer
  GPX files (Geocache Descriptions) to your garmin device using
  the official Garmin Javascript API. Its functionality depends on
  the device you use.
    - Edge305/Forerunner305: ReadFitnessData, ReadGpsData, No write support
    - Edge705/Oregon/Dakota: ReadFitnessData, ReadGpsData, Write Gpx files
    - Edge800: ReadFitnessData, Write Gpx/Tcx Files
    - Other devices: Executes external command to write Gpx to device


Koji Builds:

  Frh:  none  -->  unresolved dependencies from other review


Issues:

  fedora-review shows no obvious issues.  AFAIK there might be some false
  positives from rpmlint.


FAS-User:

  besser82


Urls:

  Spec URL: https://besser82.fedorapeople.org/review/GarminPlugin.spec
  SRPM URL: https://besser82.fedorapeople.org/review/GarminPlugin-0.3.26-0.1.fc23.src.rpm


Thanks for review in advance!

Comment 1 Christian Dersch 2015-06-27 17:32:04 UTC
Taken!

Comment 2 Christian Dersch 2015-06-28 07:52:34 UTC
First run done, there are some things todo:
1.) Code contains GPLv3+ files, so the whole license has to be GPLv3+
2.) Please check if you need mozilla-filesystem as a requirement
3.) Inform upstream about missing license file


Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[-]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.

===> OK, is the Mozilla plugin

[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[-]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "BSD (3 clause)", "GPL (v3 or later)", "Unknown or generated",
     "MPL (v1.1) GPL (unversioned/unknown version)". 5 files have unknown
     license. Detailed output of licensecheck in
     /home/review/1236300-GarminPlugin/licensecheck.txt

====> Package is GPLv3+, not GPLv2+

[?]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/lib64/mozilla(mozilla-
     filesystem), /usr/lib64/mozilla/plugins(mozilla-filesystem)

====> Maybe you need mozilla-filesystem as a dep

[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[?]: Requires correct, justified where necessary.

====> See above, mozilla-filesystem required?

[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 40960 bytes in 3 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[!]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.

====> Please inform upstream about missing license file

[?]: Final provides and requires are sane (see attachments).
[?]: Package functions as described.

====> I don't have a Garmin device to test

[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[-]: Packages should try to preserve timestamps of original installed
     files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: GarminPlugin-0.3.26-0.1.fc23.x86_64.rpm
          GarminPlugin-0.3.26-0.1.fc23.src.rpm
GarminPlugin.x86_64: W: spelling-error Summary(en_US) Garmin -> Margin, Gamin, Arming
GarminPlugin.x86_64: W: spelling-error %description -l en_US garmin -> margin, gamin, arming
GarminPlugin.src: W: spelling-error Summary(en_US) Garmin -> Margin, Gamin, Arming
GarminPlugin.src: W: spelling-error %description -l en_US garmin -> margin, gamin, arming
GarminPlugin.src:34: W: mixed-use-of-spaces-and-tabs (spaces: line 34, tab: line 1)
2 packages and 0 specfiles checked; 0 errors, 5 warnings.




Rpmlint (debuginfo)
-------------------
Checking: GarminPlugin-debuginfo-0.3.26-0.1.fc23.x86_64.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
GarminPlugin.x86_64: W: spelling-error Summary(en_US) Garmin -> Margin, Gamin, Arming
GarminPlugin.x86_64: W: spelling-error %description -l en_US garmin -> margin, gamin, arming
2 packages and 0 specfiles checked; 0 errors, 2 warnings.



Requires
--------
GarminPlugin (rpmlib, GLIBC filtered):
    garmintools(x86-64)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libgarmintools.so.4()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcrypt.so.20()(64bit)
    libgcrypt.so.20(GCRYPT_1.6)(64bit)
    libgpg-error.so.0()(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libtinyxml.so.0()(64bit)
    libusb-0.1.so.4()(64bit)
    libz.so.1()(64bit)
    rtld(GNU_HASH)



Provides
--------
GarminPlugin:
    GarminPlugin
    GarminPlugin(x86-64)



Unversioned so-files
--------------------
GarminPlugin: /usr/lib64/mozilla/plugins/npGarminPlugin.so

====> We have a Mozilla plugin here, so unversioned so-file is ok


Source checksums
----------------
https://github.com/adiesner/GarminPlugin/archive/V0.3.26.tar.gz#/GarminPlugin-0.3.26.tar.gz :
  CHECKSUM(SHA256) this package     : 6092985843961fe366a3a35446a29e81680fed6bc0a452c1495213e9826eea95
  CHECKSUM(SHA256) upstream package : 6092985843961fe366a3a35446a29e81680fed6bc0a452c1495213e9826eea95


Generated by fedora-review 0.5.3 (bcf15e3) last change: 2015-05-04
Command line :/bin/fedora-review -m fedora-rawhide-x86_64 -b 1236300 -L deps
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Built with local dependencies:
    /home/review/deps/garmintools-debuginfo-0.10-5.1.fc23.x86_64.rpm
    /home/review/deps/garmintools-devel-0.10-5.1.fc23.x86_64.rpm
    /home/review/deps/garmintools-0.10-5.1.fc23.x86_64.rpm

Comment 3 Christian Dersch 2015-06-28 07:57:45 UTC
Why 0.1 in release tag? Is an official upstream release, so I would prefer 1

Comment 4 Björn 'besser82' Esser 2015-06-28 09:23:03 UTC
(In reply to Christian Dersch from comment #2)
> First run done, there are some things todo:
> 1.) Code contains GPLv3+ files, so the whole license has to be GPLv3+
> 2.) Please check if you need mozilla-filesystem as a requirement
> 3.) Inform upstream about missing license file

%changelog
  * Sun Jun 28 2015 Björn Esser <bjoern.esser> - 0.3.26-0.2
    - fixed License-tag
    - add Requires: mozilla-filesystem
    - informed upstream about missing full license-text and
      added a template for including the file into the package
    - add Patch0: adding configure-option to opt-out upstream's
      optimization flags


(In reply to Christian Dersch from comment #3)
> Why 0.1 in release tag? Is an official upstream release, so I would prefer 1

Will bump release to 1 after review on initial build.


Urls:

  Spec URL: https://besser82.fedorapeople.org/review/GarminPlugin.spec
  SRPM URL: https://besser82.fedorapeople.org/review/GarminPlugin-0.3.26-0.2.fc23.src.rpm

Comment 5 Christian Dersch 2015-06-28 09:33:20 UTC
Issues are fixed and fedora-review output looks fine now (I don't post it here as it looks like the first one except the gone issues :D) => APPROVED!

Comment 6 Björn 'besser82' Esser 2015-06-28 09:37:54 UTC
Thanks for the review, Christian!

***

New Package SCM Request
=======================
Package Name: GarminPlugin
Short Description: Garmin Communicator Plugin port for Linux
Upstream URL: http://www.andreas-diesner.de/garminplugin
Owners: besser82
Branches: el5 el6 epel7 f21 f22
InitialCC:

Comment 7 Alexey Brodkin 2015-06-29 10:17:47 UTC
So good to see that really useful plugin in Fedora finally (before that Fedora users had to use .rpms built in openSUSE Build System).

But looks like it might be too late really because Garmin is about to drop support of that legacy API.

See Andrew's not here - http://www.andreas-diesner.de/garminplugin/doku.php?id=news

Official statement is here - http://www.garmindeveloper.com/web-device/garmin-communicator-plugin/

Moreover even today to use this plugin with Garmin connect web-site it's required to  "Switch to Classic Temporarily" as described here - http://www.andreas-diesner.de/garminplugin/doku.php?id=garminexpress

Unfortunately I haven't tried this browser plugin with other web-sites so cannot comment if it works still on Endomondo/Runtastic etc.

Will try Endomondo later today.

Still your efforts with the plugin are much appreciated!
See my comment also in bug #1236294 on regard of garmintools.

Comment 8 Gwyn Ciesla 2015-06-29 16:17:06 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2015-06-30 07:28:04 UTC
GarminPlugin-0.3.27-2.el7,garmintools-0.10-7.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/GarminPlugin-0.3.27-2.el7,garmintools-0.10-7.el7

Comment 10 Fedora Update System 2015-06-30 07:28:11 UTC
GarminPlugin-0.3.27-2.el6,garmintools-0.10-7.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/GarminPlugin-0.3.27-2.el6,garmintools-0.10-7.el6

Comment 11 Fedora Update System 2015-06-30 16:52:05 UTC
garmintools-0.10-7.fc21,GarminPlugin-0.3.27-2.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/garmintools-0.10-7.fc21,GarminPlugin-0.3.27-2.fc21

Comment 12 Fedora Update System 2015-06-30 16:52:14 UTC
garmintools-0.10-7.fc22,GarminPlugin-0.3.27-2.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/garmintools-0.10-7.fc22,GarminPlugin-0.3.27-2.fc22

Comment 13 Fedora Update System 2015-06-30 22:38:29 UTC
GarminPlugin-0.3.27-2.el6, garmintools-0.10-7.el6 has been pushed to the Fedora EPEL 6 testing repository.

Comment 14 Fedora Update System 2015-07-14 15:29:39 UTC
garmintools-0.10-7.fc21, GarminPlugin-0.3.27-2.fc21 has been pushed to the Fedora 21 stable repository.

Comment 15 Fedora Update System 2015-07-14 15:40:05 UTC
garmintools-0.10-7.fc22, GarminPlugin-0.3.27-2.fc22 has been pushed to the Fedora 22 stable repository.

Comment 16 Fedora Update System 2015-07-20 19:48:12 UTC
GarminPlugin-0.3.27-2.el6, garmintools-0.10-7.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 17 Fedora Update System 2015-07-20 19:48:42 UTC
GarminPlugin-0.3.27-2.el7, garmintools-0.10-7.el7 has been pushed to the Fedora EPEL 7 stable repository.


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