Bug 666311 (fritzing) - Review Request: fritzing - Intuitive EDA platform from prototype to product
Summary: Review Request: fritzing - Intuitive EDA platform from prototype to product
Keywords:
Status: CLOSED ERRATA
Alias: fritzing
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Chitlesh GOORAH
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-12-30 04:08 UTC by Ed Marshall
Modified: 2012-01-01 21:21 UTC (History)
10 users (show)

Fixed In Version: fritzing-0.6.4b-2.fc16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-01-01 21:21:31 UTC
Type: ---
Embargoed:
chitlesh: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Ed Marshall 2010-12-30 04:08:40 UTC
Spec URL: http://esm.logic.net/public/fedora/fritzing/fritzing.spec
SRPM URL: http://esm.logic.net/public/fedora/fritzing/fritzing-0.4.3b-1.fc14.src.rpm
Description:
Fritzing is an open-source initiative to support designers, artists,
researchers and hobbyists to take the step from physical prototyping
to actual product. It is in the spirit of Processing and Arduino which
allows users to document their Arduino and other electronic-based 
prototypes, and to create a PCB layout for manufacturing.

This package is based on the one put together a year and a half ago by Chitlesh Goorah, but has been updated to the latest release with changes to try and conform to the current packaging guidelines.

I don't have any packages in Fedora yet, so I'm in need of a sponsor.

Comment 1 Fabian Affolter 2011-02-13 21:10:54 UTC
0.5.0b seams to be the latest version.

Comment 2 Ed Marshall 2011-02-14 15:30:47 UTC
Spec URL: http://esm.logic.net/public/fedora/fritzing/fritzing.spec
SRPM URL: http://esm.logic.net/public/fedora/fritzing/fritzing-0.5.0b-1.fc14.src.rpm

Here you go; you must want the new autorouter pretty badly. :) I've confirmed that it builds cleanly with mock on i686; I'll test a build on x86_64 later today; both are/will be available here:

http://esm.logic.net/public/fedora/fritzing/

I'm still in need of review and a sponsor if anyone is willing to spare a few minutes to take a look. :)

Comment 3 Rich Mattes 2011-02-15 05:02:41 UTC
I'm very interested in this package making it into Fedora.  I'm not a sponsor so I cannot complete a review of this package, but I'd still like to give you some feedback on some problems I see.

* You do not need to call "strip" on the Fritzing binary, rpmbuild will take care of that.  

* It looks like the package is building against a bundled boost-1.43, quazip, and qtlockedfile (located under src/lib in the source.)  Bundling libraries that are available system-wide is not acceptable as per http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries  You'll need to remove the bundled libraries during %prep as per http://fedoraproject.org/wiki/Packaging:Treatment_Of_Bundled_Libraries and patch the buildsystem so it detects and builds against system-installed libraries.

A folder called "ff" also exists with a couple of source files, but I cannot find an upstream project that provides them.

* You should export CXXFLAGS="%{optflags}" before calling qt4_qmake so the package is built with Fedora's default flags (optimization level, debug level, etc.)

Comment 4 Ed Marshall 2011-02-15 17:03:49 UTC
Great feedback, thank you!

- The strip is a remnant from Chitlesh's first stab at packaging this; I've pulled that out.

- Good catch on the bundled libraries; I have it building now without the included boost, quazip, and qtlockedfile. I did a sanity check across the repository history to make sure there aren't local changes that haven't made it upstream; there's a few small changes, but they all appear to be related to incorporating the libraries locally. I may have found a bug in the packaging for quazip as a result of this. :)

