Check-in [3cfc75a37d]
Not logged in
Overview
Comment:A bit of code cleanup in the package uploader.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 3cfc75a37d9102d6d01ba4f434294d819f216964
User & Date: mistachkin on 2016-12-23 23:46:45
Other Links: manifest | tags
Context
2016-12-26
00:46
Improve messages for the package uploader client errors related to its initial setup. check-in: 036720066a user: mistachkin tags: trunk
2016-12-23
23:46
A bit of code cleanup in the package uploader. check-in: 3cfc75a37d user: mistachkin tags: trunk
23:14
Make sure closing the Tk window exits the vwait. Refactor uploader client into package script and a tool script. check-in: 2def651bb5 user: mistachkin tags: trunk
Changes

Modified client/1.0/neutral/pkgu.eagle from [e3d6d4761a] to [3209afd0c1].

389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
  #       platform argument must be an empty string -OR- one of the literal
  #       strings "neutral", "win32-arm", "win32-x86", "win64-arm64",
  #       "win64-ia64", or "win64-x64".  The fileNames argument is the list of
  #       (fully?) qualified file names to be downloaded when the associated
  #       package is being provided.  The options argument is reserved for
  #       future use, it should be an empty list.
  #
  # <public>
  proc createRepositoryScript {
          serverId versionId language version platform fileNames options } {
    ::PackageDownloader::verifyServerId $serverId
    ::PackageDownloader::verifyVersionId $versionId
    ::PackageDownloader::verifyLanguageAndVersion $language $version isClient

    set prologue ""







<







389
390
391
392
393
394
395

396
397
398
399
400
401
402
  #       platform argument must be an empty string -OR- one of the literal
  #       strings "neutral", "win32-arm", "win32-x86", "win64-arm64",
  #       "win64-ia64", or "win64-x64".  The fileNames argument is the list of
  #       (fully?) qualified file names to be downloaded when the associated
  #       package is being provided.  The options argument is reserved for
  #       future use, it should be an empty list.
  #

  proc createRepositoryScript {
          serverId versionId language version platform fileNames options } {
    ::PackageDownloader::verifyServerId $serverId
    ::PackageDownloader::verifyVersionId $versionId
    ::PackageDownloader::verifyLanguageAndVersion $language $version isClient

    set prologue ""
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
  #       patch level being submitted.  The language argument must be an empty
  #       string, "Tcl", or "Eagle".  If it is an empty string, the current
  #       language will be assumed.  The script argument is the script to be
  #       evaluated when the package needs to be provided.  The certificate
  #       argument is the certificate associated with the script, which may be
  #       an OpenPGP signature or a Harpy script certificate.
  #
  # <public>
  proc submitPackageMetadata {
          apiKey package patchLevel language script certificate } {
    variable verboseMetadataSubmit

    #
    # NOTE: Fetch the submission URI for the package repository server.  If
    #       it is not available for some reason, raise a script error.







<







505
506
507
508
509
510
511

512
513
514
515
516
517
518
  #       patch level being submitted.  The language argument must be an empty
  #       string, "Tcl", or "Eagle".  If it is an empty string, the current
  #       language will be assumed.  The script argument is the script to be
  #       evaluated when the package needs to be provided.  The certificate
  #       argument is the certificate associated with the script, which may be
  #       an OpenPGP signature or a Harpy script certificate.
  #

  proc submitPackageMetadata {
          apiKey package patchLevel language script certificate } {
    variable verboseMetadataSubmit

    #
    # NOTE: Fetch the submission URI for the package repository server.  If
    #       it is not available for some reason, raise a script error.
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
  }

  #
  # NOTE: This procedure attempts to stage the specified package files using
  #       Fossil.  The fileNames argument is a list of (fully?) qualified
  #       local file names to stage.
  #
  # <public>
  proc stagePackageFiles { language version platform fileNames } {
    variable checkoutDirectory
    variable fossilAddCommand

    verifyCheckoutDirectory

    if {![verifyThereAreNoChanges]} then {







<







894
895
896
897
898
899
900

901
902
903
904
905
906
907
  }

  #
  # NOTE: This procedure attempts to stage the specified package files using
  #       Fossil.  The fileNames argument is a list of (fully?) qualified
  #       local file names to stage.
  #

  proc stagePackageFiles { language version platform fileNames } {
    variable checkoutDirectory
    variable fossilAddCommand

    verifyCheckoutDirectory

    if {![verifyThereAreNoChanges]} then {
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964

  #
  # NOTE: This procedure attempts to commit the staged package files to the
  #       remote package file repository using Fossil.  The varName argument
  #       is the name of a scalar variable in the context of the immediate
  #       caller that will receive the resulting Fossil check-in identifier.
  #
  # <public>
  proc commitPackageFiles { package patchLevel language version varName } {
    variable checkoutDirectory
    variable fossilCommitCommand
    variable fossilCommitPattern

    fossilMustBeInstalled
    verifyCheckoutDirectory







<







947
948
949
950
951
952
953

954
955
956
957
958
959
960

  #
  # NOTE: This procedure attempts to commit the staged package files to the
  #       remote package file repository using Fossil.  The varName argument
  #       is the name of a scalar variable in the context of the immediate
  #       caller that will receive the resulting Fossil check-in identifier.
  #

  proc commitPackageFiles { package patchLevel language version varName } {
    variable checkoutDirectory
    variable fossilCommitCommand
    variable fossilCommitPattern

    fossilMustBeInstalled
    verifyCheckoutDirectory
1007
1008
1009
1010
1011
1012
1013

1014
1015
1016
1017
1018
1019
1020
  }

  #
  # NOTE: This procedure initializes the array containing data derived from
  #       the command line arguments, if any.  The argv argument should be
  #       the list of command line arguments.
  #

  proc setupArgumentData { argv } {
    variable argumentData

    if {![info exists argumentData(apiKey)]} then {
      set argumentData(apiKey) ""
    }








>







1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
  }

  #
  # NOTE: This procedure initializes the array containing data derived from
  #       the command line arguments, if any.  The argv argument should be
  #       the list of command line arguments.
  #
  # <internal>
  proc setupArgumentData { argv } {
    variable argumentData

    if {![info exists argumentData(apiKey)]} then {
      set argumentData(apiKey) ""
    }

1073
1074
1075
1076
1077
1078
1079

1080
1081
1082
1083
1084
1085
1086

  #
  # NOTE: This procedure is used to determine if all the package submission
  #       data is available.  There are no arguments.  Non-zero is returned
  #       if all the package submission data is available.  This procedure
  #       should not raise script errors.
  #

  proc haveArgumentData {} {
    variable argumentData

    if {![info exists argumentData(apiKey)]} then {
      return false
    }








>







1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084

  #
  # NOTE: This procedure is used to determine if all the package submission
  #       data is available.  There are no arguments.  Non-zero is returned
  #       if all the package submission data is available.  This procedure
  #       should not raise script errors.
  #
  # <internal>
  proc haveArgumentData {} {
    variable argumentData

    if {![info exists argumentData(apiKey)]} then {
      return false
    }

1209
1210
1211
1212
1213
1214
1215

1216
1217
1218
1219
1220
1221
1222
  #
  # NOTE: This procedure is an event handler.  It handles the submit button in
  #       both Tk and Eagle.  It starts the package submission process.  The
  #       args argument is not really used, it is a placeholder to make this
  #       procedure more portable between Tcl and Eagle.  This procedure may
  #       raise script errors.
  #

  proc submitEventHandler { args } {
    variable argumentData

    set batchMode [lindex $args 0]

    if {[isEagle]} then {
      set sender [lindex $args 1]; # NOTE: Disposal.







>







1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
  #
  # NOTE: This procedure is an event handler.  It handles the submit button in
  #       both Tk and Eagle.  It starts the package submission process.  The
  #       args argument is not really used, it is a placeholder to make this
  #       procedure more portable between Tcl and Eagle.  This procedure may
  #       raise script errors.
  #
  # <internal>
  proc submitEventHandler { args } {
    variable argumentData

    set batchMode [lindex $args 0]

    if {[isEagle]} then {
      set sender [lindex $args 1]; # NOTE: Disposal.
1348
1349
1350
1351
1352
1353
1354

1355
1356
1357
1358
1359
1360
1361
1362
1363
1364



1365
1366
1367
1368
1369
1370
1371
  }

  #
  # NOTE: This procedure creates the user interface for this tool using Eagle
  #       and WinForms.  The existing argument data, if any, will be used to
  #       populate it.  There are no arguments.
  #

  proc setupWinFormsUserInterface {} {
    variable argumentData
    variable widgets

    object load -import System.Windows.Forms

    set form [object create -alias Form]
    set widgets(0) $form

    $form Text "Package Uploader Client"




    ###########################################################################

    set widgets(1) [object create -alias Label]
    $widgets(1) Name lblApiKey
    $widgets(1) Text "API Key"








>










>
>
>







1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
  }

  #
  # NOTE: This procedure creates the user interface for this tool using Eagle
  #       and WinForms.  The existing argument data, if any, will be used to
  #       populate it.  There are no arguments.
  #
  # <internal>
  proc setupWinFormsUserInterface {} {
    variable argumentData
    variable widgets

    object load -import System.Windows.Forms

    set form [object create -alias Form]
    set widgets(0) $form

    $form Text "Package Uploader Client"
    $form MaximizeBox false
    $form AutoSize true
    $form add_Closed [namespace code [list handleFormClosedEvent]]

    ###########################################################################

    set widgets(1) [object create -alias Label]
    $widgets(1) Name lblApiKey
    $widgets(1) Text "API Key"

1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536

1537
1538
1539
1540
1541
1542
1543
      $widgets($name) Top $top
      $form Controls.Add $widgets($name)

      incr top [$widgets($name) Height]
      incr top $verticalMargin
    }

    $form add_Closed [namespace code [list handleFormClosedEvent]]
    $form MaximizeBox false
    $form AutoSize true
    $form Show

    after 0 [list nop]; # NOTE: Needed for the [vwait].
  }

  #
  # NOTE: This procedure creates the user interface for this tool using Tcl
  #       and Tk.  The existing argument data, if any, will be used to
  #       populate it.  There are no arguments.
  #

  proc setupTkUserInterface {} {
    variable widgets

    package require Tk
    catch {console show}

    catch {wm withdraw .}; set toplevel [toplevel .uploader]







<
<
<










>







1520
1521
1522
1523
1524
1525
1526



1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
      $widgets($name) Top $top
      $form Controls.Add $widgets($name)

      incr top [$widgets($name) Height]
      incr top $verticalMargin
    }




    $form Show

    after 0 [list nop]; # NOTE: Needed for the [vwait].
  }

  #
  # NOTE: This procedure creates the user interface for this tool using Tcl
  #       and Tk.  The existing argument data, if any, will be used to
  #       populate it.  There are no arguments.
  #
  # <internal>
  proc setupTkUserInterface {} {
    variable widgets

    package require Tk
    catch {console show}

    catch {wm withdraw .}; set toplevel [toplevel .uploader]

Modified client/1.0/neutral/pkgu.eagle.asc from [4f01bb03b8] to [b6a3faffdc].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository

iQIcBAABCAAGBQJYXa9dAAoJEFAslq9JXcLZw64QAIfsDz2hFHLg2C7Vd4lHtiAb
OBH7+p73HDGCr1lmnyKUpMYjcztbWsqsFtuY2iPXcJgjoaNsSK/+MAkDL+LbDiMF
oMyb3tWTu70nOei8WR0hR7uCwvdoxiXXOBGn7KZmBqWWdyvTW3W/D5I4idbgiL1x
iIhOn4L2EHvdRNPKzoEUUcKroVyzijdtNcHRBAQLxjbmh5Tr6FpnHvx1Ao7k1yUM
tHHukhtG3rYzhREq1RJ7canfLvufxu8tFwvg1DoI087p+ckwoyYuD4edQC+5+7wv
Q/xEsnl5+MU6nv9wJz+vXZZelazg78OI/D223T5bKOppUvlV1Oa9IoQEos6hBZk4
rFVoIzWXQiMQwd8eNKJ2/yeh4wJVtt96eYg0RI+ZKW3qwWsQjd8DJOLXk664wPSO
dDCxqgPB/5Ak8Prz2JSnkWWFVlBdyg5xjEEPdszqvqFT463nIO9RlyJdkpHBlhLT
8hzn3RG6KNrZSrKsOjyqxeu1h7fITZmnyvb8Cb8OTVXd9KDqQ3mJ0YyGT4Z5SgtX
7t61ntYtVNyw0gA8gTOjBw12EmCEXgKLdGI3iBYhw5qz2YMULiMTrW8VmaJHJa3U
Fq1uhcJCbYKiZmYUvcnWN4OSC73K/Ly3aNgYYdBc9aDI8rh1ZLeZDWR15zpv4ZvG
NpAE1BF+Aayq3KRzg9l0
=cuQY
-----END PGP SIGNATURE-----




|
|
|
|
|
|
|
|
|
|
|
|
|

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository

iQIcBAABCAAGBQJYXbdYAAoJEFAslq9JXcLZHgkQAK62MY2Dsu6dEALVP2gpsbIC
mhRj39TzflavS/Joub1NAKBbkMP2u0MBIe3Gp8xknNmmZvGTlmP7GoSAWcmW2dZn
aN3II5Bv4ex7YwNzDp0V7cTiwb+lf0T29rzHABD5aOoHfxJKHM/fzETGzjwe/vxP
nJKECIxQ5TqQbWP1VaNT3qCw9FRxEZZHhzy3y6gj73Szvaz9xh9yAD4RIf0WehVV
1cYna8c9ZX9ce+StoSfOpPTuXvkpP1fCiwbRuZ/enDjpP3Zd6QupLyx1R32zeJ8k
D8x6kdrZxSKaPhXtZijRn7PDHK+xsb2etBbTkMfCov2lMI9r2NJ1I6SpZBDw0VoD
66I4MpAccY7B98BIAOWNuiWXI4PSIou2UTeFvHG1H96rDjQkLVxvLlv88mYFUZOf
3oGgIDNjctdcNLrI0chFlGH7N2NyG34iDHU6qcjDMXUIDI9IwPge90199cTc2w6X
yFf2BeYCDTXdi5RWgpamt9DY60fA6MG/jGzrykY6eMKiW4/vWO1rv2NR3lYZH1lG
qxSRxyA06gI3plHkhR+JlZxhqRHr5FKCuCQyIfTmMJEE7LoxYX+K8LNMoscfhWCH
d5JImKEQVSNQo4L2/i654uymOBMumIdaVTAT5ojNNv6WlTwE8D952fncszVFI40w
+yx3oA5/YVAVD7DP5x/T
=BVJm
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgu.eagle.harpy from [db24832c17] to [fabb3f5717].

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
    THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED.
-->
<Certificate xmlns="https://eagle.to/2011/harpy"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Protocol>None</Protocol>
  <Vendor>Mistachkin Systems</Vendor>
  <Id>0a536d27-985f-4b13-875f-b70633697684</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-12-23T23:11:47.9423828Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>







|


|



|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
    THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED.
-->
<Certificate xmlns="https://eagle.to/2011/harpy"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Protocol>None</Protocol>
  <Vendor>Mistachkin Systems</Vendor>
  <Id>9e727675-d3e4-40f6-b818-9e2a344b4c2d</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-12-23T23:46:06.0214843Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgu.eagle.harpy.asc from [c112a17590] to [bfb29efb4e].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository

iQIcBAABCAAGBQJYXa9fAAoJEFAslq9JXcLZLmIP/jTeQFPUUzN467WNmzN9eaQz
FnSQk1Z31Z1HEaX3q6VT4Yy4sXXPmRUnwd/uoFpC+ap1WxGmuPz+ncJRI1r8nsY4
2Q4UQecNbWobioerq41GkhHjuxiHNvsxcGJrbBKjVAKOGaHEs8Ee2KNe8/gCXXAB
RwJpzdyHc2eAvmXEgokch2Nq9uhTW9dFqTFNwjlwwRlSyHFU9ghiNbYV/+rvpnWu
f8F0GiCsp8mqkERFWuZnEsU7yc5Ull6QBpIOdOuDfWQby2I0/lA6ZwQ/lNPOQZ1a
6NShCX1TgBjWs7/IIvfULPeyzfsA57p1XLz86zmejcmwG6ejcwJTvx4u8S9FvBNE
lCppbWZRuhkZznqy6c//1eP0aLm8WHVMm7uo6aA1FQi2PWm2nds4ne2/+1R4c5zM
LKYGa9XNy4E6eTBqBS0cARhOvIptkU1qIXQPdHf6FEh85LB3Mc2/dKG3EnHfR7Vo
O2xcOSgt35BxALVEalZUaOHbYOv5C7NAqA6/W2iI/ZZPRqzhNqdhe0gWOrivhQcy
N2N9C88f0NccSaGuhj6x71bvN2m3BFIC1B+eS+nkMqsKPoJZhDGhjHLRV7oQ0bCW
ueQMq1UIsmmx/e/0suQ4YFzZGuuGwUyzzeIR+opVCN8ltQvKkty3dcAU9P7AQkxy
dvKjU/W2G/3c64mBHgZA
=jscJ
-----END PGP SIGNATURE-----




|
|
|
|
|
|
|
|
|
|
|
|
|

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository

iQIcBAABCAAGBQJYXbdZAAoJEFAslq9JXcLZ2VYQAI5W3dy17KPDmYB3OM6Jncqz
lbiZLJZbJwL0lqVeQY0TukNNs9+9aaRiqBml4nX1hqRzLh1vOzqI+4TdYC3Va5X/
Ajwc+D5HSRxWMIrz23fq+gSWEOFuy8fFwI2AgK72dgp3pAPDehW2+DbPqMskT3zu
PwNWJPcOPtgIv6CbSR6VqggSJ4j2H8Ssw9kVcwgqgoxrdX8JspJq2qMPz7HKelMa
ybGV4Gb5zX1JgI35h+5/gUD50A9NtJK8IV75aexNXvcnPjCNs1+rzhNBnvmhBItj
GegbLmJo3zQrlW1aayB06uIs4iMEoIdeDVN1EF/RJvBWpdKrLstHsNC7pTdtIH9c
txPX46mWvfQBcS/xhxjB91FpJhmbj/11wNmCpY0giAgV/Uut6mYUPzQZTa17yE07
YQZfW009B4BNj+WyFnDsZz9wVwRiJtkYrx5BTmDr0wAg/ddm2gr6X9ufbr5dyKFA
rO4/NeUDyJEPZe5iige1DLMPP5LDj2QhuiUqeWg7Fogk6jpzg1L0h4ZmTFPpC7wz
ssn8NiZILne9ziKxMcs2UCRECz4i5hK1QH3f+NZzHQvDAg2DU6GDOJPR1SeE6C3C
CfEQCnn2/9aa9HL48pWC0fOG2YxVbOrPlrrSL/Kev7ztY7XEq7yR8uNf8Sgv07qe
mkU318WyRa7VKEo/qtsI
=a/RZ
-----END PGP SIGNATURE-----