Bug 483859

Summary: Review Request: libg3d - Library for 3D file/object viewer
Product: [Fedora] Fedora Reporter: Fabian Affolter <mail>
Component: Package ReviewAssignee: Guido Grazioli <guido.grazioli>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: ed, fedora-package-review, guido.grazioli, notting, rc040203, susi.lehtola
Target Milestone: ---Flags: guido.grazioli: fedora-review?
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-09 21:44:07 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:    
Bug Blocks: 483863    

Description Fabian Affolter 2009-02-03 23:06:59 UTC
Spec URL: http://fab.fedorapeople.org/packages/SRPMS/libg3d.spec
SRPM URL: http://fab.fedorapeople.org/packages/SRPMS/libg3d-0.0.8-1.fc10.src.rpm

Project URL: http://automagically.de/g3dviewer/

Description:
This library loads 3D models from various file formats. Its aim is to support
basic import functionality for as much formats as possible. More complete
support is better, of course, and the long time goal.

To help developing plugins and for general use, too, there are a lot of
basic 3d manipulation function, including vector and matrix math, common
file reading stuff, transformations and 3d primitive support.

Koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1102543

rpmlint output:
[fab@laptop24 i386]$ rpmlint libg3d*
3 packages and 0 specfiles checked; 0 errors, 0 warnings.

[fab@laptop24 SRPMS]$ rpmlint libg3d-0.0.8-1.fc10.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 1 Ed Hill 2009-02-04 04:50:40 UTC
Hi Fabian,

Thank you for taking some time to package G3DViewer!  Here is a quick 
and somewhat incomplete review.  I'll be happy to do a more thorough 
review later this week.

good:
+ source matches upstream sha1sum:
26b4f0ea470b7572daf8d7773d2c00aa01f93058  libg3d-0.0.8.tar.gz
26b4f0ea470b7572daf8d7773d2c00aa01f93058  libg3d-0.0.8.tar.gz.1
+ naming OK
+ spec is legible
+ builds in mock for F10 x86_64 
+ license is correctly included
+ use of ldconfig in post/postun looks OK
+ dir ownership looks OK
+ no *.la files
+ correct use of devel
+ has clean section
+ code not content

needswork:
- I think the license is LGPLv2+ not GPLv2+ -- please verify
- Please fix some of the grammatical errors in the description.  
  Here is a suggested replacement but please feel free to use 
  something else if you're not satisfied with it:

This library is typically used to load 3D model data from various file 
formats.  Its aim is to support basic import functionality for as many 
formats as possible -- more file formats are planned.  The library 
provides numerous functions for basic 3D manipulation, vector/matrix 
math, transformations, and 3D primitive support.

- rpmlint reports a number of rpath errors:

libg3d.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/g3d-stat ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/image/img_dds.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/image/img_sgi.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/image/img_bmp.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_ac3d.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_nff.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_ar.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_cob.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_q3o.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_leocad.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_lwo.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_3ds.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_md3.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_vrml.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_ase.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_joe.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_glb.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_obj.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_3dmf.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_iob.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_heightfield.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_dxf.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_ldraw.so ['/usr/lib64']
libg3d-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libg3d/plugins/import/imp_md2.so ['/usr/lib64']
4 packages and 0 specfiles checked; 24 errors, 0 warnings.

Please see http://fedoraproject.org/wiki/Packaging/Guidelines#Removing_Rpath 
for some possible fixes.

Comment 2 Fabian Affolter 2009-02-18 23:17:12 UTC
thanks for the hint about the rpath.  I will try to fix that.

Comment 3 Fabian Affolter 2009-04-13 21:42:34 UTC
Hmmm, I guess that I will need some help with this package.

