Bug 459125 - (freecad) Review Request: freecad - A general purpose 3D CAD modeler
Review Request: freecad - A general purpose 3D CAD modeler
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: John Morris
Fedora Extras Quality Assurance
http://sourceforge.net/projects/free-cad
: Reopened
Depends On: 458974 459153 1097368
Blocks:
  Show dependency treegraph
 
Reported: 2008-08-14 11:43 EDT by Nicolas Chauvet (kwizart)
Modified: 2014-06-09 23:06 EDT (History)
16 users (show)

See Also:
Fixed In Version: freecad-0.13-7.fc20
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-06-09 23:06:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
john: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Nicolas Chauvet (kwizart) 2008-08-14 11:43:44 EDT
Spec URL:
http://kwizart.fedorapeople.org/SPECS/FreeCAD.spec
SRPM URL:
http://kwizart.fedorapeople.org/SRPMS/FreeCAD-0.7.1514-1.fc8.kwizart.src.rpm
Description: An extensible Open Source CAx program for Unix/X11

This package isn't yet ready for import, but This Review is aimed to track the needed work and others remaining TODO items.

This package itself depend on WildMagic4 (I will submit soon)
There is a need to remove it from FreeCAD and build a shared version of WildMagic4

Known to work only on F-8 (OpenCASCADE fails on F-9) and x86_64 (for some reason SoQt-qt4 Conflict only on x86 when trying to run mock)

