Bug 825489 - Review Request: opencsg - Library for Constructive Solid Geometry using OpenGL
Summary: Review Request: opencsg - Library for Constructive Solid Geometry using OpenGL
Keywords:
Status: CLOSED DUPLICATE of bug 870860
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-05-26 20:18 UTC by Greg Jurman
Modified: 2012-10-29 12:30 UTC (History)
8 users (show)

Fixed In Version:
Clone Of: 678955
: opencsg (view as bug list)
Environment:
Last Closed: 2012-10-29 12:23:46 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Greg Jurman 2012-05-26 20:18:09 UTC
Spec URL: https://raw.github.com/gregjurman/opencsg-spec/master/opencsg.spec
SRPM URL: https://github.com/gregjurman/opencsg-spec/raw/master/opencsg-1.3.2-1.fc16.src.rpm

Description: 
CSG is short for Constructive Solid Geometry and denotes an approach to model
complex 3D-shapes using simpler ones. I.e., two shapes can be combined by
taking the union of them, by intersecting them, or by subtracting one shape
of the other. The most basic shapes, which are not result of such a CSG
operation, are called primitives. Primitives must be solid, i.e., they must
have a clearly defined interior and exterior. By construction, a CSG shape is
also solid then.

Image-based CSG rendering (also z-buffer CSG rendering) is a term that denotes
algorithms for rendering CSG shapes without an explicit calculation of the
geometric boundary of a CSG shape. Such algorithms use frame-buffer settings
of the graphics hardware, e.g., the depth and stencil buffer, to compose CSG
shapes. OpenCSG implements a variety of those algorithms, namely the
Goldfeather algorithm and the SCS algorithm, both of them in several variants.

Fedora Account System Username: gregjurman

Note:
This is a new ticket for previously closed ticket #678955

Comment 1 Greg Jurman 2012-05-27 01:45:47 UTC
Needs a patch to correct rpmlint 'incorrect-fsf-address' in debuginfo package. 

Action Items:
- contact upstream to fix license information
- Make a patch file for until fix is done, then bump source material.

Comment 2 Greg Jurman 2012-05-30 04:26:38 UTC
Updated Files:

Spec URL: https://raw.github.com/gregjurman/opencsg-spec/master/opencsg.spec
SRPM URL: https://github.com/gregjurman/opencsg-spec/raw/master/opencsg-1.3.2-2.fc16.src.rpm

- Upstream has been contacted with email provided on OpenCSG website.
- New SRPM which fixes the incorrect-fsf-address error from rpmlint.
- Patch is in the SRPM to fix the header until upstream fixes issue.

Comment 3 Jerry James 2012-06-07 15:55:54 UTC
Greg, do you have any examples of reviews you've done that you can point me to?

Comment 4 Greg Jurman 2012-06-07 16:21:27 UTC
Jerry, I do not. I need a sponser. Pretty much picked this package up due to a need for OpenSCAD.

Comment 5 Volker Fröhlich 2012-06-07 19:19:36 UTC
Don't use the rm macro. Just use "rm -rf" like you did below.

You don't need to rm the buildroot in the install section and you don't need to define defattr in the files sections either.

Please ship license.txt via %doc as well.

Use -p on cp to preserve the timestamp of the header file. But you could also consider to correct src.pro. In this case you should be able to drop most of your commands from the install section.

It seems to me, libGLEW is not linked to the libraries. Am I wrong?

Comment 6 Greg Jurman 2012-06-07 19:38:28 UTC
> Don't use the rm macro. Just use "rm -rf" like you did below.
Fixed

> You don't need to rm the buildroot in the install section and you don't need to define defattr in the files sections either.
Fixed

> Use -p on cp to preserve the timestamp of the header file. But you could also consider to correct src.pro. In this case you should be able to drop most of your commands from the install section.
Added -p to cp. Will look into fixing src.pro.

>It seems to me, libGLEW is not linked to the libraries. Am I wrong?
It is used in the example application.

>Please ship license.txt via %doc as well.
Fixed

Updated Files:
Spec URL: https://raw.github.com/gregjurman/opencsg-spec/master/opencsg.spec
SRPM URL: https://github.com/gregjurman/opencsg-spec/raw/master/opencsg-1.3.2-3.fc17.src.rpm

Comment 7 Jason Tibbitts 2012-07-05 19:34:03 UTC
I get some odd rpmlint errors:

  opencsg.x86_64: W: wrong-file-end-of-line-encoding
   /usr/share/doc/opencsg-1.3.2/license.txt
Please fix up DOS line endings.

Note that you may have to actually install the package and then run 'rpmlint openscg' to see these:

