Revision 42726
trunk/org.gvsig.desktop/org.gvsig.desktop.installer/src/main/packaging/gvspkg | ||
---|---|---|
294 | 294 |
x = x.replace("\\:", ":") |
295 | 295 |
return x |
296 | 296 |
return default |
297 |
|
|
297 |
|
|
298 | 298 |
def getDescription(self): |
299 | 299 |
return self.getIniOption("description") |
300 | 300 |
|
... | ... | |
379 | 379 |
for line in lines: |
380 | 380 |
if line[-1] == "\n": |
381 | 381 |
line = line[:-1] |
382 |
|
|
382 |
|
|
383 | 383 |
info = PackageInfo(line) |
384 | 384 |
self.append(info) |
385 | 385 |
|
... | ... | |
446 | 446 |
|
447 | 447 |
def installer_add(cmd,arg1,arg2): |
448 | 448 |
installer_add_use_zip(cmd,arg1,arg2) |
449 |
|
|
449 |
|
|
450 | 450 |
def installer_add_use_zip(cmd,arg1,arg2): |
451 | 451 |
if cmd == "addjrelin": |
452 | 452 |
return |
453 |
|
|
453 |
|
|
454 | 454 |
if cmd == "addjrewin": |
455 | 455 |
return |
456 |
|
|
456 |
|
|
457 | 457 |
if cmd == "addpks": |
458 | 458 |
zip = zipfile.ZipFile(arg1,"a",zipfile.ZIP_STORED) |
459 | 459 |
zip.write(arg2,"package.gvspks") |
460 | 460 |
zip.close() |
461 |
|
|
461 |
|
|
462 | 462 |
def installer_add_use_installkit(cmd,arg1,arg2): |
463 | 463 |
folder = "%s/gvspkg.bin" % GVSPKG_ROOT |
464 | 464 |
|
... | ... | |
501 | 501 |
distribution_name = arg |
502 | 502 |
else: |
503 | 503 |
assert False, "unhandled option" |
504 |
|
|
505 | 504 |
|
505 |
|
|
506 | 506 |
if len(args) != 2 : |
507 | 507 |
shorthelp(args) |
508 | 508 |
sys.exit(4) |
... | ... | |
524 | 524 |
mychmod(custom_name,RWALL) |
525 | 525 |
message("Adding %s..." % gvspks_name) |
526 | 526 |
installer_add("addpks", custom_name, gvspks_name) |
527 |
|
|
527 |
|
|
528 | 528 |
""" |
529 | 529 |
if addjrelin: |
530 | 530 |
withjre_name = bin_name.replace("online", distribution_name+"-withjre") |
... | ... | |
598 | 598 |
msgwarn("No se ha encontrado el fichero %r. la opcion -s/--include-default-selection sera ignorada." % default_selection) |
599 | 599 |
default_selection = None |
600 | 600 |
|
601 |
|
|
601 |
|
|
602 | 602 |
indexes = IndexList() |
603 | 603 |
|
604 | 604 |
packages_txt = getDist() +"/packages.txt" |
605 |
packages_gvspki = getDist() +"/packages.gvspki"
|
|
605 |
packages_gvspki = getDist() +"/packages.gvspki" |
|
606 | 606 |
|
607 | 607 |
message( "Creating 'packages.gvspki' for version '%s'" % getVersion() + "...") |
608 | 608 |
if not os.path.exists(getDist()): |
609 | 609 |
msgerror("Can't locate version folder '%s'." % getDist()) |
610 | 610 |
sys.exit(3) |
611 |
|
|
611 |
|
|
612 | 612 |
if os.path.exists(packages_txt) and not clear_list: |
613 | 613 |
indexes.load(packages_txt) |
614 | 614 |
else: |
... | ... | |
699 | 699 |
if os.path.lexists(dst+".md5"): |
700 | 700 |
os.remove(dst+".md5") |
701 | 701 |
os.symlink(src+".md5",dst+".md5") |
702 |
|
|
702 |
|
|
703 | 703 |
def domkmirror(root_src, version, build): |
704 | 704 |
join = os.path.join |
705 | 705 |
|
... | ... | |
709 | 709 |
build_target = join(root_target,"dists",version,"builds",build) |
710 | 710 |
pool_src = join(root_src,"pool") |
711 | 711 |
pool_target = join(root_target,"pool") |
712 |
|
|
712 |
|
|
713 | 713 |
makedirs(root_target) |
714 | 714 |
makedirs(build_target) |
715 | 715 |
makedirs(pool_target) |
... | ... | |
771 | 771 |
indexes = IndexList() |
772 | 772 |
|
773 | 773 |
packages_txt = getDist() +"/packages.txt" |
774 |
|
|
774 |
|
|
775 | 775 |
if os.path.exists(packages_txt) and not clear_list: |
776 | 776 |
indexes.load(packages_txt) |
777 | 777 |
else: |
... | ... | |
799 | 799 |
<meta http-equiv="Content-Type" content= "text/html; charset=us-ascii" /> |
800 | 800 |
<title>"%s" package list</title>'''% getVersion() # Title |
801 | 801 |
|
802 |
html += '''
|
|
802 |
html += ''' |
|
803 | 803 |
<!-- estilos para las tablas --> |
804 | 804 |
<style type="text/css" title="currentStyle"> |
805 | 805 |
@import "css/demo_table.css"; |
... | ... | |
884 | 884 |
raise ex |
885 | 885 |
|
886 | 886 |
message("html pages createds.\n") |
887 |
|
|
888 |
|
|
887 |
|
|
888 |
|
|
889 | 889 |
def mkpkihtml(basepath, info): |
890 | 890 |
html='''<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
891 | 891 |
<html xmlns="http://www.w3.org/1999/xhtml"> |
... | ... | |
1008 | 1008 |
print "Requiered option --state not found." |
1009 | 1009 |
shorthelp(args) |
1010 | 1010 |
sys.exit(2) |
1011 |
|
|
1011 |
|
|
1012 | 1012 |
join = os.path.join |
1013 | 1013 |
build_folder = join(getPackagesRoot(),"dists",getVersion(),"builds",build) |
1014 | 1014 |
if not os.path.isdir(build_folder): |
... | ... | |
1026 | 1026 |
makedirs(join(portable_folder,"standard")) |
1027 | 1027 |
makedirs(join(portable_folder,"patchs")) |
1028 | 1028 |
f=open(join(portable_folder,"packages","excludes"),"w") |
1029 |
f.write("""EPSG_v6
|
|
1030 |
EPSG_v8_4
|
|
1029 |
f.write("""EPSG_v6 |
|
1030 |
EPSG_v8_4 |
|
1031 | 1031 |
org.gvsig.app.document.layout1.app.mainplugin |
1032 | 1032 |
org.gvsig.dyschromatopsia.app.extension |
1033 | 1033 |
org.gvsig.educa.portableview.app.editor |
... | ... | |
1072 | 1072 |
# join(portable_folder,"make-portable") |
1073 | 1073 |
# ) |
1074 | 1074 |
mychmod(join(portable_folder,"make-portable"),RWXALL) |
1075 |
|
|
1075 |
|
|
1076 | 1076 |
def zipfolder(source,target): |
1077 | 1077 |
def zipdir(path, zip): |
1078 | 1078 |
for root, dirs, files in os.walk(path): |
... | ... | |
1085 | 1085 |
def removefile(filename): |
1086 | 1086 |
if os.path.exists(filename): |
1087 | 1087 |
os.remove(filename) |
1088 |
|
|
1088 |
|
|
1089 | 1089 |
def mkportable(args): |
1090 | 1090 |
cmd = Command(args) |
1091 | 1091 |
try: |
... | ... | |
1115 | 1115 |
print "Requiered option --state not found." |
1116 | 1116 |
shorthelp(args) |
1117 | 1117 |
sys.exit(2) |
1118 |
|
|
1118 |
|
|
1119 | 1119 |
join = os.path.join |
1120 | 1120 |
build_folder = join(getPackagesRoot(),"dists",getVersion(),"builds",build) |
1121 | 1121 |
if not os.path.isdir(build_folder): |
1122 | 1122 |
print "Can't access the build folder "+build_folder+"." |
1123 | 1123 |
sys.exit(2) |
1124 |
|
|
1124 |
|
|
1125 | 1125 |
portable_folder = join(build_folder,"misc","portable") |
1126 | 1126 |
if not os.path.isdir(portable_folder) : |
1127 | 1127 |
do_prepare_portable(build,state) |
... | ... | |
1131 | 1131 |
removefile(join(build_folder,"gvsig-desktop-%s-%s-%s-lin-x86.zip" % (getVersion(),build,state))) |
1132 | 1132 |
removefile(join(build_folder,"gvsig-desktop-%s-%s-%s-lin-x86_x86.zip" % (getVersion(),build,state))) |
1133 | 1133 |
removefile(join(build_folder,"gvsig-desktop-%s-%s-%s-win-x86.zip" % (getVersion(),build,state))) |
1134 |
|
|
1134 |
|
|
1135 | 1135 |
target_folder = join(getPackagesRoot(),"dists",getVersion(),"builds",build,"misc","portable","target") |
1136 | 1136 |
os.chdir(target_folder) |
1137 |
|
|
1137 |
|
|
1138 | 1138 |
message("Creating zip gvsig-desktop-%s-%s-%s-lin-x86.zip" % (getVersion(),build,state)) |
1139 | 1139 |
zipfolder( |
1140 | 1140 |
"gvsig-desktop-%s-%s-%s-lin-x86" % (getVersion(),build,state), |
... | ... | |
1150 | 1150 |
"gvsig-desktop-%s-%s-%s-win-x86" % (getVersion(),build,state), |
1151 | 1151 |
join(build_folder,"gvsig-desktop-%s-%s-%s-win-x86.zip" % (getVersion(),build,state)) |
1152 | 1152 |
) |
1153 |
|
|
1153 |
|
|
1154 | 1154 |
#message("Remove temporary folders") |
1155 | 1155 |
#shutil.rmtree(target_folder) |
1156 | 1156 |
|
... | ... | |
1169 | 1169 |
distribution_name = "standard" |
1170 | 1170 |
platforms = ("x86", "x86_64") |
1171 | 1171 |
oss = ("lin", "win") |
1172 |
|
|
1172 |
|
|
1173 | 1173 |
for opt, arg in opts: |
1174 | 1174 |
if opt in ("-b", "--build"): |
1175 | 1175 |
build=arg |
... | ... | |
1211 | 1211 |
if not os.path.isdir("builds/"+build): |
1212 | 1212 |
print "Can't access the build folder builds/"+build+"." |
1213 | 1213 |
sys.exit(2) |
1214 |
|
|
1214 |
|
|
1215 | 1215 |
message( "Generating distribution for build "+ build + "...") |
1216 | 1216 |
message("Recreating index of packages...") |
1217 | 1217 |
executeCommand("mks", "-s", "-c") |
1218 |
|
|
1218 |
|
|
1219 | 1219 |
executeCommand("mkhtml" ) |
1220 | 1220 |
|
1221 | 1221 |
gvspki_filename = "builds/"+build+"/packages.gvspki" |
1222 | 1222 |
message( "Coping packages.gvspki to "+ gvspki_filename + "\n") |
1223 | 1223 |
shutil.copyfile("packages.gvspki", gvspki_filename) |
1224 | 1224 |
shutil.copyfile("packages.gvspki.md5", gvspki_filename +".md5") |
1225 |
|
|
1225 |
|
|
1226 | 1226 |
#exec_extensions = { |
1227 | 1227 |
# "lin" : LINUX_EXEC_EXTENSION, |
1228 | 1228 |
# "win" : ".exe" |
1229 | 1229 |
#} |
1230 |
|
|
1230 |
|
|
1231 | 1231 |
for cur_os in oss: |
1232 | 1232 |
exec_extension = ".jar" #exec_extensions[cur_os] |
1233 | 1233 |
for cur_platform in platforms: |
... | ... | |
1238 | 1238 |
if not os.path.isfile(online_filename): |
1239 | 1239 |
msgwarn("Can't access the online installable for "+cur_os+"/"+cur_platform + " ("+online_filename+").") |
1240 | 1240 |
continue |
1241 |
|
|
1241 |
|
|
1242 | 1242 |
message( "Coping packages-"+cur_os+"-"+cur_platform+"..gvspks to "+ gvspks_filename) |
1243 | 1243 |
shutil.copyfile("packages-"+cur_os+"-"+cur_platform+".gvspks", gvspks_filename) |
1244 | 1244 |
shutil.copyfile("packages-"+cur_os+"-"+cur_platform+".gvspks.md5", gvspks_filename +".md5") |
... | ... | |
1249 | 1249 |
md5sum(online_filename,online_filename+".md5") |
1250 | 1250 |
mychmod(online_filename+".md5",RWALL) |
1251 | 1251 |
|
1252 |
|
|
1252 |
|
|
1253 | 1253 |
executeCommand("mkinstall" , "--addjre"+cur_os, online_filename, gvspks_filename) |
1254 | 1254 |
|
1255 | 1255 |
message( "Renaming files from custom to standard...") |
... | ... | |
1275 | 1275 |
mychmod(target_filename+".md5",RWALL) |
1276 | 1276 |
""" |
1277 | 1277 |
message( "Createds installers for platform "+cur_os+"/"+cur_platform+"\n") |
1278 |
|
|
1278 |
|
|
1279 | 1279 |
message( "Coping html index to browse paqueges of the distro.") |
1280 | 1280 |
shutil.rmtree("builds/"+build+"/web", ignore_errors=True) |
1281 | 1281 |
shutil.copytree("web", "builds/"+build+"/web") |
... | ... | |
1288 | 1288 |
f.close() |
1289 | 1289 |
|
1290 | 1290 |
message( "\nCreation of distribution completed.\n") |
1291 |
|
|
1292 |
|
|
1293 |
|
|
1294 | 1291 |
|
1292 |
|
|
1293 |
|
|
1294 |
|
|
1295 | 1295 |
def show(args): |
1296 | 1296 |
cmd = Command(args) |
1297 | 1297 |
try: |
... | ... | |
1336 | 1336 |
|
1337 | 1337 |
def editall(args): |
1338 | 1338 |
cmd = Command(args) |
1339 |
try:
|
|
1339 |
try: |
|
1340 | 1340 |
opts, args = getopt.getopt(cmd.getArgs("editall"), "Scx:I:r:", ["clear-list", "exclude=", "excludepki=", "excludepkg=", "include=", "replace=", "sign"]) |
1341 | 1341 |
except getopt.GetoptError, err: |
1342 | 1342 |
# print help information and exit: |
... | ... | |
1517 | 1517 |
url_pki = args[0] |
1518 | 1518 |
if url_pki.startswith("https:") and nohttps : |
1519 | 1519 |
url_pki = "http:" + url_pki[6:] |
1520 |
|
|
1520 |
|
|
1521 | 1521 |
message( "Download package index '%s'" % url_pki) |
1522 | 1522 |
temppath_pki= os.path.join("/tmp",os.path.basename(url_pki)) |
1523 | 1523 |
if not downloadFile(url_pki,temppath_pki): |
... | ... | |
1530 | 1530 |
if url_pkg[-7:] == ".gvspki" : |
1531 | 1531 |
msgwarn("Suspicious download-url value. Ends with gvspki, expected gvspkg.") |
1532 | 1532 |
msgwarn("download-url ='%s'." % url_pkg) |
1533 |
|
|
1533 |
|
|
1534 | 1534 |
if url_pkg.startswith("https:") and nohttps : |
1535 | 1535 |
url_pkg = "http:" + url_pkg[6:] |
1536 |
|
|
1536 |
|
|
1537 | 1537 |
message( "Download package '%s'" % url_pkg) |
1538 | 1538 |
temppath_pkg= os.path.join("/tmp",os.path.basename(url_pkg)) |
1539 | 1539 |
if not downloadFile(url_pkg,temppath_pkg): |
... | ... | |
1551 | 1551 |
pathname_pkg = os.path.join(folder,os.path.basename(url_pkg)) |
1552 | 1552 |
if not force and os.path.isfile(pathname_pki) : |
1553 | 1553 |
msgwarn("The package downloaded from download-url alredy exists in the pool. Use -f to force install.") |
1554 |
print # force a newline
|
|
1554 |
print # force a newline |
|
1555 | 1555 |
return 1 |
1556 | 1556 |
message( "installing package '%s'" % os.path.basename(pathname_pki)) |
1557 | 1557 |
shutil.copyfile(temppath_pki, pathname_pki) |
... | ... | |
1588 | 1588 |
-d,--debug Activa el modo debug. |
1589 | 1589 |
--version ver Fija la version con la que van a trabajar. |
1590 | 1590 |
-r,--package-root root Fija la carpeta del raiz del sistema de paquetes |
1591 |
|
|
1591 |
|
|
1592 | 1592 |
COMMANDS: |
1593 | 1593 |
|
1594 | 1594 |
mkinstall [OPTIONS] install-file packages-file |
... | ... | |
1616 | 1616 |
-b BUILD, --build=BUILD |
1617 | 1617 |
-p, --platform=all|x86|x86_64|amd64 |
1618 | 1618 |
-N, --distribution-name=name |
1619 |
|
|
1619 |
|
|
1620 | 1620 |
mkmirror [OPTIONS] |
1621 | 1621 |
-b, --build buildnumber |
1622 | 1622 |
|
... | ... | |
1683 | 1683 |
-r|--package-root package-root |
1684 | 1684 |
Fija la carpeta en la que va a buscar el raiz del sistema de paquetes |
1685 | 1685 |
con el que trabajar |
1686 |
|
|
1686 |
|
|
1687 | 1687 |
COMMANDS: |
1688 | 1688 |
|
1689 | 1689 |
mkinstall [OPTIONS] install-file packages-file |
... | ... | |
1697 | 1697 |
-l | --addjrelin |
1698 | 1698 |
|
1699 | 1699 |
-w | --addjrewin |
1700 |
|
|
1700 |
|
|
1701 | 1701 |
-N | --distribution-name=name |
1702 | 1702 |
Nombre usado como sufijo del nuevo binario a generar. Por defecto si no se |
1703 | 1703 |
indica valdra "custom". |
... | ... | |
1746 | 1746 |
Si no se indica plataforma se generara para "all". |
1747 | 1747 |
El indice,"gvspki", siempre llevara los de todas las plataformas, esta opcion |
1748 | 1748 |
solo afecta a la genracion del "gvspks". |
1749 |
|
|
1750 |
|
|
1749 |
|
|
1750 |
|
|
1751 | 1751 |
-i | --index-only |
1752 | 1752 |
No crea el fichero gvspks, solo crea el gvspki |
1753 | 1753 |
|
... | ... | |
1781 | 1781 |
- x86_64 |
1782 | 1782 |
- amd64 (sinonimo aceptado para x86_64) |
1783 | 1783 |
Si no se indica plataforma se generara para x86. |
1784 |
|
|
1784 |
|
|
1785 | 1785 |
-N | --distribution-name=name |
1786 | 1786 |
Nombre usado como sufijo del nuevo binario a generar. Por defecto si no se |
1787 | 1787 |
indica valdra "standard". |
1788 | 1788 |
|
1789 |
|
|
1789 |
|
|
1790 | 1790 |
mkmirror [OPTIONS] |
1791 | 1791 |
|
1792 | 1792 |
Prepara una carpeta para hacer un mirror de un build en concreto. |
Also available in: Unified diff