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