Maybe someone could take a look at http://www.cs.umd.edu/~mount/ANN and http://www.xdp.it/cximage.htm for packaging...
Comment 1 Dan Horák 2008-08-14 12:31:11 EDT
(In reply to comment #0)
> Maybe someone could take a look at http://www.cs.umd.edu/~mount/ANN and
> http://www.xdp.it/cximage.htm for packaging...

I will look at them.
Comment 2 Peter Lemenkov 2009-07-28 07:44:23 EDT
OpenCASCADE changed its licensing terms, so it's time to re-open this ticket.
Comment 3 Jason Tibbitts 2009-07-29 16:06:26 EDT
I'm not sure where you got the impression that OpenCASCADE has changed its licensing terms, because it didn't.  They're still just as problematic as they were before, and still not acceptable to Fedora.
Comment 4 Mads Kiilerich 2009-10-27 14:36:26 EDT
Shouldn't this review request be moved back to CLOSED CANTFIX because of the blocking non-Fedora-free Open CASCADE Technology Public License?

For reference:
https://fedoraproject.org/wiki/Licensing/Open_CASCADE_Technology_Public_License just says that it (version 6.2) is non-free.
Spots reasoning for this can be found in an interesting and polite discussion on http://www.opencascade.org/org/forum/thread_15859/
Comment 5 Linuxguy123 2009-12-14 14:10:02 EST
Is there still a licensing issue with FreeCAD using Open_CASCADE ?

It appears that Ubuntu is going to provide FreeCAD in the repository in one of their upcoming releases.   Is Fedora willing to follow suit ?

http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Licence

http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=8&t=181&sid=de1b98bddcff1db4c893ae9c993cdb8e

If not, could someone please approach Open CASCADE about resolving this issue ?  The holdup seems to be more pragmatic than actual, at least according to what I read here:
http://www.opencascade.org/org/forum/thread_15859

I would really, really like to see FreeCAD available in Fedora without me building it.   Linux really , really needs a tool like this.

Aside: I'd like to see this bug reopened in F12 or rawhide.  Out of respect for the process I won't do that, but I'd like to see someone else do it.

Thanks for listening.
Comment 6 Mads Kiilerich 2009-12-14 15:12:22 EST
Re comment #5:

Nothing has changed, and the Open CASCADE license is still not free. (It is now on http://www.opencascade.org/getocc/license/ and at version 6.3, but with exactly the same content as 6.2.)

We would all like to see FreeCAD in Fedora, but Fedora can not do anything until Open CASCADE makes a clear statement whether the license is free and GPL-compatible or not. It do not depend on the Fedora release schedule.

As you can see on the forum thread Tom Callaway _has_ approached Open CASCADE and pointed out what the problem is.

Debian (and Ubuntu?) explicitly considers Open CASCADE non-free but apparently makes a compromise with their own principles. Fedora makes no compromises regarding non-free software.

[IANAL and just speaking on my own behalf as random Fedora packager]
Comment 7 Linuxguy123 2009-12-14 15:59:00 EST
Thank you for the update.
Comment 8 Alex G. 2010-08-29 19:59:49 EDT
(In reply to comment #6)
> We would all like to see FreeCAD in Fedora, but Fedora can not do anything
> until Open CASCADE makes a clear statement whether the license is free and
> GPL-compatible or not. It do not depend on the Fedora release schedule.
>
While I would argue on the two arguments that classify OCTPL as non-free, I understand and agree that, at the moment, it may not be included in the Fedora repositories; however,

> Debian (and Ubuntu?) explicitly considers Open CASCADE non-free but apparently
> makes a compromise with their own principles. Fedora makes no compromises
> regarding non-free software.
>
Fedora does not need to make a compromise to its own principles. FreeCAD may be distributed, indirectly, with Fedora, via rpmfusion. I am surprised that, since this bug was started, no one suggested rpmfusion.

In all honesty, in order to get a fully-featured Fedora, packages from rpmfusion are a must. For example, the nvidia driver is a must-have for the type of work that I do. Personally, I see rpmfusion as part of Fedora.

So, please, let us put FreeCAD and OCC in rpmfusion. That way it _will_ be in Fedora, and this will be the compromise that Fedora makes.
Comment 9 Mads Kiilerich 2010-08-29 20:24:17 EDT
Using another rpm repository from another legal entity is certainly a possibility. 

Such other repositories are however neither a part of Fedora nor affiliated with Fedora, and Fedora can for legal reasons not reference or endorse them - and hardly mention them.

This is thus not the right place to continue this discussion. Just go elsewhere and do it! ;-)
Comment 10 Alex G. 2010-08-29 22:38:16 EDT
(In reply to comment #9)
> Such other repositories are however neither a part of Fedora nor affiliated
> with Fedora, and Fedora can for legal reasons not reference or endorse them -
> and hardly mention them.
>
I have seen other bug reports where "such other repositories" were being mentioned, and quite freely. In the moovida review request (don't have the bug number handy) it was discussed whether moovida should be included in Fedora or moved to rpmfusion, with the word "rpmfusion" used freely and extensively.
 
> This is thus not the right place to continue this discussion. Just go elsewhere
> and do it! ;-)

I apologize if I might have seen insistent, but I do not appreciate the tone your last comment.

After a bit more research, I have found that FreeCAD is on rpmfusion's wishlist, and thus, I rest my case.

Have a good day!
Comment 11 Miloš Komarčević 2010-09-14 15:52:11 EDT
(In reply to comment #10)
> After a bit more research, I have found that FreeCAD is on rpmfusion's
> wishlist, and thus, I rest my case.

I think OCC is also on the way to the external nonfree repo, see e.g. 

http://sharkcz.livejournal.com/4432.html

so hopefully the CAD situation in Fedora is gonna improve soon.
Comment 12 Diogo Lima 2010-09-28 19:00:35 EDT
The OCC license is still the same except it is now find at http://www.opencascade.org/getocc/license/ , while the fedoraproject explanation (https://fedoraproject.org/wiki/Licensing/Open_CASCADE_Technology_Public_License) points that the license is no longer available.

I read the licensing and I don't see the problem, OCC license actually only requests that the modifications get sent back to original developers and that they get notified if you're making use of it for commercial purpose. Except for that you are free to use and share the OCC code.

Using external repositories for OCC will not allow FreeCAD to be added to fedora and might not allow FC to be added to the external repository either.
Comment 13 Valent Turkovic 2012-05-14 09:24:56 EDT
from http://sourceforge.net/projects/free-cad/

License:
GNU General Public License version 2.0 (GPLv2), GNU Library or Lesser General Public License version 2.0 (LGPLv2)

this bug can be reopened now, right?
Comment 14 Mads Kiilerich 2012-05-14 09:40:33 EDT
The problem was not the FreeCAD license but the license of the required Open CASCADE library. The Open CASCADE license is non-free (by Fedoras definition) and apparently incompatible with the license of FreeCAD. FreeCAD might thus be under a free license, but there is no way it can be distributed under that license.

- or do you see any indication that this should have changed?
Comment 15 Valent Turkovic 2012-05-14 10:01:17 EDT
Not sure, but looks like it is not - http://www.opencascade.org/getocc/license/
Comment 16 Miloš Komarčević 2012-05-17 11:59:28 EDT
FYI, already being packaged for RPM Fusion, as OCCT/OCE lib had to be distributed outside Fedora:

https://bugzilla.rpmfusion.org/show_bug.cgi?id=2300
Comment 17 Richard Shaw 2014-02-14 20:07:24 EST
No longer a license issue with OCE so this can be reactivated. I plan to post a new spec and source RPM but I need to decide what to do about smesh first.
Comment 18 John Morris 2014-02-15 01:30:15 EST
I'll take this one, when you're ready.
Comment 20 John Morris 2014-05-22 03:08:24 EDT
On it....
Comment 21 John Morris 2014-05-23 00:36:42 EDT
This is one giant package, whew.  Review follows.


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

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


Issues:
=======

[?]: Package uses nothing in %doc for runtime.

*** These are suspicious:  Start_page.html and freecad.{qch,qhc}
    Start_page.html might be for the initial GUI.
    freecad.{qch,qhc} are SQLite databases.

------

- Large documentation must go in a -doc subpackage. Large could be size (~1MB)
  or number of files.
  Note: Documentation size is 47902720 bytes in 6 files.
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation

[!]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 47912960 bytes in /usr/share
     freecad-0.13-5.fc21.i686.rpm:47912960
     See:
     http://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines

*** This is the funny '/usr/share/doc/freecad/freecad.qch' file again,
    47MB

------

- update-desktop-database is invoked in %post and %postun if package contains
  desktop file(s) with a MimeType: entry.
  Note: desktop file(s) with MimeType entry in freecad
  See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop-
  database

*** (from fedora-review tool)

-----


[!]: License field in the package spec file matches the actual license.
     Note: There is no build directory. Running licensecheck on vanilla
     upstream sources. Licenses found: "*No copyright* GPL (v2 or later) (with
     incorrect FSF address)", "LGPL (v2.1 or later) (with incorrect FSF
     address)", "LGPL (v2 or later)", "GPL (v3 or later)", "Unknown or
     generated", "MIT/X11 (BSD like)", "BSL (v1.0)", "LGPL (v2 or later) (with
     incorrect FSF address)", "BSD (3 clause)", "ISC", "BSD (2 clause)", "*No
     copyright* LGPL (v2 or later) (with incorrect FSF address)", "GPL (v2 or
     later) (with incorrect FSF address)", "LGPL (with incorrect FSF
     address)", "*No copyright* LGPL (v2 or later)", "LGPL (v2.1 or later)",
     "*No copyright* LGPL (v2.1 or later)". 261 files have unknown license.
     Detailed output of licensecheck in
     /home/jman/tmp/freecad/licensecheck.txt

[!]: License file installed when any subpackage combination is installed.

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

*** This is confusing:

    - Software's 'copying.lib' says LGPLv2+

    - Specfile says GPLv3+ (the only GPLv3 according to
    licensecheck.txt is bison artifacts, which contain exceptions)

    - Otherwise, the most restrictive licenses found in
      licensecheck.txt are GPLv2+ files; my guess is the specfile
      should say GPLv2+.

[?]: Package does not include license text files separate from upstream.

*** This is a SHOULD item, in case a copy of the GPLv2+ license must
    added by the package

-----

[?]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in freecad-
     data , freecad-doc

*** Have %{name} = %{version}-%{release} but not %{name}%{?_isa} =
    %{version}-%{release}; is this an issue?

-----

[!]: Patches link to upstream bugs/comments/lists or are otherwise justified.

*** No justification for any patches except the last; the first two
    are obviously unbundling patches; how about patches 2 & 3?


-----

Rpmlint:

freecad.i686: E: invalid-soname /usr/lib/freecad/lib/SketcherGui.so SketcherGui.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/SketcherGui.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Robot.so Robot.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/Robot.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
[...]

*** I don't understand these; are they an issue?

freecad.i686: E: wrong-script-interpreter /usr/lib/freecad/Mod/PartDesign/Scripts/RadialCopy.py python
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/PartDesign/Scripts/RadialCopy.py 0644L python

*** Because of initial '#!' line; should these be dealt with?

freecad-data.noarch: W: no-documentation

*** Bogus:  this pkg is to put large, arch-independent files in a
    'noarch' pkg; the docs are in the main package.

freecad.src:216: W: macro-in-comment %{buildroot}
freecad.src:216: W: macro-in-comment %{_libdir}
freecad.src:216: W: macro-in-comment %{name}

*** Change % to %%, or just remove?

Unresolved items
================

[?]: Package functions as described.

*** Reviewer has no rawhide install to test against; pkg deps not yet
    in stable releases

[?]: Package should compile and build into binary rpms on all supported
     architectures.

*** Reviewer hasn't run scratch builds



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

C/C++:
[-]: Provides: bundled(gnulib) in place as required.
     Note: Sources not installed
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: 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.
[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.
[!]: License field in the package spec file matches the actual license.
     Note: There is no build directory. Running licensecheck on vanilla
     upstream sources. Licenses found: "*No copyright* GPL (v2 or later) (with
     incorrect FSF address)", "LGPL (v2.1 or later) (with incorrect FSF
     address)", "LGPL (v2 or later)", "GPL (v3 or later)", "Unknown or
     generated", "MIT/X11 (BSD like)", "BSL (v1.0)", "LGPL (v2 or later) (with
     incorrect FSF address)", "BSD (3 clause)", "ISC", "BSD (2 clause)", "*No
     copyright* LGPL (v2 or later) (with incorrect FSF address)", "GPL (v2 or
     later) (with incorrect FSF address)", "LGPL (with incorrect FSF
     address)", "*No copyright* LGPL (v2 or later)", "LGPL (v2.1 or later)",
     "*No copyright* LGPL (v2.1 or later)". 261 files have unknown license.
     Detailed output of licensecheck in
     /home/jman/tmp/freecad/licensecheck.txt
[!]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
     Note: Especially check following dirs for bundled code:
     /home/jman/tmp/freecad/upstream-
     unpacked/Source0/freecad-0.13.1830/src/Gui/iisTaskPanel/include,
     /home/jman/tmp/freecad/upstream-
     unpacked/Source0/freecad-0.13.1830/src/3rdParty
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Development files must be in a -devel package
[?]: 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.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in freecad
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[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]: 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 %doc.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or desktop-
     file-validate if there is such a file.
[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 do not use a name that already exist
[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

Python:
[-]: Binary eggs must be removed in %prep
     Note: Cannot find any build in BUILD directory (--prebuilt option?)
[-]: Python eggs must not download any dependencies during the build process.
[-]: A package which is used by another package via an egg interface should
     provide egg info.
[-]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel

+++ Python libs are all internal, so python packaging guidelines
    mostly don't apply


===== 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.
[x]: Final provides and requires are sane (see attachments).
[?]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in freecad-
     data , freecad-doc
[?]: Package functions as described.
[x]: Latest version is packaged.
[?]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define plugin_regexp
     /^\\\(libFreeCAD.*%(for i in %{plugins}; do echo -n "\\\|$i\\\|$iGui";
     done)\\\)\\\(\\\|Gui\\\)\\.so/d
[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]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.

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

Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 47912960 bytes in /usr/share
     freecad-0.13-5.fc21.i686.rpm:47912960
     See:
     http://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: freecad-0.13-5.fc21.i686.rpm
          freecad-data-0.13-5.fc21.noarch.rpm
          freecad-doc-0.13-5.fc21.noarch.rpm
          freecad-0.13-5.fc21.src.rpm
freecad.i686: E: explicit-lib-dependency python-matplotlib
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/SketcherGui.so SketcherGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Robot.so Robot.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/PartGui.so PartGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/RobotGui.so RobotGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Complete.so Complete.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/ReverseEngineering.so ReverseEngineering.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/DrawingGui.so DrawingGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Sketcher.so Sketcher.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/WebGui.so WebGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/MeshPart.so MeshPart.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Part.so Part.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Start.so Start.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/MeshPartGui.so MeshPartGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Points.so Points.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Drawing.so Drawing.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/libFreeCADApp.so libFreeCADApp.so
freecad.i686: W: shared-lib-calls-exit /usr/lib/freecad/lib/libFreeCADApp.so exit@GLIBC_2.0
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/RaytracingGui.so RaytracingGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/MeshGui.so MeshGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/PointsGui.so PointsGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/CompleteGui.so CompleteGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Mesh.so Mesh.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/FreeCADGui.so FreeCADGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Assembly.so Assembly.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/InspectionGui.so InspectionGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/FreeCAD.so FreeCAD.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Raytracing.so Raytracing.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/ImageGui.so ImageGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/AssemblyGui.so AssemblyGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/libFreeCADGui.so libFreeCADGui.so
freecad.i686: W: shared-lib-calls-exit /usr/lib/freecad/lib/libFreeCADGui.so exit@GLIBC_2.0
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/FemGui.so FemGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/libFreeCADBase.so libFreeCADBase.so
freecad.i686: W: shared-lib-calls-exit /usr/lib/freecad/lib/libFreeCADBase.so exit@GLIBC_2.0
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/QtUnitGui.so QtUnitGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/ImportGui.so ImportGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Fem.so Fem.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/ReverseEngineeringGui.so ReverseEngineeringGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Inspection.so Inspection.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/StartGui.so StartGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Image.so Image.so
freecad.i686: E: wrong-script-interpreter /usr/lib/freecad/Mod/PartDesign/Scripts/RadialCopy.py python
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/PartDesign/Scripts/RadialCopy.py 0644L python
freecad.i686: E: incorrect-fsf-address /usr/lib/freecad/Mod/Draft/draftlibs/dxfColorMap.py
freecad.i686: E: wrong-script-interpreter /usr/lib/freecad/Mod/PartDesign/Scripts/Epitrochoid.py python
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/PartDesign/Scripts/Epitrochoid.py 0644L python
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/Test/unittestgui.py 0644L /usr/bin/env
freecad.i686: E: wrong-script-interpreter /usr/lib/freecad/Mod/PartDesign/Scripts/Spring.py python
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/PartDesign/Scripts/Spring.py 0644L python
freecad.i686: E: wrong-script-end-of-line-encoding /usr/lib/freecad/Mod/PartDesign/Scripts/Spring.py
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/Robot/MovieTool.py 0644L /usr/bin/python
freecad.i686: E: wrong-script-end-of-line-encoding /usr/lib/freecad/Mod/Robot/MovieTool.py
freecad-data.noarch: W: no-documentation
freecad.src:216: W: macro-in-comment %{buildroot}
freecad.src:216: W: macro-in-comment %{_libdir}
freecad.src:216: W: macro-in-comment %{name}
4 packages and 0 specfiles checked; 50 errors, 7 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint freecad freecad-data freecad-doc
freecad.i686: E: explicit-lib-dependency python-matplotlib
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/SketcherGui.so SketcherGui.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/SketcherGui.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Robot.so Robot.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/Robot.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/PartGui.so PartGui.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/PartGui.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/RobotGui.so RobotGui.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/RobotGui.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Complete.so Complete.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/ReverseEngineering.so ReverseEngineering.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/ReverseEngineering.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/DrawingGui.so DrawingGui.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/DrawingGui.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Sketcher.so Sketcher.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/Sketcher.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/WebGui.so WebGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/MeshPart.so MeshPart.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/MeshPart.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Part.so Part.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/Part.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Start.so Start.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/MeshPartGui.so MeshPartGui.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/MeshPartGui.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Points.so Points.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Drawing.so Drawing.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/Drawing.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/libFreeCADApp.so libFreeCADApp.so
freecad.i686: W: shared-lib-calls-exit /usr/lib/freecad/lib/libFreeCADApp.so exit@GLIBC_2.0
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/RaytracingGui.so RaytracingGui.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/RaytracingGui.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/MeshGui.so MeshGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/PointsGui.so PointsGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/CompleteGui.so CompleteGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Mesh.so Mesh.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/FreeCADGui.so FreeCADGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Assembly.so Assembly.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/InspectionGui.so InspectionGui.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/InspectionGui.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/FreeCAD.so FreeCAD.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Raytracing.so Raytracing.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/Raytracing.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/ImageGui.so ImageGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/AssemblyGui.so AssemblyGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/libFreeCADGui.so libFreeCADGui.so
freecad.i686: W: shared-lib-calls-exit /usr/lib/freecad/lib/libFreeCADGui.so exit@GLIBC_2.0
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/FemGui.so FemGui.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/FemGui.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/libFreeCADBase.so libFreeCADBase.so
freecad.i686: W: shared-lib-calls-exit /usr/lib/freecad/lib/libFreeCADBase.so exit@GLIBC_2.0
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/QtUnitGui.so QtUnitGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/ImportGui.so ImportGui.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/ImportGui.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Fem.so Fem.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/Fem.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/ReverseEngineeringGui.so ReverseEngineeringGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Inspection.so Inspection.so
freecad.i686: W: undefined-non-weak-symbol /usr/lib/freecad/lib/Inspection.so Part::BRepOffsetAPI_MakePipeShellPy::add(_object*)
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/StartGui.so StartGui.so
freecad.i686: E: invalid-soname /usr/lib/freecad/lib/Image.so Image.so
freecad.i686: E: wrong-script-interpreter /usr/lib/freecad/Mod/PartDesign/Scripts/RadialCopy.py python
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/PartDesign/Scripts/RadialCopy.py 0644L python
freecad.i686: E: incorrect-fsf-address /usr/lib/freecad/Mod/Draft/draftlibs/dxfColorMap.py
freecad.i686: E: wrong-script-interpreter /usr/lib/freecad/Mod/PartDesign/Scripts/Epitrochoid.py python
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/PartDesign/Scripts/Epitrochoid.py 0644L python
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/Test/unittestgui.py 0644L /usr/bin/env
freecad.i686: E: wrong-script-interpreter /usr/lib/freecad/Mod/PartDesign/Scripts/Spring.py python
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/PartDesign/Scripts/Spring.py 0644L python
freecad.i686: E: wrong-script-end-of-line-encoding /usr/lib/freecad/Mod/PartDesign/Scripts/Spring.py
freecad.i686: E: non-executable-script /usr/lib/freecad/Mod/Robot/MovieTool.py 0644L /usr/bin/python
freecad.i686: E: wrong-script-end-of-line-encoding /usr/lib/freecad/Mod/Robot/MovieTool.py
freecad-data.noarch: W: no-documentation
3 packages and 0 specfiles checked; 50 errors, 22 warnings.
# echo 'rpmlint-done:'



Requires
--------
freecad (rpmlib, GLIBC filtered):
    /bin/sh
    PyQt4
    hicolor-icon-theme
    libCoin.so.40
    libGL.so.1
    libGLU.so.1
    libQtCore.so.4
    libQtGui.so.4
    libQtNetwork.so.4
    libQtOpenGL.so.4
    libQtSvg.so.4
    libQtWebKit.so.4
    libQtXml.so.4
    libSMDS.so.5.1
    libSMESH.so.5.1
    libSMESHDS.so.5.1
    libSoQt.so.20
    libStdMeshers.so.5.1
    libTKBO.so.8
    libTKBRep.so.8
    libTKBool.so.8
    libTKCAF.so.8
    libTKFillet.so.8
    libTKG2d.so.8
    libTKG3d.so.8
    libTKGeomAlgo.so.8
    libTKGeomBase.so.8
    libTKHLR.so.8
    libTKIGES.so.8
    libTKLCAF.so.8
    libTKMath.so.8
    libTKMesh.so.8
    libTKOffset.so.8
    libTKPrim.so.8
    libTKSTEP.so.8
    libTKSTEPAttr.so.8
    libTKSTEPBase.so.8
    libTKSTL.so.8
    libTKShHealing.so.8
    libTKTopAlgo.so.8
    libTKXCAF.so.8
    libTKXDEIGES.so.8
    libTKXDESTEP.so.8
    libTKXSBase.so.8
    libTKernel.so.8
    libboost_program_options.so.1.54.0
    libboost_regex.so.1.54.0
    libboost_signals.so.1.54.0
    libboost_system.so.1.54.0
    libc.so.6
    libdl.so.2
    libgcc_s.so.1
    libgcc_s.so.1(GCC_3.0)
    libgcc_s.so.1(GCC_3.4)
    libm.so.6
    libpython2.7.so.1.0
    libspnav.so.0
    libstdc++.so.6
    libstdc++.so.6(CXXABI_1.3)
    libstdc++.so.6(CXXABI_1.3.1)
    libxerces-c-3.1.so
    libz.so.1
    libzipios.so.0
    python-collada
    python-matplotlib
    python-pivy
    rtld(GNU_HASH)

freecad-data (rpmlib, GLIBC filtered):
    freecad

freecad-doc (rpmlib, GLIBC filtered):
    freecad
    qt-assistant



Provides
--------
freecad:
    application()
    application(freecad.desktop)
    freecad
    freecad(x86-32)
    mimehandler(application/x-extension-fcstd)

freecad-data:
    freecad-data

freecad-doc:
    freecad-doc



Unversioned so-files
--------------------
freecad: /usr/lib/freecad/Mod/PartDesign/PartDesign.so
freecad: /usr/lib/freecad/Mod/PartDesign/PartDesignGui.so
freecad: /usr/lib/freecad/lib/Assembly.so
freecad: /usr/lib/freecad/lib/AssemblyGui.so
freecad: /usr/lib/freecad/lib/Complete.so
freecad: /usr/lib/freecad/lib/CompleteGui.so
freecad: /usr/lib/freecad/lib/Drawing.so
freecad: /usr/lib/freecad/lib/DrawingGui.so
freecad: /usr/lib/freecad/lib/Fem.so
freecad: /usr/lib/freecad/lib/FemGui.so
freecad: /usr/lib/freecad/lib/FreeCAD.so
freecad: /usr/lib/freecad/lib/FreeCADGui.so
freecad: /usr/lib/freecad/lib/Image.so
freecad: /usr/lib/freecad/lib/ImageGui.so
freecad: /usr/lib/freecad/lib/ImportGui.so
freecad: /usr/lib/freecad/lib/Inspection.so
freecad: /usr/lib/freecad/lib/InspectionGui.so
freecad: /usr/lib/freecad/lib/Mesh.so
freecad: /usr/lib/freecad/lib/MeshGui.so
freecad: /usr/lib/freecad/lib/MeshPart.so
freecad: /usr/lib/freecad/lib/MeshPartGui.so
freecad: /usr/lib/freecad/lib/Part.so
freecad: /usr/lib/freecad/lib/PartGui.so
freecad: /usr/lib/freecad/lib/Points.so
freecad: /usr/lib/freecad/lib/PointsGui.so
freecad: /usr/lib/freecad/lib/QtUnitGui.so
freecad: /usr/lib/freecad/lib/Raytracing.so
freecad: /usr/lib/freecad/lib/RaytracingGui.so
freecad: /usr/lib/freecad/lib/ReverseEngineering.so
freecad: /usr/lib/freecad/lib/ReverseEngineeringGui.so
freecad: /usr/lib/freecad/lib/Robot.so
freecad: /usr/lib/freecad/lib/RobotGui.so
freecad: /usr/lib/freecad/lib/Sketcher.so
freecad: /usr/lib/freecad/lib/SketcherGui.so
freecad: /usr/lib/freecad/lib/Start.so
freecad: /usr/lib/freecad/lib/StartGui.so
freecad: /usr/lib/freecad/lib/WebGui.so
freecad: /usr/lib/freecad/lib/libFreeCADApp.so
freecad: /usr/lib/freecad/lib/libFreeCADBase.so
freecad: /usr/lib/freecad/lib/libFreeCADGui.so

Source checksums
----------------
http://downloads.sourceforge.net/free-cad/freecad-0.13.1830.tar.gz :
  CHECKSUM(SHA256) this package     : 550ed16225e4cd67a463ae9b826f3a64edf7d2819cc8d235b15a89e10be72f13
  CHECKSUM(SHA256) upstream package : 550ed16225e4cd67a463ae9b826f3a64edf7d2819cc8d235b15a89e10be72f13


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review --rpm-spec -n /tmp/freecad-0.13-5.fc20.src.rpm -m fedora-rawhide-i386
Buildroot used: fedora-rawhide-i386
Active plugins: Python, Generic, Shell-api, C/C++
Disabled plugins: Java, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG
Comment 22 Richard Shaw 2014-05-23 08:22:21 EDT
(In reply to John Morris from comment #21)
> Issues:
> =======
> 
> [?]: Package uses nothing in %doc for runtime.
> 
> *** These are suspicious:  Start_page.html and freecad.{qch,qhc}
>     Start_page.html might be for the initial GUI.
>     freecad.{qch,qhc} are SQLite databases.

Hmm... You may be right. I should probably move these to freecad-data (so they can stay noarch).


 
> - Large documentation must go in a -doc subpackage. Large could be size
> (~1MB)
>   or number of files.
>   Note: Documentation size is 47902720 bytes in 6 files.
>   See:
> http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation
> 
> [!]: Large data in /usr/share should live in a noarch subpackage if package
> is
>      arched.
>      Note: Arch-ed rpms have a total of 47912960 bytes in /usr/share
>      freecad-0.13-5.fc21.i686.rpm:47912960
>      See:
>     
> http://fedoraproject.org/wiki/Packaging:
> ReviewGuidelines#Package_Review_Guidelines
> 
> *** This is the funny '/usr/share/doc/freecad/freecad.qch' file again,
>     47MB

Ok, I got some work to do here... It actually ends up in 3 places, once in the main package and twice in the docs package.

 
> ------
> 
> - update-desktop-database is invoked in %post and %postun if package contains
>   desktop file(s) with a MimeType: entry.
>   Note: desktop file(s) with MimeType entry in freecad
>   See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop-
>   database
> 
> *** (from fedora-review tool)

Fixed.


 
> [!]: License field in the package spec file matches the actual license.
>      Note: There is no build directory. Running licensecheck on vanilla
>      upstream sources. Licenses found: "*No copyright* GPL (v2 or later)
> (with
>      incorrect FSF address)", "LGPL (v2.1 or later) (with incorrect FSF
>      address)", "LGPL (v2 or later)", "GPL (v3 or later)", "Unknown or
>      generated", "MIT/X11 (BSD like)", "BSL (v1.0)", "LGPL (v2 or later)
> (with
>      incorrect FSF address)", "BSD (3 clause)", "ISC", "BSD (2 clause)", "*No
>      copyright* LGPL (v2 or later) (with incorrect FSF address)", "GPL (v2 or
>      later) (with incorrect FSF address)", "LGPL (with incorrect FSF
>      address)", "*No copyright* LGPL (v2 or later)", "LGPL (v2.1 or later)",
>      "*No copyright* LGPL (v2.1 or later)". 261 files have unknown license.
>      Detailed output of licensecheck in
>      /home/jman/tmp/freecad/licensecheck.txt
> 
> [!]: License file installed when any subpackage combination is installed.
> 
> [!]: If the source package does not include license text(s) as a separate
> file
>      from upstream, the packager SHOULD query upstream to include it.
> 
> *** This is confusing:
> 
>     - Software's 'copying.lib' says LGPLv2+
> 
>     - Specfile says GPLv3+ (the only GPLv3 according to
>     licensecheck.txt is bison artifacts, which contain exceptions)
> 
>     - Otherwise, the most restrictive licenses found in
>       licensecheck.txt are GPLv2+ files; my guess is the specfile
>       should say GPLv2+.

Fixed


> [?]: Package does not include license text files separate from upstream.
> 
> *** This is a SHOULD item, in case a copy of the GPLv2+ license must
>     added by the package

Ok, I'm not sure, am I supposed to do something here?


> -----
> 
> [?]: Fully versioned dependency in subpackages if applicable.
>      Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in freecad-
>      data , freecad-doc
> 
> *** Have %{name} = %{version}-%{release} but not %{name}%{?_isa} =
>     %{version}-%{release}; is this an issue?

False alarm, you can't add an arch requirement to a noarch package, bad things happen.

 
> -----
> 
> [!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
> 
> *** No justification for any patches except the last; the first two
>     are obviously unbundling patches; how about patches 2 & 3?

I've added some comments, they're probably not super helpful but patches 2-4 are to fix build issues that have cropped up over time. FreeCAD 0.13 is quite old now and they've made a lot of updates but have not made another release yet.
Comment 23 John Morris 2014-05-23 12:47:00 EDT
(In reply to Richard Shaw from comment #22)
> (In reply to John Morris from comment #21)
>  
> > [!]: License file installed when any subpackage combination is installed.
> > 
> > [!]: If the source package does not include license text(s) as a separate file
> >      from upstream, the packager SHOULD query upstream to include it.
> > [...]
> > 
> > [?]: Package does not include license text files separate from upstream.

Also:

[x]: 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 %doc.

> Ok, I'm not sure, am I supposed to do something here?

Probably, but I just don't know what.  :)

The 'copying.lib' file, which serves as the package's license file, is incorrect (not LPGLv2+ since GPLv2+ code is included).

It seems wrong to include that in the package as the license file.  It also seems wrong to simply drop in a copy of GPLv2+ on our own.  Maybe upstream should be queried about it, with the hope of getting them to clarify the status of the software and even commit a new license file in the dev trees that we can 'backport'.
Comment 24 Richard Shaw 2014-05-23 16:49:29 EDT
Ok, per http://www.freecadweb.org/wiki/index.php?title=Licence

Freecad up to 0.13 (the current release) it is technically LGPLv2+ (even though it's an application, this is on purpose), but because it links with Coin2 and PyQt, the end result is GPLv2+ as you suggested. Both of those requirements will be replaced in the next release so the license will change back to LGPLv2+.

As far as the documentation goes I was going nuts trying to figure out why freecad.qhc was ending up the the main package even though I made do reference to the docdir and then I remembered that when we changed to unversioned doc dir I think the macro changed to glob anything in the docdir automatically, at least that's my theory. I'm going to try adding an exclude to stop this.

One of the side effects of this is now the freecad package will have to require the doc package unless FreeCAD gracefully handles the problem of the documentation not being there.

The Start_page.html file is left over from verions 0.9 and is way outdated so I think I may just rm -rf it.
Comment 25 Richard Shaw 2014-05-23 22:10:24 EDT
Spec: http://hobbes1069.fedorapeople.org/freecad.spec
SRPM: http://hobbes1069.fedorapeople.org/freecad-0.13-6.fc20.src.rpm

Ok, I think I've taken care of everything bug the license file... Still not sure what to do about it, if anything.
Comment 26 John Morris 2014-05-24 01:34:06 EDT
So those sqlite files contain documentation needed for runtime?

I think this is OK because they're not marked %doc:

  [?]: Package uses nothing in %doc for runtime.

However, since they're not %doc, I'd just stick them into the '-data' package and ignore the 'Large documentation must go in a -doc subpackage' problem.  I believe the spirit of that rule is if docs aren't needed (by humans), it saves space not to install the -doc subpackage.  That doesn't apply here, since the files are needed by runtime.

I'm fine with the license file, esp. w/good news about the next release.  There are still source files with GPLv2+ headers in them that upstream might need to revise.

So, looks great!  APPROVED
Comment 27 Richard Shaw 2014-05-24 09:26:52 EDT
Since the -doc package existed at RPM Fusion I'll need to add a Obsoletes:/Provides: for it to make sure upgrades happen cleanly.
Comment 28 Richard Shaw 2014-05-24 09:34:07 EDT
New Package SCM Request
=======================
Package Name: freecad
Short Description: A general purpose 3D CAD modeler
Upstream URL: http://www.freecadweb.org/
Owners: hobbes1069 zultron
Branches: f20 el6 epel7
InitialCC: 

Yay! Finally!
Comment 29 Jon Ciesla 2014-05-27 08:39:28 EDT
Git done (by process-git-requests).
Comment 30 Fedora Update System 2014-05-28 08:38:32 EDT
OCE-0.15-3.fc20.1,smesh-5.1.2.2-10.svn55.fc20,freecad-0.13-6.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/OCE-0.15-3.fc20.1,smesh-5.1.2.2-10.svn55.fc20,freecad-0.13-6.fc20
Comment 31 Fedora Update System 2014-05-28 16:34:21 EDT
freecad-0.13-6.el6,smesh-5.1.2.2-10.svn55.el6,OCE-0.15-3.el6.1 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/freecad-0.13-6.el6,smesh-5.1.2.2-10.svn55.el6,OCE-0.15-3.el6.1
Comment 32 Fedora Update System 2014-05-28 19:54:25 EDT
Package OCE-0.15-3.fc20.1, smesh-5.1.2.2-10.svn55.fc20, freecad-0.13-6.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing OCE-0.15-3.fc20.1 smesh-5.1.2.2-10.svn55.fc20 freecad-0.13-6.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-6805/OCE-0.15-3.fc20.1,smesh-5.1.2.2-10.svn55.fc20,freecad-0.13-6.fc20
then log in and leave karma (feedback).
Comment 33 Fedora Update System 2014-06-09 23:06:50 EDT
freecad-0.13-7.fc20, OCE-0.15-3.fc20.1, smesh-5.1.2.2-10.svn55.fc20 has been pushed to the Fedora 20 stable repository.

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