Comment 4 Guido Grazioli 2009-05-07 22:22:19 UTC
(In reply to comment #3)
> Hmmm, I guess that I will need some help with this package.  

Hi Fabian, as suggest by Ed, just add the following two lines to your %configure section to fix the errors reported by rpmlint:

%configure
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool


As an additional note, check the %doc definitions: just the README file should be enough for -devel package, instead of installing the same files for both main and -devel packages

Comment 5 Fabian Affolter 2009-08-14 22:19:24 UTC
Thanks guys, here are the updated files:

SPEC: http://fab.fedorapeople.org/packages/SRPMS/libg3d.spec
SRPM: http://fab.fedorapeople.org/packages/SRPMS/libg3d-0.0.8-2.fc11.src.rpm

I guess that the rpath issue is fixed.

[fab@------ x86_64]$ rpmlint libg3d*
3 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 6 Susi Lehtola 2010-01-01 22:55:50 UTC
ping Ed?

Comment 7 Fabian Affolter 2010-02-09 10:24:40 UTC
I'm still looking for a review of this package because it blocks G3DViewer.

Comment 8 Guido Grazioli 2010-02-22 13:50:06 UTC
This is an informal review; Ed's last post was about 12 month ago, if he is still unresponsive, im willing to take this review over

NEEDSWORK - rpmlint output
libg3d.x86_64: W: spelling-error %description -l en_US plugins -> plug ins, plug-ins, plugging
libg3d-devel.x86_64: W: spelling-error Summary(en_US) libg -> ling, lib, glib
libg3d-devel.x86_64: W: spelling-error %description -l en_US libg -> ling, lib, glib
libg3d.src: W: spelling-error %description -l en_US plugins -> plug ins, plug-ins, plugging
3 packages and 1 specfiles checked; 0 errors, 4 warnings.

- Please correct the "plugins" warnings, you also have a typo in %changelog (last entry in 0.0.8-2 revision is empty). The warnings about "libg" can be ignored.

ADDITIONAL NOTES:

- /usr/lib64/libg3d/ tree is installed along -devel package: is that correct? 

- after installing libg3d i got for any file i tried:
$ g3d-stat bridge.dxf 
no handler for file 'bridge.dxf' found
$ g3d-stat cube.obj 
no handler for file 'cube.obj' found

- libg3c.magic is in -devel package too

- includedir in libg3d.pc should be /usr/include/g3d

- the same README file is installed both in main and devel package: yum could remove it from -devel and more TODO there

=========

OK - The package must be named according to the Package Naming Guidelines.
OK - The spec file name must match the base package %{name}
OK - The package must meet the Packaging Guidelines
OK - If (and only if) the source package includes the text of the
license(s) in its own file, then that file, containing the text of the
license(s) for the package must be included in %doc
OK - The package must be licensed with a Fedora approved license and
meet the Licensing Guidelines (license is LGPLv2+)
NA - Every binary RPM package which stores shared library files must
call ldconfig in %post and %postun 
OK - The package MUST successfully compile and build
koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2004807
OK - The spec file must be written in American English.
OK - The spec file for the package MUST be legible.
OK - The sources used to build the package must match the upstream source, as
provided in the spec URL. 
23fbb22c24b1db225a3de8b6aaf25774  libg3d-0.0.8.tar.gz
OK - The spec file MUST handle locales properly 
NA - package not relocatable
OK - A package must own all directories that it creates
OK - A Fedora package must not list a file more than once in the spec file's
%files listings
OK - Permissions on files must be set properly
OK - Each package must have a %clean section
OK - Each package must consistently use macros
OK - The package must contain code, or permissable content (no content)
OK - Large documentation files must go in a -doc subpackage (no large doc, gtk-doc is ~ 400kb included in -devel)
OK - If a package includes something as %doc, it must not affect the runtime of
the application
OK - Header files must be in a -devel package
NA - Static libraries must be in a -static package (no static package)
OK - Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'
OK - Packages must NOT contain any .la libtool archives
NA - Packages containing GUI applications MUST include a .desktop file 
OK - No file conflicts with other packages and no general names.
OK - At the beginning of %install, each package MUST run rm -rf %{buildroot}
OK - All filenames in rpm packages must be valid UTF-8
OK - The package does not yet exist in Fedora. The Review Request is not a
duplicate.
OK - %{?dist} tag is used in release

Comment 9 Guido Grazioli 2010-02-22 13:52:38 UTC
> - the same README file is installed both in main and devel package: yum could
> remove it from -devel and more TODO there

sry, i meant: you* could remove it from -devel and move* TODO there

Comment 10 Guido Grazioli 2010-04-15 11:34:24 UTC
I took this review request.
Ping

Comment 11 Guido Grazioli 2010-04-30 12:31:20 UTC
Ping again; Fabian are you still interested in maintaining this package?

Comment 12 Ralf Corsepius 2010-04-30 12:44:38 UTC
- includedir in libg3d.pc should be /usr/include/g3d

No. This would be wrong. The settng libg3d.pc is correct.

Comment 13 Guido Grazioli 2010-05-11 10:53:42 UTC
Ralf is obviously right in the above comment; Fabian you there?

Comment 14 Guido Grazioli 2010-05-31 11:46:55 UTC
A month and a week passed, much more since last Fabian post; i will close this one as NOTABUG if Fabian doesnt show up in a week.

Comment 15 Fabian Affolter 2010-06-06 21:39:47 UTC
At the moment I'm not longer able to build this package because the "/lib/cpp" fails sanity check fails.

(In reply to comment #11)
> Ping again; Fabian are you still interested in maintaining this package?    

If there is an other person interested in maintaining this package I would be happy to transfer it.

Comment 16 Susi Lehtola 2010-11-06 13:14:30 UTC
ping, what's the status?

Comment 17 Fabian Affolter 2011-01-04 13:47:21 UTC
Well, not much progress in the past months. At the moment I'm a bit short on time.

Comment 18 Guido Grazioli 2011-02-05 13:32:04 UTC
There were no releases of this library in two years, and i could not find any scm for the sources, only the tarballs in their site. Did you contact upstream recently in order to see if the project is still alive?