Bug 631558 - Review Request: arduino - An IDE for Arduino-compatible electronics prototyping platforms
Summary: Review Request: arduino - An IDE for Arduino-compatible electronics prototypi...
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Alexander Kurtakov
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: 636581
TreeView+ depends on / blocked
Reported: 2010-09-07 21:14 UTC by Peter Oliver
Modified: 2010-10-16 21:15 UTC (History)
7 users (show)

Fixed In Version: arduino-0019-6.fc13
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2010-09-30 06:12:08 UTC
akurtako: fedora-review+
kevin: fedora-cvs+

Attachments (Terms of Use)

Description Peter Oliver 2010-09-07 21:14:21 UTC
Spec URL: http://www.triv.org.uk/~mavit/rpm/specs/arduino.spec
SRPM URL: http://www.triv.org.uk/~mavit/rpm/fedora-13/SRPMS/arduino-0019-3.fc13.src.rpm
Description: Arduino is an open-source electronics prototyping platform based on
flexible, easy-to-use hardware and software. It's intended for artists,
designers, hobbyists, and anyone interested in creating interactive
objects or environments.

This is my first package, and I am seeking a sponsor.

Comment 1 Alexander Kurtakov 2010-09-08 06:30:16 UTC
Hi Peter, 
I'll do the review and sponsor you.

First problem - Package in fedora should never use jars/classes build outside Fedora. And your contain jar files in the app/lib folder. To be sure that you're clean you have to add
find -name '*.class' -exec rm -f '{}' \;
find -name '*.jar' -exec rm -f '{}' \;

after you %setup line. When this jars are removed the build fails with 
/home/akurtakov/work/runtime-EclipseApplication/arduino/BUILD/arduino-0019/build/build.xml:41: The following error occurred while executing this line:
/home/akurtakov/work/runtime-EclipseApplication/arduino/BUILD/arduino-0019/build/build.xml:61: The following error occurred while executing this line:
/home/akurtakov/work/runtime-EclipseApplication/arduino/BUILD/arduino-0019/core/build.xml:12: taskdef class PAppletMethods cannot be found
 using the classloader AntClassLoader[]

You should also check for any prebuild libraries, remove them and verify they are build from source.

Comment 2 Peter Oliver 2010-09-08 15:48:12 UTC

I have updated the package to make sure that these files are removed from the source bundle, and re-make them again afterwards.

Spec URL: http://www.triv.org.uk/~mavit/rpm/specs/arduino.spec
SRPM URL: http://www.triv.org.uk/~mavit/rpm/fedora-13/SRPMS/arduino-0019-4.fc13.src.rpm

Comment 3 Alexander Kurtakov 2010-09-09 10:04:31 UTC
Hi Peter,
You took the easiest approach to use ln -s /usr/share/java app/lib
 but this is crying for problems. You can easily miss a build requirement in your spec file. The preferred way is to keep your lib folder and create symlinks for each jar.
It is obviously missing some BuildRequires because it is failing to build on my machine with the following error:
[mkdir] Created dir: /home/akurtakov/work/runtime-EclipseApplication/arduino/BUILD/arduino-0019/app/bin
    [javac] Compiling 57 source files to /home/akurtakov/work/runtime-EclipseApplication/arduino/BUILD/arduino-0019/app/bin
    [javac] /home/akurtakov/work/runtime-EclipseApplication/arduino/BUILD/arduino-0019/app/src/processing/app/Editor.java:44: package gnu.io does not exist
    [javac] import gnu.io.*;

Also you're using 
Requires:	avr-gcc avr-gcc-c++ avr-libc avrdude /usr/bin/avrdude /etc/avrdude/avrdude.conf
File based requires like /usr/bin/avrdude should be avoided as much as possible because they make yum download the filelist db of every package in the repository which is quite big. Just requiring the packages that contains this file if preferred.

I'll do the official review once such issues are fixed.

Comment 4 Peter Oliver 2010-09-12 15:50:20 UTC
Sorry, I forgot to re-run mock after the previous changes.  The BuildRequires should all be present, now.  I've also removed the file-based Requires.

Updated SRPM at http://www.triv.org.uk/~mavit/rpm/fedora-13/SRPMS/arduino-0019-5.fc13.src.rpm

Comment 5 Alexander Kurtakov 2010-09-17 11:45:27 UTC
OK: rpmlint must be run on every package. There are a number of  devel-file-in-non-devel-package warnings but as this is an IDE for cross compiling and these headers/sources are used only for crosscompiling there is no reason to put them in devel package.
OK: The package must be named according to the Package Naming Guidelines .
OK: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. 
OK: The package must meet the Packaging Guidelines .
OK: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines .
OK: The License field in the package spec file must match the actual license.

FIXIT: 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 must be included in %doc.
There is a lisense.txt file which you should put as %doc.

