| 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: |
8101e57c80e63edcd2d52800e86241c8 |
| User & Date: | mistachkin on 2016-09-10 22:05:21 |
| Other Links: | manifest | tags |
|
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 | |
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 |
}
set downloadDirectories [list]
foreach downloadedFileName $downloadedFileNames {
set directory(temporary) [lindex $downloadedFileName 1]
| | | 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 |
if {$useAutoPath} then {
foreach downloadDirectory $downloadDirectories {
addToAutoPath $language $downloadDirectory
}
}
| | > | 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 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 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 |
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>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 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 |
#
# 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"
}
| > > > > > > > > > > > > > > > > > > > > > > > > > | < > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > < > > > > | | > > > > > | 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 |
variable autoRequireGaruda
#
# NOTE: Should we attempt to automatically load the Garuda package for
# native Tcl?
#
if {$autoRequireGaruda && ![isEagle] && [isWindows]} 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 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 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 |
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>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 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----- |