Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Pickup more release archive verification tool changes from upstream. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
c0130ce3d6b7c11437e9ac7909eca77b |
User & Date: | mistachkin 2018-06-24 21:52:01.528 |
Context
2018-07-01
| ||
19:17 | Adjust some conditional compilation checks in order to include .NET Core. check-in: e6b998e04a user: mistachkin tags: trunk | |
2018-06-24
| ||
21:52 | Pickup more release archive verification tool changes from upstream. check-in: c0130ce3d6 user: mistachkin tags: trunk | |
03:23 | Remove accidental debugging change leftover from the previous check-in. check-in: 566f1e9d23 user: mistachkin tags: trunk | |
Changes
Changes to Setup/verify.eagle.
︙ | ︙ | |||
72 73 74 75 76 77 78 79 80 81 82 83 84 85 | if {[regexp -- {[0-9a-f]{64}} $hash]} then { return $hash } return "" } proc getExecCommandPrefix {} { return [list exec -success Success -nocarriagereturns --] } proc combineErrors { error1 error2 } { return [appendArgs \n\n $error1 \n $error2 \n] | > > > > | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | if {[regexp -- {[0-9a-f]{64}} $hash]} then { return $hash } return "" } proc getInnoSetupRootMap {} { return [list app\\ [appendArgs {{app}} \\] tmp\\ [appendArgs {{tmp}} \\]] } proc getExecCommandPrefix {} { return [list exec -success Success -nocarriagereturns --] } proc combineErrors { error1 error2 } { return [appendArgs \n\n $error1 \n $error2 \n] |
︙ | ︙ | |||
329 330 331 332 333 334 335 | \"%fileName%\" -d \"%directory%\" } set extractCommand(2) [list error "no fallback extract command"] } elseif {[file extension $archiveFileName] eq ".exe" && \ [string match -nocase *Setup*.exe $manifest]} then { # | > | | > | > | 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | \"%fileName%\" -d \"%directory%\" } set extractCommand(2) [list error "no fallback extract command"] } elseif {[file extension $archiveFileName] eq ".exe" && \ [string match -nocase *Setup*.exe $manifest]} then { # # HACK: There is some special handling needed for dealing with # setup packages, which are currently always created with # the Inno Setup tool. The two tools that can be used to # verify the contents of these packages are "innounp" and # "innoextract". Since this archive file name looks like # one that contains a setup package, assume that it is. # set listCommand(1) [getExecCommandPrefix] if {[lindex $listCommand(1) 0] ne "error"} then { lappend listCommand(1) $innounp -v \ [file nativename $archiveFileName] } |
︙ | ︙ | |||
390 391 392 393 394 395 396 | set extractCommand(2) [list error "no fallback extract command"] } if {[catch { set data [eval $listCommand(1)] } error1] == 0 || [catch { | > | > > | | | | < < > | 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 | set extractCommand(2) [list error "no fallback extract command"] } if {[catch { set data [eval $listCommand(1)] } error1] == 0 || [catch { set data [eval $listCommand(2)] if {$isSetup} then { # # HACK: The "innoextract" tool does not use the curly # braces around the "{app}"-style directory names. # set data [string map [getInnoSetupRootMap] $data] } } error2] == 0} then { # # HACK: The Inno Setup unpacking tool requires some extra # parsing logic to handle the output. # set containedFileNames [list] |
︙ | ︙ | |||
509 510 511 512 513 514 515 | set extractCommandMap [list \ %fileName% [file nativename $manifestFileName] \ %directory% [file nativename $extractDirectory]] set data [eval \ [string map $extractCommandMap $extractCommand(1)]] } error1] == 0 || [catch { | > | | | | > > > | | > > > > > > > > > > > > > > > > > > | > > > > > | | > | 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 | set extractCommandMap [list \ %fileName% [file nativename $manifestFileName] \ %directory% [file nativename $extractDirectory]] set data [eval \ [string map $extractCommandMap $extractCommand(1)]] } error1] == 0 || [catch { if {$isSetup} then { # # HACK: The "innoextract" tool does not use the curly # braces around the "{app}"-style directory names. # set altManifestFileName [string map [getInnoSetupRootMap] \ $manifestFileName] set extractCommandMap [list \ %fileName% [file nativename $altManifestFileName] \ %directory% [file nativename $extractDirectory]] # # HACK: The "innoextract" tool uses the full manifest # file name when writing the extracted file, so # adjust the extracted file name to match it; # however, first verify that the path type of # the manifest file name is relative. # if {[file pathtype $altManifestFileName] eq "relative"} then { set extractFileName [file normalize [file join \ $extractDirectory $altManifestFileName]] catch { file attributes $extractFileName -readonly false file delete $extractFileName } } else { error [appendArgs \ "path type for manifest file name \"" \ $altManifestFileName "\" is not relative"] } } else { set extractCommandMap [list \ %fileName% [file nativename $manifestFileName] \ %directory% [file nativename $extractDirectory]] } set data [eval \ [string map $extractCommandMap $extractCommand(2)]] } error2] == 0} then { if {[string length $hashes($manifestFileName)] == 64} then { set hash [getSha3Sum $extractFileName] } else { |
︙ | ︙ |