Check-in [8101e57c80]
Not logged in
Overview
Comment:Add command line tool (wrapper) that can pre-install packages. Fix the Package Downloader Client so that it will automatically create the necessary master package index for native Tcl when needed.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 8101e57c80e63edcd2d52800e86241c89202a6dc
User & Date: mistachkin on 2016-09-10 22:05:21
Other Links: manifest | tags
Context
2016-09-10
23:16
The package installer tool must manually enable 'package unknown' support when running in Eagle. Also, make sure the Eagle.Data package files are PGP signed. check-in: 43d107aab9 user: mistachkin tags: trunk
22:05
Add command line tool (wrapper) that can pre-install packages. Fix the Package Downloader Client so that it will automatically create the necessary master package index for native Tcl when needed. check-in: 8101e57c80 user: mistachkin tags: trunk
06:20
Avoid making superfluous changes to the Eagle auto-path during the package bootstrap phase. check-in: 506829dcf7 user: mistachkin tags: trunk
Changes

Modified client/1.0/pkgd.eagle from [bba4803a0e] to [eccf995f19].

137
138
139
140
141
142
143











144
145
146
147
148
149
150
    #
    variable temporaryRootDirectory; # DEFAULT: [getFileTempDirectory PKGD_TEMP]

    if {![info exists temporaryRootDirectory]} then {
      set temporaryRootDirectory \
          [::PackageRepository::getFileTempDirectory PKGD_TEMP]
    }











  }

  #
  # NOTE: This procedure escapes a single name/value pair for use in a URI
  #       query string.  The name argument is the name of the parameter.
  #       The value argument is the value of the parameter.
  #







>
>
>
>
>
>
>
>
>
>
>







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
    #
    variable temporaryRootDirectory; # DEFAULT: [getFileTempDirectory PKGD_TEMP]

    if {![info exists temporaryRootDirectory]} then {
      set temporaryRootDirectory \
          [::PackageRepository::getFileTempDirectory PKGD_TEMP]
    }

    #
    # NOTE: Is this package being run by the package installer tool?  If so,
    #       all downloaded packages should be automatically persisted to the
    #       library path.
    #
    variable viaInstall; # DEFAULT: false

    if {![info exists viaInstall]} then {
      set viaInstall false
    }
  }

  #
  # NOTE: This procedure escapes a single name/value pair for use in a URI
  #       query string.  The name argument is the name of the parameter.
  #       The value argument is the value of the parameter.
  #
167
168
169
170
171
172
173








































































174
175
176
177
178
179
180
  proc getPersistentRootDirectory {} {
    #
    # NOTE: Return a directory parallel to the one containing the library
    #       directory.
    #
    return [file join [file dirname [info library]] pkgd]
  }









































































  #
  # NOTE: This procedure returns non-zero if the specified file seems to be
  #       an OpenPGP signature file.  The fileName argument is the name of
  #       the file to check, which may or may not exist.  The nameOnly
  #       argument should be non-zero to ignore the contents of the file.
  #







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







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
  proc getPersistentRootDirectory {} {
    #
    # NOTE: Return a directory parallel to the one containing the library
    #       directory.
    #
    return [file join [file dirname [info library]] pkgd]
  }

  #
  # NOTE: This procedure, which is only used with native Tcl, generates a
  #       package index file (i.e. "pkgIndex.tcl") suitable for use with
  #       native Tcl, 8.4 or higher.  It will recursively [source] other
  #       native Tcl package index files that are within the configured
  #       persistent root directory, thereby causing all packages located
  #       within it to become available.  Since Eagle (by default) already
  #       performs a recursive search for its package index files, this
  #       procedure is not necessary for Eagle packages.
  #
  proc maybeCreateMasterTclPackageIndex {} {
    variable persistentRootDirectory

    if {![info exists persistentRootDirectory]} then {
      error "persistent root directory not set"
    }

    if {[string length $persistentRootDirectory] == 0} then {
      error "persistent root directory is invalid"
    }

    if {![file isdirectory $persistentRootDirectory]} then {
      error "persistent root directory does not exist"
    }

    set fileName [file join $persistentRootDirectory pkgIndex.tcl]

    if {[file exists $fileName]} then {
      return false
    }

    writeFile $fileName [string trim [string map [list \r\n \n] {
###############################################################################
#
# pkgIndex.tcl --
#
# Extensible Adaptable Generalized Logic Engine (Eagle)
# Generated Recursive Package Index File -- PLEASE DO NOT EDIT
#
# Copyright (c) 2007-2012 by Joe Mistachkin.  All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: @(#) $Id: $
#
###############################################################################

if {![package vsatisfies [package provide Tcl] 8.4]} {return}
if {[string length [package provide Eagle]] > 0} then {return}

set pkgd(savedDir) $dir; set pkgd(dirs) [list $pkgd(savedDir)]

for {set pkgd(i) 0} {$pkgd(i) < [llength $pkgd(dirs)]} {incr pkgd(i)} {
  set pkgd(dir) [lindex $pkgd(dirs) $pkgd(i)]

  if {$pkgd(i) > 0} then {
    set pkgd(file) [file join $pkgd(dir) pkgIndex.tcl]

    if {[file exists $pkgd(file)]} then {
      set dir $pkgd(dir); source $pkgd(file)
    }
  }

  eval lappend pkgd(dirs) \
      [glob -nocomplain -types {d} [file join $pkgd(dir) *]]
}

set dir $pkgd(savedDir); unset -nocomplain pkgd
    }]]
  }

  #
  # NOTE: This procedure returns non-zero if the specified file seems to be
  #       an OpenPGP signature file.  The fileName argument is the name of
  #       the file to check, which may or may not exist.  The nameOnly
  #       argument should be non-zero to ignore the contents of the file.
  #
