[GRASS5] Diffs for grass 5.0.2 package for debian woody now available.

The diff against official grass-5.0.2_src.tar.gz are ready as promised. The
workstation is up and running and if things hold I hope to answer without
lag. The grass-5.0.2_src.tar.gz I used today to make the diffs is the same I
used when making the source debian package. Today I downloaded:
ftp://grass.itc.it/pub/grass/grass5/source/grass-5.0.2_src.tar.gz
and made a cmp against my old grass-5.0.2_src.tar.gz to ensure they are the
same.

As usually, you can find everything at:
http://ezralabs.esaurito.net/repository/debian/grass/

In particular:
http://ezralabs.esaurito.net/repository/debian/grass/grass_5.0.2-1.diff.gz
http://ezralabs.esaurito.net/repository/debian/grass/grass_5.0.2-1.dsc
http://ezralabs.esaurito.net/repository/debian/grass/grass_5.0.2-1_i386.deb

The lintian report for the present package is at
http://ezralabs.esaurito.net/repository/debian/grass/grass_5.0.2.lintian
I don't have time to check at the moment (exams) but everything should be
apt-gettable. Please remember the repository can be down now and then, as
it's a self hosted adsl webserver.
Giuseppe Dia

P.s: ciao Federico.

giuseppe wrote:

The diff against official grass-5.0.2_src.tar.gz are ready as promised. The
workstation is up and running and if things hold I hope to answer without
lag. The grass-5.0.2_src.tar.gz I used today to make the diffs is the same I
used when making the source debian package. Today I downloaded:
ftp://grass.itc.it/pub/grass/grass5/source/grass-5.0.2_src.tar.gz
and made a cmp against my old grass-5.0.2_src.tar.gz to ensure they are the
same.

As usually, you can find everything at:
http://ezralabs.esaurito.net/repository/debian/grass/

In particular:
http://ezralabs.esaurito.net/repository/debian/grass/grass_5.0.2-1.diff.gz

Looking at the diff, I have a couple of questions:

1. "configure" has already been run, and lex/yacc source files have be
processed to produce the intermediate C files. Is this due to Debian
policy, or is it an artifact of the way that the package was produced?

2. What was the purpose of this patch:

--- grass-5.0.2.orig/src/display/devices/lib/Text2.c
+++ grass-5.0.2/src/display/devices/lib/Text2.c
@@ -170,9 +170,11 @@
   double text_size_x,double text_size_y,double text_rotation,
   char *string)
{
- double sinrot = sin (D2R (text_rotation)) ;
- double cosrot = cos (D2R (text_rotation)) ;
-
+double sinrot,cosrot;
+ //double sinrot = sin (D2R (text_rotation)) ;
+ //double cosrot = cos (D2R (text_rotation)) ;
+ sinrot = sin (D2R (text_rotation)) ;
+ cosrot = cos (D2R (text_rotation)) ;
   am_inside = 0 ;
   curx = basex = (double)x ;
   cury = basey = (double)y ;

Is this due to a gcc bug?

3. What is the purpose of debian/fixpaths.sh? The entire GRASS
installation (i.e. everything under $prefix/grass5) is supposed to be
relocatable. If the installation is moved, the only thing that should
need to be changed is the definition of GISBASE in the grass5 script.

--
Glynn Clements <glynn.clements@virgin.net>

----- Original Message -----
From: "Glynn Clements" <glynn.clements@virgin.net>
To: "giuseppe" <nephero@supereva.it>
Cc: <grass5@grass.itc.it>; <fog@debian.org>
Sent: Friday, July 11, 2003 7:48 PM
Subject: Re: [GRASS5] Diffs for grass 5.0.2 package for debian woody now
available.

Looking at the diff, I have a couple of questions:

1. "configure" has already been run, and lex/yacc source files have be
processed to produce the intermediate C files. Is this due to Debian
policy, or is it an artifact of the way that the package was produced?

This was an artifact, Federico already pointed this problem, and tomorrow
I'll see what can be done.
(With a bit of help from Federico himself)
I apologize for this but did't notice at once.

2. What was the purpose of this patch:

--- grass-5.0.2.orig/src/display/devices/lib/Text2.c
+++ grass-5.0.2/src/display/devices/lib/Text2.c
@@ -170,9 +170,11 @@
  double text_size_x,double text_size_y,double text_rotation,
  char *string)
{
- double sinrot = sin (D2R (text_rotation)) ;
- double cosrot = cos (D2R (text_rotation)) ;
-
+double sinrot,cosrot;
+ //double sinrot = sin (D2R (text_rotation)) ;
+ //double cosrot = cos (D2R (text_rotation)) ;
+ sinrot = sin (D2R (text_rotation)) ;
+ cosrot = cos (D2R (text_rotation)) ;
  am_inside = 0 ;
  curx = basex = (double)x ;
  cury = basey = (double)y ;

Is this due to a gcc bug?

The png driver didn't compile correctly, (but the package was created and
usable anyway) so I made this little fix and now it seems fine (compiles and
runs fine). I think the catch was the definition/assignment in the same
line. I basically just splitted them in different lines. The gcc I used is
the one bundled with Debian Woody. It doesn't seem to me a gcc bug. Maybe
Federico or someone else can better answer this question than me. Please
remember the patch applies to 5.0.2, Silke already pointed out that it's no
use for the CVS version, that had already fixed this problem indipendently.

