Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.1-1.src.rpm
Description: GRASS (Geographic Resources Analysis Support System) is a Geographic Information System (GIS) used for geospatial data management and
analysis, image processing, graphics/maps production, spatial
modeling, and visualization. GRASS is currently used in academic and
commercial settings around the world, as well as by many governmental
agencies and environmental consulting companies.

rpmlint warnings:
W: grass non-standard-dir-in-usr grass-6.2.1
W: grass-devel no-dependency-on grass
first: is normal behaviour, since grass has a separate eviroment folder
where plugins and scripts are kept.
second: we can have only grass-lib,grass-devel e.g if we dont want
the grass enviroment only some other tools on top of grass-lib like
e.g mapserver.
bz#222042 and bz#222039 block this to include.
We need olso gdal to be included.
If there will be no update on geotiff licence issue i can help
disbale it and include a geotiff-less gdal in fedora.
Already workaround to disable geotiff from gdal, but i wait
for officials.
I am looking forward for a review, the package required some hacks since
grass is bit unusual unix software, lets see how can improve those
workarounds in the .spec, but i guess unless we got upstream some stuff
we will have to carry workarounds in this .spec
~cristian

Right, its far much better.
splitted out whole GISBASE env in %{_libdir}/grass-<version>.
olso online internal docs splitted in /usr/shar/docs/grass-6.2.1/docs/html/*
+fixed related paths in script-enviroment for this split.
+tested functionality of grass this way olso, its fine.
rpmlint report no bugs.
See updated src.rpm and .spec fron the URL provided by me.
other things ?

Ah...
Please increase the release number every time you
do some modification for spec/srpm. This is a must item
do avoid confusion.
Anyway, as I said above, I want to deal with gdal...
before this package.

Ok, next time i will ++.
Till gdal, can review as much as possible this ?
Its pretty complicated to pack this beast, it has an unfrendly
enviroment that has to be converted to FHS and fedora standards.
And lots of minor nits may still be inside ....

i fixed that stupid proj path lookup. Now i386 fail becouse ld is unable to
see a stupid symbol from libGL.so ..... erghhhh. x86_64 is fine.
I try to fix it _today_.
I will disable gdal from now, since gdal has many problems. But i will put
effort to take gdal in an includable shape.Grass can work without gdal, but
import/export will be disabled for several gis formats, wich render grass to
be able to use only few gis formats.
But grass still can be very-very fine even without gdal.
Erghhh ... GRASS compiled with ssp flags shows tons of bufer overflows ... so
custom ./configure is required. And lots of upstream fixes ... (i will take
care, its not so dificult)

Further fixed grass. Tested its functionality deeper, looks fine now,
with specific fedora compile time optimization disabled. I can leave now
disabled RPM_OPT_FLAGS until i post mainstream patch to avoid overflows.
update:
Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.3-6.src.rpm
libGL.so is fixed mainstream.
Please make sure you have mesa-libGL-devel-6.5.2-6.fc7,
not sure yet if -6 is aviable in this very moment, maybe
have to wait to propagate to download.fedora.redhat.com
I olso updated gdal bz.
/cristian

an small nit:
>But grass still can be very-very fine even without gdal.
^^^^^ this is not true. Trying to disable it from grass hit over
an impossible count number of how many times gdal is called from
the source code. So basicaly its hardcoded into.

Created attachment 149136[details]
mock build log of grass-6.2.1-9.1.fc7.i386
Still was not good.. I added
"libtiff-devel libpng-devel" for BuildRequires.
Check if this build log is what you expect.
(Note: I just rebuilt grass and have not checked any of
grass) Especially, check if some "no" return on configure
can be ignored.

Created attachment 149205[details]
rpmlint log of grass-6.2.1-9 with two BR added
Well, for -9:
* BuildRequires:
- As said before, "libtiff-devel libpng-devel" are missing at least.
- Please check the following.
------------------------------------------------------
checking for mysql_config... /usr/bin/mysql_config
checking for mysql_server_init... no
configure: warning: libmysqld not found
------------------------------------------------------
* Requires (expecially for -devel) package
- Check the Requirement for -devel package.
@ Usually this can be checked by what files the header files
in -devel package try to "include".
@ And usually these dependencies should correcly appear on
pkgconfig .pc file as "Requires:" section
@ And the requirement for pkgconfig is missing
* Source
- Please specify URLs of all sources (if possible), especially
Source2.
* Timestamps
- This package contains a lot of text files (such as header files,
scripts), image files and so.
Please keep timestamps on those files.
* rpmlint (check attached)
+ incoherent-version-in-changelog
(This is because I increased the release number to add missing
BuildRequires)
- unused-direct-shlib-dependency
This can be usually ignored.
- undefined-non-weak-symbol
@ As this has -devel package and linkage is done for the libraries
in -devel package, this cannot be ignored.
Perhaps linkage against libm.so is missing.
* Compiler flags
- Well, would you explain a bit more in detail what happens with
"-Wp,-D_FORTIFY_SOURCE=2" (on this bug)?
And is it not-so-easy problem to fix?
* Desktop file
- Category "Application" is deprecated and should be removed.
* Documentation total size
- Well, I wonder if -doc subpackage should be created for grass
because the documentation included in main packages seems a bit
large in total..
* Documentation
- I think the following documentations should be added
----------------------------------------------------------
CHANGES - to main
ChangeLog_6.2.1.gz - to -devel
TODO - to devel
-----------------------------------------------------------
* License
- Well, just a question, what are the following files?
----------------------------------------------------------
./lib/gis/datum.table
./lib/gis/datumtransform.table
----------------------------------------------------------

updated.
Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.1-9.src.rpm
rpmlint:
W: grass-devel no-dependency-on grass
(In reply to comment #27)
> Created an attachment (id=149205) [edit]
> rpmlint log of grass-6.2.1-9 with two BR added
>
> Well, for -9:
>
> * BuildRequires:
> - As said before, "libtiff-devel libpng-devel" are missing at least.
updated.
> - Please check the following.
> ------------------------------------------------------
> checking for mysql_config... /usr/bin/mysql_config
> checking for mysql_server_init... no
> configure: warning: libmysqld not found
> ------------------------------------------------------
fixed.
> * Requires (expecially for -devel) package
> - Check the Requirement for -devel package.
> @ Usually this can be checked by what files the header files
> in -devel package try to "include".
done.
> @ And usually these dependencies should correcly appear on
> pkgconfig .pc file as "Requires:" section
added.
> @ And the requirement for pkgconfig is missing
added.
> * Source
> - Please specify URLs of all sources (if possible), especially
> Source2.
done.
> * Timestamps
> - This package contains a lot of text files (such as header files,
> scripts), image files and so.
> Please keep timestamps on those files.
ouch. well need to relocate lots of places, so i done lots of 'mv',
well, i would be happy to hint how to do it better, idea ?
> * rpmlint (check attached)
> + incoherent-version-in-changelog
fixed.
> (This is because I increased the release number to add missing
> BuildRequires)
> - unused-direct-shlib-dependency
> This can be usually ignored.
well.
> - undefined-non-weak-symbol
> @ As this has -devel package and linkage is done for the libraries
> in -devel package, this cannot be ignored.
> Perhaps linkage against libm.so is missing.
gone. (at last not appear for me)
>
> * Compiler flags
> - Well, would you explain a bit more in detail what happens with
> "-Wp,-D_FORTIFY_SOURCE=2" (on this bug)?
> And is it not-so-easy problem to fix?
Ugh, some plugins will simply crash with stack overflow error. In fact
i need to investigate all places where this occur. It render unusable
grass for now if i dont warkaround that flag.
>
> * Desktop file
> - Category "Application" is deprecated and should be removed.
removed.
> * Documentation total size
> - Well, I wonder if -doc subpackage should be created for grass
> because the documentation included in main packages seems a bit
> large in total..
Grass will render unusable if docs are not included. There are tons
of buttons and hints wich use thos html references.
If its really needed i can split into -docs, but mandatory dep of grass
over -docs would be than.
> * Documentation
> - I think the following documentations should be added
> ----------------------------------------------------------
> CHANGES - to main
> ChangeLog_6.2.1.gz - to -devel
> TODO - to devel
> -----------------------------------------------------------
added.
> * License
> - Well, just a question, what are the following files?
> ----------------------------------------------------------
> ./lib/gis/datum.table
> ./lib/gis/datumtransform.table
> ----------------------------------------------------------
Well, its a list of some constants/parameters used for transformation
between geographical projections, as i see its done by grass team.
I wonder what is so illegal over it since those transforms are documented
in hundred thousand of books and places ... Every geograph/topo stuff should
know about elipsoid projection or whatsoever kind of non-cartesian
projections ....
In fact i wonder who was first, patent-camera or e.g Gauss or Krasovsky ...
;-)
Basicaly are constant numbers like PI in math ...
If need i remove tham, but i see that in fact the grass team did those tables
for their own, or maybe clarify origin ?

Created attachment 150055[details]
mock build log of grass-6.2.1-10 on FC-devel i386
I just did a mockbuild of -10 on FC-devel i386
Please check if the log is what you expect.
I will check -10 for now (well, as before as grass is
so large it may take long...)

updated.
Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.1-12.src.rpm
(In reply to comment #34)
> Created an attachment (id=150146) [edit]
> grass.pc.in (with some fix)
included.
> For -11:
>
> * pkgconfig file:
> - Well,
> ------------------------------------------------
> Libs: -L%{libdir} -lgrass_I -lgrass_vask -lgrass_gmath -lgrass_gis
> -lgrass_datetime -lgrass_gproj -lgrass_vect -lgrass_dbmibase -lgrass_dbmiclient
>
> ------------------------------------------------
> Actually this should be "-L${libdir}", not percent. This was my
> typo, sorry...
> - Other issues are: prefix, exec_prefix, libdir, includedir for grass.pc
is
> not correct.
yes. right.
> The attached grass.pc.in should work.
included.
> ? By the way, there are some other /usr/lib/libgrass_??.so which don't
appear
>
> in grass.pc file. Would you know why? (perhaps because of some intention
> of upstream).
Dont know very exact. There are other projects e.g gdal can be builded against
grass (i will enable it when grass will be mainstream) or there is olso a
mapserver called project wich is compiled against grass-devel so i guess some
of libs may be internal and some external as i figured out :-D but not 100%
sure right now. (sorry for this)
(i would like to include mapserver olso, as part of php-* extensions for
apache !!! , really, really nice project , it can outperform comercial
soultions from ESRI Inc. in the area of web-publish gis or maps
http://mapserver.gis.umn.edu/ if want see project against grass libs)
> - And for gdal.pc, the correct one is
> ------------------------------------------------
> Libs: -L${libdir} -lgdal
> ------------------------------------------------
> ... my bad ...
Yes that one was already noticed by me, submitted upstream -14 gdal is fine.
> * Optflags
> ? Not bad, and I didn't notice this, however, fedora optflags seems to be
> passed twice.
> ------------------------------------------------
> make[2]: Entering directory `/builddir/build/BUILD/grass-6.2.1/lib/datetime'
>
gcc -I/builddir/build/BUILD/grass-6.2.1/dist.i686-redhat-linux-gnu/include -O2
> -g -pipe -Wall -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32
> -march=i386 -mtune=generic -fasynchronous-unwind-tables -O2 -g -pipe -Wall
> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386
> -mtune=generic -fasynchronous-unwind-tables -fPIC
> -DPACKAGE=\""grasslibs"\" -DPACKAGE=\""grasslibs"\"
> -I/builddir/build/BUILD/grass-6.2.1/dist.i686-redhat-linux-gnu/include \
> -o OBJ.i686-redhat-linux-gnu/between.o -c between.c
> ------------------------------------------------
fixed.
> + Timestamps are actually fixed correctly.
> + rpmlint warnings can now all be ignored.
Thx a lot for fix !
> Well, again I will try to check all source files
> (although there are 5000+ files...) I hope that this review
> is now approaching to the goal.
Tasaka, if you take it easy, will be a loss if this grass will be not
submited in this seasson :-) I got already a long list to fix upstream ...
Anyway must thank to you a lot for helping me out, you was very kind at all !
and olso Patrice patience and helpout was great !

Upps sorry wanted to say:
Tasaka, just take it easy, will be not a loss if this grass will be not
subbmited in this seasson :-)
I got already a long list to fix upstream ... headache starting for me ...
oh sorry .. ;)

Well, I will do a final check on this weekend.
(In reply to comment #35)
> > - And for gdal.pc, the correct one is
> > ------------------------------------------------
> > Libs: -L${libdir} -lgdal
> > ------------------------------------------------
> > ... my bad ...
>
> Yes that one was already noticed by me, submitted upstream -14 gdal is fine.
-15 does not seem to be okay.

Well, for -12:
* Again check the license:
* ./lib/form/license.term
- What does the following paragraph mean?
------------------------------------------------------
RESTRICTED RIGHTS: Use, duplication or disclosure by the government
is subject to the restrictions as set forth in subparagraph (c) (1) (ii)
of the Rights in Technical Data and Computer Software Clause as DFARS
252.227-7013 and FAR 52.227-19.
------------------------------------------------------
This term is related to the files under ./visualization/nviz/
------------------------------------------------------
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
------------------------------------------------------
* Files under ./raster/r.out.mpeg/
- Are these related to
http://fedoraproject.org/wiki/Multimedia/MP3 ?
* Files under ./raster/r.terraflow/
- It seems that these are licensed under _old_ BSD (i.e.
with advertising clause).
------------------------------------------------------
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Duke University
------------------------------------------------------
* Compilation flags
- "-Wp,-D_FORTIFY_SOURCE=2" is passed.
------------------------------------------------------
make[2]: Entering directory `/builddir/build/BUILD/grass-6.2.1/lib/datetime'
gcc -I/builddir/build/BUILD/grass-6.2.1/dist.i686-redhat-linux-gnu/include -O2
-g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
-fasynchronous-unwind-tables -fPIC -DPACKAGE=\""grasslibs"\"
-DPACKAGE=\""grasslibs"\"
-I/builddir/build/BUILD/grass-6.2.1/dist.i686-redhat-linux-gnu/include \
-o OBJ.i686-redhat-linux-gnu/between.o -c between.c
------------------------------------------------------

(In reply to comment #39)
> Well, for -12:
>
> * Again check the license:
> * ./lib/form/license.term
> - What does the following paragraph mean?
> ------------------------------------------------------
> RESTRICTED RIGHTS: Use, duplication or disclosure by the government
> is subject to the restrictions as set forth in subparagraph (c) (1) (ii)
> of the Rights in Technical Data and Computer Software Clause as DFARS
> 252.227-7013 and FAR 52.227-19.
Hmm, dunno. Indeed in same file thay make clear statement thats public domain,
dont know why they instert restricts for governmental use ?!
> ------------------------------------------------------
> This term is related to the files under ./visualization/nviz/
> ------------------------------------------------------
> * See the file "license.terms" for information on usage and redistribution
> * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
> ------------------------------------------------------> * Files under ./raster/r.out.mpeg/
> - Are these related to
> http://fedoraproject.org/wiki/Multimedia/MP3 ?
Its just a wrapper, i think its safe.
It calls external cli tools like pnmtompeg from netpnm:
http://netpbm.sourceforge.net/doc/index.html
Indeed, fedora netpnm does not contain the mpeg parts :-)
> * Files under ./raster/r.terraflow/
> - It seems that these are licensed under _old_ BSD (i.e.
> with advertising clause).> ------------------------------------------------------
> * 3. All advertising materials mentioning features or use of this software
> * must display the following acknowledgement:
> * This product includes software developed by Duke University
> ------------------------------------------------------
Duke developed many software, thay just want to promote themself by asking
in cases of expos or whatever publications to mention their names.
Is it completely unacceptable ?
> * Compilation flags
> - "-Wp,-D_FORTIFY_SOURCE=2" is passed.
oh .. i go fix it again.
> ------------------------------------------------------
> make[2]: Entering directory `/builddir/build/BUILD/grass-6.2.1/lib/datetime'
>
gcc -I/builddir/build/BUILD/grass-6.2.1/dist.i686-redhat-linux-gnu/include -O2
> -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
> -fasynchronous-unwind-tables -fPIC -DPACKAGE=\""grasslibs"\"
> -DPACKAGE=\""grasslibs"\"
> -I/builddir/build/BUILD/grass-6.2.1/dist.i686-redhat-linux-gnu/include \
> -o OBJ.i686-redhat-linux-gnu/between.o -c between.c
> ------------------------------------------------------

(In reply to comment #42)
> Well, for license issue:
>
> * For 1 and 2, I will re-read them, however currently I don't
> think they are problems.
>
> * For 3 (i.e. files under under ./raster/r.terraflow/), perhaps
> this is a problem because this "advertising clause" in old
> BSD license is marked as "imcompatible with GPL".
piece of crap i'll remove it.
Indeed that plugin sucks and its useless.
Further grass versions will probably get rid.
>
> http://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses
> http://www.gnu.org/philosophy/bsd.html
In this case i fork the tarball like for gdal, with explanations included,
and try upstream to see how can fix this.
Be back in <1 hour with the soulution.