Revision 43458

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.framework/org.gvsig.andami/src/main/resources-application/tools/make-portable
32 32
#
33 33
##############################################################################
34 34

  
35

  
36
#=============================================
37
# JREs to use
38
URL_JRE_FOLDER="http://downloads.gvsig.org/download/gvsig-desktop-testing/pool/jre"
39

  
40
GVSPKG_JRE_darwin_x86_64="gvSIG-desktop-2.3.0-jre-1.8.0-72-testing-darwin_macos_10.11-x86_64-j1_8.gvspkg"
41
GVSPKG_JRE_lin_x86_64="gvSIG-desktop-2.3.0-jre-1.8.0-72-testing-lin-x86_64-j1_8.gvspkg"
42
GVSPKG_JRE_lin_x86="gvSIG-desktop-2.3.0-jre-1.8.0-92-testing-lin-x86-j1_8.gvspkg"
43
GVSPKG_JRE_win_x86_64="gvSIG-desktop-2.3.0-jre-1.8.0-65-testing-win-x86_64-j1_8.gvspkg"
44
GVSPKG_JRE_win_x86="gvSIG-desktop-2.3.0-jre-1.8.0-73-testing-win-x86-j1_8.gvspkg"
45

  
46
#
47
#=============================================
48

  
35 49
#set -x
36 50

  
37 51
#function handle_error() {
......
221 235
          esac
222 236
        else
223 237
          logger_info "Exclude package $PACKAGE_CODE"
224
          cp "$PACKAGE_PATH" "$INSTALL_FOLDER/install"
238
          #cp "$PACKAGE_PATH" "$INSTALL_FOLDER/install"
225 239
        fi
226 240
      fi
227 241
    done