3. What is the purpose of debian/fixpaths.sh? The entire GRASS
installation (i.e. everything under $prefix/grass5) is supposed to be
relocatable. If the installation is moved, the only thing that should
need to be changed is the definition of GISBASE in the grass5 script.

Again, fixpaths.sh was in the Official Debian package I think (I'll check),
so I've to turn this question to the official developer.
Anyway, I just answered this question quickly because I'll be off for the
weekend. I hope to fix the first problem tomorrow and give you more precise
answers.

--
Glynn Clements <glynn.clements@virgin.net>

Nephero wrote:

> Looking at the diff, I have a couple of questions:
>
> 1. "configure" has already been run, and lex/yacc source files have be
> processed to produce the intermediate C files. Is this due to Debian
> policy, or is it an artifact of the way that the package was produced?

This was an artifact, Federico already pointed this problem, and tomorrow
I'll see what can be done.

OK. If you don't intend to include these files in the source package,
you should run "make maintainer-clean" to get rid of them. A quick
summary of cleanup make targets, from least to most aggressive:

mostlyclean: removes object files, and a few others.

clean: also removes the libraries, and the staging directories
(basically a local copy of everything that gets installed) containing
the executables.

distclean: also removes the files which are generated by the configure
script.

maintainer-clean: also removes the C files which are generated by
lex/yacc.

> 2. What was the purpose of this patch:
>
> --- grass-5.0.2.orig/src/display/devices/lib/Text2.c
> +++ grass-5.0.2/src/display/devices/lib/Text2.c
> @@ -170,9 +170,11 @@
> double text_size_x,double text_size_y,double text_rotation,
> char *string)
> {
> - double sinrot = sin (D2R (text_rotation)) ;
> - double cosrot = cos (D2R (text_rotation)) ;
> -
> +double sinrot,cosrot;
> + //double sinrot = sin (D2R (text_rotation)) ;
> + //double cosrot = cos (D2R (text_rotation)) ;
> + sinrot = sin (D2R (text_rotation)) ;
> + cosrot = cos (D2R (text_rotation)) ;
> am_inside = 0 ;
> curx = basex = (double)x ;
> cury = basey = (double)y ;
>
> Is this due to a gcc bug?

The png driver didn't compile correctly, (but the package was created and
usable anyway) so I made this little fix and now it seems fine (compiles and
runs fine). I think the catch was the definition/assignment in the same
line. I basically just splitted them in different lines. The gcc I used is
the one bundled with Debian Woody. It doesn't seem to me a gcc bug. Maybe
Federico or someone else can better answer this question than me. Please
remember the patch applies to 5.0.2, Silke already pointed out that it's no
use for the CVS version, that had already fixed this problem indipendently.

There is a known problem with the PNG driver in 5.0.2, caused by the
omission of $(MATHLIB) from the Gmakefile. Your patch includes a fix
to the Gmakefile.

The above patch will have no effect if you have a working compiler
(except that it will cause compilation to fail if the compiler doesn't
support C++ double-slash comments).

