Check-in [43aac90409]
Not logged in
Overview
Comment:Initial work on the package uploader client. Not yet fully working nor tested.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 43aac904099bd82946d465b133a577e78fd3c698
User & Date: mistachkin on 2016-12-18 21:53:56
Other Links: manifest | tags
Context
2016-12-19
03:57
Get metadata submission working for the package uploader client. check-in: e45fd33145 user: mistachkin tags: trunk
2016-12-18
21:53
Initial work on the package uploader client. Not yet fully working nor tested. check-in: 43aac90409 user: mistachkin tags: trunk
21:50
More work on supporting the package uploader client. Use the new OpenPGP 'keys' file (i.e. 'keys.asc', the one with potentially more than one Package Signing Key). Closed-Leaf check-in: 0fc9d3e420 user: mistachkin tags: uploaderClient
2016-12-17
05:31
Add stub file for the package uploader tool. check-in: 6240d4658d user: mistachkin tags: trunk
Changes

Modified client/1.0/neutral/pkgd.eagle from [6a1409dce3] to [c1156a1489].

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  # NOTE: This procedure sets up the default values for all URN configuration
  #       parameters used by the package downloader client.  If the force
  #       argument is non-zero, any existing values will be overwritten and
  #       set back to their default values.
  #
  proc setupDownloadServerVars { force } {
    #
    # NOTE: The URN, relative to the base URI, where the Package Signing Key
    #       may be downloaded.
    #
    variable openPgpKeyUrn; # DEFAULT: pkg_key

    if {$force || ![info exists openPgpKeyUrn]} then {
      set openPgpKeyUrn pkg_key
    }

    #
    # NOTE: The URN, relative to the base URI, where a login request may
    #       be sent.
    #
    variable loginUrn; # DEFAULT: pkgd_login







|


|


|







24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  # NOTE: This procedure sets up the default values for all URN configuration
  #       parameters used by the package downloader client.  If the force
  #       argument is non-zero, any existing values will be overwritten and
  #       set back to their default values.
  #
  proc setupDownloadServerVars { force } {
    #
    # NOTE: The URN, relative to the base URI, where the Package Signing Keys
    #       may be downloaded.
    #
    variable openPgpKeyUrn; # DEFAULT: pkg_keys

    if {$force || ![info exists openPgpKeyUrn]} then {
      set openPgpKeyUrn pkg_keys
    }

    #
    # NOTE: The URN, relative to the base URI, where a login request may
    #       be sent.
    #
    variable loginUrn; # DEFAULT: pkgd_login
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
    variable baseUri; # DEFAULT: https://urn.to/r

    if {$force || ![info exists baseUri]} then {
      set baseUri https://urn.to/r
    }

    #
    # NOTE: The URI where the Package Signing Key may be downloaded.  This
    #       should return a payload containing the OpenPGP key data.
    #
    variable openPgpKeyUri; # DEFAULT: ${baseUri}/${openPgpKeyUrn}

    if {$force || ![info exists openPgpKeyUri]} then {
      set openPgpKeyUri {${baseUri}/${openPgpKeyUrn}}
    }







|







109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
    variable baseUri; # DEFAULT: https://urn.to/r

    if {$force || ![info exists baseUri]} then {
      set baseUri https://urn.to/r
    }

    #
    # NOTE: The URI where the Package Signing Keys may be downloaded.  This
    #       should return a payload containing the OpenPGP key data.
    #
    variable openPgpKeyUri; # DEFAULT: ${baseUri}/${openPgpKeyUrn}

    if {$force || ![info exists openPgpKeyUri]} then {
      set openPgpKeyUri {${baseUri}/${openPgpKeyUrn}}
    }
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
  #
  # <public>
  proc useServerId { {serverId ""} } {
    variable downloadUrn
    variable loginUrn
    variable logoutUrn

    if {[string length $serverId] > 0 && \
        ![regexp -nocase -- {^[A-Z][0-9A-Z]*$} $serverId]} then {
      error "server Id must be alphanumeric and start with a letter"
    }

    if {[string length $serverId] > 0} then {
      #
      # NOTE: Set the URN variables to values that should cause the
      #       specified server Id to be used (assume the server Id
      #       itself is valid and active).
      #







|
<
<
<







268
269
270
271
272
273
274
275



276
277
278
279
280
281
282
  #
  # <public>
  proc useServerId { {serverId ""} } {
    variable downloadUrn
    variable loginUrn
    variable logoutUrn

    verifyServerId $serverId




    if {[string length $serverId] > 0} then {
      #
      # NOTE: Set the URN variables to values that should cause the
      #       specified server Id to be used (assume the server Id
      #       itself is valid and active).
      #
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
  #       downloader client so that a specific version will be used.  The
  #       versionId argument must consist only of hexadecimal characters.
  #
  # <public>
  proc useVersionId { {versionId ""} } {
    variable branchName

    if {[string length $versionId] > 0 && \
        ![regexp -nocase -- {^[0-9A-F]*$} $versionId]} then {
      error "version Id must be hexadecimal"
    }

    if {[string length $versionId] > 0} then {
      #
      # NOTE: Set the variables to values that should cause the specified
      #       version Id to be used (assume the version Id itself is valid
      #       and active).
      #







|
<
<
<







296
297
298
299
300
301
302
303



304
305
306
307
308
309
310
  #       downloader client so that a specific version will be used.  The
  #       versionId argument must consist only of hexadecimal characters.
  #
  # <public>
  proc useVersionId { {versionId ""} } {
    variable branchName

    verifyVersionId $versionId




    if {[string length $versionId] > 0} then {
      #
      # NOTE: Set the variables to values that should cause the specified
      #       version Id to be used (assume the version Id itself is valid
      #       and active).
      #
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
set dir $pkgd(savedDir); unset -nocomplain pkgd
    }]]

    return ""
  }

  #
  # NOTE: This procedure attempts to download the Package Signing Key from
  #       the remote server and save it to a local file.  This procedure may
  #       raise script errors.  The fileName argument is the name of the file
  #       where the downloaded data should be written.  This procedure is only
  #       intended to be used from the "pkgr_setup.eagle" tool script and may
  #       go away in later versions of this package.
  #
  # <internal>







|







460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
set dir $pkgd(savedDir); unset -nocomplain pkgd
    }]]

    return ""
  }

  #
  # NOTE: This procedure attempts to download the Package Signing Keys from
  #       the remote server and save it to a local file.  This procedure may
  #       raise script errors.  The fileName argument is the name of the file
  #       where the downloaded data should be written.  This procedure is only
  #       intended to be used from the "pkgr_setup.eagle" tool script and may
  #       go away in later versions of this package.
  #
  # <internal>
724
725
726
727
728
729
730

731
732
733
734
735
736
737
  #       must be one of the literal strings "8.4", "8.5", or "8.6" when the
  #       language is "tcl" -OR- the literal string "1.0" when the language
  #       is either "eagle" or "client".  The varName argument is the name
  #       of a scalar variable in the context of the immediate caller that
  #       will receive a boolean value indicating if the specified language
  #       is actually a reference to the package downloader client itself.
  #

  proc verifyLanguageAndVersion { language version varName } {
    if {[string length $varName] > 0} then {
      upvar 1 $varName isClient
    }

    set isClient false








>







718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
  #       must be one of the literal strings "8.4", "8.5", or "8.6" when the
  #       language is "tcl" -OR- the literal string "1.0" when the language
  #       is either "eagle" or "client".  The varName argument is the name
  #       of a scalar variable in the context of the immediate caller that
  #       will receive a boolean value indicating if the specified language
  #       is actually a reference to the package downloader client itself.
  #
  # <internal>
  proc verifyLanguageAndVersion { language version varName } {
    if {[string length $varName] > 0} then {
      upvar 1 $varName isClient
    }

    set isClient false

793
794
795
796
797
798
799


























800
801
802
803
804
805
806
          }
        }
      }
    }

    return ""
  }



























  #
  # NOTE: This procedure verifies the platform specified by the caller.  The
  #       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".  An empty string means that the
  #       associated entity does not require a specific platform.  The







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
          }
        }
      }
    }

    return ""
  }

  #
  # NOTE: This procedure verifies that the specified value is indeed a valid
  #       server identifier.  The serverId argument is the value to verify.
  #       This procedure may raise script errors.
  #
  # <internal>
  proc verifyServerId { serverId } {
    if {[string length $serverId] > 0 && \
        ![regexp -nocase -- {^[A-Z][0-9A-Z]*$} $serverId]} then {
      error "server Id must be alphanumeric and start with a letter"
    }
  }

  #
  # NOTE: This procedure verifies that the specified value is indeed a valid
  #       version identifier.  The versionId argument is the value to verify.
  #       This procedure may raise script errors.
  #
  # <internal>
  proc verifyVersionId { versionId } {
    if {[string length $versionId] > 0 && \
        ![regexp -nocase -- {^[0-9A-F]*$} $versionId]} then {
      error "version Id must be hexadecimal"
    }
  }

  #
  # NOTE: This procedure verifies the platform specified by the caller.  The
  #       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".  An empty string means that the
  #       associated entity does not require a specific platform.  The