622
623
624
625
626
627
628

629
630
631
632
633
634
635
  #
  # <public>
  proc downloadFiles {
          language version fileNames persistent usePgp useAutoPath } {
    variable clientDirectory
    variable persistentRootDirectory
    variable temporaryRootDirectory


    verifyLanguageAndVersion $language $version isClient

    set temporaryDirectory [file join \
        $temporaryRootDirectory [appendArgs \
        pkgd_lib_ [::PackageRepository::getUniqueSuffix]]]








>







705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
  #
  # <public>
  proc downloadFiles {
          language version fileNames persistent usePgp useAutoPath } {
    variable clientDirectory
    variable persistentRootDirectory
    variable temporaryRootDirectory
    variable viaInstall

    verifyLanguageAndVersion $language $version isClient

    set temporaryDirectory [file join \
        $temporaryRootDirectory [appendArgs \
        pkgd_lib_ [::PackageRepository::getUniqueSuffix]]]

689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
    }

    set downloadDirectories [list]

    foreach downloadedFileName $downloadedFileNames {
      set directory(temporary) [lindex $downloadedFileName 1]

      if {$persistent} then {
        set fileNameOnly [lindex $downloadedFileName 0]
        set directory(persistent) [lindex $downloadedFileName 2]

        file mkdir $directory(persistent)
        set command [list file copy]

        if {$isClient} then {







|







773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
    }

    set downloadDirectories [list]

    foreach downloadedFileName $downloadedFileNames {
      set directory(temporary) [lindex $downloadedFileName 1]

      if {$persistent || $viaInstall} then {
        set fileNameOnly [lindex $downloadedFileName 0]
        set directory(persistent) [lindex $downloadedFileName 2]

        file mkdir $directory(persistent)
        set command [list file copy]

        if {$isClient} then {
720
721
722
723
724
725
726
727
728
729
730
731

732
733
734
735
736
737
738

    if {$useAutoPath} then {
      foreach downloadDirectory $downloadDirectories {
        addToAutoPath $language $downloadDirectory
      }
    }

    if {$persistent} then {
      if {[isEagle]} then {
        file delete -recursive -- $temporaryDirectory
      } else {
        file delete -force -- $temporaryDirectory

      }
    }

    return $downloadDirectories
  }

  #







|




>







804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823

    if {$useAutoPath} then {
      foreach downloadDirectory $downloadDirectories {
        addToAutoPath $language $downloadDirectory
      }
    }

    if {$persistent || $viaInstall} then {
      if {[isEagle]} then {
        file delete -recursive -- $temporaryDirectory
      } else {
        file delete -force -- $temporaryDirectory
        maybeCreateMasterTclPackageIndex
      }
    }

    return $downloadDirectories
  }

  #

Modified client/1.0/pkgd.eagle.asc from [b78f378ac8] to [49672f243a].

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

iQIcBAABCAAGBQJXzxNqAAoJEFAslq9JXcLZtd8QALONgM7czYxCB+OeZL48IwkJ
XsmdpzbizTHjzEvmopf6+w3b0OLFFfzdOkw9DoyIxfWe24cLtflBd5kNaQlD5RbM
vlVSGHUYCDZIAfH1Z5uwvJjPDXhlYjsQ2laOvpwbMH9hB12Hp5MZ/uLYhL0jZE9M
NRFuXf5VZlng/oXxw9GbttVT1sxSrW16eMiUIpd41ld+rjpiFU0Wst2LUuHWDGCE
Xw7bjMvxUuoMhOvGp0iqHSyOaUAN/9Q9X/ATzodgfYbBuFQnJ6dF3feH3Lvun6mW
O+92PH679APHJPxQnsBgDlEPur8oegsfxqgE/85jJpSFr7CzEh+dEUlG9oKbPCMv
vL+s1Y4VYaM7HS1H4lwEq2QVRPAPxqT4i9cot+lPUUv4VGEFguabw7wAQXvPGpOX
eT66dXKF3Q1z/rC9dmkJwqJRLXO0652gWBbcM9lscLCA+2Anqq+sUctRaQwSEIgE
0COvkhv8+7wDv2RknPjG02eMnuwUPyrYUDGkX3e2mRDLpJDAJd6pxN/pu4BxQ4DE
fhjzUKQUg/hgQhKRDnara3yPaPTm0Sv2g7HShlvDmPRB7ZaXpVgNnSniTGAXtOgB
rIvq2eXIwoadfm45azWB+t9kIFzKfH9WmdjZ/FcdV6s60ZJ/F8uZaisEgeSrEDjQ
hvxRhjXZPqpktF7u6C6x
=dZGF
-----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

iQIcBAABCAAGBQJX1INbAAoJEFAslq9JXcLZPlEP/2x23p5WGAcpuVVIsaU/FdZw
nz2hIfhjW1yb3PYWmMpoViP8EqgWEGODa/O7AVV/C7ZflmljCi71+6B62Vt5xXSy
gKXrFUk5VcRXiPEvvg1NuLRw8/WaNSsK5BtBMang404J/r2pY+i/JLvaaIWY+ACb
GlDM682qyBr4vLzb/5CZY6d+pqw4k0OrVJ64OJi9Bzg3XXo6tbnd0rYuvsOFFC5J
48UxO66YLOXhkGg+if/AUpskbPYkONM+2qxbAh7ob1AlRWwym+3xm4H7bs2N/xXS
6Fh1CYeF88ppLT6WKEhs/v4Xj8VTTiQ/1Au5xQYj6reyKySFbKT1rmL2YROw1enF
/blXrMK1UxzuOBaSoK1TPLztpS66SXw4SucTy2FWDWBffBXTzK4HHd2oVxXJzp1m
ppXI/4scoL1h/PzcaLvH3uSBKrmJPv7hXxvpq2qR+gd20JRljXI35vJiZTRF86bR
QjT5Fd9vWJU77U3Hl7m/Y5KIpkC5Mz7z8rBxUaJPM4SNgRzPIRxG+vR7t5IgQyVY
DFsgpvT1iTTkTsDzsV+vQlpnTsybTtZImnq8doLE7f3zqkl5s8WEpgMN0rQnu/eu
MY0HlQ+uYs4MLDoQs4IqHACF/tWBtzNVZSBxQ9skoiuTC4k1jsq91mmu1PVNUFQM
zNBjL3YygyjPgBM5UZ/o
=XlUB
-----END PGP SIGNATURE-----

Modified client/1.0/pkgd.eagle.harpy from [b6935482f4] to [b322884695].

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>63d02c5b-3f9c-4e67-b39b-7cf4fa994a92</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-09-06T19:04:40.0784922Z</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>dbf3365d-5aa4-48a1-91c5-13d2435dea99</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-09-10T21:45:33.2288203Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/pkgd.eagle.harpy.asc from [b9e30e44b8] to [d89fd48679].

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

iQIcBAABCAAGBQJXzxNsAAoJEFAslq9JXcLZY9IP/RF6Psgm4QMEqRBkpN2ixJvH
JdDWRVk8eyQ1KgM7PfYZoiwwGbD35fmue+9R6qUYcPPzcUr+TnqCHC0RRZ4errt3
o6tpVlDWXUjnzZGo83cjMwdr9kYXAFdObMwDcB0zKhn02I1Ef0RiNXI6aaHj60sn
Rls29pUb2NTbCET1kWZoCxettfCv/nnCFTdrfG3LyfeIMgmv8FJieo8LhP+wv+e5
oAtPm92xoxEWBV7teZFeE42qGzsQoMgMlSqB/aZBGCAWcoq66FD94Hgik+4bkP94
rRE+JHdpJbCsVWB1x3iyUr0d1fHv2h91zL+hp+jxDtYHtRQ+IKTTsTYrzOpeOJmV
JaC5DxyqLNcc6hxm4dQVgc7Gh4E1CR3C/0KDnh3SnaZqlpY/Hm1eLe+u1udSXDEy
xfP6JucvbFRD/1NKkfZrQloJNQjNCteSeP1Zr7qomJPA3XPAP8D5+nEPtJQ2l7QV
xxxcTB9x484Y3hQraB6dwSeIk1kex9PqcJAxw7Ff1ev2WDPHS8ZpHdhp41hcAPrr
3mm/KW48la8sfqBvKIn9qYgxQgC+aktZiq2TVCgn3ehrnFKn/ODZkMTj5zTE/HOo
lYXgVR426w2wgruyptLTG/a1v2feIM5gg9iw2rxn5lNu0F5CyAkEnxVYWLIbd/JX
QpYuztQJhYImKxkCspV6
=+mkc
-----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

iQIcBAABCAAGBQJX1INcAAoJEFAslq9JXcLZlGoQALNud1aplOEUnxBpyg1bZlMn
GVnCLMpG0xCNQjMy/yJTG4xePcM+iL13C8Svv2bA9YsmyOguGM8x8q+jMxqXtjXm
JRbvgA+4EdZfq1EAhQ+1FxQ+OHuW9zHkV12Rr8DcWdlBUJ38nZ2FTPTaZx8tjtlY
V5rgCyd4onnOJ//5l85mPs90oURWot+7974FArfSGJxHSoeDfnTgIHXj6OV5Dv7s
yvZDF2lycUPbmcMat+iRJckoVWyxadfzdOZp9AbmJmbgwkH56IcX4MeSdPc+M284
zcrFEhVzcKrdlWpYpL4w2hoEkuIf+46sp40AvnbFlii3ny3BQIcEo/Udi5jIHpwn
q8XZZtN4ofty2oSq3O6fUv/k0/XX0N7yZvcjG0N7j+IYbwulcDfpFd+P7+8CBGo1
xgLq2wZTWPabMXSsviG/6z3ggClgvhfZLfd2PAnB5ps1XFMYCLL4k9cAqJdAc88q
9YsIa6LUhP6KKPjVzJnmTIT3RbiTgBIbSYDDCc6P4xPqhln5M70Zw0JMwppYa5Ge
YPtb0PqoaGrfhUHAJYLlgBVE/+Gl+f3XJqeqnJGJ+8VL1HUI4zyb1dxio9HcTAqq
mjFIdlMyzCOI9NBpBJn6J5EXyZ+9xZmGqlC4zuzqZ10g04l71DxlMU7ZnQYeQDzg
dZMFHpyZ/wWmiGs0hXXK
=MCRH
-----END PGP SIGNATURE-----

Modified client/1.0/pkgr.eagle from [1644fc87ef] to [4a18bc9657].

698
699
700
701
702
703
704








705
706
707
708















709
710
711
712


713
714


715





716
717
718
719
720
721
722
723








724
725
726















727
728
729
730
731
732




733
734





735
736
737
738
739
740
741

  #
  # NOTE: This procedure, which may only be used from an Eagle script, checks
  #       if a native Tcl library is loaded and ready.  If not, a script error
  #       is raised.
  #
  proc tclMustBeReady {} {








    #
    # NOTE: This procedure is not allowed to actually load a native Tcl
    #       library; therefore, one must already be loaded.
    #















    if {![isEagle]} then {
      error "already running in Tcl language"
    }



    if {![tcl ready]} then {
      error "cannot use Tcl language, supporting library is not loaded"


    }





  }

  #
  # NOTE: This procedure, which may only be used from a native Tcl script,
  #       checks if Garuda and Eagle are loaded and ready.  If not, a script
  #       error is raised.
  #
  proc eagleMustBeReady {} {








    #
    # NOTE: This procedure is not allowed to actually load Garuda (and
    #       Eagle); therefore, they must already be loaded.















    #
    if {[isEagle]} then {
      error "already running in Eagle language"
    }

    if {[llength [info commands eagle]] == 0} then {




      error "cannot use Eagle language, supporting package is not loaded"
    }





  }

  #
  # NOTE: This procedure returns non-zero if the current script is being
  #       evaluated in Eagle with signed-only script security enabled.
  #       There are no arguments.
  #







>
>
>
>
>
>
>
>




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




>
>
|
<
>
>
|
>
>
>
>
>








>
>
>
>
>
>
>
>



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





<
>
>
>
>
|
|
>
>
>
>
>







698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738

739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785

786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803

  #
  # NOTE: This procedure, which may only be used from an Eagle script, checks
  #       if a native Tcl library is loaded and ready.  If not, a script error
  #       is raised.
  #
  proc tclMustBeReady {} {
    #
    # NOTE: This procedure is useless when running in native Tcl; therefore,
    #       forbid its use there.
    #
    if {![isEagle]} then {
      error "already running in Tcl language"
    }

    #
    # NOTE: This procedure is not allowed to actually load a native Tcl
    #       library; therefore, one must already be loaded.
    #
    if {![tcl ready]} then {
      error "cannot use Tcl language, supporting library is not loaded"
    }
  }

  #
  # NOTE: This procedure is designed for Eagle.  It attempts to load the
  #       "best" native Tcl library.  It may raise any number of script
  #       errors.
  #
  proc makeTclReady {} {
    #
    # NOTE: This procedure is useless when running in native Tcl; therefore,
    #       forbid its use there.
    #
    if {![isEagle]} then {
      error "already running in Tcl language"
    }

    #
    # NOTE: Load a native Tcl library.  It absolutely must be signed with a
    #       valid Authenticode signature.

    #
    tcl load -findflags +TrustedOnly -loadflags +SetDllDirectory

    #
    # NOTE: Verify that the native Tcl library appears to have beed loaded
    #       into this interpreter.
    #
    tclMustBeReady
  }

  #
  # NOTE: This procedure, which may only be used from a native Tcl script,
  #       checks if Garuda and Eagle are loaded and ready.  If not, a script
  #       error is raised.
  #
  proc eagleMustBeReady {} {
    #
    # NOTE: This procedure is useless when running in Eagle; therefore,
    #       forbid its use there.
    #
    if {[isEagle]} then {
      error "already running in Eagle language"
    }

    #
    # NOTE: This procedure is not allowed to actually load Garuda (and
    #       Eagle); therefore, they must already be loaded.
    #
    if {[llength [info commands eagle]] == 0} then {
      error "cannot use Eagle language, supporting package is not loaded"
    }
  }

  #
  # NOTE: This procedure is designed for native Tcl.  It attempts to load
  #       the Garuda package and gain access to Eagle.  It may raise any
  #       number of script errors.
  #
  proc makeEagleReady {} {
    #
    # NOTE: This procedure is useless when running in Eagle; therefore,
    #       forbid its use there.
    #
    if {[isEagle]} then {
      error "already running in Eagle language"
    }


    #
    # TODO: Assume the Garuda package is trusted?  How can we verify it
    #       at this point?
    #
    package require Garuda

    #
    # NOTE: Verify that the Garuda package appears to have been fully and
    #       successfully loaded into this interpreter.
    #
    eagleMustBeReady
  }

  #
  # NOTE: This procedure returns non-zero if the current script is being
  #       evaluated in Eagle with signed-only script security enabled.
  #       There are no arguments.
  #
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140

1141
1142
1143
1144
1145
1146
1147
    variable autoRequireGaruda

    #
    # NOTE: Should we attempt to automatically load the Garuda package for
    #       native Tcl?
    #
    if {$autoRequireGaruda && ![isEagle] && [isWindows]} then {
      #
      # TODO: Assume this package is trusted?  How can we verify it
      #       at this point?
      #
      package require Garuda
    }

    #
    # NOTE: Should we attempt to automatically load a native Tcl library
    #       for Eagle?
    #
    if {$autoLoadTcl && [isEagle]} then {
      #
      # NOTE: Load a native Tcl library.  It must be signed with a valid
      #       Authenticode signature.
      #
      tcl load -findflags +TrustedOnly -loadflags +SetDllDirectory

    }

    #
    # NOTE: Should we attempt to hook the [package unknown] handler.  This
    #       is done for both native Tcl and Eagle.
    #
    if {$autoHook && ![isPackageUnknownHandlerHooked]} then {







<
<
<
<
|







<
<
<
<
<
>







1179
1180
1181
1182
1183
1184
1185




1186
1187
1188
1189
1190
1191
1192
1193





1194
1195
1196
1197
1198
1199
1200
1201
    variable autoRequireGaruda

    #
    # NOTE: Should we attempt to automatically load the Garuda package for
    #       native Tcl?
    #
    if {$autoRequireGaruda && ![isEagle] && [isWindows]} then {




      makeEagleReady
    }

    #
    # NOTE: Should we attempt to automatically load a native Tcl library
    #       for Eagle?
    #
    if {$autoLoadTcl && [isEagle]} then {





      makeTclReady
    }

    #
    # NOTE: Should we attempt to hook the [package unknown] handler.  This
    #       is done for both native Tcl and Eagle.
    #
    if {$autoHook && ![isPackageUnknownHandlerHooked]} then {

Modified client/1.0/pkgr.eagle.asc from [f2f003c07a] to [d14edbf48d].

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

iQIcBAABCAAGBQJX06XyAAoJEFAslq9JXcLZyvUP+wVjnJRn0Jpjwlnl36UxlWqL
079IZGRAkM/X5T/BrgIIEn9TYXuS104vZ/gl/+bgGA+5BIWUXF/6wJxCTPMpAZbo
ibmBhC++ObrOa11s/rkc6ha2UQluX8HPGdz4GruiQOktmbrUFxj12qA0OWZ3tTvq
4mX9HPI7Rvti1iOK75z9uERiQxxbqNMcTcna21P327q4rGB3IU2Lk6p0KGirYtQC
XlXPOimcPNsupxn18qLHTNl7YGx0MRGDfHjeSYwBeknrG4wHEEKXziDknG8r8drF
y5LxSUObCc4waTnmqUFwMUPLSml7maCyFbXLWyk4RR6WNWv8NvFIB26bKFitbeUx
kpEWI0ItLF42jbi/+MjAz2bGLIKgKTBnUegW2mnt7ZV6m5y9gWS4tFFVjdrPyi46
vse5vLu+U0312z5RFyQjR14NbIdXZX7cAbsZwxpXpZyJzRpIIK6KxM5VlPVpWP/Z
1YP9wnp9WTLBgia/I4uUgfy3TG+LyP6s3orl+Mt5XWqSiQ0Mmb4RzL9h2FPoTICG
elTPD6tColb6r7Dg9RQ37K7aE4LG8iotVJw1yoG6yP1/nEwXsDhyp7qV6ICe3HIs
7c5zTuDBTxDAqD/7SewQNmVCbV8WKsuolPZ9uyx1e36MHWB/6kYWVwfLy0JfoXij
YxsGw/9jgzwCcu5CGuLn
=sp9f
-----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

iQIcBAABCAAGBQJX1INfAAoJEFAslq9JXcLZj5sP/i1rR0sIm7Ey83G7NH8gJ6IF
LHDLL14m7QmYS5gM2xmKMLV0Hr5JXDaeUL2i89bavroF9jfr37m35LJibcBzlEX6
adHdm6oQOBMTw0t9ZscK3i7Dj37bQkpdifSjbPC/QYfP8H+GolN+Eepyhx7wzYRM
eMtv9Jyt0o0o3PShWn7AFHtStalfcn3gMbfL0M8Uq0bovwzAPHiPuBbCT7wRMDjb
VwhipAIsfrvSMGHkjCD4L2l8Sv4kth8J3MQMpxzgrfgF4Ia7eKx3K3tDD7yd340J
Oh1szAVxElRVoHRO5F9C8DBAc2EqlAFCrFkScrlG/zSLMGMvvIpsJHByCsC6a4x3
TAqacEf01pGIjKZLqCQsLYHs5eEwZo5EvuebgFIVpoDhHuCjm3hPlPWbpQ7VbUi/
3CFkm2humVxRFE1LiR/uI7Iuilfvz/NDq22QbY9vQaoYPceTvWX6fWpG/XnapaZV
zVZ9vdZw1sezCOXaPmz0vJ8uQMEvoWj1UKD6apycIN9LW3fl0snlDD8WfgcmLYXe
wZSHKAn2BX7b/nRekCzhD4MtCZAqzRf4vNm1shJy+OI0XvzkOivzpNNDmzeeukUb
2ctuBlC6KzBQQknzQZRmyXmRF5ICMRvGFV9rZK5tJUuSEpJBCkZtEOilZSG10ZnI
kvw7SeBGPWKBtlr/XvK8
=XdVP
-----END PGP SIGNATURE-----

Modified client/1.0/pkgr.eagle.harpy from [e9d0c39554] to [f639b657ea].

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>d019e9ee-d966-491e-a0b4-1aab07c4d869</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-09-10T06:19:06.7405391Z</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>3da6c381-9cb5-4e1d-b6be-7529d36c1d04</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-09-10T22:02:47.1585078Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/pkgr.eagle.harpy.asc from [fdb1987ac7] to [5aae92b3f7].

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

iQIcBAABCAAGBQJX06X0AAoJEFAslq9JXcLZCcIP/2kOVYscVQhAoxDBE2wrMkyS
Dftr03sltIxCrzgGKM7BfQx70NLC+dS3kVTHIvrsNNQjS+hPPd3ZTyxgI+pKnNGw
YqPowROll6K+jYy3k5fVqZ4QonjQACQS7/Tuov2HZMyM12fc3vTol8SL3j6j6RrH
2+x68Dq8dekDBQ+u4lzSxk096QbpcByZEwI6aYqEEiFtCJsoC+BunX3+913nJFZ4
XM9BdoniU5UL49Q+0vTiwJ8U64Zv3UXyaxCiFSLnL0JatqiSNJUYjrKaBPIzZFLB
ZFDeZItq6PxN96HaYgyPRnbVEQFYClRqv3XSW6LXIC6NDrlU+o1j/bqRUQ1bRO0l
tc4R0SqmhVlj7b/mbZ1/qVNmTSrp6EQRehYoOmA1vOzvUtaVHAUz1mxkUea2Gv62
V/m9LQjSj371vCfIN+5UiojH9p1U0yjh4pdq3rcFJGnjg7BxCkH0mgcV+mVCchNe
WbGzVAufsurOG9bFDv5ZEqdKwqoVIYrId9ZH9ToKZHL1jcMB+0lb2rlQA4sLzDus
w/zuUXQkZ17/ZClCfayV31MGOMgeJkhGRepN04FI/BektOZy1XP2+1VVHoPjV8uk
mxzLHrdwauXL95525dbP9tEmJ38JOGxuCfqgIkPzN1+3TAMuLpYypxNrC7Q85bMB
x80iuRHaBdvPhX16xy9M
=WLRO
-----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

iQIcBAABCAAGBQJX1INgAAoJEFAslq9JXcLZLyIP/j7hcygOa2s3Yylj8CwMzJaq
Ymtxaiyyi0woRGKnhmPznl/UeEimgPTcikJS4TXYL6TwS/FG0bhB3WmJgVPGsNiI
1zcRNwNAzf+djQ9wxpUboW6NCQgLSO95LjXkn6eKt8AaUrZIwYe8zvYUlHDfm1KH
Js3TqLHviIq3F7n2fNWNOxrz3HA1zU4so3TwFeqbKrh9Wcc5bjV3s/ZDGdjXcM9B
P1ngwdV1niuHC5C6cOnsx998eiE4huGDPZDr1LIVpFqxCbfWMiJtJWqJxJh0va5P
FspaEH7ToJ5YCVwho3g5aLwb1l4NDcg3Uac6/N9j23vaixLXV7v6d8BAPGcOJSZJ
cpH89eAJLao2ydeDQagFGhdeL/ipV5hYmQiwdShjra+cY70EWCVFtPQWcfLEcmt+
pbA4UEE8PfyU+V6rlzxxxhzYBFRdH+WduFhsEabnw28oSx5ku5Lr24SIBUCWS/zK
T7CtbcPoZoUHZ+kjeGSwTOVR+TYeVFzL/zA3nMs9MzC2d4SztDdrBlBOekXLVhnA
AlnWtCp8T0SXr1Og3n/0f3QCjcqCFW5KXm/Q2tNMx0t9tuKKztfpN+/Gs5L2FCtC
j8gu4MEm2s5TzX90A6NY5GhYkQfuhTQvJy/hZFD+Xxo8PN+NZ7VX6sYJMJGNCeyo
yZtFt3pNscM/tK6oPkJq
=BaB9
-----END PGP SIGNATURE-----

Added client/1.0/pkgr_install.eagle version [122d13dfb5].









































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
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
###############################################################################
#
# pkgr_install.eagle --
#
# Extensible Adaptable Generalized Logic Engine (Eagle)
# Package Repository Client (Package Installer)
#
# Copyright (c) 2007-2012 by Joe Mistachkin.  All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: @(#) $Id: $
#
###############################################################################

#
# NOTE: Use our own namespace here because even though we do not directly
#       support namespaces ourselves, we do not want to pollute the global
#       namespace if this script actually ends up being evaluated in Tcl.
#
namespace eval ::PackageInstaller {
  #
  # NOTE: This procedure is used to report errors that prevent this tool
  #       from running to completion (e.g. invalid command line arguments,
  #       etc).  It may be used to report a specifically error.  It will
  #       always emits the command line option and argument information.
  #
  proc usage { {error ""} } {
    if {[string length $error] > 0} then {puts stdout $error}

    puts stdout "usage:\
  [file tail [info nameofexecutable]]\
  [file tail [info script]] <apiKey> <name> \[version\] \[language\]"

    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
  #       Package Downloader packages) are assumed to exist in the same
  #       directory as the current script file.
  #
  variable pkgr_path; # DEFAULT: <unset>

  if {![info exists pkgr_path]} then {
    set pkgr_path [file normalize [file dirname [info script]]]

    if {![info exists ::auto_path] || \
        [lsearch -exact $::auto_path $pkgr_path] == -1} then {
      lappend ::auto_path $pkgr_path
    }
  }

  #
  # NOTE: *TODO* Pre-create the namespace for the Package Repository Client
  #       package and then forcibly adjust various settings to the values
  #       necessary for this tool.  In the future, this section may need to
  #       be tweaked to account for changes to the Package Repository Client
  #       package.
  #
  namespace eval ::PackageRepository {
    variable autoHook true
    variable autoLoadTcl false
    variable autoRequireGaruda false
    variable verboseUnknownResult true
    variable verboseUriDownload true
  }

  #
  # NOTE: *TODO* Pre-create the namespace for the Package Downloader Client
  #       package and then forcibly adjust various settings to the values
  #       necessary for this tool.  In the future, this section may need to
  #       be tweaked to account for changes to the Package Downloader Client
  #       package.  Technically, the package being handled by this tool may
  #       not actually use the downloader; however, if it does, this should
  #       make sure the downloaded package files are persisted locally.
  #
  namespace eval ::PackageDownloader {
    variable quiet false
    variable viaInstall true
  }

  #
  # NOTE: Load the Package Repository Client package now.  This will install
  #       the [package unknown] hook and prepare it for use.
  #
  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] >= 2 && [llength $::argv] <= 4} then {
    #
    # NOTE: Get the API key.  This is always required.  If this API key is
    #       not valid or cannot be found by the server, execution of this
    #       tool will fail.
    #
    set apiKey [lindex $::argv 0]

    #
    # NOTE: Get the package name.  This is always required.  If this package
    #       name is invalid or cannot be found by the server, execution of
    #       this tool will fail.
    #
    set package [lindex $::argv 1]

    #
    # NOTE: Grab the package version (or requirement?).  This is optional.
    #       If this package version is specified, it must conform with TIP
    #       #268 when the target language is native Tcl.  For Eagle, only
    #       the dotted decimal version syntax, with between 2 to 4 numbers,
    #       is supported.
    #
    if {[llength $::argv] >= 3} then {
      set version [lindex $::argv 2]

      if {[isEagle] && ![string is version -strict $version]} then {
        set pattern {^\d+\.\d+\.\d+\.\d+$}

        error [appendArgs \
            "version must match regular expression: " $pattern]
      }
    } else {
      set version ""
    }

    #
    # NOTE: Grab the target language.  This is optional.  Without this, it
    #       is assumed that the target language is the one evaluating the
    #       current script file.  The only supported target languages are
    #       native Tcl ("Tcl") and Eagle ("Eagle"), both case-sensitive.
    #       If the target language differs from the current language, this
    #       tool will attempt to gain access to the target language and a
    #       script error will be raised if that attempt fails.
    #
    if {[llength $::argv] >= 4} then {
      set language [lindex $::argv 3]
    } else {
      set language ""
    }

    #
    # NOTE: If the target language was specified, attempt to gain access to
    #       it, if necessary.  If the current language matches the target
    #       language, nothing is done.
    #
    if {[string length $language] > 0} then {
      switch -exact -- $language {
        Eagle {
          if {![isEagle]} then {
            ::PackageRepository::makeEagleReady
          }
        }
        Tcl {
          if {[isEagle]} then {
            ::PackageRepository::makeTclReady
          }
        }
        default {
          error "unsupported language: must be Tcl or Eagle"
        }
      }
    }

    #
    # NOTE: If a non-empty API key was specified on the command line then
    #       add it to the global list now.
    #
    if {[string length $apiKey] > 0} then {
      lappend ::pkgr_api_keys $apiKey
    }

    #
    # NOTE: Attempt to require the target package now.  If this succeeds
    #       -AND- the Package Downloader Client was used, the package will
    #       be persisted locally; otherwise, the [package ifneeded] script
    #       may still be evaluated; however, the effects may not actually
    #       cause anything to persist.
    #
    if {[string length $version] > 0} then {
      set result [package require $package $version]
    } else {
      set result [package require $package]
    }

    puts stdout [appendArgs "package require result: " $result]
  } else {
    usage
  }
}


Added client/1.0/pkgr_install.eagle.asc version [f9a34329a1].





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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

iQIcBAABCAAGBQJX1INjAAoJEFAslq9JXcLZs7sP/00+DIkdcSORb8m2OOjrNC/h
4OTNsAUDvCm+DBn19nIcNpSgT696rxGeguePLSXmVXAD76GoHcHxVy+hQG3oa4mG
mZ505ASEsD+ff12FR3hwQ84pmL3kjciMtiXOXZKsk/0Wwac5LYAjRYNOPaTXTgJE
0X5UyyVfWk/a/+F5PdenseRsJ455dSEuABlVWuX9QCpasp+jnx16zB90Qg38zKAk
we6RYouijYtuLG2vRqahQdrQoPSS/tj5br6YtHDbZdc8IFHldTeOUq3Nqs9HQ/Fm
Cx4uITc35gemhF0WuGQM6cAc0Al3m+jS7nbZJ1OuYfwRYNUcwNGXAqX6elyRdNQV
umTE+TzeEK/GezwpQjh8AFL1iC6rv5AMJIQsjKPzcxiJN7K8UmXP4Zmx4rlU70AW
EjeZIsPm3wZXYWMI0NFIeAOuS53Ke/0Ha6Mh1E/+HSnzwla7a7VlHzG+Dvuie2/3
2t8T1gKgY570r2lJTmHeuZp6J/NOH+ig7YbImEM5lF5el8I0QwNbdolTXq415nQB
TC5vQuCYq9G4R8QxOSJA87jCk8SbFjtmZNhIPL7JVvj6TfTDTolVzsbd0mlHNdIa
ql8Z2U12r3hPr6xc1PRrA/m4QeR2sioNUPfkCzQggls9Bv+8j0P5Ge2doO1/rKqL
pIOxIfEz5PfnIkWzcgKe
=lKSL
-----END PGP SIGNATURE-----

Added client/1.0/pkgr_install.eagle.harpy version [f06ea793cb].









































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
<?xml version="1.0" encoding="utf-8"?>
<!--
    Eagle Enterprise Edition Script Certificate

    The format of this file is proprietary and may not be reverse
    engineered.

    This certificate file is subject to the terms of the license agreement
    located at:

    https://eagle.to/enterprise/license.html

    By using this file and/or the associated software, you agree to abide
    by the terms of the license agreement.

    PLEASE DO NOT EDIT THIS FILE.
    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>7ffd1407-c37c-4614-bdfe-dd569cd334de</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-09-10T22:03:40.6555781Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Added client/1.0/pkgr_install.eagle.harpy.asc version [55444d5b13].





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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

iQIcBAABCAAGBQJX1INkAAoJEFAslq9JXcLZWtsP/2cfYOP6iVWnE2VygN19N2QV
EvixNfKvOni+yxfw+tH4QI4UuJZHzpVANSaBOyYNtIA/xTeAbZB444ZFGg25TOkk
WByuldJewSk5jtNfZ6zEWh/Meua/UAtWyu4CnIDCT406pFyynpRFPV/qqrXu6wIj
M3nxmeskAzd50NcK3haXTXpFWltB3Of8V+BYNjGLC84XRVZr/NCLps5zPG8uPXQL
NKTg76wYn80sByHhCx4SXOwcc6CM3cbmvET++Mn+PKcrX07kCkLSY78xn+dOS68l
B+7Zi034V9bI0QFPmW99DVD4RXr0ba2sklSHQgwpFcYZWqn2+heXIcKJRsMnZxet
3sXonp9Xr5bB13fOOd6aBkrnIcPxFykZRG2Bky5F6HH2c2FHEUokf7f4wc/qZnrf
qPC13XgUOWc+1DnNyLBmLk+QDJr87lIllAzjylqelvBqIyHjEsK8x42yr9e94x29
dR7WfYYM9YVIOGnpIqGdh3UHf6zV74/BV+vjMQNv0TOO3XPip5Bes6uW5KFCOZ7G
5Lqvj2s7jThDOp1ds6BBhLmezJazPzgaFWH/WBEgQN7Wf86gqmEGW80SNP1QolMh
HCZ+Hl6Us+RVAMlUmsnGsirzK3KSct8qOZOwanwf5A2z4EBd9Prgw/2o426qMJsY
hBRDB0OeUeAgPsKWcKcw
=UKA6
-----END PGP SIGNATURE-----