Bug 459125 (freecad)
Summary: | Review Request: freecad - A general purpose 3D CAD modeler | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Nicolas Chauvet (kwizart) <kwizart> |
Component: | Package Review | Assignee: | John Morris <john> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | dan, diogo.urb, fedora-package-review, hobbes1069, jcasale, john, kmilos, lemenkov, linuxguy123, mads, mr.nuke.me, pahan, rvokal, sundaram, tuju, valent.turkovic |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | Flags: | john:
fedora-review+
gwync: fedora-cvs+ |
Hardware: | All | ||
OS: | Linux | ||
URL: | http://sourceforge.net/projects/free-cad | ||
Whiteboard: | |||
Fixed In Version: | freecad-0.13-7.fc20 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-06-10 03:06:50 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 458974, 459153, 1097368 | ||
Bug Blocks: |
Description
Nicolas Chauvet (kwizart)
2008-08-14 15:43:44 UTC
(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. OpenCASCADE changed its licensing terms, so it's time to re-open this ticket. 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. 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/ 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. 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] Thank you for the update. (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. 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! ;-) (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! (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. 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. 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? 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? Not sure, but looks like it is not - http://www.opencascade.org/getocc/license/ 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 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. I'll take this one, when you're ready. Spec: http://hobbes1069.fedorapeople.org/freecad.spec SRPM: http://hobbes1069.fedorapeople.org/freecad-0.13-5.fc20.src.rpm On it.... 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 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 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 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 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 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 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 (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. (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'. 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. 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. 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 Since the -doc package existed at RPM Fusion I'll need to add a Obsoletes:/Provides: for it to make sure upgrades happen cleanly. 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! Git done (by process-git-requests). 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 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 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). 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. |