228 242
}
229 243

  
230
function include_package() {
244
function include_package0() {
231 245
    set +e
232 246
    egrep  "^$1\$" "$BASEFOLDER/packages/excludes" >/dev/null
233 247
    FOUND=$?
......
238 252
    return 1
239 253
}
240 254

  
255
function include_package() {
256
  while read pattern ; do
257
    if [ "${1/#${pattern}/ok}" == "ok" ] ; then
258
      return 1
259
    fi
260
  done <<END_OF_EXCLUDE_CONTENTS
261
$(cat "$BASEFOLDER/packages/excludes")
262
END_OF_EXCLUDE_CONTENTS
263
    return 0
264
}
241 265

  
242 266
function remove_excluded_packages() {
243 267
    logger_info "Checking plugins to remove"
......
256 280
    chmod a+x "$INSTALL_FOLDER/gvSIG.sh"
257 281
}
258 282

  
283
function prepare_portable_macos() {
284
    echo "Creating MacOS app layout"
285
    mkdir "$INSTALL_FOLDER/Contents"
286
    mkdir "$INSTALL_FOLDER/Contents/MacOS"
287
    echo '#!/bin/bash
288
x=$(dirname $0)
289
x=$(dirname $x)
290
x=$(dirname $x)
291
exec "$x/gvSIG.sh"
292
' >"$INSTALL_FOLDER/Contents/MacOS/${PORTABLE_NAME}"
293
    chmod a+x "$INSTALL_FOLDER/Contents/MacOS/${PORTABLE_NAME}"
294
   cp "$INSTALL_FOLDER/Contents/MacOS/${PORTABLE_NAME}" "gvSIG"
295
   cp "$INSTALL_FOLDER/Contents/MacOS/${PORTABLE_NAME}" "gvSIG-desktop"
296
   cp "$INSTALL_FOLDER/Contents/MacOS/${PORTABLE_NAME}" "gvSIG-desktop-${PORTABLE_VERSION/-*/}"
297
   cp "$INSTALL_FOLDER/Contents/MacOS/${PORTABLE_NAME}" "gvSIG-desktop-${PORTABLE_VERSION}"
298
   rm -f "$INSTALL_FOLDER/gvSIG/extensiones/org.gvsig.gdal.app.mainplugin/gdal/libc++.1.dylib"
299
}
300

  
259 301
function zipfolder() {
260 302
    echo zip -qyr9 "$1" "$2"
261 303
    if type zip >/dev/null 2>/dev/null
......
277 319
  mv "$1.tmp" "$1"
278 320
}
279 321

  
322
function download_jre() {
323
  GVSPKG_JRE="GVSPKG_JRE_${PORTABLE_OSFAMILY}_${PORTABLE_PLATFORM}"
324
  GVSPKG_JRE="${!GVSPKG_JRE}"
325

  
326
  if [ ! -f "${GVSPKG_JRE}" ] ; then
327
    echo "Downloading JRE ${URL_JRE_FOLDER}/${GVSPKG_JRE}"
328
    wget  -q "${URL_JRE_FOLDER}/${GVSPKG_JRE}"
329
  fi
330
}
331

  
280 332
function mkdist() {
281 333
    cd $BASEFOLDER/standard
282 334

  
......
323 375
    logger_info "Removing previous files"
324 376
    rm -rf "$TARGET/gvsig-desktop"
325 377
    rm -rf "$INSTALL_FOLDER"
378
    rm -f  "$TARGET/${PORTABLE_NAME}"
326 379
    rm -f  "$TARGET/${PORTABLE_NAME}.zip"
327 380
    rm -rf "$TARGET/packages-${PORTABLE_OS}-${PORTABLE_PLATFORM}"
328 381

  
......
330 383
    cd $TARGET
331 384
    mkdir $PORTABLE_NAME
332 385
    cd $PORTABLE_NAME
333
    unzip -qq "$BASEFOLDER/standard/gvSIG-desktop-$PORTABLE_VERSION-$PORTABLE_STATUS-${ONLINE_OS}-${PORTABLE_PLATFORM}-online.zip"
334
    #mv gvSIG-desktop-${PORTABLE_VERSION} $PORTABLE_NAME
386
    ff="$BASEFOLDER/standard/gvSIG-desktop-$PORTABLE_VERSION-$PORTABLE_STATUS-${ONLINE_OS}-${PORTABLE_PLATFORM}-online.zip"
387
    if [ ! -f "$ff" ] ; then
388
       echo "ERROR: Can't locate online zip for ${PORTABLE_OSNAME} (${PORTABLE_OSFAMILY}/${PORTABLE_OS}/${PORTABLE_PLATFORM} - online os ${ONLINE_OS})"
389
       echo "ERROR: Expected file $ff"
390
       exit 1
391
    fi
392
    unzip -qq "$ff"
335 393

  
336 394
    logger_info "Uncompressing ${PORTABLE_OSNAME}-${PORTABLE_PLATFORM} package set"
337 395
    mkdir -p "$TARGET/packages-${PORTABLE_OS}-${PORTABLE_PLATFORM}"
338 396
    cd "$TARGET/packages-${PORTABLE_OS}-${PORTABLE_PLATFORM}"
339
    unzip -qq "$BASEFOLDER/standard/gvSIG-desktop-${PORTABLE_VERSION}-${PORTABLE_STATUS}-${PORTABLE_OS}-${PORTABLE_PLATFORM}.gvspks"
397
    ff="$BASEFOLDER/standard/gvSIG-desktop-${PORTABLE_VERSION}-${PORTABLE_STATUS}-${PORTABLE_OS}-${PORTABLE_PLATFORM}.gvspks"
398
    if [ ! -f "$ff" ] ; then
399
       echo "ERROR: Can't locate package set for ${PORTABLE_OSNAME} (${PORTABLE_OSFAMILY}/${PORTABLE_OS}/${PORTABLE_PLATFORM} - online os ${ONLINE_OS})"
400
       echo "ERROR: Expected file $ff"
401
       exit 1
402
    fi
403
    unzip -qq "$ff"
340 404

  
341
    echo Removing package "$TARGET/packages-${PORTABLE_OS}-${PORTABLE_PLATFORM}/gvSIG-desktop-2.3.0-org.gvsig.gdal.app.mainplugin-"*-all-all-j1_7.gvspkg
342
    rm -f "$TARGET/packages-${PORTABLE_OS}-${PORTABLE_PLATFORM}/gvSIG-desktop-2.3.0-org.gvsig.gdal.app.mainplugin-"*-all-all-j1_7.gvspkg
405
    download_jre
343 406

  
407
    echo "Remove platform independent GDAL version"
408
    echo "... package $TARGET/packages-${PORTABLE_OS}-${PORTABLE_PLATFORM}/gvSIG-desktop-${PORTABLE_VERSION/-*/}-org.gvsig.gdal.app.mainplugin-"*-all-all-j1_7.gvspkg
409
    rm -f "$TARGET/packages-${PORTABLE_OS}-${PORTABLE_PLATFORM}/gvSIG-desktop-${PORTABLE_VERSION/-*/}-org.gvsig.gdal.app.mainplugin-"*-all-all-j1_7.gvspkg
410

  
344 411
    install_packages "$INSTALL_FOLDER" "$TARGET/packages-${PORTABLE_OS}-${PORTABLE_PLATFORM}"
345 412

  
346 413
    install_packages "$INSTALL_FOLDER" "$BASEFOLDER/packages/custom"
......
359 426

  
360 427
    case "$PORTABLE_OSFAMILY" in
361 428
    darwin)
362
        mkdir "$INSTALL_FOLDER/Contents"
363
        mkdir "$INSTALL_FOLDER/Contents/MacOS"
364
        echo '#!/bin/bash
365
x=$(dirname $0)
366
x=$(dirname $x)
367
x=$(dirname $x)
368
exec "$x/gvSIG.sh"
369
' >"$INSTALL_FOLDER/Contents/MacOS/${PORTABLE_NAME}"
370
        chmod a+x "$INSTALL_FOLDER/Contents/MacOS/${PORTABLE_NAME}"
429
        prepare_portable_macos
430
        rm -rf "${INSTALL_FOLDER}.app"
371 431
        mv "$INSTALL_FOLDER" "${INSTALL_FOLDER}.app"
372 432
        INSTALL_FOLDER="${INSTALL_FOLDER}.app"
373 433
        PORTABLE_NAME="${PORTABLE_NAME}.app"
......
387 447
    rm -rf $TARGET/packages-${PORTABLE_OS}-${PORTABLE_PLATFORM}
388 448

  
389 449
    logger_info "
390

  
391
    Portable ${PORTABLE_OSNAME}-${PORTABLE_PLATFORM} created.
392

  
450
=
451
=    Portable created for ${PORTABLE_OSNAME} (${PORTABLE_OSFAMILY}/${PORTABLE_OS}/${PORTABLE_PLATFORM} - online os ${ONLINE_OS})
452
=
393 453
    "
394 454
}
395 455

  
......
407 467

  
408 468
mkdir -p "$TARGET"
409 469
main | tee "$TARGET/${SCRIPT_NAME}.log"
470

  
trunk/org.gvsig.desktop/org.gvsig.desktop.framework/org.gvsig.andami/src/main/resources-application/gvSIG.sh
221 221

  
222 222
  #
