[GRASS-dev] Re: [GRASS GIS] #595: WinGRASS g.version -c fails

GRASS GIS trac at osgeo.org
Thu Oct 1 22:30:37 EDT 2009

#595: WinGRASS g.version -c fails
  Reporter:  hamish        |       Owner:  grass-dev at lists.osgeo.org
      Type:  defect        |      Status:  new                      
  Priority:  blocker       |   Milestone:  6.4.0                    
 Component:  License       |     Version:  6.4.0 RCs                
Resolution:                |    Keywords:  wingrass gpl             
  Platform:  MSWindows XP  |         Cpu:  x86-32                   
Comment (by hamish):

 > When Makefile runs:
 cat ./../../COPYING | sed -f sed.script | tr -d '\012' > /src/dev_6/dist.
 sed: file sed.script line 1: Unknown option to 's'

 (sed.script contains {{{ s/.*$/&\\n/g }}})

 so what is this Makefile line doing exactly?
  - It's copying the COPYING file into the $GISBASE/etc/VERSION file
  - it's terminating each line with a literal '\n'
  - it's removing all actual newline chars from the file.

 So this is getting the file ready to be a string embedded in the C code.

 The g.version Makefile has it with comments:
 # cat the COPYING file, add a c line-break \n at each line end
 # and remove the unix newline.
 COPYING=`cat ./../../COPYING | sed -f sed.script | tr -d '\012'`




         cat ./../../COPYING | sed -f sed.script | tr -d '\012' >

         head -n 7 ./../../config.status | tail -n 1 | sed 's+#++1' | tr -d
 '\012' > $(GRASS_BUILD_FILE)

 On linux 'strings' shows the COPYING text within the binary, from the
 native WinGrass Msys prompt it doesn't.
 strings `which g.version`

 so the COPYING: ... > VERSION make rule could be simplified into a
 straight cp?

 interestingly the build info string does make it into the WinGrass binary
 and the $GISBASE/etc/BUILD file also has the correct content in it.


Ticket URL: <https://trac.osgeo.org/grass/ticket/595#comment:5>
GRASS GIS <http://grass.osgeo.org>

More information about the grass-dev mailing list