Modified client/1.0/neutral/pkgd.eagle.asc from [9df36a56d2] to [fc55c91d88].

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

iQIcBAABCAAGBQJYKp17AAoJEFAslq9JXcLZafMQAJorN+Jl3+Ah4o3BwYoqujuL
YcWc+0n5teE9wA4cWcr9/xsyOQnoRK91I2GDjuYRCB1ej+wYZET1ZKoxEh8MlW9O
Q/R7H7EGSY7Lk17T9VsiXNVKY71vOOQ7cUA5i/jVDux3MjfGU84qWmftKhG9Tnhu
HkatMB0BRj9EPYDaN8aI3NNW1jt9TTltuueRujnuuTtlPKZepgzO2aUxrQ1XUWSD
EMdm9B4+6BqpS3MX8TP6C89+Yi2IrB2o2pLA93I69EYsRenPWqIxtaJZfO21mngR
sA/w1le28eLt3178E/Bh+Kf5Tf/IDvVhEq63mtq9OrTQSFZDvjqoJDUsWEgAhSLy
GYDY72RR09+kuAMaTr7ZV61ojUMLcYar87jTXeZoq5scV6D8BKJlLA0lMo8EyZs2
lcEUkaJc2lenV90DUQjS5uKFZvH7S2xyyjU29vvYxUy0HAAWLnpnSkamPFOVKzez
uFW0WDGa/nWNsXmQW4XujSVu4t1seUvwe58hLTXD5H1HdX2wNFvfIXJOy0/Q4URe
WooFFnGzqtS41Bwx+bqGne+OCAr4wA6Hmm3RcWubbBILCvTVN1DpCm7e86Up7MR6
mGdLBFmfQf4tsf2jG6jntmIw/e6OOSvEylMlRxgs4jmRJXyx9Xe8CgTorzBYN51s
Qyb0zUQ5fBfHgGjJa+Ny
=3eS3
-----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

iQIcBAABCAAGBQJYVwVLAAoJEFAslq9JXcLZV4UQAKmMmmr7Dt82toNUwCUjo16M
TvqBNC/u4smP6/SRqcJv/vVWwZ6f4t+DBLDKkW6CcWkkZo9/eG4UTNwugWaGxyzv
5M2IG4BYkNAjadXkYyyr778A5MM3rOoCv5Y3M9AQKGgVFBcxZolAmu6ZCKqFdQpZ
BXRI6n6wPFuzPUtG2KVEP4T95Fw+XHZ0w++JMnM+s8a3eOtDTKkrzJhvFl0wQNcS
xbqQKe6yRriWixH7n5E0ZYqNXpK+/eZWFtJKcTGlN/9qJHGdP20rH+e6Deaur0pT
bZ1NEdINdWgFUTJq+trNhD8RGjNKWfxyli8XZkL3DaYHzRm/bwMvsj1b4+2xj4qp
Y3mBngA6aUXQ4BFdkFc/jCDZfORKe+hfUR+OLRwu62f+ACzVH/tzB0ppUYDsFagM
F/rcy4/Gdoe61IQPHTYgT8YWN7WBdmHfoM+8/vhAZe1rc7cBEr0d2qFHMaPAuop+
ajqV0EOa9hKy7Yv2VIhuEYb724XuT87UHnRMaX/550x+FyAI/1zhhw0E6Uib5vk6
dFtj8uSJasyxMH5Q4uvzMJsAEmHE68IWv8uImsyWIpOd994gN6DCl486/2/D5bWe
QSrej7PStnTClMIjqtqtsOw7Gr7Kl0uwIHubj1fmhJu0Jq7AsKznD432aZnP1MCG
cR1Wr4EgYSr79vX9Cd6s
=Lcfm
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgd.eagle.harpy from [a7a7bcae74] to [67e18415a4].

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>8f2147b5-a488-47ee-a91c-74169b43dc10</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-11-15T05:29:42.7643484Z</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>041a78ad-def2-468e-93e5-a4187d69b9fc</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-12-18T21:52:29.3681640Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgd.eagle.harpy.asc from [782f665a11] to [5ccaa40c80].

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