223 223
  # Check if some plugin preferences are missing, and copy them
224
  cd "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins"
225
  for FOLDER in *
226
  do
227
    if [ -d "$FOLDER" -a ! -d "$GVSIG_HOME_FOLDER/plugins/$FOLDER" ] ; then
228
      echo "Copying the default $FOLDER preferences to the user's folder."
229
      xmkdir -p "$GVSIG_HOME_FOLDER/plugins/$FOLDER"
230
      cp -a "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/$FOLDER" "$GVSIG_HOME_FOLDER/plugins"
231
    fi
232
  done
224
  if [ -d  "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins" ] ; then
225
    cd "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins"
226
    for FOLDER in *
227
    do
228
      if [ -d "$FOLDER" -a ! -d "$GVSIG_HOME_FOLDER/plugins/$FOLDER" ] ; then
229
        echo "Copying the default $FOLDER preferences to the user's folder."
230
        xmkdir -p "$GVSIG_HOME_FOLDER/plugins/$FOLDER"
231
        cp -a "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/$FOLDER" "$GVSIG_HOME_FOLDER/plugins"
232
      fi
233
    done
234
  fi
233 235
  
234 236
  #
235 237
  # Check if any symbols are missing and copy them
236
  cd "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/org.gvsig.app.mainplugin/Symbols"
237
  for FOLDER in *
238
  do
239
    if [ -d "$FOLDER" -a ! -d "$GVSIG_HOME_FOLDER/plugins/org.gvsig.app.mainplugin/Symbols/$FOLDER" ] ; then
240
      echo "Copying the default $FOLDER symbol to the user's folder."
241
      xmkdir -p "$GVSIG_HOME_FOLDER/plugins/org.gvsig.app.mainplugin/Symbols/$FOLDER"
242
      cp -a "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/org.gvsig.app.mainplugin/Symbols/$FOLDER" "$GVSIG_HOME_FOLDER/plugins/org.gvsig.app.mainplugin/Symbols"
243
    fi
244
  done
238
  if [ -d "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/org.gvsig.app.mainplugin/Symbols" ] ; then
239
    cd "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/org.gvsig.app.mainplugin/Symbols"
240
    for FOLDER in *
241
    do
