Changeset 27859

15.07.2013 19:55:58 (7 years ago)

Bugfix. On Windows, when GLI launches the GS3server, the perl path found is env.PERLPATH since GLI uses findperl.bat to locate the path to perl bin. By the time the ant target perl-for-building determines the perl path, env.PERLPATH needs to have a slash appended at the end, else the path to perl appears as binperl instead of bin\perl in packages\tomcat\conf\web.xml, and then metadata edited with the online meta editor don't get saved since the script can't find perl. This is not a problem if the GS3 server is not launched through GLI, since ant target perl-for-building goes into another branch of its logic to locate perlpath.

1 modified


  • main/trunk/greenstone3/build.xml

    r27849 r27859  
    709709            </and> 
    710710          </bool> 
    711           <property name="perl.path" value="${env.PERLPATH}"/> 
     711          <!-- set perlpath to env.PERLPATH.  
     712            This is the path to perl\bin that's found by findperl.bat when the server is launched  
     713            through GLI instead of the console. 
     714            For windows, this env.PERLPATH is the bin folder and needs a backslash at end, since it  
     715            will appear suffixed with "perl.exe" in the perl setting in packages\tomcat\config\web.xml.  
     716            This web.xml's path to perl is then used to find perl when running the perl scripts in the  
     717            cgi folder, so without a slash appended at this point it becomes "binperl" in web.xml, and  
     718            things will break when GLI launches the server on Windows and the online GS3 metadata editor  
     719            is used to save user-edited metadata. --> 
     720          <if><bool><istrue value="${current.os.iswindows}"/></bool> 
     721            <property name="perl.path" value="${env.PERLPATH}\"/> 
     722          <else> 
     723            <property name="perl.path" value="${env.PERLPATH}"/> 
     724          </else>    
     725          </if> 
    712727          <else> 
    713728            <echo>