These sort of imply that libopenscg needs to be linked against glew, maybe.  This isn't really my area of expertise.
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewGenOcclusionQueriesNV
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_ARB_texture_rectangle
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewXGetFBConfigAttribSGIX
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewFramebufferTexture2DEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewDepthBoundsEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewDeleteOcclusionQueriesNV
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewGenFramebuffersEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_NV_occlusion_query
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_ARB_depth_texture
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewDeleteFramebuffers
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_ARB_occlusion_query2
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewRenderbufferStorageEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewGetQueryObjectuivARB
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewXChooseFBConfigSGIX
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_ARB_framebuffer_object
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewEndOcclusionQueryNV
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewGenRenderbuffers
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_ARB_texture_env_dot3
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_ATI_texture_float
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_ARB_occlusion_query
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_NV_float_buffer
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_NV_texture_rectangle
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLXEW_SGIX_fbconfig
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewXDestroyGLXPbufferSGIX
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewBindFramebufferEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewFramebufferRenderbufferEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewXGetCurrentDisplay
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLXEW_SGIX_pbuffer
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewDeleteQueriesARB
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLXEW_NV_float_buffer
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewFramebufferRenderbuffer
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewBindRenderbuffer
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewFramebufferTexture2D
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewEndQueryARB
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewGenRenderbuffersEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewBeginOcclusionQueryNV
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_EXT_packed_depth_stencil
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewGetOcclusionQueryuivNV
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewDeleteRenderbuffersEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewXCreateGLXPbufferSGIX
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewRenderbufferStorage
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_EXT_depth_bounds_test
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewDeleteFramebuffersEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewCheckFramebufferStatusEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_ARB_texture_non_power_of_two
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewBeginQueryARB
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewGenQueriesARB
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewXCreateContextWithConfigSGIX
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewDeleteRenderbuffers
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewBindFramebuffer
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewGenFramebuffers
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewBindRenderbufferEXT
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_EXT_framebuffer_object
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __glewCheckFramebufferStatus
opencsg.x86_64: W: undefined-non-weak-symbol /usr/lib64/libopencsg.so.1.3.2 __GLEW_EXT_texture_rectangle

Not sure why this library is linked against libQtGui and libQtCore if it doesn't call anything in them.  Same for libm, though libm is pretty much always going to be loaded anyway:
opencsg.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libopencsg.so.1.3.2 /lib64/libQtGui.so.4
opencsg.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libopencsg.so.1.3.2 /lib64/libQtCore.so.4
opencsg.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libopencsg.so.1.3.2 /lib64/libm.so.6

Comment 8 Greg Jurman 2012-07-05 19:47:19 UTC
I am looking at those now Jason. Part of the issue is there is a little demo app compiled with the library. I think that should be stripped out of the package, which should remove the bindings to QtGui and QtCore assuming it is not used else where.

Hmm, rpmlint did not catch the DOS endlines in FC16. I'll fix that as well.

Comment 9 Eric Smith 2012-07-14 01:51:58 UTC
It does need to be linked against glew.

I'd suggest putting the demo app in the devel subpackage or in its own subpackage.

I worked on packaging OpenCSG a while ago with the intention of also packaging openscad.  I had to drop it for a while, and was just updating my spec file this afternoon to submit for review when I discovered yours.  I doubt that there's anything particularly useful in my spec file, but you can find it at http://fedorapeople.org/~brouhaha/opencsg/opencsg.spec

Comment 10 Greg Jurman 2012-07-14 02:07:02 UTC
Updated Files:
Spec URL: https://raw.github.com/gregjurman/opencsg-spec/master/opencsg.spec
SRPM URL: https://github.com/gregjurman/opencsg-spec/raw/master/opencsg-1.3.2-4.fc17.src.rpm

* DOS new-lines are fixed in license.txt
* I removed the demo application for now until all other main issues are fixed.
* I removed the extraneous QT library links (unused-direct-shlib-dependency).
* I was not able to remove the unused link to libm.so.6 as of right now. If this is a blocker, I'll patch in an edit to the qmake-qt4 generated Makefile.

Comment 11 Jerry James 2012-08-17 15:40:57 UTC
Greg, have you seen this page?

https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group

What can you point out to a potential sponsor?  Do you have other package submissions?  Have you done any informal reviews?  Do you comaintain any packages?

Comment 12 Miro Hrončok 2012-10-08 19:23:11 UTC
Adding myself to CC list.

Greg, I send you a Pull Request via github: https://github.com/gregjurman/opencsg-spec/pull/1

Comment 13 Greg Jurman 2012-10-09 03:03:57 UTC
Updated Files:
Spec URL: https://raw.github.com/gregjurman/opencsg-spec/master/opencsg.spec
SRPM URL: https://github.com/gregjurman/opencsg-spec/raw/master/opencsg-1.3.2-5.fc17.src.rpm

* Merged Miro's changes

Sorry that I have not been as active on this as I should, busy with work and all. I'll retract the FE-NEEDSPONSER. If any existing maintainer wants to take this over. I can still maintain the package; I just no longer have the time to pursue Fedora maintainership.

Comment 14 Miro Hrončok 2012-10-29 02:36:46 UTC
Taking this over from here: Bug #870860

Will apreciate any help from you with further package versions.

Comment 15 Mario Blättermann 2012-10-29 12:23:46 UTC

*** This bug has been marked as a duplicate of bug 870060 ***

Comment 16 Mario Blättermann 2012-10-29 12:30:08 UTC

*** This bug has been marked as a duplicate of bug 870860 ***

Comment 17 Mario Blättermann 2012-10-29 12:30:54 UTC
(In reply to comment #15)
> 
> *** This bug has been marked as a duplicate of bug 870060 ***

Forget this change, this was the wrong bug ...


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