242
      if [ -d "$FOLDER" -a ! -d "$GVSIG_HOME_FOLDER/plugins/org.gvsig.app.mainplugin/Symbols/$FOLDER" ] ; then
243
        echo "Copying the default $FOLDER symbol to the user's folder."
244
        xmkdir -p "$GVSIG_HOME_FOLDER/plugins/org.gvsig.app.mainplugin/Symbols/$FOLDER"
245
        cp -a "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/org.gvsig.app.mainplugin/Symbols/$FOLDER" "$GVSIG_HOME_FOLDER/plugins/org.gvsig.app.mainplugin/Symbols"
246
      fi
247
    done
248
  fi
245 249
  
246 250
  #
247 251
  # Check if any script are missing and copy them
248
  cd "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons"
249
  for FOLDER in *
250
  do
251
    if [ -d "$FOLDER" -a ! -d "$GVSIG_HOME_FOLDER/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons/$FOLDER" ] ; then
252
      echo "Copying the default $FOLDER script to the user's folder."
253
      xmkdir -p "$GVSIG_HOME_FOLDER/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons/$FOLDER"
254
      cp -a "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons/$FOLDER" "$GVSIG_HOME_FOLDER/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons"
255
    fi
256
  done
257

  
252
  if [ -d  "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons" ] ; then
253
    cd "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons"
254
    for FOLDER in *
255
    do
256
      if [ -d "$FOLDER" -a ! -d "$GVSIG_HOME_FOLDER/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons/$FOLDER" ] ; then
257
        echo "Copying the default $FOLDER script to the user's folder."
258
        xmkdir -p "$GVSIG_HOME_FOLDER/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons/$FOLDER"
259
        cp -a "$GVSIG_INSTALL_FOLDER/preferences/$GVSIG_APPLICATION_NAME/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons/$FOLDER" "$GVSIG_HOME_FOLDER/plugins/org.gvsig.scripting.app.mainplugin/scripts/addons"
260
      fi
261
    done
262
  fi
258 263
  echo "Updating preferences finished."
259 264
}
260 265

  
261 266

  
trunk/org.gvsig.desktop/org.gvsig.desktop.installer/src/main/packaging/gvspkg
71 71
    return self.portableSufix
72 72

  
73 73
platforms = (
74
  Platform("lin","x86_64",".run"),
75
  Platform("win","x86_64",".exe"),
74 76
  Platform("darwin_macos_10.11","x86_64",".run",onlinefamily="lin", portableSufix=".app"),
75
  Platform("lin_ubuntu_14.04","x86_64",".run"),
76
  Platform("lin_ubuntu_14.04","x86",".run"),
77 77
  Platform("lin","x86",".run"),
78
  Platform("lin","x86_64",".run"),
79 78
  Platform("win","x86",".exe"),
80
  Platform("win","x86_64",".exe")
79
  Platform("lin_ubuntu_14.04","x86_64",".run"),
80
  Platform("lin_ubuntu_14.04","x86",".run")
81 81
)
82 82

  
83 83

  
......
1088 1088
    makedirs(join(portable_folder,"packages","custom"))
1089 1089
    makedirs(join(portable_folder,"standard"))
1090 1090
    makedirs(join(portable_folder,"patchs"))
1091
    f=open(join(portable_folder,"packages","excludes"),"w")
1092
    f.write("""EPSG_v6
1093
EPSG_v8_4
1094
EPSG_v8_5
1095
EPSG_v8_6
1096
org.gvsig.app.document.layout1.app.mainplugin
1097
org.gvsig.dyschromatopsia.app.extension
1098
org.gvsig.educa.portableview.app.editor
1099
org.gvsig.educa.portableview.app.viewer
1100
org.gvsig.projection.app.cresques
1101
org.gvsig.projection.app.proj4j
1102
org.gvsig.editing.app.mainplugin
1103
org.gvsig.downloader.app.mainplugin
1104
org.gvsig.publish.app.mainplugin
1105
org.gvsig.mapsheets.app.mainplugin
1106
org.gvsig.customize.app.mainplugin
1107
org.gvsig.timesupport.app.viewfilter
1108
org.gvsig.timesupport.app.animation
1109
""")
1110
    f.close()
1111
    fname_base = "gvSIG-desktop-%s-%s-%s" % (getVersion(),build,state)
1091
    shutil.copy(
1092
        join(getPackagesRoot(),"dists",getVersion(),"excludes.portable"),
1093
        join(portable_folder,"packages","excludes") 
1094
    )
