#1946: wingrass: demolocation includes .svn/ cruft
-----------------------+----------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 6.4.3
Component: Packaging | Version: svn-develbranch6
Keywords: wingrass | Platform: MSWindows XP
Cpu: x86-32 |
-----------------------+----------------------------------------------------
Comment(by hamish):
Replying to [comment:1 neteler]:
> Replying to [ticket:1946 hamish]:
> > the nightly build wingrass installers ship '.svn/' files for the
demolocation.
> To better understand: is it a problem?
It does not cause breakage, but it should be removed.
.. it seemed to be going that way. Yes, I had a look at fixing it myself
before filing the ticket, but couldn't see where in src:mswindows/ and
addons:tools/wingrass-packager/ it was done. Any hints?
Replying to [comment:6 hamish]:
> .. it seemed to be going that way. Yes, I had a look at fixing it
myself before filing the ticket, but couldn't see where in src:mswindows/
and addons:tools/wingrass-packager/ it was done. Any hints?
>
so, IIUC, the packager does a 'svn up' on their machine into a local
C:\osgeo4w dir, then the packaging script recursively copies from within
that checked out source tree?
Line 586 of GRASS-Installer.nsi.tmpl has:
{{{
File /r ${DEMOLOCATION_PATH}\*.*
}}}
how to restrict that, or afterwards recursively rm the 6 .svn/ dirs within
it?
or just forget anything fancy and remove them by hand after the copy:
{{{
RMDir /r "$GIS_DATABASE\demolocation/.svn"
RMDir /r "$GIS_DATABASE\demolocation/PERMANENT/.svn"
RMDir /r "$GIS_DATABASE\demolocation/PERMANENT/vector/.svn"
RMDir /r "$GIS_DATABASE\demolocation/PERMANENT/vector/mysites/.svn"
RMDir /r "$GIS_DATABASE\demolocation/PERMANENT/vector/point/.svn"
RMDir /r "$GIS_DATABASE\demolocation/PERMANENT/dbf/.svn"
}}}
Replying to [comment:8 hamish]:
> so, IIUC, the packager does a 'svn up' on their machine into a local
C:\osgeo4w dir, then the packaging script recursively copies from within
that checked out source tree?
Replying to [comment:8 hamish]:
>
> (I think that recursive remove is also needed for the extracted ms VC++
dll dir in Temp/, right now it gets left behind after install)
left over in ...\Local Settings\Temp\ are a install_msruntime dir from
osgeo4w, with bin/ and etc/ within it, and an empty "Microsoft Visual C++
Runtime 2010 x86 Redistributible Setup_10.0.30319" dir, and matching 2010
.html and .txt log files.
wrt the 'install_msruntime' dir, does "Delete" work for folders?
> the nightly build wingrass installers ship '.svn/' files for the
demolocation.
I think that this isn't restricted to Windows; the "builddemolocation"
target in the top-level Makefile simply copies the demolocation directory
to dist.<arch> (using "tar c ... | tar x ...").
In 7.x, the demolocation directory has a Makefile which explicitly creates
target directories and copies files with $(INSTALL_DATA).
Also: recent versions of the subversion client use a single .svn directory
in the root of the working directory, rather than having a separate .svn
directory in each subdirectory, so updating the subversion client would
make this particular issue disappear.
Replying to [comment:12 glynn]:
> Replying to [ticket:1946 hamish]:
> > the nightly build wingrass installers ship '.svn/' files for the
demolocation.
>
> I think that this isn't restricted to Windows; the "builddemolocation"
> target in the top-level Makefile simply copies the demolocation
directory
> to dist.<arch> (using "tar c ... | tar x ...").
that is correct, it's in all 'make install' for svn builds.
> In 7.x, the demolocation directory has a Makefile which explicitly
> creates target directories and copies files with $(INSTALL_DATA).
since there's no `Other.make` in grass6 I'd just go with the cheap & dirty
approach-of-least-change:
I notice that the last part creates a file called demolocation/.grassrc65,
when it should perhaps be .grassrc6? That's named by Platform.make.in:
{{{
RUN_GISRC =
${ARCH_DISTDIR}/demolocation/.grassrc${GRASS_VERSION_MAJOR}${GRASS_VERSION_MINOR}
}}}
(RUN_GISRC is used by e.g. Man.make at build time, with the GISRC=
override set to the same variable, so it doesn't matter much what it's
called)
wingrass7 was also copying over the .svn/ files (doesn't use 'make
install', just copies from source dir), devbr6 fix for that merged to
trunk in r56108.
I also notice in a wingrass7 install that a Makefile and grassrc.tmpl file
have made it into $GISBASE/demolocation.
Replying to [comment:5 martinl]:
> Replying to [comment:4 hamish]:
> > please don't ignore it. it's a 2 minute job and these things make us
look unprofessional.
>
> huh, "trivial" means ignoring? if it's a 2 minute job, feel free to fix
it. Martin
as you can see such "2 minutes jobs" are usually taking more then "2
minutes", currently stand-alone installer for G65 and G70 are broken
{{{
SetOutPath: "$GIS_DATABASE\demolocation"
File: Returning to: "."
File: "$DEMOLOCATION_PATH" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
/oname=outfile one_file_only)
Error in script ".\grass65\GRASS-Installer.nsi" on line 586 -- aborting
creation
process
}}}
Replying to [comment:18 martinl]:
> currently stand-alone installer for G65 and G70 are broken
>
{{{
SetOutPath: "$GIS_DATABASE\demolocation"
File: Returning to: "."
File: "$DEMOLOCATION_PATH" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
/oname=outfile one_file_only)
Error in script ".\grass65\GRASS-Installer.nsi" on line 586 -- aborting
creation
process
}}}
try r56130,1. Probably nothing to do with .svn/ additions, just me not
understanding the nsis scripting language very well in a side-edit.