OK: The spec file must be written in American English. 
OK: The spec file for the package MUST be legible.
OK: The sources used to build the package must match the upstream source, as provided in the spec URL. Instructions to generate the tarball included.
OK: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
OK: All build dependencies must be listed in BuildRequires
OK: Packages must NOT bundle copies of system libraries.
OK: A package must own all directories that it creates. 
OK: A Fedora package must not list a file more than once in the spec file's %files listings.
OK: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line. 
OK: Each package must consistently use macros. 
OK: The package must contain code, or permissable content. 
OK: If a package includes something as %doc, it must not affect the runtime of the application. 
OK: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section. 
OK: Packages must not own files or directories already owned by other packages. 
OK: All filenames in rpm packages must be valid UTF-8. 

So there is just one small issue the missing %doc for lisence.txt it would be good if you add readme.txt too.
When these are fixed I'll approve the package and sponsor you.

Comment 6 Peter Oliver 2010-09-17 19:48:18 UTC
Thanks again.

The package arduino-core contains license.txt and readme.txt, and both are listed as documentation if you run rpm -qd.  Is this sufficient?

At present, directory /usr/share/doc/arduino-0019/ is being used for documentation.  If you use %doc, you end up with files in /usr/share/doc/arduino-core-0019/, which seems messy.

Comment 7 Alexander Kurtakov 2010-09-20 12:41:08 UTC
I would prefer to see license listed directly so it didn't get missed by some future changes.

Comment 8 Peter Oliver 2010-09-20 14:32:17 UTC
Okay, I've named the doc files explicitly.  This means the reference documentation can no longer be in the same directory (since it gets deleted by %doc), and some users might not want the documentation anyway, so I've moved it into a separate subpackage.

Updated files at http://www.triv.org.uk/~mavit/rpm/specs/arduino.spec,

Comment 9 Alexander Kurtakov 2010-09-20 14:44:05 UTC
This package is APPROVED.

Comment 10 Alexander Kurtakov 2010-09-20 15:23:35 UTC
Dropping FE-NEEDSPONSOR. I've sponsored this contributor.

Comment 11 Peter Oliver 2010-09-20 16:49:23 UTC
New Package SCM Request
Package Name: arduino
Short Description: An IDE for Arduino-compatible electronics prototyping platforms
Owners: mavit
Branches: f13 f14

Comment 12 Kevin Fenzi 2010-09-21 03:43:23 UTC
Git done (by process-git-requests).

Comment 13 Fedora Update System 2010-09-21 13:48:56 UTC
arduino-0019-6.fc14 has been submitted as an update for Fedora 14.

Comment 14 Fedora Update System 2010-09-21 13:58:13 UTC
arduino-0019-6.fc13 has been submitted as an update for Fedora 13.

Comment 15 Fedora Update System 2010-09-21 18:16:54 UTC
arduino-0019-6.fc14 has been pushed to the Fedora 14 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 arduino'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/arduino-0019-6.fc14

Comment 16 Chitlesh GOORAH 2010-09-25 08:43:22 UTC
Hello Peter,

can you please request branches for EL-6 too ?

thank you,

Comment 17 q2dg 2010-09-25 10:57:06 UTC
Thank you!!!! Thank you!!!!

Comment 18 Fedora Update System 2010-09-30 06:12:02 UTC
arduino-0019-6.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 19 Fedora Update System 2010-09-30 10:28:18 UTC
arduino-0019-6.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 20 Chitlesh GOORAH 2010-10-10 10:42:48 UTC
Peter, I'll email you several times about rebuilding this package for EL-6. Can you please tell me at least if you are interested ?

Comment 21 Peter Oliver 2010-10-11 15:21:22 UTC
(In reply to comment #20)
> Peter, I'll email you several times about rebuilding this package for EL-6. Can
> you please tell me at least if you are interested ?

This is my first package, of an application that is yet to reach an API-stable 1.0 release.  I think I'd like to wait a little while to see how things go before committing to support anything for seven years.

You're welcome to become co-maintainer if you'd like to take this on yourself.

Comment 22 Chitlesh GOORAH 2010-10-12 17:26:48 UTC
Well, we need to get people to use your package. The number of people who will use Fedora for hardware design is limited. But the number of people who will use CentOS/RHEL for hardware design is more.

With my experience with FEL, I can tell CentOS/RHEL have 100x more users using EDA tools than in Fedora. And the userbase of Fedora are geeks while most certainly you will find hardware engineers runing CentOS/RheL, because its the OS they use at work.

This is a bit different for software world. 

This is also a reason why I'm migrating FEL to CentOS/RHEL, in order to bring opensource EDA tools closer to engineers, in hope they might help us move the wagon along in terms of technology transfer.

I am willing co-maintain this package with you. Do you mind if I request a branch for EL-6 ?

I invite you to join our FEL mailing list. I'm mostly interested in ASIC design, but some people like embedded design, a field I don't consider myself expert. Perhaps you can help us improve this embedded design flow.

Comment 23 Peter Oliver 2010-10-15 16:11:25 UTC
Package Change Request
Package Name: arduino
New Branches: el6
Owners: mavit chitlesh

Comment 24 Kevin Fenzi 2010-10-16 21:15:40 UTC
Git done (by process-git-requests).

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