Red Hat Bugzilla – Bug 192363
Review Request: GTS - Gnu Triangulated Surface Library
Last modified: 2011-11-29 12:47:00 EST
Spec URL: http://mitgcm.org/eh3/fedora_misc/gts.spec
SRPM URL: http://mitgcm.org/eh3/fedora_misc/gts-0.7.6-1.src.rpm
GTS provides a set of useful functions to deal with 3D surfaces meshed
with interconnected triangles including collision detection,
multiresolution models, constrained Delaunay triangulations and robust
set operations (union, intersection, differences).
I've been packaging gts for many years, so ...
- Shipping static libs
Add --disable-static to %configure
- Bogus "Provides: gts-devel" at the beginning of the spec.
- Some of the binaries' names are too general and likely to conflict with other
I propose to rename them into gts<name>
- Mispackaged file:
This file is an autoconf support macro and belongs into /usr/share/aclocal
- The html docs contained in gts-*.rpm are devel docs.
They should be packaged into the gts-devel-*.rpm.
Hi Ralf, thank you for all the helpful comments! Here are the updated files
that incorporate all of your fixes:
OK, now to the nasty parts (Gts's sources are quite dirty ;) ):
1. gts-config is buggy:
Compare this (buggy):
$ ./gts-config --cflags
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include
$ ./gts-config --libs
-L/usr/lib -lgts -lglib-2.0 -lm
$ pkg-config --cflags gts
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
$ pkg-config --libs gts
-pthread -Wl,--export-dynamic -lgts -lgthread-2.0 -lgmodule-2.0 -ldl -lglib-2.0
I'd propose to patch gts-config to behave as a wrapper to the corresponding
calls to pkg-config, at least for --cflags and --libs, or to patch out the
-I/usr/include rsp. -L/usr/lib by brute force.
2. The package's Makefiles are broken.
They explictily pass -I$(includedir) through INCLUDES. This overrides the system
include path and can cause nasty side-effects.
3. Building the packages causes GCC to emit quite a significant number of
"punned pointer/strict-alignment warnings". These are likely to break the
package at run-time, esp. on 64bit platforms.
Also worth noting is the configure script playing tricks with CFLAGS. AFAIS,
they seem to be harmless at least on FC5/i386.
So, be prepared to watch PRs coming in ;)
I consider 1. to be a MUST-fix, 2. to be a "I recommend to fix it" and 3. headsup.
APPROVED, provided you fix 1. I am going to attach a patch to address issue 2.
to this PR.
[Besides this, this package is one of those packages applying the weird (IMO
sense-free) Drepper-style shared library names. As this package is an ordinary
library, I am not going to fret over this, this time.]
Created attachment 129599 [details]
patch to address Makefile.am applying bogus INCLUDES
Hi Ralf, thank you again for all the help. I'm new (*very* new) to gts
and am hoping to learn about it and use it for some future projects. You
are obviously a lot more familiar with it. Would you be interested in
"owning" it in Extras? I'd be glad to do that and would be equally happy
to try and maintain it myself. Either way is cool, I'd just like to have
a usable version of it in Extras.
(In reply to comment #5)
> You are obviously a lot more familiar with it.
Well, it's a dependency of other packages I package for local use.
> Would you be interested in "owning" it in Extras?
Not really ;) I am not actively using it, just passively (You might have noticed
that I am packaging several 3D related packages).
It's just that I have an (unclean) gts-0.7.4.spec myself, which I didn't intend
to publish, because my interest in it is limited and because I feel, I already
maintain too many packages.
> I'd be glad to do that and would be equally happy
> to try and maintain it myself. Either way is cool, I'd just like to have
> a usable version of it in Extras.
Exactly, what I want. So, this again is a case, I am willing to co-maintain and
to team up, but I do not want to take the lead.
Hi Ralf, I've included your patch (comment #4), added one for gts-config,
and imported it into CVS. Please let me know if you see any problems.
I'll request builds on FC-4/5 and devel in day or two.
And co-maintainership is fine with me -- please feel free to make whatever
changes you want to it in CVS at any time.
Successfully built on FC-4, FC-5, and devel. Thanks again for the help!
Can you post up a new srpm and spec file? I can get down to reviewing it
(In reply to comment #9)
> Can you post up a new srpm and spec file? I can get down to reviewing it
> properly then.
... this package's review had been completed long ago.
Package Change Request
Package Name: gts
New Branches: el6
Git done (by process-git-requests).