[GRASS5] GRASS57: debian package build : dead symbolic links to 5.3 sources

Hello,

I am trying to use dpkg-buildpackage on 5.7. However, I have the following
problem:

in debian/rules the following defines the location of the 5.3 sources:

GRASS53SRC=../grass-5.3.0

this is correct for me as I have:

$ ls -l
total 20
drwxr-xr-x 23 mlennert mlennert 4096 2004-01-05 15:40 grass
drwxr-xr-x 21 mlennert mlennert 4096 2004-01-27 16:10 grass51
lrwxrwxrwx 1 mlennert mlennert 5 2004-01-27 15:24 grass-5.3.0 ->
grass
lrwxrwxrwx 1 mlennert mlennert 7 2004-01-27 15:24 grass-5.7.0 ->
grass51

However, in grass-5.7.0/include I have a series of dead links pointing to
../grass-5.3.0/src/include/*.h

This should be ../../grass-5.3.0/src/include/*.h

Where can I change the links that are created ?

Moritz

On Tue, Jan 27, 2004 at 04:25:10PM +0100, Moritz Lennert wrote:

Hello,

I am trying to use dpkg-buildpackage on 5.7. However, I have the following
problem:

in debian/rules the following defines the location of the 5.3 sources:

GRASS53SRC=../grass-5.3.0

this is correct for me as I have:

$ ls -l
total 20
drwxr-xr-x 23 mlennert mlennert 4096 2004-01-05 15:40 grass
drwxr-xr-x 21 mlennert mlennert 4096 2004-01-27 16:10 grass51
lrwxrwxrwx 1 mlennert mlennert 5 2004-01-27 15:24 grass-5.3.0 ->
grass
lrwxrwxrwx 1 mlennert mlennert 7 2004-01-27 15:24 grass-5.7.0 ->
grass51

However, in grass-5.7.0/include I have a series of dead links pointing to
../grass-5.3.0/src/include/*.h

This should be ../../grass-5.3.0/src/include/*.h

Where can I change the links that are created ?

In grass51/debian/rules you find the configuration. It seems,
that
- the link trick above doesn't work with 'make mix' done in
   grass51/debian/rules
- something else not right.

Did you try to rename the dirs instead of linking?

Once we were able to make a debian package, if time, I'll
try again soon.

Markus

Markus Neteler said:

On Tue, Jan 27, 2004 at 04:25:10PM +0100, Moritz Lennert wrote:

Hello,
I am trying to use dpkg-buildpackage on 5.7. However, I have the following
problem:
in debian/rules the following defines the location of the 5.3 sources:

GRASS53SRC=../grass-5.3.0

this is correct for me as I have:
$ ls -l
total 20
drwxr-xr-x 23 mlennert mlennert 4096 2004-01-05 15:40 grass

drwxr-xr-x 21 mlennert mlennert 4096 2004-01-27 16:10 grass51
lrwxrwxrwx 1 mlennert mlennert 5 2004-01-27 15:24 grass-5.3.0
->

grass
lrwxrwxrwx 1 mlennert mlennert 7 2004-01-27 15:24 grass-5.7.0 ->
grass51
However, in grass-5.7.0/include I have a series of dead links pointing to
../grass-5.3.0/src/include/*.h
This should be ../../grass-5.3.0/src/include/*.h
Where can I change the links that are created ?

In grass51/debian/rules you find the configuration. It seems,
that
- the link trick above doesn't work with 'make mix' done in
   grass51/debian/rules
- something else not right.

Did you try to rename the dirs instead of linking?

I did and it doesn't work either, i.e. the links in grass-5.7.0/include
are again to ../grass-5.3.0 and not to ../../grass-5.3.0.

I solved the problem by replacing the relative path for

#path to GRASS 5.3 source code
GRASS53SRC=

to an absolute path.

Moritz

On Wed, Jan 28, 2004 at 11:55:21AM +0100, Moritz Lennert wrote:

Markus Neteler said:
> On Tue, Jan 27, 2004 at 04:25:10PM +0100, Moritz Lennert wrote:
>> Hello,
>> I am trying to use dpkg-buildpackage on 5.7. However, I have the following
>> problem:
>> in debian/rules the following defines the location of the 5.3 sources:
GRASS53SRC=../grass-5.3.0
>> this is correct for me as I have:
>> $ ls -l
>> total 20
>> drwxr-xr-x 23 mlennert mlennert 4096 2004-01-05 15:40 grass
drwxr-xr-x 21 mlennert mlennert 4096 2004-01-27 16:10 grass51
lrwxrwxrwx 1 mlennert mlennert 5 2004-01-27 15:24 grass-5.3.0
->
>> grass
>> lrwxrwxrwx 1 mlennert mlennert 7 2004-01-27 15:24 grass-5.7.0 ->
>> grass51
>> However, in grass-5.7.0/include I have a series of dead links pointing to
>> ../grass-5.3.0/src/include/*.h
>> This should be ../../grass-5.3.0/src/include/*.h
>> Where can I change the links that are created ?
>
> In grass51/debian/rules you find the configuration. It seems,
> that
> - the link trick above doesn't work with 'make mix' done in
> grass51/debian/rules
> - something else not right.
>
> Did you try to rename the dirs instead of linking?

I did and it doesn't work either, i.e. the links in grass-5.7.0/include
are again to ../grass-5.3.0 and not to ../../grass-5.3.0.

I solved the problem by replacing the relative path for

#path to GRASS 5.3 source code
GRASS53SRC=

to an absolute path.

Ah, now I understand: Maybe it depends in which directory you
launch 'dpkg-buildpackage'
?

Do you think I should change it to an absolute path?

Markus

Markus Neteler said:

On Wed, Jan 28, 2004 at 11:55:21AM +0100, Moritz Lennert wrote:

Markus Neteler said:
> On Tue, Jan 27, 2004 at 04:25:10PM +0100, Moritz Lennert wrote:
>> Hello,
>> I am trying to use dpkg-buildpackage on 5.7. However, I have the
following
>> problem:
>> in debian/rules the following defines the location of the 5.3
sources:
GRASS53SRC=../grass-5.3.0
>> this is correct for me as I have:
>> $ ls -l
>> total 20
>> drwxr-xr-x 23 mlennert mlennert 4096 2004-01-05 15:40 grass
drwxr-xr-x 21 mlennert mlennert 4096 2004-01-27 16:10 grass51
lrwxrwxrwx 1 mlennert mlennert 5 2004-01-27 15:24 grass-5.3.0
->
>> grass
>> lrwxrwxrwx 1 mlennert mlennert 7 2004-01-27 15:24
grass-5.7.0 ->
>> grass51
>> However, in grass-5.7.0/include I have a series of dead links
pointing to
>> ../grass-5.3.0/src/include/*.h
>> This should be ../../grass-5.3.0/src/include/*.h
>> Where can I change the links that are created ?
>
> In grass51/debian/rules you find the configuration. It seems,
> that
> - the link trick above doesn't work with 'make mix' done in
> grass51/debian/rules
> - something else not right.
>
> Did you try to rename the dirs instead of linking?

I did and it doesn't work either, i.e. the links in grass-5.7.0/include
are again to ../grass-5.3.0 and not to ../../grass-5.3.0.

I solved the problem by replacing the relative path for

#path to GRASS 5.3 source code
GRASS53SRC=

to an absolute path.

Ah, now I understand: Maybe it depends in which directory you
launch 'dpkg-buildpackage'
?

I thought that you always have to launch it in the directory in which
there is a debian/ subdirectory ?

Do you think I should change it to an absolute path?

The absolute path will be different for everyone, so I don't know how this
could be done without manual intervention. Maybe a hint in a README.Debian
would be better ?

Moritz

On Thu, Jan 29, 2004 at 02:18:03PM +0100, Moritz Lennert wrote:

Markus Neteler said:
> On Wed, Jan 28, 2004 at 11:55:21AM +0100, Moritz Lennert wrote:
>> Markus Neteler said:
>> > On Tue, Jan 27, 2004 at 04:25:10PM +0100, Moritz Lennert wrote:
>> >> Hello,
>> >> I am trying to use dpkg-buildpackage on 5.7. However, I have the

[...]

>>
>> I solved the problem by replacing the relative path for
>>
>> #path to GRASS 5.3 source code
>> GRASS53SRC=
>>
>> to an absolute path.
>
> Ah, now I understand: Maybe it depends in which directory you
> launch 'dpkg-buildpackage'
> ?

I thought that you always have to launch it in the directory in which
there is a debian/ subdirectory ?

Yes, at least that is what I was doing (and it worked).

> Do you think I should change it to an absolute path?

The absolute path will be different for everyone, so I don't know how this
could be done without manual intervention. Maybe a hint in a README.Debian
would be better ?

Someone else (debian developer) recommended
mkdir /usr/src/grass/
cd /usr/src/grass/

to me. This path is now hardcoded in debian/rules.

If following the instructions, it should be fine now.

[Yes, it's not convenient, yes, code should be merged (but not downgraded)].

Markus

Markus Neteler said:

On Thu, Jan 29, 2004 at 02:18:03PM +0100, Moritz Lennert wrote:

Markus Neteler said:
> On Wed, Jan 28, 2004 at 11:55:21AM +0100, Moritz Lennert wrote:
>> Markus Neteler said:
>> > On Tue, Jan 27, 2004 at 04:25:10PM +0100, Moritz Lennert wrote:
>> >> Hello,
>> >> I am trying to use dpkg-buildpackage on 5.7. However, I have the

[...]

>>
>> I solved the problem by replacing the relative path for
>>
>> #path to GRASS 5.3 source code
>> GRASS53SRC=
>>
>> to an absolute path.
>
> Ah, now I understand: Maybe it depends in which directory you
> launch 'dpkg-buildpackage'
> ?

I thought that you always have to launch it in the directory in which
there is a debian/ subdirectory ?

Yes, at least that is what I was doing (and it worked).

> Do you think I should change it to an absolute path?

The absolute path will be different for everyone, so I don't know how
this
could be done without manual intervention. Maybe a hint in a
README.Debian
would be better ?

Someone else (debian developer) recommended
mkdir /usr/src/grass/
cd /usr/src/grass/

to me. This path is now hardcoded in debian/rules.

I suppose this means that I should either link to the CVS tree from
/usr/src/grass or actually move the tree to there.

If following the instructions, it should be fine now.

It works, the only disadvantage being that you need root access to use
/usr/src/grass.

Moritz

On Thu, Jan 29, 2004 at 03:44:18PM +0100, Moritz Lennert wrote:

Markus Neteler said:
> On Thu, Jan 29, 2004 at 02:18:03PM +0100, Moritz Lennert wrote:
>> Markus Neteler said:
>> > On Wed, Jan 28, 2004 at 11:55:21AM +0100, Moritz Lennert wrote:
>> >> Markus Neteler said:
>> >> > On Tue, Jan 27, 2004 at 04:25:10PM +0100, Moritz Lennert wrote:
>> >> >> Hello,
>> >> >> I am trying to use dpkg-buildpackage on 5.7. However, I have the
> [...]
>> >>
>> >> I solved the problem by replacing the relative path for
>> >>
>> >> #path to GRASS 5.3 source code
>> >> GRASS53SRC=
>> >>
>> >> to an absolute path.
>> >
>> > Ah, now I understand: Maybe it depends in which directory you
>> > launch 'dpkg-buildpackage'
>> > ?
>>
>> I thought that you always have to launch it in the directory in which
>> there is a debian/ subdirectory ?
>
> Yes, at least that is what I was doing (and it worked).
>
>> > Do you think I should change it to an absolute path?
>>
>> The absolute path will be different for everyone, so I don't know how
>> this
>> could be done without manual intervention. Maybe a hint in a
>> README.Debian
>> would be better ?
>
> Someone else (debian developer) recommended
> mkdir /usr/src/grass/
> cd /usr/src/grass/
>
> to me. This path is now hardcoded in debian/rules.

I suppose this means that I should either link to the CVS tree from
/usr/src/grass or actually move the tree to there.

Yes, I think so.

> If following the instructions, it should be fine now.

It works, the only disadvantage being that you need root access to use
/usr/src/grass.

Since I have low experience with Debian, please give advice how to
find a better solution.

Up to now it was "proof of concept" (and we needed an iPAQ version of 5.7).

Markus