Overview
| Comment: | Add variables to package repository client to configure various parameters, including 'quiet mode' and whether or not to automatically load Tcl/Garuda and install the hook. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
8d336a92f55312bb1847e6feb44ac3bd |
| User & Date: | mistachkin on 2016-08-15 22:11:16 |
| Other Links: | manifest | tags |
Context
|
2016-08-15
| ||
| 22:18 | Coding style corrections. check-in: 509edf2c46 user: mistachkin tags: trunk | |
| 22:11 | Add variables to package repository client to configure various parameters, including 'quiet mode' and whether or not to automatically load Tcl/Garuda and install the hook. check-in: 8d336a92f5 user: mistachkin tags: trunk | |
| 21:03 | Enable 'quiet' mode for the package lookup request to the package repository server. check-in: 878e274ae3 user: mistachkin tags: trunk | |
Changes
Added client/pkgIndex.eagle version [3790f29011].
> > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
###############################################################################
#
# pkgIndex.eagle --
#
# Extensible Adaptable Generalized Logic Engine (Eagle)
# Package Index File
#
# 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 {![package vsatisfies [package provide Eagle] 1.0]} {return}
package ifneeded Eagle.Package.Repository 1.0 \
[list source [file join $dir pkgr.eagle]]
|
Added client/pkgIndex.eagle.harpy version [50c972f469].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 |
<?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>bd4c7683-b636-4e5a-814d-af281cf8a8e8</Id>
<HashAlgorithm>SHA512</HashAlgorithm>
<EntityType>Script</EntityType>
<TimeStamp>2016-08-15T21:35:31.1481953Z</TimeStamp>
<Duration>-1.00:00:00</Duration>
<Key>0x2c322765603b5278</Key>
<Signature>
K4mwPnHD6CEc7CNyhetY/hJcze09F6WQ50TdOuiQc7T4d4gyTeVa3uyEscWLyuSqqXF1y79Z0GEc
mwCEYr2QffYvtpx+NiAsvuAp+N+awnVxaSa6c40R/6fyQ9mQD3QRPMgZGdVBL4MRLK79mmmQvTXb
fUdZ2Gara7nUJ9wbruYUtzb9Hg5kZe6+CUIQKQ3jE8YRNd4yQcMb80PbjlhWdauXxRiLZzLMC3sd
wgZVVkXMRC5XwgB44LCSoTM/AaJS6if+n6xf3KQ2r2j7AlR65PFY9NRM579zbxBop5ZiPDc15Gen
K5d+XBGp6iM7hpKjfcVfeeWV1Wgcw1lMfgZg32NxwYQFQa8Spt8XUL6UGObCqiy+cjpFZmT7WP66
uNeUSEbE0Q+HkLsfXu9LcUt5B92GmM6WxQFy6yjRb0rb0Lxwd8hGOcFx3I+1hkDjGwlFK5CdLsx6
d+KHAQR9qvMrF1+oUy4FwhgcVNJAc95euFy1I4zb8ruFi1L/2u+RPAgGMT97D7RwTA6lSctI7AZ5
j8DZc/4YTvuyxY2SsOK0j55b5BikxQsAx+tX2cJ1dv3nFSswXS5whoKRAX2b0NSFZwpFAa4EtTyM
5AJ+2jCO4Vxo78bGqmWxoQnWQ631XzNzrEG9b3sDSeXsuhHTqjdF7/KA0mXA4Tauzun/F0uxd8i7
aV2k3a9AadTYoG85/wWDU4a1kLa+i4DtiWXpULrjVG2ImNGpUyAqc9Ih5rpp7JlZVc8PsS0hGSPY
yp0vYiXkXN4gGavHSWhsqqoLUomhE50iwFsOrr5PxlhOPC1NMB+DHwiJD+WjJUMK4Iy41Y8o327F
Zce+U0hKDhXC8LG2o9MDPfPpQSdWM98MuYYxwJuZI4RAxu+/LE2/3s4PdMLhl9QEiIRw18n9664l
puQkjuPkZFwvuegoKvy+iQAWDYIGu4uBX1hUT0rUER+XfMJqhFvlyHcCyZfWtKR/URGjZlSpBJH4
ru0hdD03NBOSCFV0TLQRRizhqTxs75yolBnfcrf6LhDN0L5GhnsS1eUCripljYz9Wvhm/pgNxX1H
xwVKunMyrZMwcfD8OgSll83i81xG6xtzJ4WXNKckenZ7fMC7rjMqVEsA917ue9MWyiDN+UUk/wZ/
LppOtFelORbfJny0OYvijTdXzNKgyVBT/LfACvvJRbhAYrJaW8Cxvl0m1/dRmJvDmQue0yr0vtrY
UIJN699kUnAg6v60uPldIZaQvMPHGTHohaMuwjZ6oQNzWXl+cv2JsQ+MDFFseBnJ5YetOpkIdW1n
On1lKWagO50AtY8dqATvYSBINoWOA2+s/Ry2ZzLgXY7YmV9a5PrXeSG3uuglkCbuDSVpORohlg==
</Signature>
</Certificate>
|
Added client/pkgIndex.tcl version [75024466f9].
> > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
###############################################################################
#
# pkgIndex.tcl --
#
# Extensible Adaptable Generalized Logic Engine (Eagle)
# Package Index File
#
# 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}
package ifneeded Eagle.Package.Repository 1.0 \
[list source [file join $dir pkgr.eagle]]
|
Added client/pkgIndex.tcl.harpy version [e08d6f044c].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 |
<?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>6dbcb424-0213-43a5-af65-59a3015b500c</Id>
<HashAlgorithm>SHA512</HashAlgorithm>
<EntityType>Script</EntityType>
<TimeStamp>2016-08-15T21:36:39.0690938Z</TimeStamp>
<Duration>-1.00:00:00</Duration>
<Key>0x2c322765603b5278</Key>
<Signature>
Bxt8syFTFTeddS7O+ilRnuIs7TPkar73FZWTgeLrrIe4MQ7EbVdnWUzpaL7NTajo8/QWSoyl4cUL
fmoeMXs52eqn7Kc4KOmoUVAhdJ5+5seO57/fXCTpyGzdm6B3GZVRmcKfTVYsKmHPITMNYVctQtd9
nkQuIvRQHecMv+yI4msCvqQSIShd/9gN8AILk0WuUNdTV4QZpFLivC5sRpRbLuhl6XzF8ODi7s0O
bJ/Wt4dlTeCdge+KqBJfjM2+kRefAX+6nYlS4hztsLZtoHVK7ayRtwqUxhZ82eMIeB8MN3EEjOiQ
tR5U4DBRu/YpCMTb76ridnPKayjwVScz6icEHV0GPIOTrT0fUnK2Q4LGDW0JfCNs6YHrVNOGVRks
cNVAm2OQxLNvr4LCuMTylhh2VgaifzbMJK2rMmTzlApVoGS12y6wllo6UW4WWy18vKA72q7VZYL2
OqyD5P60pojLztvw5gnlzTi1xkPoqVakR/WwDR3ppsc/CQNNfx4Qsjm9rr0MonZVbmJsp5U80/92
mS0S9lvIULAmpSiJipaeoo2AZ6ByWihqya15TUBXX9/zvPW7sJKUZ/juOa0Sa4g1rH0+LlSRaLkT
UdyKiKZg7j9QcvfkJW/JBsKSGn/7+qKcMN4HiqNzphblFtO3BbYc4RvMnnQkjgK3o3yO2y8dFGHi
IObLQuq9535h2psnRjtPb/erVwNDs5zeQA344QrKXLblaj256NTKDopZtGd6ke0IX/SZWbeO8TY1
teImYZ/aDiAej69pYETpqjjq3fiZCEltBLt+tIM6lDhXx8HA3zN3PQ4pXb7arOxKXt0Oz8h6Viz/
64gy0d2kP8gC0KBhF0o5unNSHiamGYV4g+BsTBHROZ1e/cRzcPzWSvzzrRUORi5lf1LpsmAVxzIV
3KyvJZv13XXmrORh/KGAU1paWihZT0u4mGi0lBIpfkL3EF40tAoBVr0AoQKam0ovphsS4ZSpWZ55
TUY2+M59lJ1mOEt/FAJYvUVppXQC5bnhCH+dWf6+oUfdqPIGML526h3sLNvczaoKVvLKFvDIFBBh
F1TGNn2ZywIHOTPoih9RdATo4r6+CUny+ms8n+PZEE8VoP6IN/gl3sSHRhQyzrnkZLARYV2OkYU+
21Ia4X4n9koY9fOg0UMGNtBGWwIut6xA9xkoeyXlIYPxmTU/HCAWdx+Y3x+PvYdjmbeR/W8kKRxy
s62QFkSUscwpimAoBQxCc57h++OxcVDQhkcvanlkG41Dg13nAjkSFpt/5gCA3UUOhxGyC8lTIV1Y
d9YmPTByWFgSBHJrPGhF2/tZFcpzKbAvnJlNW2w50SX9MQUdNjL78uMn1mk2NFFjIMpJWvGFRw==
</Signature>
</Certificate>
|
Modified client/pkgr.eagle from [4a20860d6d] to [68c13f40af].
| ︙ | ︙ | |||
122 123 124 125 126 127 128 |
if {[string length $uri] == 0} then {
return ""
}
if {[isEagle]} then {
set data [uri download -inline $uri]
} else {
| > > | | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
if {[string length $uri] == 0} then {
return ""
}
if {[isEagle]} then {
set data [uri download -inline $uri]
} else {
variable quiet
set data [getFileViaHttp $uri 10 stdout $quiet]
}
set data [string map [list <\; < >\; > "\; \" &\; &] $data]
set data [string map [list \r\n \n \r \n] $data]
set data [string map [list \n \r\n] $data]
set data [string trim $data]
|
| ︙ | ︙ | |||
450 451 452 453 454 455 456 457 458 459 460 461 462 463 |
eagle [list proc $newProcName(2) {} [info body [appendArgs \
[namespace current] :: tclMustBeReady]]]
return [eagle $script(outer)]
}
}
proc hookPackageUnknownHandler {} {
set varName [appendArgs [getLookupVarNamePrefix] saved_package_unknown]
if {[info exists $varName]} then {
error "package unknown handler already hooked"
}
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 |
eagle [list proc $newProcName(2) {} [info body [appendArgs \
[namespace current] :: tclMustBeReady]]]
return [eagle $script(outer)]
}
}
proc setupPackageUnknownHandler {} {
variable autoHook
variable autoLoadTcl
variable autoRequireGaruda
if {$autoRequireGaruda && ![isEagle]} then {
#
# TODO: Assume this package is trusted? How can we verify it
# at this point?
#
package require Garuda
}
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
}
if {$autoHook} then {
#
# NOTE: Install our [package unknown] handler and save the original
# one for our use as well.
#
hookPackageUnknownHandler
}
}
proc hookPackageUnknownHandler {} {
set varName [appendArgs [getLookupVarNamePrefix] saved_package_unknown]
if {[info exists $varName]} then {
error "package unknown handler already hooked"
}
|
| ︙ | ︙ | |||
560 561 562 563 564 565 566 567 568 569 570 571 572 573 |
#
# NOTE: Both [package unknown] handlers failed in some way, return the
# error messages (i.e. both of them).
#
error [array get error]
}
proc main { package version } {
#
# NOTE: Issue the lookup request to the remote package repository.
#
set data [getLookupData \
[getLookupApiKey] $package [getLookupVersion $version]]
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 |
#
# NOTE: Both [package unknown] handlers failed in some way, return the
# error messages (i.e. both of them).
#
error [array get error]
}
proc setupPackageUnknownVars {} {
#
# NOTE: Prevent progress messages from being displayed while downloading
# from the repository, etc? By default, this is enabled.
#
variable quiet; # DEFAULT: true
if {![info exists quiet]} then {
set quiet true
}
#
# NOTE: Automatically install our [package unknown] handler when this
# package is loaded?
#
variable autoHook; # DEFAULT: true
if {![info exists autoHook]} then {
set autoHook true
}
#
# NOTE: Automatically [tcl load] when this package is loaded from the
# Eagle language?
#
variable autoLoadTcl; # DEFAULT: true
if {![info exists autoLoadTcl]} then {
set autoLoadTcl true
}
#
# NOTE: Automatically [package require Garuda] when this package is
# loaded from the Tcl language?
#
variable autoRequireGaruda; # DEFAULT: true
if {![info exists autoRequireGaruda]} then {
set autoRequireGaruda true
}
}
proc main { package version } {
#
# NOTE: Issue the lookup request to the remote package repository.
#
set data [getLookupData \
[getLookupApiKey] $package [getLookupVersion $version]]
|
| ︙ | ︙ | |||
789 790 791 792 793 794 795 796 797 798 799 800 801 802 |
}
###########################################################################
############################## END Tcl ONLY ###############################
###########################################################################
}
#
# NOTE: Provide the package to the interpreter.
#
package provide Eagle.Package.Repository \
[expr {[isEagle] ? [info engine PatchLevel] : "1.0"}]
}
| > > > > > > > > > > > | 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 |
}
###########################################################################
############################## END Tcl ONLY ###############################
###########################################################################
}
#
# NOTE: Setup the variables, within this namespace, used by this script.
#
setupPackageUnknownVars
#
# NOTE: Setup for our [package unknown] handler, which may involve a few
# different operations.
#
setupPackageUnknownHandler
#
# NOTE: Provide the package to the interpreter.
#
package provide Eagle.Package.Repository \
[expr {[isEagle] ? [info engine PatchLevel] : "1.0"}]
}
|
Modified client/pkgr.eagle.harpy from [5f3b392ed1] to [0e50cf177b].
| ︙ | ︙ | |||
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 |
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>c986d65c-b0fc-464c-a3a4-4a1990c1f135</Id>
<HashAlgorithm>SHA512</HashAlgorithm>
<EntityType>Script</EntityType>
<TimeStamp>2016-08-15T21:58:22.7790547Z</TimeStamp>
<Duration>-1.00:00:00</Duration>
<Key>0x2c322765603b5278</Key>
<Signature>
a2YvVkMcsJLqHYHZD8yY0LJO+SViJ6Ur4iur1bYnvMhFb9wn9oQEQ+BMy9EbTp8ptPOHBDD9rgZW
qhLiuXPgQjgU2aF4y86f2T57xt9VWEbkzPH0CzcWz446h/8XjMzM1Ghznh051ggqNZLpg9NVUo+q
2xX/4opBI5hhTVZO8dMmVswcG0BiMTpL5EbJck8dkWyyXB2zLQgfUF5YTwyISAkwxfSESouqnh3D
hJzlAZWa2R0Zb2N9/V3wzmX9tqzFfT8vGYvLt4YFDsgD8cnDIA0eFWbzrH3znuQG1k9kxcy9dJH3
8qeXNlln9ROEgvgwSLlL8ux3fm5evr5rMx6d2V9+Uzrllbi1e0qjXNCziZpvb2dsH2iukFA9V0bP
/+LZa3/LuSQwN7u3xhAuY3fEHexf7APRtG8qusNR28o2+X4CDHNUACHe51faTrUQvHN+xd4FCsG9
34sV7j1dEOT7+QBObDOEJWDQpK2JQpziqBvbAszXhm5MbDATUxe6u/5b14tB7sFSETiCDML7iTuj
c84ywp7KlBtXvLjox5qdNqWOB2soO5neOcEbLVlK0cc4EnHE5YvPe/ORtvZJLOfhYDprN9VwTk+R
Zdus/7nRJ7UxGigZPO37VzwlOVz0MAUEU4/tgMu8UIeSdNnVysmU5BOLy5C+2Lzp/oGdcfFVKn+R
dSTdXJTvv8F7FxzUUm8SsskbI/hggbCRLI1E3wCHkiJ6wLjua/fNaJR3e1JmEv2sGkm3irjc7edx
EawK9WJw9P+OF1cU8esdZOktPsAohsp9FT0CwIb/CfKUIan6fM6QgvT23Gf9bBXnexv1qrvtXPeT
Y5WERKyjPuPEk1+6sw0AKp1yKH1KcYTe28MBOrxTSKtApW9Btw9R94HmlYrUFsrFVBD9bXUd0RcO
vu2hW3DLG0cNTUxd6vxdQJfbyjnRki3jem7nXVmB484S9EA4UV0AchNAQFD8+MxXeS0v3CvPWFbb
c4TqSIw68fG+F2lPCZJ8MtXlC46HxSyFO0x7sIGVMqjz69Nq9qTS3KzHsIbywaH6mrhjc8CowCGH
bNgq7wSKwnIVe04egaeR7UAeDjpWrrU+NpETIkDIVn2nX+iUsteO0NXFo2Tm47pKbBzhgwMD79fb
+tGJHaHKUKMu/obFLaGob7AQsXIQx/kgh8evMV2Maf77Zf0DfWqUjYJwahxvpUEkYx+pAYzbx6NI
OF8/AupA7ULrEPNdrBvl8PRNZC++vC5O32nzDHhkZvkK+fHWgXOSthkhG77YkgY/EKt/pOjy5tpu
qqUqRwFUrxmDOC9k3meVWJfguHRAMG/hPuVFPw/T3DiN/6oYqPIqDm3Og4m0R1mDR/H5QXsjmA==
</Signature>
</Certificate>
|