(Boost is an interesting situation; the resulting binary doesn't actually end up linking against any of the supplied libraries, as it appears everything they're using from it inlines at compile-time. It's even more interesting, in that boost is called out as an example in No_Bundled_Libraries. :))

- I took a look at "ff", and the original upstream appears to be at http://shygypsy.com/tools/ . It's all separately-released files (effectively public domain/do-what-you-want, from the license at the top of the page) rather than collected into a library, and the fellow doesn't appear to be actively maintaining it. It also looks like they're patching it locally for Fritzing, making them effectively upstream for this.

- The CXXFLAGS export has been added.

- I've also updated to this morning's bugfix release of 1.5.1b to address the autorouter crashes with off-board parts.

I'll post an update as soon as the mock builds finish. Thanks again for the help.

Comment 5 Ed Marshall 2011-02-15 17:11:02 UTC
Spec URL: http://esm.logic.net/public/fedora/fritzing/fritzing.spec
SRPM URL: http://esm.logic.net/public/fedora/fritzing/fritzing-0.5.1b-1.fc14.src.rpm

Changes are per my last post. Pre-built packages for i686 (x86_64 will appear shortly) are here: http://esm.logic.net/public/fedora/fritzing/

Comment 6 Ed Marshall 2011-02-15 22:01:52 UTC
Ugh. That fails on x86_64, because I made a rather foolish path assumption. I'll be uploading a new version shortly.

Comment 7 Ed Marshall 2011-02-17 15:25:36 UTC
Spec URL: http://esm.logic.net/public/fedora/fritzing/fritzing.spec
SRPM URL: http://esm.logic.net/public/fedora/fritzing/fritzing-0.5.1b-2.fc14.src.rpm

Updated to fix build error. (Actually, this was fixed on the 15th, I just forgot to update the bug, my apologies.)

Comment 8 Ed Marshall 2011-02-17 16:28:24 UTC
Spec URL: http://esm.logic.net/public/fedora/fritzing/fritzing.spec
SRPM URL: http://esm.logic.net/public/fedora/fritzing/fritzing-0.5.1b-3.fc14.src.rpm

Added a patch to remove the auto-update notifications, which aren't useful in a package-managed world. i686 pre-built RPM is up, x86_64 will be up shortly: http://esm.logic.net/public/fedora/fritzing/

Comment 9 Ed Marshall 2011-02-24 22:03:45 UTC
Spec URL: http://esm.logic.net/public/fedora/fritzing/fritzing.spec
SRPM URL: http://esm.logic.net/public/fedora/fritzing/fritzing-0.5.2b-1.fc14.src.rpm

Updated to latest release (0.5.2b), i686 and x86_64 RPMs are in the same place as before. I'm using koji to generate these as scratch builds now, since I figured I'd better learn how that worked eventually; the build task is here, if you feel more comfortable grabbing your RPMs from there:

http://koji.fedoraproject.org/koji/taskinfo?taskID=2864528

Comment 10 Brennan Ashton 2011-03-05 21:38:23 UTC
Ed,
Make sure this is reported against the correct component, I have fixed it, but sponsors would not have seen this.  Also make sure that you do some unofficial reviews on other packages so that the sponsors can see that you know what you are doing. I am not a sponsor, but will take a look at your spec file.

Here are some packages waiting review you could look at:
http://fedoraproject.org/PackageReviewStatus/NEW.html

Comment 11 Chitlesh GOORAH 2011-11-27 19:11:05 UTC
Hello Ed,

can you please update the srpm for version 0.6.3b?

I'll start the review after you update it.

Comment 12 Chitlesh GOORAH 2011-12-14 06:43:42 UTC
Hello Ed,

Are you still interested with this package and its review ?

Comment 13 Martin Dengler 2011-12-15 01:11:08 UTC
It's a busy time in some areas of the world, so he might just be getting around to it.  I'm sure there are others like myself who would want to take this forward if Ed doesn't, so let's just wait for him a bit.

Comment 14 Ed Marshall 2011-12-16 21:45:34 UTC
Hi Chitlesh,

Apologies, I was in transit recently (Martin was exactly right), and am just getting back to this stuff. I'm working on a Fritzing build today (for today's release, 0.6.4b), I'll try and get updated versions uploaded shortly.

Comment 15 Chitlesh GOORAH 2011-12-16 22:11:22 UTC
No worries, I'm looking forward to review it.

Comment 16 Ed Marshall 2011-12-17 08:19:31 UTC
Spec URL: http://esm.logic.net/public/fedora/fritzing/fritzing.spec
SRPM URL: http://esm.logic.net/public/fedora/fritzing/fritzing-0.6.4b-1.fc16.src.rpm

Updated to the latest release (0.6.4b), mostly just cleanup from things that upstream incorporated for us, and adjusting the auto-update and external-libs patches. "ff" is still included internally (see above), and the new "QtSystemInfo" library (no apparent relation to the portion of qt-mobility with the same name, in case someone else decides to dig into this) is also bundled, with the same justification as with "ff". No rpmlint errors or warnings.

No koji build this time; I just did a quick mock build of this, as I suspect I'll have to iterate on this a bit before it's ready to include. i686 RPM is available here: http://esm.logic.net/public/fedora/fritzing/

Comment 17 Chitlesh GOORAH 2011-12-17 14:00:09 UTC
Are you planning to release fritzing for EPEL-6(CentOS-6/RHEL-6) too ?

Comment 18 Ed Marshall 2011-12-17 14:49:19 UTC
Just saw your note over on Trac, good point, didn't realize that quazip and qtlockedfile weren't available in EPEL (have been pretty focused on Fedora for this, honestly). I'll send a note to their respective maintainers (looks like kwizart and oget?) and see how much trouble it would be to package them for EPEL (I'm not sure how bound to the version of Qt they are, for example).