Perhaps someone tried the above, then realised that the problem was
actually in the Gmakefile, but left the changes in? Please try it
without the above patch; if it fails, I would like to see the error
message.

--
Glynn Clements <glynn.clements@virgin.net>

Glynn Clements wrote:

> The diff against official grass-5.0.2_src.tar.gz are ready as promised. The
> workstation is up and running and if things hold I hope to answer without
> lag. The grass-5.0.2_src.tar.gz I used today to make the diffs is the same I
> used when making the source debian package. Today I downloaded:
> ftp://grass.itc.it/pub/grass/grass5/source/grass-5.0.2_src.tar.gz
> and made a cmp against my old grass-5.0.2_src.tar.gz to ensure they are the
> same.
>
> As usually, you can find everything at:
> http://ezralabs.esaurito.net/repository/debian/grass/
>
> In particular:
> http://ezralabs.esaurito.net/repository/debian/grass/grass_5.0.2-1.diff.gz

Looking at the diff, I have a couple of questions:

One other point (for the GRASS developers); this patch:

--- grass-5.0.2.orig/src/CMD/generic/MAKELINKS.sh
+++ grass-5.0.2/src/CMD/generic/MAKELINKS.sh
@@ -10,6 +10,6 @@
# then
         echo Creating link for $i
   rm -f $GISBASE/bin/$i
- ln $GISBASE/etc/front.end $GISBASE/bin/$i
+ ln -s ../etc/front.end $GISBASE/bin/$i
# fi
done

seems like a reasonable candidate for the official version. Is there
any reason *not* to use symlinks instead of hard links?

I've seen at least two cases where users have tried to update
individual modules and been caught out by the fact that the files in
$GISBASE/bin aren't the real programs. If $GISBASE/bin contained
symlinks, it would be more obvious as to what is going on.

--
Glynn Clements <glynn.clements@virgin.net>

Il ven, 2003-07-11 alle 19:48, Glynn Clements ha scritto:

giuseppe wrote:

> The diff against official grass-5.0.2_src.tar.gz are ready as promised. The
> workstation is up and running and if things hold I hope to answer without
> lag. The grass-5.0.2_src.tar.gz I used today to make the diffs is the same I
> used when making the source debian package. Today I downloaded:
> ftp://grass.itc.it/pub/grass/grass5/source/grass-5.0.2_src.tar.gz
> and made a cmp against my old grass-5.0.2_src.tar.gz to ensure they are the
> same.
>
> As usually, you can find everything at:
> http://ezralabs.esaurito.net/repository/debian/grass/
>
> In particular:
> http://ezralabs.esaurito.net/repository/debian/grass/grass_5.0.2-1.diff.gz

Looking at the diff, I have a couple of questions:

1. "configure" has already been run, and lex/yacc source files have be
processed to produce the intermediate C files. Is this due to Debian
policy, or is it an artifact of the way that the package was produced?

it is an artifact.

[snip]

3. What is the purpose of debian/fixpaths.sh? The entire GRASS
installation (i.e. everything under $prefix/grass5) is supposed to be
relocatable. If the installation is moved, the only thing that should
need to be changed is the definition of GISBASE in the grass5 script.

it is not. it embeds the grass install directory as an absolute path
into a lot of scripts. maybe 5.0.2 changed that but fixpaths.sh was
absolutely necessary in 5.0.0preX.

--
Federico Di Gregorio
Debian GNU/Linux Developer fog@debian.org
INIT.D Developer fog@initd.org
                   Datemi uno spigolo. Che lo arrotondo tutto. -- <dani>

Il sab, 2003-07-12 alle 05:19, Nephero ha scritto:

This was an artifact, Federico already pointed this problem, and tomorrow
I'll see what can be done.
(With a bit of help from Federico himself)
I apologize for this but did't notice at once.

i think it would be much better if you join me in producing official
debian packages. there is no advantage in building 2 flavours of them.
if you want i can give you access to my devel box or send you latest
patches the split html documentation into a -doc package.

--
Federico Di Gregorio
Debian GNU/Linux Developer fog@debian.org
INIT.D Developer fog@initd.org
                      The number of the beast: vi vi vi. -- Delexa Jones