1112 1095
    for platform in platforms :
1096
      fname_base = "gvSIG-desktop-%s-%s-%s-%s-%s" % (
1097
        getVersion(),build,state,platform.getOS(),platform.getArch()
1098
      )
1113 1099
      linkfile(
1114
        join(build_folder,fname_base + "-" + platform.getOS() + "-" + platform.getArch() + "-online.zip"),
1115
        join(portable_folder,"standard",fname_base + "-" + platform.getOS() + "-" + platform.getArch() + "-online.zip")
1100
        join(build_folder,fname_base + "-online.zip"),
1101
        join(portable_folder,"standard",fname_base + "-online.zip")
1116 1102
      )
1117 1103
      linkfile(
1118
        join(build_folder,fname_base + "-" + platform.getOS() + "-" + platform.getArch() + ".gvspks"),
1119
        join(portable_folder,"standard",fname_base + "-" + platform.getOS() + "-" + platform.getArch() + ".gvspks")
1104
        join(build_folder,fname_base + ".gvspks"),
1105
        join(portable_folder,"standard",fname_base + ".gvspks")
1120 1106
      )
1121 1107
    extract_make_portable(
1122
      join(build_folder,fname_base + "-lin-x86_64-online.zip"),
1108
      join(build_folder,fname_base + "-online.zip"),
1123 1109
      join(portable_folder)
1124 1110
    )
1125 1111
    mychmod(join(portable_folder,"make-portable"),RWXALL)
......
1169 1155

  
1170 1156
    join = os.path.join
1171 1157
    build_folder = join(getPackagesRoot(),"dists",getVersion(),"builds",build)
1158
    portable_folder = join(build_folder,"misc","portable")
1159
    target_folder = join(portable_folder,"target")
1160

  
1172 1161
    if not os.path.isdir(build_folder):
1173 1162
      print "Can't access the build folder "+build_folder+"."
1174 1163
      sys.exit(2)
1175 1164

  
1176
    portable_folder = join(build_folder,"misc","portable")
1177 1165
    if not os.path.isdir(portable_folder) :
1178 1166
      do_prepare_portable(build,state)
1179 1167
    os.system('cd %s ; ./make-portable' % (portable_folder))
1180 1168

  
1181
    message("Removing previos portable zip files")
1169
    message("Moving portable zip files to build folder")
1182 1170
    for platform in platforms :
1183
      removefile(join(build_folder,"gvSIG-desktop-%s-%s-%s-%s-%s%s.zip" %  (
1171
      fname = "gvSIG-desktop-%s-%s-%s-%s-%s%s.zip" %  (
1184 1172
        getVersion(),build,state,platform.getOS(),platform.getArch(), platform.getPortableSufix()
1185
      )))
1186

  
1187
    target_folder = join(getPackagesRoot(),"dists",getVersion(),"builds",build,"misc","portable","target")
1188
    for platform in platforms :
1189
      message("Moving zip gvSIG-desktop-%s-%s-%s-%s-%s%s.zip" % (
1190
        getVersion(),build,state,platform.getOS(),platform.getArch(), platform.getPortableSufix()
1191
      ))
1192
      shutil.move(
1193
        join(portable_folder,"target","gvSIG-desktop-%s-%s-%s-%s-%s%s.zip" % (
1194
        getVersion(), build, state, platform.getOS(), platform.getArch(), platform.getPortableSufix()
1195
    )
1196
  ),
1197
        build_folder
1198 1173
      )
1174
      if os.path.exists(join(target_folder,fname)) :
1175
        message("    Removing previos %s" % fname)
1176
        removefile(join(build_folder,fname))
1177
        message("    Moving zip %s" % fname)
1178
        shutil.move(join(target_folder,fname), build_folder)
1179
      else:
1180
        message("    Skip zip %s" % fname)
1181

  
1199 1182
    message("Remove temporary folders")
1200 1183
    shutil.rmtree(target_folder)
1201 1184

  
......
1566 1549
            assert False, "unhandled option %r" % opt
1567 1550

  
1568 1551
    url_pki = args[0]
1569
    if url_pki.startswith("https:") and nohttps :
1552
    if url_pki.endswith(".gvspki") and url_pki.startswith("https:") and nohttps :
1570 1553
       url_pki = "http:" + url_pki[6:]
1571 1554

  
1572 1555
    message( "Download package index '%s'" % url_pki)

Also available in: Unified diff