Bug 631190 - Review Request: libnxt - An utility for flashing LEGO Mindstorms NXT firmware
Summary: Review Request: libnxt - An utility for flashing LEGO Mindstorms NXT firmware
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Martin Gieseking
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-07 17:16 UTC by Damian Wrobel
Modified: 2010-10-05 09:33 UTC (History)
3 users (show)

Fixed In Version: libnxt-0.3-2.fc13
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-10-01 12:20:55 UTC
martin.gieseking: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Damian Wrobel 2010-09-07 17:16:47 UTC
Spec URL: http://theowned.net/~dw/projects/rpmbuild/SPECS/libnxt.spec
SRPM URL: http://theowned.net/~dw/projects/rpmbuild/SRPMS/libnxt-0.3-1.fc13.src.rpm
Description: LibNXT is an utility library for talking to the LEGO Mindstorms NXT.
 It currently does:
 * Handling USB communication and locating the NXT in the USB tree.
 * Interaction with the Atmel AT91SAM boot assistant.
 * Flashing of a firmware image to the NXT.
 * Execution of code directly in RAM.

This is my second package and I'll need a sponsor.

Comment 1 Martin Gieseking 2010-09-12 19:01:36 UTC
Hi Damian,

here are some initial comments on your package:

- Remove the article "An" and the final dot from the Summary. It's just a 
  convention to keep the summary concise. 

- add short comments to the spec file telling what the patches do

- drop "Requires: libusb" as rpm automatically adds it as a dependency

- You must ensure that the binaries are built with CCFLAGS='%{optflags}' (the
  cross-compiled flash binary is an exception). Unfortunately, scons doesn't 
  seem to accept variable definitions given as command-line arguments. Thus, 
  you have to patch them into SConstruct.

Comment 2 Damian Wrobel 2010-09-13 18:50:45 UTC
(In reply to comment #1)
Thanks for the valuable comments.

> - Remove the article "An" and the final dot from the Summary. It's just a 
>   convention to keep the summary concise. 
done 
> - add short comments to the spec file telling what the patches do
done
> - drop "Requires: libusb" as rpm automatically adds it as a dependency
done
> - You must ensure that the binaries are built with CCFLAGS='%{optflags}' (the
>   cross-compiled flash binary is an exception). Unfortunately, scons doesn't 
>   seem to accept variable definitions given as command-line arguments. Thus, 
>   you have to patch them into SConstruct.
done

Spec URL: http://theowned.net/~dw/projects/rpmbuild/SPECS/libnxt.spec
SRPM URL: http://theowned.net/~dw/projects/rpmbuild/SRPMS/libnxt-0.3-2.fc13.src.rpm

Comment 3 Martin Gieseking 2010-09-21 17:27:23 UTC
Hi Damian,

Here is the formal review of libnxt. I couldn't find any further issues, so the package is ready now. The next step is to request a git repository for this package. For further details see 
http://fedoraproject.org/wiki/CVS_admin_requests


$ rpmlint /var/lib/mock/fedora-13-x86_64/result/*.rpm
libnxt.src: W: invalid-url Source0: http://libnxt.googlecode.com/files/libnxt-0.3.tar.gz HTTP Error 404: Not Found
libnxt.x86_64: W: no-manual-page-for-binary nxt-fwexec
libnxt.x86_64: W: no-manual-page-for-binary nxt-fwflash
3 packages and 0 specfiles checked; 0 errors, 3 warnings.

All warnings can be ignored:
- invalid URL warning is false positive
- no manpages available for the utilities

---------------------------------
key:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}.
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
    - GPLv2+ according to source file headers

[+] MUST: The License field in the package spec file must match the actual license.
[+] MUST: The file containing the text of the license(s) must be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
    $ md5sum libnxt-0.3.tar.gz*
    05be5f5b8822f10e4fc4e1dea7d5e770  libnxt-0.3.tar.gz
    05be5f5b8822f10e4fc4e1dea7d5e770  libnxt-0.3.tar.gz.1

[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
    - Koji scratch build:
      https://koji.fedoraproject.org/koji/taskinfo?taskID=2479716

[.] MUST: If the package does not successfully compile, build or work ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: The spec file MUST handle locales properly.
[.] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: Files in %doc must not affect the runtime of the application.
[.] MUST: Header files must be in a -devel package.
[.] MUST: Static libraries must be in a -static package.
[.] MUST: If a package contains library files with a suffix ...
[.] MUST: devel packages must require the base package using a fully versioned dependency
[+] MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
[.] MUST: Packages containing GUI applications must include a %{name}.desktop file
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}.
[+] MUST: All filenames in rpm packages must be valid UTF-8.

[.] SHOULD: If the source package does not include license text(s) as a separate file ...
[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[.] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: Usually, subpackages other than devel should require the base package.
[.] SHOULD: pkgconfig(.pc) should be placed in a -devel pkg.
[.] SHOULD: If the package has file dependencies outside of /etc, /bin, ...

----------------
Package APPROVED
----------------

Comment 4 Damian Wrobel 2010-09-21 18:53:53 UTC
New Package SCM Request
=======================
Package Name: libnxt
Short Description: Utility for flashing LEGO Mindstorms NXT firmware
Owners: dwrobel
Branches: f12 f13 f14
InitialCC:

Comment 5 Kevin Fenzi 2010-09-22 16:56:28 UTC
Git done (by process-git-requests).

Comment 6 Fedora Update System 2010-09-23 19:40:50 UTC
libnxt-0.3-2.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/libnxt-0.3-2.fc14

Comment 7 Fedora Update System 2010-09-23 19:42:59 UTC
libnxt-0.3-2.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/libnxt-0.3-2.fc12

Comment 8 Fedora Update System 2010-09-23 19:43:37 UTC
libnxt-0.3-2.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/libnxt-0.3-2.fc13

Comment 9 Fedora Update System 2010-09-24 20:34:09 UTC
libnxt-0.3-2.fc13 has been pushed to the Fedora 13 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update libnxt'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/libnxt-0.3-2.fc13

Comment 10 Fedora Update System 2010-10-01 12:20:50 UTC
libnxt-0.3-2.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2010-10-05 09:28:53 UTC
libnxt-0.3-2.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2010-10-05 09:33:41 UTC
libnxt-0.3-2.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.


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