iQIcBAABCAAGBQJYKp1+AAoJEFAslq9JXcLZQeUP/1bSzd/kFlm82bMhTNwmqF46
EYp9BUoU8YWHEGby8j1nfuUKzpxr3gn6b3Bf/pl6O0d4I4WqysSIo3D63O/GgnQv
Q8idoTz5He9S+gTEXVBENwxLgcP/Jq4w5JX7mNWa3hg/qy5iZZtoGH7qZCuykOHT
rSYhdNJRD3b2WgyHFXa4VYy8DrIwvMrjjO1vb38cu9ri2dBJwOJ9jKyRiMycI1Si
PbmheN0lUZK1uo8ISmPUfvP0oYp8fIeYcWFGx32TEY9k04zc6zT37pFiqJLH1MMY
PNII1lnbiDts1jduFC99kBmO73jW40kYrMKAzvWldNXaxoyDNZ4m6p3v+eq+oRU6
IUTHlKvNr8WQFi9pL19VA3A0sghL2cIk3jUdmWBv79ZYAk8yfRjKZLJPJg7KSLkC
qEdK9CtskyvGuNWHO3xk1dafzRo/DG+smYI893iBUxOHI51TG5W4g9Qoa3a/ACoH
+giIwJU09DXedXvAZ5k/UgJp5mqLJIEEQ5qAFzll4AGQJd92e3uHttL+Q/wZXrOk
IfJsSs4dPFlBm8ki2h6JvlnYfh2F8na5e7Pogt3sGekXw11n5Fx8aVS1BhY/ucmD
TUd+Nwbn0WpAUZ4LQ6rz8LYyVFTaG50YQG+ACLZHt2EmLh3YZTOE+dwIgj4bQw8k
1zjvTjQX6T9tLJ48z5uV
=hOTE
-----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

iQIcBAABCAAGBQJYVwVMAAoJEFAslq9JXcLZAmcQAL6t6rLSpsVOv9oxVowgdcj2
vMiYFiyXbvzqrZhUlfBsalSyrJe1wBHug9C7oZo081v6zvi5WnA5d1CQ8ukRfTyj
i9Ip15U/QsCvPu9sFclhkfUdncJL59rcLSfMxEBpDJsrfIlcFPhK1BtwvmhGtMAm
7kHPYEeqqOj8GQtXUmLoftb1gpqV9c9e3cXd9hwKxFDma/RE/02wv7t83Sd5Jik/
4weq2o541CqXyl0Y5z2HYuwDlNOzEw6kG3NRyoU1MwvfgBW9WOyZd4hhRERcMb3g
71ljRtwfq0sbJv6cGMaJIRziewPHCIW8bGjOAnmGqEqag0yh6YNCm7uf7QodF+bo
G/u4MulM0FI0SvTshLCtbsyE/bA3HC9kRpOL6kVLcCw5V42SjlkAzyS5iZMXfxLG
E/icZXXQRNrhTyfILXAbVQqD2X1knw60QaXHpS5YRNd+9PgUPZIf4k2dykvQdtlX
OfFCbXHgxM9kX59DgzBFJF0yIGC9GEHGaglOxlOm838dpNu0Z0MFgsJcOpz0natZ
Ou1g77F485JhlF0mKOakTr09YDguGIl4KiqiDithalzFhx2K1kaygxIjEyXaiwmp
u/n1QjRDnN6mtgOGqK5X1/VFbvBpTpD61gjUde4FAeD/Qcoqbt0++dLhaUjmnVOs
orCqiEuvvHU2Fko25R/0
=rePc
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgr.eagle from [46ce6d2906] to [2df5f1ebc0].

110
111
112
113
114
115
116

