Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 227646 - Review Request: grass - GRASS (Geographic Resources Analysis Support System)
Summary: Review Request: grass - GRASS (Geographic Resources Analysis Support System)
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks: FE-ACCEPT
TreeView+ depends on / blocked
 
Reported: 2007-02-07 11:10 UTC by Balint Cristian
Modified: 2018-04-11 15:21 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-03-20 16:24:28 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
wtogami: fedora-cvs+


Attachments (Terms of Use)
mockbuild log of grass 6.2.1-3.fc7 (deleted)
2007-02-23 17:58 UTC, Mamoru TASAKA
no flags Details
mock build log of grass-6.2.1-8.fc7.i386 (deleted)
2007-03-02 14:43 UTC, Mamoru TASAKA
no flags Details
mock build log of grass-6.2.1-9.1.fc7.i386 (deleted)
2007-03-02 18:16 UTC, Mamoru TASAKA
no flags Details
rpmlint log of grass-6.2.1-9 with two BR added (deleted)
2007-03-04 10:35 UTC, Mamoru TASAKA
no flags Details
mock build log of grass-6.2.1-10 on FC-devel i386 (deleted)
2007-03-14 15:42 UTC, Mamoru TASAKA
no flags Details
rpmlint log for grass-6.2.1-10 (deleted)
2007-03-14 19:19 UTC, Mamoru TASAKA
no flags Details
grass.pc.in (with some fix) (deleted)
2007-03-15 17:59 UTC, Mamoru TASAKA
no flags Details
mock build log of grass-6.2.1-12 on FC-devel i386 (deleted)
2007-03-18 08:53 UTC, Mamoru TASAKA
no flags Details

Description Balint Cristian 2007-02-07 11:10:22 UTC
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.

Comment 1 Balint Cristian 2007-02-07 11:17:03 UTC
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

Comment 2 Mamoru TASAKA 2007-02-07 11:56:25 UTC
Well, I (and the other reviewers) want to clean up the package
which this package depends on first, libgeotiff, gdal, etc...

By the way, are you in need of sponsor?

Comment 3 Balint Cristian 2007-02-07 12:03:45 UTC
Yes :-)

Ok, lets do it :-)

I pinged Tom, hope he will respond, otherwise lets disable 
geotiff from gdal. If till tomorrow will no answear i will
help you disaple and pack gdal in the *right* way.