Comment 19 Chitlesh GOORAH 2011-12-18 14:39:40 UTC
- MUST: The package is named according to the Package Naming Guidelines.
- MUST: The spec file name matches the base package %{name}
- MUST: The package meets the Packaging Guidelines.
- MUST: The package is licensed (GPL) with an open-source compatible license and
meet other legal requirements as defined in the legal section of Packaging
Guidelines.
- MUST: The License field in the package spec file matches the actual license.
- MUST: 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 %doc.
- MUST: The spec file must be written in American English.
- MUST: The spec file for the package is be legible. 
- MUST: The sources used to build the package must matches the upstream source,
as provided in the spec URL.
- MUST: The package successfully compiles and builds into binary rpms on at
least i386.
- MUST: All build dependencies is listed in BuildRequires.
- MUST: The spec file handles locales properly.
- MUST: If the package does not contain shared library files located in the
dynamic linker's default paths
- MUST: the package is not designed to be relocatable
- MUST: the package owns all directories that it creates.
- MUST: the package does not contain any duplicate files in the %files listing.
- MUST: Permissions on files are set properly.
- MUST: The package has a %clean section, which contains rm -rf %{buildroot} (or
$RPM_BUILD_ROOT).
- MUST: The package consistently uses macros, as described in the macros section
of Packaging Guidelines.
- MUST: The package contains code, or permissable content. This is described in
detail in the code vs. content section of Packaging Guidelines.
- MUST: There are no Large documentation files
- MUST: %doc does not affect the runtime of the application. To summarize: If it
is in %doc, the program must run properly if it is not present.
- MUST: There are no Header files or static libraries 
- MUST: The package does not contain library files with a suffix 
- MUST: Package does NOT contain any .la libtool archives
- MUST: Package containing GUI applications includes a %{name}.desktop file, and
that file must be properly installed with desktop-file-install in the %install
section.
- MUST: Package does not own files or directories already owned by other packages. 

SHOULD Items:

 - SHOULD: The source package does include license text(s) as COPYING
 - SHOULD: mock builds succcessfully in i386.
 - SHOULD: The reviewer tested that the package functions as described. A
package should not segfault instead of running, for example.
 - SHOULD: No scriptlets were used, those scriptlets must be sane. 
 - SHOULD: No subpackages present.

APPROVED


One last thing, Ed please add LICENSE.CC-BY-SA to %doc.

Comment 20 Ed Marshall 2011-12-20 06:13:54 UTC
Spec URL: http://esm.logic.net/public/fedora/fritzing/0.6.4b-2/fritzing.spec
SRPM URL: http://esm.logic.net/public/fedora/fritzing/0.6.4b-2/fritzing-0.6.4b-2.fc17.src.rpm

Okay, I've done a final build with the CC-BY-SA license that I missed before included in %doc, and after getting set up to do Koji builds again, it turned out that adding minizip-devel as a build dependency was required as well. Both have been corrected.

Koji builds are here: http://koji.fedoraproject.org/koji/taskinfo?taskID=3594907

Also, as I mentioned back when I first started on this, I don't have any packages in Fedora yet, so I'm actually still in need of a sponsor before I can move forward with getting this checked in. Advice on the best way to proceed here would be greatly appreciated. :)

Comment 21 Chitlesh GOORAH 2011-12-20 08:41:48 UTC
Please do not change the flag. This flag says I've approved the package.

I'll sponsor you.

Can you please create a Fedora Account, if you haven't yet ? http://fedoraproject.org/wiki/Account_System

I need your FAS(Fedora Account System) username to sponsor you.

Comment 22 Ed Marshall 2011-12-20 16:57:21 UTC
Sorry, didn't realize the flag had changed when I added that comment; hopefully it will remain untouched with this post. My FAS username is "logic". (And thank you very much!)

Comment 23 Chitlesh GOORAH 2011-12-21 16:54:25 UTC
You have been sponsored.
Congratulations :)

Please follow the guidelines to commit and build fritzing on F-15, F-16 and rawhide.
http://fedoraproject.org/wiki/Using_git_FAQ_for_package_maintainers

Comment 24 Ed Marshall 2011-12-21 18:24:17 UTC
New Package SCM Request
=======================
Package Name: fritzing
Short Description: Electronic Design Automation software; from prototype to product
Owners: logic
Branches: f15 f16
InitialCC:

Comment 25 Gwyn Ciesla 2011-12-21 20:04:35 UTC
Git done (by process-git-requests).

Comment 26 Fedora Update System 2011-12-22 00:07:51 UTC
fritzing-0.6.4b-2.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/fritzing-0.6.4b-2.fc16

Comment 27 Fedora Update System 2011-12-22 00:12:44 UTC
fritzing-0.6.4b-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/fritzing-0.6.4b-2.fc15

Comment 28 Ed Marshall 2011-12-22 00:15:57 UTC
Problems building on rawhide as of today's update. Still working through the problem there.

Comment 29 Ed Marshall 2011-12-22 22:33:45 UTC
The build problem cleared up with today's rawhide (changes to libX11, it appears). :)

Comment 30 Fedora Update System 2011-12-23 03:28:29 UTC
fritzing-0.6.4b-2.fc16 has been pushed to the Fedora 16 testing repository.

Comment 31 Fedora Update System 2012-01-01 21:20:44 UTC
fritzing-0.6.4b-2.fc15 has been pushed to the Fedora 15 stable repository.

Comment 32 Fedora Update System 2012-01-01 21:21:31 UTC
fritzing-0.6.4b-2.fc16 has been pushed to the Fedora 16 stable repository.


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