117
118
119
120
121
122
123
  }

  #
  # NOTE: This procedure returns a string argument value, which may contain
  #       spaces, for use with the [exec] command.  The value argument is
  #       the string value to format as an [exec] argument.
  #

  proc formatExecArgument { value } {
    if {[isEagle]} then {
      return [appendArgs \" $value \"]
    } else {
      return $value
    }
  }







>







110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
  }

  #
  # NOTE: This procedure returns a string argument value, which may contain
  #       spaces, for use with the [exec] command.  The value argument is
  #       the string value to format as an [exec] argument.
  #
  # <internal>
  proc formatExecArgument { value } {
    if {[isEagle]} then {
      return [appendArgs \" $value \"]
    } else {
      return $value
    }
  }
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
      if {[catch {
        eval exec -success Success $openPgpInstalledCommand
      } result]} then {
        error "cannot use OpenPGP: may not be installed and/or configured"
      }
    } else {
      if {[catch {
        eval exec [subst $openPgpInstalledCommand]
      } result]} then {
        error "cannot use OpenPGP: may not be installed and/or configured"
      }
    }

    if {![info exists result] || \
        ![regexp -- $openPgpInstalledPattern $result]} then {







|







351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
      if {[catch {
        eval exec -success Success $openPgpInstalledCommand
      } result]} then {
        error "cannot use OpenPGP: may not be installed and/or configured"
      }
    } else {
      if {[catch {
        eval exec $openPgpInstalledCommand
      } result]} then {
        error "cannot use OpenPGP: may not be installed and/or configured"
      }
    }

    if {![info exists result] || \
        ![regexp -- $openPgpInstalledPattern $result]} then {

Modified client/1.0/neutral/pkgr.eagle.asc from [4f9aea824a] to [683837788b].

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

iQIcBAABCAAGBQJYVMeqAAoJEFAslq9JXcLZ7TMP/i1uqLXgToUaI4sFV8hoxPWQ
buaSI3nfNLJvv8jVJAfe7VolYJw9v0FHpeDTcVToVUDlcGy8W561stkgYn96f4tZ
C7jLGhqtv5IpESjXDm/1bf8QoJrLShx74W68/o1ae4uhlpPYxZg5vcSYFNS09h+r
BGNNza0rZS/4elml92cbsfc/h3Qn2A9chu34eiF0TC4zhCknrmU4LKD3yhlqpJWT
cDIGyKUecW+mSXJGltmmJL+IgO+tNwA72q91sJ3ZIsaEFdYMENZkwva9l7LxoK3j
tqJqknv6a8H1V9PKN9c+qUROq0c5+biwhgldfg1JTLD5ah1YcrZNB9idUen/ftf+
QTQnx3nYPLl7fnMiM6S6svWZjSdZ98Fnpu4Jr1F3Im4DSp6wQcILYruGah9ac49Z
XB/yFpiit7ZhoTH1IVNYYQMdqbf/Wb6WBO5q4CxA000C6ANrk2Cm7Xh5wFlTafg3
VsEzRNhOLfu8dO2CaOzTIfRo4QhwDJl9yDauei4sPo0J2FmbPTyMBnBwz/X14Gcv
st5sFAIsryfSx2c3rDpnj8aFHcQLi0DuB8QCR0p4aSKVb2lenmZfcA85PZYD662v
2x/41sP//rajbEz3YjJlnoK19acDwJSU6uFuvLEqklnd7TDFHl1YtnVVD6wvfSxV
F67DBCIaQLgfEMK45lzv
=waFs
-----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

iQIcBAABCAAGBQJYVwQeAAoJEFAslq9JXcLZeqkQAJTeEFiD45QEPzD2PrVAfoVG
EddgG1kirgYvAkLVJrH+gw0ebzCt0CmOnlPutr+saIDNu3IyozC8Hcui37I3FBqc
YwTZzXtoZ9VvRdFTJ118abyv9zQVAgB89WL6xOt6AhnlkNS5FAexi8eKNMppLTg2
r7XkZlhI+vMKdJSE/UZsTy3PQ301Z31S4IxPDyLA6BfcL1dVuEKpgOosyNXdvtiZ
1In/f3aAze9Ech6gET8g2UAGCYIP/Sjxv87ehvCvwyrKXTPrtvL9PGnRfJUv4EDn
wOiNGS9Ki2vqUkVEay/6IIuRfwAVXw1Ln8RZmFJmp9g3aqqy7Y6NdyX57Jk14OdV
of19ykiFd9ZF/RMBwfP77gvELqeEm3JlB0OBeCgnaWnlQGZcs/jSqqmCQFe/oJ1V
8ySLyWos8IfvM20uK4STuutXF13GIBg4lcW5Er5AqjNIKlsNGfp0kwDAR3McKgcf
x7tVqPvDA8gEftgj/ry9s6cft2352WR3QGbSTUKefOs+utaGZZMMgWt7LsUe54zN
ee4kCeouGXjnu/lTnXazm6BKIgq9CxMYIPU/wP8s/He3sdGOsNVtnR3xb2TLbMLt
fIKPrTpumO8QiMXWFGD7pfdOnCZJ32vmCjKBcxgB/QdQzK35k/3EGgn44+hvX4E1
OBBi97xC4x4HplQZsjud
=HUUN
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgr.eagle.harpy from [c814762109] to [c59a944dab].

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>b26eb0c0-d25c-485f-9228-064fdd1f781a</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-12-17T05:04:57.1298828Z</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>ae81f124-a07b-4d2b-93fe-7df620076a90</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-12-18T21:45:50.7265625Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgr.eagle.harpy.asc from [e6c0f2e243] to [3037ce66b5].

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

iQIcBAABCAAGBQJYVMetAAoJEFAslq9JXcLZE/8QAJY8LtO8YUPPhTY+RPAPw7vZ
R5W/eCOJ1Qy185xjLVYeb6V0ULxEAgY7iNw4mAkF7dZl1oQ56Xhao4L2sH4+nsMx
q/BU0Y/Bk0StpHpRvw10bWl/iVo4W2qK07gXepgL9zpI5pl/lJerSJA3LHd6RD8T
Au/2dw6d/N4ozkc3BTZf4PVZCKfLzVdQ1hEbpDTVlWd0fDS9sEywdML/OKgMzvbG
YfJrTwjF8sf3urJDbBolFxV430mdbIbLPyvkUCCiOjC3oJi0766B2Xsz+95fY16y
fMa8T96R2atRPCOolDN5jdIvCkP3VRKlts6OoNZ7nojiS0SsDsREgt5cEFWieXYg
JFf0Ln5wqjAWxRLl/MlZw2qoN4VQKD9OyS/m/lncNQ4udP4/AIeuQIIeJ0e/pjuQ
7jiYm9ZCyBcFT7ncU1gZjp9zQar4hWY1oF79RfiwAhno8Rz1CwAFNGKaJ7nenx+7
/orx8qcDMFZnPh0fsLQJ2f+Z7TTFmLDuYvA8tDHZRWF4RO//+HYec2KZYIay1ZHI
6RiaNzwjNKI2RF9yJUS+6tGhhu1ck2MR5IXuQ9QFLXqke15qwkpMdKUTxu8N2K/L
FToN9rn9WfC6O1TeUGZkYr7q9hgZ7hBCn0iiLikrgafxuSVQ5eQCRyLD+04vn3nX
cXMvYolWIL6QiREGHpsW
=zSis
-----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

iQIcBAABCAAGBQJYVwQgAAoJEFAslq9JXcLZbsgQALatwV8267QDzHrDHW+18vu1
gcmYc2ufKElQ/TC3eO+tClrLq57lSs7Q96ervPsK/zhpqFaGs6iNQjOk+zxguP2N
TNAmTiH7mTEnodg+8EAgxzpc/Oysgd/PFjeXduK+cyjCwqxTtkv3WDYyT+HtAEYQ
KK4JMM2eMTYb015CCceRj9stkd74aexQcKK7QzXOf7PmxxqRhyxw+ukP/XNkrIGA
iq7jSAV6ml8Z+ASkGIm4l4cMQ3yQMABB8xgda2svhvvmrAmPm0pEutserZFA9k9s
QF1QdEgzMb8STmj3zFiFBRUX/J9HRBaf7F9Bbn8WJzqjia1rzrpb6D6XNZBGt0ww
Qm6X0Zh6qL89Wlz6oQimg6kXOMpd84IN3f7mECGBY+Av+/byeZXzDBfeqJ+a54F/
mev4tWdQtfnro0BGN5z/3nz13LVCgt9mp8o/UKn92FUL4738jIUAIpXAstMIihJZ
uMzr4fF+9kSgweWuD25folUy5mFxE2ZJJES/dVFuxY6hFv8RRqrLHppGOVw9EQoi
baJNWQhyFxBYCxj58cAPdmOp2Vk2teU/ePu94nwAauPto+2scAsYOwQDFL6I+V/G
TzOoq2Cc4JrhV6PS5e21Vj3fJms51rF6ZfFXrntxWHhU3wyyRrTqSH5AR2HIynbc
8H/k8gJ8I+WOp0v8UarK
=kXjW
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgr_setup.eagle from [90601fa7f5] to [3948e4d333].

84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
  #
  # NOTE: Verify that the number of command line arguments meets the basic
  #       requirements of this tool.
  #
  if {![info exists ::argv] || [llength $::argv] == 0} then {
    set localFileName [file join \
        [::PackageRepository::getFileTempDirectory] [appendArgs \
        pkg_key_ [::PackageRepository::getUniqueSuffix] .asc]]

    ::PackageDownloader::downloadAndSaveOpenPgpKeyFile \
        $localFileName

    ::PackageRepository::probeForOpenPgpInstallation
    ::PackageRepository::openPgpMustBeInstalled








|







84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
  #
  # NOTE: Verify that the number of command line arguments meets the basic
  #       requirements of this tool.
  #
  if {![info exists ::argv] || [llength $::argv] == 0} then {
    set localFileName [file join \
        [::PackageRepository::getFileTempDirectory] [appendArgs \
        pkg_keys_ [::PackageRepository::getUniqueSuffix] .asc]]

    ::PackageDownloader::downloadAndSaveOpenPgpKeyFile \
        $localFileName

    ::PackageRepository::probeForOpenPgpInstallation
    ::PackageRepository::openPgpMustBeInstalled

Modified client/1.0/neutral/pkgr_setup.eagle.asc from [8cfd7ee50f] to [aa397a518b].

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

iQIcBAABCAAGBQJYVMvkAAoJEFAslq9JXcLZBTYQAMbgrFtbS2DDkME29HTfR1ub
QK4NdfPVkmtG24ZbjFpilyYj7C9wh1zu3u+FmS4ObgEPdeEXXCn0tYq6cbdEiyBa
pwDdiCrbag6rBnXut+ewK3gKptrU4FeUBvn/mGSeGZplJ5koZRUqVX1E7KGnMJc+
lP3yfvunI3DdTWV+xchwxN5QfBFWAw0wz0BpX7mfnaaX3DvKhoqjS/jOYkDpjnZh
Fw7edBFFQNS6RnRGm3AuVzr6FyE4PRocSFig0n7iKkPfOwa16hRVpVsSYWGMVRAD
hB/qIJX219TnNo+Fupu/E/rE3d0E+i5fgqCH/T83EEflvz7CUtwUWbbJmAckwHhf
b4toGNIeC6JNcHiGdFnINvkcuTVf4jPQItvmVQ/HzYX85H152JGWK5ZrE7gb437a
3wYli/eE78qYDTqfsP8G2tTlUH9dCZGDjimEgLeI+HNxQPK0r4qecTr/HuWOopW6
bGb+RasUcagGfqv5BqbGIuDsCaCDTBnA6X/0OxoZ6HVOPbJ/jzpv0+DJcXY92VCe
DYjIcqE/iSF5QTb/2+qFdx1KJSlBw96Hffy5VNkfZ4v9xgDV1jq8KbxRsa0O26EZ
EbLXgu4Vh3vaso4KJql7Qc2dnd113VjpZzIeYYkk/KFZzz1mYrW0z+cS6HsayBv7
ZVvYBoy/FnkORVY2cJtk
=By2Y
-----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

iQIcBAABCAAGBQJYVwVQAAoJEFAslq9JXcLZjr8QAJuN7+vXwwcoRjxfIy0JeRWn
Iyh9oNw07aFrJKcbXlvoKWe9BnIFpamNkmNsfMp+ai2Rvx4ilRX1uQk4OkbWtQG2
eowGnGsfxXG0UhAlfZ6R/CBcAmYuf6q7VpJB04VnDv+nlCKtkJ1iibyzNBJBl4Pj
G/t/ij+V4gnQd946H0103tHjHc9ezDXktxyMo/JS5sxkV5y1XYwJ/xqj2nt1hC2z
EDwGcgIx6nkXmj8BN0tV1c6VRsbeL+4id66MY1yv1ySm9gXSVGNVnu1v5l/xo3E4
d4CzD2rJHuPU9dudLBNqOkPTAFzxcS3PIUZDJJcHfE3H4+jUU4+NFDOb1IZgfClB
l8HZdd09bMoQ3xQwHPKyRn8baEvVGG2uP/gBwAzoo3L7TcvQKTTTGXYNK+3FpDYo
9GZReiMt/CHWDrS8SxPQ6tzaTCHEsn4Zxt/FPN6LYpr6qgrEKb8xabcBlDdz2EWq
qgba4cG4EU+T6nJcpJzLDssyb+Mkekv30r+fT3U+XNfqTXXXkTo+qkzZYJSyIRPF
rb3UBXM6rr5Xoo+u7npu7g4zX0gK5b+Vux8UxxSVNvt4S4QJESyT+LmMRXSBaQx6
39mdE5mi+U6Ge8quigFuMJSbB/l0y04CdmyFYmBYKaJ6fX98XiDM1TpUDuQ8vQD0
wO6bmZfAxbB4rtLeOMU3
=bfmi
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgr_setup.eagle.harpy from [e1fa8a613e] to [a8672d71a7].

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>06ca970a-0ab3-40d1-b1ea-31f8b59438fa</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-12-17T05:23:19.9599609Z</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>34291b75-8cb2-435c-a1e6-35f409884f68</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-12-18T21:52:51.8710937Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgr_setup.eagle.harpy.asc from [0d986c32c6] to [18cbd1a590].

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

iQIcBAABCAAGBQJYVMvmAAoJEFAslq9JXcLZB4UP/jleaXUYBIjifW+6xg6YgoeW
Z5vHUPm7JSGXwXsSJo6dXkaaz02N1eqP2vtn1bNXbYIKf62o+SRXeu41ftOLGR9H
/Ate4RPgryM5S12LyZjb/B8P3uuTFQ+ld/54SnJ+O6RvStWWKD9qOLIZrnixRhKk
JPJwFBrFfdWY9LvrKeS+uZwWbuw9TQhAehnvULeYN9R0KBpdWHVqv2dZK9Pjiy6d
mUujtl+eK0zsb5NuqYT2x56KxzKIUmJmqXtKVkK/9VIZhYZD9NKIA67Fmcacgs9Y
VMS8yYGrDO/yS62A77Nh6GaMn1DtvMebS2ovbAiQCGZUUzw46ZdzBoDtxxNh8ZLb
m1KQLGoDHu5RdRm4k7LI8vs5EL/NJAJRpG2TaDjBXlpMfTVcI+PkrOSQolBx8f9U
eeOV30CcLQX3s7HZ4Mh+MVZfsNWGSytsuxPoOWqnTDdcws4TIdRRZC6mIFIHzJEZ
iQ0Iqspvs8ViycCkPwuVc5nuES3vqB/8thEveKu2YCQBdSqAA3GE8JWN6X8YizMC
7V5MuNRySmEGhRwM5J/bMeXasZVDQp2EGT3VQUmR5W0sAbDdVEETfdI1HEMXQbWA
QC5VRCxUoljFqfTV1bu5R2/jZf5xXrfXcWUi2CSWM2gHonypJgdrPzvXLxOtKCTN
2sP22uyHVr00CaWek92p
=uqMI
-----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

iQIcBAABCAAGBQJYVwVRAAoJEFAslq9JXcLZPPsP/2tAc2JDdMYVAVMPMFTOxSdi
h1mpmlnJt9KESfYTW6k5JTSXcwqlRGwqe9kUCFnH7M6h3Gs44xtK9zFHp5IpZYN1
qxC6fw1Qd4usev7rq2C4n8CddzdSgg3UyT+P7jIsQKKDU639fG4TyPFh2yJdpThK
kPNwXmCDWrygPFAwLRDCk4sPXx9DiaKd7EL6Ce+qlvaOC80oyHi6oRdvkJcIrOjz
IN3klBEpOTAw0A6UTz9HuW7Ooj9lWEB5CdEuBRVI5uX/5C2GIU4yNC7ljZDmB8Z5
65zKMzLefLOgFaMw77Uw/8ENJTy7Pc3iZvLFlkyKs5dbfZudv7tzesPpMItQj9gX
kkZkA5DORKhXDJHSKgV/QzyFmHxUiWoWwjgSraqvGQIHrzPTZMBl+6f8aGgWQ5Qm
6aIkMtqAjryb6WlQ4j81CMpILw7I1HRM5i26KFbyIGtEeu7XRGGB+Ytm5v3CzIh1
wpu5ejsAQ9VsEIq7ecwFYnEDSK4FJudzFfo9b51qz0NZ65XdiNTPNrL2Xnwa+Edn
LCv0oB8QO6olHNuWzwZXKX9gFTbanBXX3jTTps2jx/D7COd5AlzC+cmNWWKLdxhd
SdBouaREWajpyjRxQ5dOjf9fCISlIP2XCnzTQfqEZGVQgcAy7tDa7rydF317G+F4
5rlCwgN/Q4eggSnmCfr8
=/btw
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgr_upload.eagle from [de331db2a1] to [4e70a976f9].

33
34
35
36
37
38
39













































































































































































































































































































































































40
41
42
43
44
45
46
  [file tail [info nameofexecutable]]\
  [file tail [info script]] \[apiKey\] \[name\] \[version\] \[language\]\
  \[fileName1\] ... \[fileNameN\]"

    exit 1
  }














































































































































































































































































































































































  #
  # NOTE: Figure out the fully qualified path to the current script file.
  #       If necessary, add it to the auto-path for the interpreter.  The
  #       necessary supporting packages (i.e. the Package Repository and
  #       other support packages) that are assumed to exist in the same
  #       directory as the current script file.
  #







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
  [file tail [info nameofexecutable]]\
  [file tail [info script]] \[apiKey\] \[name\] \[version\] \[language\]\
  \[fileName1\] ... \[fileNameN\]"

    exit 1
  }

  #
  # NOTE: This procedure sets up the default values for all configuration
  #       parameters used by the package uploader client.  The script
  #       argument is the fully qualified path and file name for the script
  #       being evaluated.
  #
  proc setupUploadVars { script } {
    #
    # NOTE: What is the fully qualified path to the directory containing the
    #       checkout for the package client?
    #
    variable checkoutDirectory

    if {![info exists checkoutDirectory]} then {
      set checkoutDirectory [file dirname $script]
    }

    #
    # NOTE: The command to use when attempting to stage package files using
    #       Fossil.
    #
    variable fossilAddCommand; # DEFAULT fossil add {${fileName}}

    if {![info exists fossilAddCommand]} then {
      set fossilAddCommand {fossil add {${fileName}}}
    }

    #
    # NOTE: The command to use when attempting to commit package files using
    #       Fossil.
    #
    variable fossilCommitCommand; # DEFAULT fossil commit ...

    if {![info exists fossilCommitCommand]} then {
      set fossilCommitCommand {fossil commit -m {${comment}}\
          --branch {${branch}} --user anonymous --chdir \
          {${checkoutDirectory}} --no-prompt}
    }

    #
    # NOTE: The regular expression pattern used when attempting to verify
    #       that Fossil committed a set of files.
    #
    variable fossilCommitPattern; # DEFAULT: {^New_Version: ([0-9a-f]{40})$}

    if {![info exists fossilCommitPattern]} then {
      set fossilCommitPattern {^New_Version: ([0-9a-f]{40})$}
    }
  }

  #
  # NOTE: This procedure returns a string value, formatted for use within a
  #       script block being processed by the [string map] command.  The
  #       value argument is the string value to format.  No return value is
  #       reserved to indicate an error.  This procedure may not raise any
  #       script errors.
  #
  proc formatStringMapValue { value } {
    if {[string length $value] == 0} then {
      return \"\"
    }

    set list [list $value]

    if {$value eq $list} then {
      return $value
    } else {
      return $list
    }
  }

  #
  # NOTE: This procedure counts the common path components for two paths.  The
  #       count is returned, zero if there are no common path components.  The
  #       path1 and path2 arguments are the paths to compare.  This procedure
  #       may not raise script errors.
  #
  proc countCommonPathParts { path1 path2 } {
    set parts1 [file split $path1]
    set length1 [llength $parts1]

    set parts2 [file split $path2]
    set length2 [llength $parts2]

    set length [expr {min($length1, $length2)}]

    for {set index 0} {$index < $length} {incr index} {
      set part1 [lindex $parts1 $index]
      set part2 [lindex $parts2 $index]

      if {$part1 ne $part2} then {
        return $index
      }
    }

    return $length
  }

  #
  # NOTE: This procedure processes a list of (fully?) qualified file names and
  #       tries to determine their common containing directory, if any.  The
  #       fileNames argument is the list of (fully?) qualified file names to
  #       process.  This procedure may not raise script errors.  If there is
  #       no common containing directory, an empty string is returned.
  #
  proc getCommonContainingDirectory { fileNames } {
    set length [llength $fileNames]

    if {$length == 0} then {
      return ""
    }

    set oldFileName [lindex $fileNames 0]

    if {$length == 1} then {
      return [file dirname $oldFileName]
    }

    set minimumCount 0

    for {set index 1} {$index < $length} {incr index} {
      set newFileName [lindex $fileNames $index]
      set newCount [countCommonPathParts $oldFileName $newFileName]

      if {$newCount == 0} then {
        return ""
      }

      if {$minimumCount == 0 || $newCount < $minimumCount} then {
        set oldFileName $newFileName
        set minimumCount $newCount
      }
    }

    if {$minimumCount == 0} then {
      return ""
    }

    incr minimumCount -1

    return [eval file join [lrange [file split $oldFileName] 0 $minimumCount]]
  }

  #
  # NOTE: This procedure attempts to process a list of (fully?) qualified file
  #       names and return the corresponding list of relative file names.  The
  #       fileNames argument is the list of (fully?) qualified file names to
  #       process.  The maximumLevels argument is the maximum path depth that
  #       is allowed for all file names.  This procedure may raise script
  #       errors.
  #
  proc getRelativeFileNames { fileNames maximumLevels } {
    set directory [getCommonContainingDirectory $fileNames]
    set directoryParts [file split $directory]
    set fileNameIndex [expr {[llength $directoryParts] - 1}]

    if {$fileNameIndex < 0} then {
      error [appendArgs \
          "invalid containing directory \"" $directory \
          "\": cannot go up one level"]
    }

    set relativeFileNames [list]

    foreach fileName $fileNames {
      set fileNameParts [lrange \
          [file split $fileName] $fileNameIndex end]

      if {$maximumLevels > 0 && \
          [llength $fileNameParts] > $maximumLevels} then {
        error [appendArgs \
            "depth for file name \"" $fileName \
            "\" exceeds maximum (" $maximumLevels )]
      }

      set relativeFileName [eval file join $fileNameParts]

      if {[string length $relativeFileName] == 0 || \
          [file pathtype $relativeFileName] ne "relative"} then {
        error [appendArgs \
            "bad file name \"" $relativeFileName "\", not relative"]
      }

      lappend relativeFileNames $relativeFileName
    }

    return $relativeFileNames
  }

  #
  # NOTE: This procedure attempts to create a script chunk that appends the
  #       specified list of file names to a list variable.  The fileNames
  #       argument is the list of (fully?) qualified file names to append to
  #       the list variable.  The maximumLevels argument is the maximum path
  #       depth that is allowed for all file names.  This procedure may raise
  #       script errors.
  #
  proc getScriptChunkForFileNames { fileNames maximumLevels } {
    set result ""
    set relativeFileNames [getRelativeFileNames $fileNames $maximumLevels]

    foreach relativeFileName $relativeFileNames {
      if {[string length $result] > 0} then {
        append result \n
      }

      append result {  lappend fileNames [file join }
      append result [file split $relativeFileName]
      append result \]
    }

    return $result
  }

  #
  # NOTE: This procedure creates and returns a script block designed for use
  #       with the package repository server in order to download and provide
  #       a package consisting of a set of files.  The serverId argument is
  #       the identifier for the specific server to use, if any.  The
  #       versionId argument is the identifier for the specific version to use,
  #       if any.  The language argument must be the literal string "eagle" or
  #       the literal string "tcl".  The version argument must be one of the
  #       literal strings "8.4", "8.5", or "8.6" when the language is "tcl"
  #       -OR- the literal string "1.0" when the language is "eagle".  The
  #       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 ""

    if {[string length $serverId] > 0} then {
      append prologue "  ::PackageDownloader::useServerId " $serverId \n
    }

    if {[string length $versionId] > 0} then {
      append prologue "  ::PackageDownloader::useVersionId " $versionId \n
    }

    append prologue "  "

    return [string trim [string map [list \r\n \n \
        %language% [formatStringMapValue $language] \
        %version% [formatStringMapValue $version] \
        %platform% [formatStringMapValue $platform] \
        %prologue% $prologue %ns% ::PackageDownloader \
        %backslash% \\  %fileNames% \
        [getScriptChunkForFileNames $fileNames 2]] {
apply [list [list] {
  package require Eagle.Package.Downloader

%prologue%%ns%::resetCookieAndLoginSimple

  set fileNames [list]

%fileNames%

  set options [list %backslash%
      -persistent false -usePgp true -useAutoPath true]

  %ns%::downloadFiles %language% %version% %platform% $fileNames $options
  %ns%::logoutAndResetCookie
}]
    }]]
  }

  #
  # 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

    set relativeFileNames [getRelativeFileNames $fileNames]
    set savedPwd [pwd]; cd $checkoutDirectory

    foreach fileName $fileNames relativeFileName $relativeFileNames {
      file mkdir [file join \
          $language $version $platform [file dirname $relativeFileName]]

      file copy $fileName $relativeFileName
      set fileName $relativeFileName

      if {[isEagle]} then {
        set fileName [::PackageRepository::formatExecArgument $fileName]

        if {[catch {
          eval exec -success Success [subst $fossilAddCommand]
        } error]} then {
          cd $savedPwd

          error [appendArgs \
              "failed to stage file \"" $fileName "\": " $error]
        }
      } else {
        if {[catch {
          eval exec [subst $fossilAddCommand]
        } error]} then {
          cd $savedPwd

          error [appendArgs \
              "failed to stage file \"" $fileName "\": " $error]
        }
      }
    }

    cd $savedPwd
  }

  #
  # 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 { varName } {
    variable checkoutDirectory
    variable fossilCommitCommand
    variable fossilCommitPattern

    set branch ""; # TODO: Figure out a good branch.
    set comment ""; # TODO: Figure out a good comment.

    if {[isEagle]} then {
      if {[catch {
        eval exec -nocarriagereturns -stdout output -stderr error \
            [subst $fossilCommitCommand]
      } result] == 0} then {
        set result [appendArgs $output $error]
      } else {
        return false
      }
    } else {
      if {[catch {
        eval exec [subst $fossilCommitCommand]
      } result]} then {
        return false
      }
    }

    if {[string length $varName] > 0} then {
      upvar 1 $varName checkin
    }

    if {![info exists result] || \
        ![regexp -line -- $fossilCommitPattern $result dummy checkin]} then {
      return false
    }

    return true
  }

  #
  # NOTE: Figure out the fully qualified path to the current script file.
  #       If necessary, add it to the auto-path for the interpreter.  The
  #       necessary supporting packages (i.e. the Package Repository and
  #       other support packages) that are assumed to exist in the same
  #       directory as the current script file.
  #