Comment 4 Ralf Corsepius 2007-02-07 12:43:39 UTC
(In reply to comment #1)
> 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.
MUSTFIX: This is non-acceptable.

You must move these files elsewhere e.g. %{_libdir}/grass-<version>


Comment 5 Balint Cristian 2007-02-07 14:45:16 UTC
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 ?


Comment 6 Mamoru TASAKA 2007-02-07 14:55:05 UTC
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.

Comment 7 Balint Cristian 2007-02-07 15:01:19 UTC
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 ....


Comment 8 Michael Schwendt 2007-02-07 15:24:11 UTC
> Requires:  grass-libs

Unless mispackaged, there is an automatic dependency on library
sonames already. Query the binary rpm file with "rpm -qpR".
Avoid explicit dependencies on package names wherever possible.

> Provides:  grass = %{version}-%{release}

It's automatic already and hence duplicate.
Every package "Provides: %name = %version-%release" automatically.

> %package libs
> Requires:  python tk
> Requires:  zlib mesa-libGL mesa-libGLw xorg-x11-util-macros freetype lesstif
> Requires:  proj geos blas lapack fftw2 gdal => 1.4.0
> Requires:  unixODBC mysql postgresql-libs sqlite
> Provides:  grass-libs = %{version}-%{release}

Same here. The "Provides" is not needed. Plus, you have lots of
suspicious and questionable dependencies on library package names
in there, which should be automatic already.

[-devel package]

> Requires:  grass-libs => 6.2.1

Does that really work? Is "=>" recognised as ">="?
Anyway, ought to be "Requires: grass-libs = %{version}-%{release}"
If you don't require a specific %version-%release, your package
users will run into funny problems whenever grass-devel and
grass-libs are out-of-sync.

>%build
>
>CFLAGS="$RPM_OPT_FLAGS"
>CXXFLAGS="$RPM_OPT_FLAGS"

Not needed. The %configure macro sets and exports these two already.

> gzip -9 ${RPM_BUILD_ROOT}%{_prefix}/grass-%{version}/man/man1/*.1

Manual pages included in %doc are compressed automatically.

> %post devel -p /sbin/ldconfig
> %postun devel -p /sbin/ldconfig

Useless.


%defattr in sub-packages ought to come _before_ %doc file sections.

Comment 9 Michael Schwendt 2007-02-07 15:29:22 UTC
> %{_libdir}/libgrass_*.a

Inclusion of static libs must be justified.


Comment 10 Balint Cristian 2007-02-07 16:04:45 UTC
updated.

Not sure about Request  in -libs, investigate.

Comment 11 Balint Cristian 2007-02-09 16:41:06 UTC
updated.
Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.3-1.src.rpm

more review over Request.

To summ up:
* Fri Feb 09 2007 Balint Cristian <cbalint> 6.2.1-3
- fix more nits in specs

* Wed Feb 07 2007 Balint Cristian <cbalint> 6.2.1-2
- fix nits in specs
- disable static libs pack
- use macros in file lists if possible.


Comment 12 Balint Cristian 2007-02-09 16:41:22 UTC
updated.
Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.3-3.src.rpm

more review over Request.

To summ up:
* Fri Feb 09 2007 Balint Cristian <cbalint> 6.2.1-3
- fix more nits in specs

* Wed Feb 07 2007 Balint Cristian <cbalint> 6.2.1-2
- fix nits in specs
- disable static libs pack
- use macros in file lists if possible.

Comment 13 Mamoru TASAKA 2007-02-23 17:58:40 UTC
Created attachment 148691 [details]
mockbuild log of grass 6.2.1-3.fc7

mockbuild of grass-6.2.1-3 fails on FC-devel i386.

Comment 14 Balint Cristian 2007-02-24 19:57:35 UTC
updated.
Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.3-6.src.rpm

Comment 15 Balint Cristian 2007-02-24 19:58:20 UTC
(In reply to comment #14)
> updated.
> Spec URL: http://openrisc.rdsor.ro/grass.spec
> SRPM URL: http://openrisc.rdsor.ro/grass-6.2.3-6.src.rpm
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.1-6.src.rpm


Comment 16 Mamoru TASAKA 2007-02-25 14:38:43 UTC
Still no good... same as comment 13

Comment 17 Balint Cristian 2007-02-26 13:52:44 UTC
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)




Comment 18 Balint Cristian 2007-02-28 00:48:12 UTC
  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

Comment 19 Balint Cristian 2007-02-28 00:49:08 UTC
oh no, sory i mistake:
Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.3-6.src.rpm

its about -9 version !
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.3-9.src.rpm

Comment 20 Balint Cristian 2007-02-28 00:52:24 UTC
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.

Comment 21 Mamoru TASAKA 2007-03-02 14:43:57 UTC
Created attachment 149119 [details]
mock build log of grass-6.2.1-8.fc7.i386

mockbuild of 6.2.1-8 doesn't seem okay
(and I couldn't find -9 or 6.2.3?)

Comment 22 Balint Cristian 2007-03-02 15:48:53 UTC
updated.
Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.3-9.src.rpm

changelog reflect the details.
should build now in mock i386/x86_64


Comment 23 Balint Cristian 2007-03-02 15:50:29 UTC
good.
always rushy mistake ...

Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.1-9.src.rpm

Comment 24 Mamoru TASAKA 2007-03-02 18:16:00 UTC
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.

Comment 25 Mamoru TASAKA 2007-03-02 18:17:35 UTC
I once go to sleep...

Comment 26 Mamoru TASAKA 2007-03-03 17:05:52 UTC
Sorry. I once more go to sleep and then review this...

Comment 27 Mamoru TASAKA 2007-03-04 10:35:17 UTC
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
----------------------------------------------------------

Comment 28 Balint Cristian 2007-03-14 14:17:40 UTC
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 ?

Comment 29 Balint Cristian 2007-03-14 14:18:19 UTC
its -10 ....

Comment 30 Mamoru TASAKA 2007-03-14 15:42:57 UTC
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...)

Comment 31 Balint Cristian 2007-03-14 16:11:15 UTC
Indeed not a rush, just take it easy.
Sorry for the late, i was out last week for my mdegree, hadnt chance to 
fix grass only since today was able to touch keyboard :-(

Comment 32 Mamoru TASAKA 2007-03-14 19:19:21 UTC
Created attachment 150081 [details]
rpmlint log for grass-6.2.1-10

Well, for 6.2.1-10:

* Requies:
  A. for -devel:
     * lesstiff-devel - perhaps typo..

* rpmlint (attached)
  - Still complains about "undefined-non-weak-symbol", perhaps
    due to lack of the linkage against libm.so
    NOTE: This rpmlint (i.e. I wrote as "For installed rpms") can
	  be gained by:
-------------------------------------------------------
# rpmlint grass grass-devel grass-libs
-------------------------------------------------------
	  after you install grass, grass-devel, grass-libs.
	  i.e. rpmlint can be used also for installed rpms, and
	       some of the rpmlint complaints can be gained
	       only by this way.

* For grass.pc file:
  - Well, the column "Requires: <foo>" means
    * pkg-config searches <foo>.pc when pkg-config tries to use
      grass.pc
    * and pkg-config addes cflags or libs in <foo>.pc automatically
      for grass.pc

      Well, so "Requires: ncurses-devel" in grass.pc means that
      grass.pc requires "ncurses-devel.pc", which is not right.
      (and ncurses-devel does not have any pkgconfig .pc file)

      IMO Requires: on grass.pc should be:
---------------------------------------------------------
Requires: xt x11 xproto glproto
---------------------------------------------------------
      , and Cflags should have:
---------------------------------------------------------
Cflags: -I${includedir} -I/usr/include/gdal
---------------------------------------------------------
      (Well, -I/usr/include/gdal has to be added because header files
       in gdal-devel is moved to /usr/include/gdal)
      Also, prefix, exec_prefix is perhaps not right.

      However, the better idea is to add gdal.pc in gdal-devel,
      which has:
---------------------------------------------------------
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include

Name: GDAL
Description: GIS file format library
Version: 1.4.0
Libs: -L${libdir}
Cflags: -I%{includedir}/gdal
---------------------------------------------------------
    , which is installed under %{_libdir}/pkgconfig, and fix
      grass.pc so that
---------------------------------------------------------
# Package Information for pkg-config
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include

Name: GRASS
Description: GRASS GIS
Version: 6.2.1
Libs: -L%{libdir} -lgrass_I -lgrass_vask -lgrass_gmath -lgrass_gis
-lgrass_datetime -lgrass_gproj -lgrass_vect -lgrass_dbmibase -lgrass
_dbmiclient
Cflags: -I${includedir}/grass
Requires: xt x11 xproto glproto gdal
---------------------------------------------------------
    (on i386, ppc!! on x86_64, $libdir differ)

* For keeping timestamps:
  - For this the following seems to work (check how the timestamp
    change by adding following).
---------------------------------------------------------
# readline requires ncurses, so workaround.
# correct mysql_config query
sed -i 's|-lreadline|-lreadline -lcurses|g' configure
sed -i 's|--libmysqld-libs|--libs|g' configure

sed -i 's|^cp |cp -p |' tools/build_html_index.sh <- ADD
sed -i 's|-cp |-cp -p |' Makefile <- ADD

%build

# configure without optimizations.
# code may contain sensible buffer overflows triggered by gcc ssp flag
(mustfixupstream).
OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g'`
export CFLAGS="$OPT_FLAGS" 
export CXXFLAGS="$OPT_FLAGS" 
export CPPFLAGS="$OPT_FLAGS"
export INSTALL="%{__install} -c -p" <- ADD

---------------------------------------------------------

* For license:
  - Well, I just asked you and from your comment it seems no problem

Comment 33 Balint Cristian 2007-03-15 14:03:01 UTC
updated.
Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.1-11.src.rpm

(In reply to comment #32)
> Created an attachment (id=150081) [edit]
> rpmlint log for grass-6.2.1-10
> 
> Well, for 6.2.1-10:
> 
> * Requies:
>   A. for -devel:
>      * lesstiff-devel - perhaps typo..
lesstif-devel is the correct. (according to one of include file) 

> * rpmlint (attached)
>   - Still complains about "undefined-non-weak-symbol", perhaps
exported LDFLAGS='-lm' for now globaly.
I would like to investigate it more deep and fix it upstream.

>       However, the better idea is to add gdal.pc in gdal-devel,
>       which has:
> ---------------------------------------------------------
> prefix=/usr
> exec_prefix=/usr
> libdir=/usr/lib
> includedir=/usr/include
> 
> Name: GDAL
> Description: GIS file format library
> Version: 1.4.0
> Libs: -L${libdir}
> Cflags: -I%{includedir}/gdal
> ---------------------------------------------------------
>     , which is installed under %{_libdir}/pkgconfig, and fix
>       grass.pc so that
> ---------------------------------------------------------
> # Package Information for pkg-config
> prefix=/usr
> exec_prefix=/usr
> libdir=/usr/lib
> includedir=/usr/include
> 
> Name: GRASS
> Description: GRASS GIS
> Version: 6.2.1
> Libs: -L%{libdir} -lgrass_I -lgrass_vask -lgrass_gmath -lgrass_gis
> -lgrass_datetime -lgrass_gproj -lgrass_vect -lgrass_dbmibase -lgrass
> _dbmiclient
> Cflags: -I${includedir}/grass
> Requires: xt x11 xproto glproto gdal
> ---------------------------------------------------------
>     (on i386, ppc!! on x86_64, $libdir differ)

   I followed second idea, added olso to gdal .pc file. I would like post olso 
upstream. (Still work to update gdal, so it may take a while to propagate 
into -extras)

  Thank you for the fix !
 
> * For keeping timestamps:
>   - For this the following seems to work (check how the timestamp
>     change by adding following).
 
> sed -i 's|^cp |cp -p |' tools/build_html_index.sh <- ADD
> sed -i 's|-cp |-cp -p |' Makefile <- ADD
> %build
> export INSTALL="%{__install} -c -p" <- ADD

Added.
  Thanks again for the hint !
 
> ---------------------------------------------------------
> 
> * For license:
>   - Well, I just asked you and from your comment it seems no problem

Well, its fine.


Comment 34 Mamoru TASAKA 2007-03-15 17:59:52 UTC
Created attachment 150146 [details]
grass.pc.in (with some fix)

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.

    The attached grass.pc.in should work.

  ? 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).

  - And for gdal.pc, the correct one is
------------------------------------------------
Libs: -L${libdir} -lgdal
------------------------------------------------
    ... my bad ...

* 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
------------------------------------------------

+ Timestamps are actually fixed correctly.
+ rpmlint warnings can now all be ignored.

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.

Comment 35 Balint Cristian 2007-03-15 20:00:32 UTC
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 !


Comment 36 Balint Cristian 2007-03-15 20:03:30 UTC
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 .. ;)

Comment 37 Mamoru TASAKA 2007-03-16 15:20:50 UTC
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.

Comment 38 Balint Cristian 2007-03-16 15:38:57 UTC
> > > ------------------------------------------------
-lgdal
> > > ------------------------------------------------
in -16.



Comment 39 Mamoru TASAKA 2007-03-18 08:32:40 UTC
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
------------------------------------------------------

Comment 40 Mamoru TASAKA 2007-03-18 08:53:17 UTC
Created attachment 150329 [details]
mock build log of grass-6.2.1-12 on FC-devel i386

Again mock build log is attached.

Comment 41 Balint Cristian 2007-03-18 12:52:23 UTC
(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
> ------------------------------------------------------



Comment 42 Mamoru TASAKA 2007-03-18 14:22:08 UTC
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".

  http://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses
  http://www.gnu.org/philosophy/bsd.html

Comment 43 Balint Cristian 2007-03-18 14:42:20 UTC
(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.


Comment 44 Mamoru TASAKA 2007-03-18 17:03:36 UTC
Well,

* Files under ./raster/r.out.mpeg/ are of no problem. They only
  refer to MPEG-1 and actually they are only wrappers for
  ppmtompeg.

* For ./lib/form/license.term
  - Well, it seems that many software have this "restriction for
    goverment" term. Perhaps the related documents are

    http://www.acq.osd.mil/dpap/dars/dfars/html/current/252227.htm#252.227-7013
    http://acquisition.gov/far/current/html/52_227.html#wp1139492

    however, I still cannot find out (c) (1) (ii) section...
    and I think we can ignore this.

Comment 45 Balint Cristian 2007-03-19 12:38:06 UTC
i was aslept yesterday ...
i try today to come with fix, and removal of /raster/r.terraflow/ plugin.

sorry ...

Is today still room to accept submissions (19 March here) ?

Comment 46 Mamoru TASAKA 2007-03-19 12:53:44 UTC
I am usually awake till 2 AM.

NOTE: I am in Japan, which is UTC+9h (now EST+13h)



Comment 47 Balint Cristian 2007-03-20 14:55:10 UTC
Maybe in odd time :-( but if we have chance please proceed with submission 
approval.

updated.
Spec URL: http://openrisc.rdsor.ro/grass.spec
SRPM URL: http://openrisc.rdsor.ro/grass-6.2.1-13.src.rpm

- removed r.terraflow
- added patch to fixup compile with missing plugin.
- repacked in -fedora tarball, with necessary comments in README-fedora
- make some functionality tests.
- fix compile flags once again.


Comment 48 Mamoru TASAKA 2007-03-20 16:04:45 UTC
Okay!!!
* Compilation flags now correct
* Old BSD license code are removed for now.

--------------------------------------------------
  This package (grass) is APPROVED by me
--------------------------------------------------

Comment 49 Balint Cristian 2007-03-20 16:18:54 UTC
New Package CVS Request
=======================
Package Name: grass
Short Description: Geographic Resources Analysis Support System
Owners: cbalint
Branches: FC-5 FC-6 devel
InitialCC: 


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