63
64
65
66
67
68
69

70
71
72

























73
74
75
76
77
78
79
  #       package.
  #
  namespace eval ::PackageRepository {
    variable verboseUriDownload true
  }

  #

  # NOTE: Load the Package Repository Client package now.
  #
  package require Eagle.Package.Repository


























  #
  # NOTE: Verify that the number of command line arguments meets the basic
  #       requirements of this tool.
  #
  if {[info exists ::argv] && [llength $::argv] >= 5} then {
    #







>
|

|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
  #       package.
  #
  namespace eval ::PackageRepository {
    variable verboseUriDownload true
  }

  #
  # NOTE: This package requires both the package repository and downloader
  #       client packages.
  #
  package require Eagle.Package.Downloader

  #
  # NOTE: This package requires that support for namespaces, which is an
  #       optional feature of Eagle, must be enabled.
  #
  if {[isEagle] && ![namespace enable]} then {
    error "namespaces must be enabled for this package"
  }

  #
  # NOTE: Attempt to read optional settings file now.  This may override
  #       one or more of the variable setup in the next step.
  #
  ::PackageRepository::maybeReadSettingsFile [info script]

  #
  # NOTE: Setup the variables, within this namespace, used by this script.
  #
  setupUploadVars [info script]

  #
  # NOTE: Provide the package to the interpreter.
  #
  package provide Eagle.Package.Uploader \
    [expr {[isEagle] ? [info engine PatchLevel] : "1.0"}]

  #
  # NOTE: Verify that the number of command line arguments meets the basic
  #       requirements of this tool.
  #
  if {[info exists ::argv] && [llength $::argv] >= 5} then {
    #

Modified client/1.0/neutral/pkgr_upload.eagle.asc from [60f01e4cc7] to [535ecba6c3].

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

iQIcBAABCAAGBQJYVM2HAAoJEFAslq9JXcLZqDQP/0EuHa77yyYqMTY5LnOfFZ0t
vDquGO1Qk4vOw3m3lQKejssZqQLS46qe0+xfdDg81/vIU5w81Z1FI8V51m5EgHd4
g9O9GOGgLR/ZRaEkEY12nzvyk4kBYQ6OmQshVVD0cSb+72SNh5Olry8DnoG8bRn0
LGB43ir2+6Mhu02o7WGdI7HlST51/WHMkIkvpbRqxFa8W2E0YahngZJA0icTnpHN
ZY+iosWtPk9gigW0GWAjJLQBbwVYjnfd0hX5W5AcQ6ZU/6m1vBNGJTMk8+cuFnPr
TvzohUMJdO38ITtFr/s/pIq7ELyP25ayTMDdWKARKHKRoLQAXuWvwmXNXrF71VSE
fBPQrY47AGE4PBpG+yVqlv1hqDu+sPhRzNl2XcXTRVOZ1mRhQnfc2ebQkSKETU+O
vzspwLmFrOJ8gsYTidSgw8WCXaywjssISNtSm0AcklwjgOeO2e6Vc1erY1h9HctS
kTB63CuH5V4OuxBUkjFXqmhBuqYUZG+W6Soha99hIw9Jj8j12yfOF97N7ldm7XVO
NoQweZJXYrV4At9ZiXXhMsZ8RgolQtms29kFXeZ879rq4P8QlCmIN+NDJZHbI2k8
TyVayOg1Q8LcLIi51o/kQ7ldzSd/xZf6kJzPZdUDpKqJBZHUH0aF8C1f/VhebacI
c+gJibewxrSrqMjIE6B+
=MPwB
-----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

iQIcBAABCAAGBQJYVwQtAAoJEFAslq9JXcLZnJwQALBsQx/cyFnhirxuzPy2FRKV
PzEcn31GlctKucSzMEM6OPebLica8JpZ8F2G+EEaks4LAYEfS3L7nXsSzO5K1FkB
o6UCvho/IHvbP8Qealte7xydpAH9voxLuoZgoQvtIl4pnNy2zv+YYXX4vwiKdvkl
PttvyIlVZNhNUIKEivizmkZkN9Oj+uPqawn3FFSuUqg45jEB+h2Wc6mi0T6Hr85B
kCc56a+/w6IvMQXP/cIlY6/0Ki4ExSE4MYxJ/YuvdEDXokcTSgvuMXdhter1U8TG
X4cVHatGfjNvHPt7cjax+mRvi/md7f9xKOeI/mjDIdfqMzAMhXrP78lEO+uHqxgx
p1ugiPJYmljjiWzu/qX/onqkL95CfGIZlY4GNyd4E8nUwY/VWW0yXQwrcJdY/oic
ehfVJuenaeUUfXVDNux8meT/FnngGLoEQK9SM6HYKDlc1IUS6Oj0d68pd2hQNItC
CdJ+co8dPL1fhxGTcQUEkgTUNAbq3PmMG8J+NQQmz7MPSD/2c4d1EN5A1ZlK/l90
GZT79FrCJholqkCcy7cJxBSRSuaw2MIc1Gsxipv74/936OSJbuG7l5fmzgcR6Ek1
DlckRcQXsHoB5XjfjxXV/MEQpvaUvkCuSvK/yvwxtUcjAr8ve2axMhdrB/pPdlt3
wVmzw6hrTus7pNmJsCdv
=Hylz
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgr_upload.eagle.harpy from [1d2925f0b5] to [08d06ff8a9].

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>410ca3b4-8e95-44e4-a931-03b0cc7e1281</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-12-17T05:30:22.5644531Z</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>8a427ea5-5e28-484c-8fc6-75d2516fe10b</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-12-18T21:46:38.2734375Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgr_upload.eagle.harpy.asc from [f19af08e58] to [75bba8197e].

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

iQIcBAABCAAGBQJYVM2KAAoJEFAslq9JXcLZiNsQAJqKASG3YGn6w7BJRAonKw0y
jmxVC9wCeFwarD46I0E93XQmNNA6mkonRwT5CvDuUd4G+sH7i5fyM2BIVy0XFO26
OutiouvupFBiQU2ObsZbGYKrsfN/EpA2/axWAldg4WYDH7dC+3pNd95yp61dDfBg
bJ6sidNHnUokLzJQ5PaFSYrgaf9/toEZZfOeCmF+4r0frIf4anERuwA4R+RmeeX4
3ZZbnbb2GwNortF/DEy5DyRO/sz7eyBIBACdp/IacSvHy0UIFD8vIIA71DFrYiMg
pmf0JyFjwXFF98VLwmatpb3OvtuwEoN+0vaCZ/BRAY4FpTykDUuvKGAYn26k0lVU
xaKtt9jDBii1VnO3ZgoBjnAYu4dfd35F+EOi7P5uT6SsPS+GjfbZrQrimyDO++Cd
8rGGw3FEKFVaV40mrT1dlIdpo64fsQmLTwYc+SM/fiQbtbKZb9y+Rqo0UO9cuWCP
l+dZyw8vRRelRxpsZNYuImLk27HRrBr38JelANfFuO7Lm4WiC6DdzEiL3Sf9BtEN
xkapDjBz7VhUJ97m0KoC+ODemckv3tlZD+9deowRdYmdjGKtn8GqbNhNfoF0vUGN
g4zj+UvQ1NblfPLVBEF4WcZFiHqAuRTw/WDBraZXhwbMi51JjVWfOo2WK13tODl8
KGic5Aea3InSHNGZU4rj
=MPMG
-----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

iQIcBAABCAAGBQJYVwQvAAoJEFAslq9JXcLZe+oP/Rp4FbANSsPE8W02UsaCmK9c
DQm7+Gx0I8CpgCi/BXW99yotqJu4ymJ3XcrUkovJ5OtwqmyOUg4s5Q91K4lohSTk
Oqf5b+Vn7qQkzkf7ZH9H6DgBI1jRQfpHmpHxLMbQzKD3Empdq0YQgEjDtE1V2FId
QTjidrwJQm44SS1TsLUBWUp6l1tbqR2dAz5wfw8vTwUWVFepxywK0E/xPISRVXNX
1O9HBIZ0xuQoJhNo/1ARKXAa0nDybC4oH/PhuwsaTUsJER83GuEzs52/ProejlGm
gRstZmtzGd4eOabGzlnQGFI4ql/FLDvCKIwO0qRKx2z4YJYl1EgrCSCeaGf25upb
kSMEKByPZUBFiLhh6HgzTswyZk32hcc5O66rrQe/qnA4PBhputXeaPB7UIDAmJlB
z7UigHmnvIKVX3ZS+gzr0FncBLn1BrTMaBlOM403wXexKTG6p2EXOR4EWnLzYytK
K9pm0x1HPd3sYKjUWZrNlHzR2pAeAFSVpYSdP/FkIn6kqSepLuxen1JX5EXp0z4Z
bNqQMVFFQ3fVdF0u91LefMuPrZ1fE1qp6cFJ+MTXlMUxQiPj7VVkRyqJi7dve0ka
x/GIBn/8QhDsf/I9p+ZwhtLn/hxjlo/X0EX5Pb5D+7aEzqkQbKJ+aSCS5QkCEtVX
DpCHEnVVybZlM0TSvV6m
=y+0H
-----END PGP SIGNATURE-----