Index: client/1.0/neutral/pkgr.eagle ================================================================== --- client/1.0/neutral/pkgr.eagle +++ client/1.0/neutral/pkgr.eagle @@ -1207,12 +1207,12 @@ error "bad patch level" } # # NOTE: Grab the language for the package script. It must be an empty - # string, "Tcl", or "Eagle". If it is an empty string, "Eagle" - # will be assumed. + # string, "Tcl", or "Eagle". If it is an empty string, then the + # current language will be assumed (but not by this procedure). # set language [getDictionaryValue $result Language] if {[lsearch -exact [list "" Tcl Eagle] $language] == -1} then { error "unsupported language" @@ -1571,13 +1571,14 @@ # # NOTE: Determine the target language for the package script, # which may or may not be the language that is currently # evaluating this script (Eagle). The default language, - # when one was not explicitly specified, is Eagle. In - # the future, this may be changed, e.g. to use the file - # extension of the client script. + # when one was not explicitly specified, is the current + # language (i.e. which is always Eagle for this script + # because the Harpy plugin is absolutely required in + # order to validate one of its script certificate). # switch -exact -- ${%metadata%(language)} { "" - Eagle { # @@ -1717,25 +1718,46 @@ # # NOTE: Determine the target language for the package script, which # may or may not be the language that is currently evaluating # this script (Eagle). The default language, when one was not - # explicitly specified, is Eagle. In the future, this may be - # changed, e.g. to use the file extension of the client script. + # explicitly specified, is the current language. In the future, + # this may be changed, e.g. to use the file extension of the + # client script. # switch -exact -- $metadata(language) { - "" - + "" { + # + # NOTE: Assume the current language is the same as the target + # language -OR- that the script being evaluated does not + # care. + # + return [uplevel #0 $script(inner)] + } Eagle { + # + # NOTE: The target language is Eagle. If the current language + # is also Eagle, simply evaluate the inner script block. + # If the current language is Tcl, then try to use Garuda + # in order to evaluate the inner script block in Eagle. + # if {[isEagle]} then { return [uplevel #0 $script(inner)] } else { eagleMustBeReady return [eagle [list uplevel #0 $script(inner)]] } } Tcl { + # + # NOTE: The target language is Tcl. If the current language is + # also Tcl, simply evaluate the inner script block. If + # the current language is Eagle, then try to use its [tcl] + # command in order to evaluate the inner script block in + # Tcl. + # if {[isEagle]} then { tclMustBeReady; return [tcl eval [tcl master] [list \ uplevel #0 $script(inner)]] } else { return [uplevel #0 $script(inner)] Index: client/1.0/neutral/pkgr.eagle.asc ================================================================== --- client/1.0/neutral/pkgr.eagle.asc +++ client/1.0/neutral/pkgr.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJZzwZCAAoJEFAslq9JXcLZ8ZAP/0UFZAEsVPKkDr3RAV1AWVE4 -VtUG8woEfFh0D+8UxAQCa7YfsehuWBd5Yy0low9qepZUjpMptXLnBZMHfMDNHQcT -R96avbAZYtACOxKbJWiXRUBcudOZT1IAPxHltdWcRIJMycWw+OdejRLaJX02Wmub -U5s6Q/rQFIUScQ3qc4bvxZAVwwtR3Db+xj/BMPr+opwVxFoSvkxm8mW6j53dEGZe -09Jn2VBZqNzDl8yRpUYGvxyo3vSby7kBwYK1DeB/J7CI0bn+US81wUMFHNXpbzZ9 -rg4Zj66LNdXeWStJwMK2xFxxEveSl3oYjSdI1FNKA5tqXk5e1erN44EiHjzEGxFY -YesZY+gLU749juTm68P0ZqNNHEBisNsVFpAz5A3hgrXWEmqb5uCsikJVFeolBx06 -a8wKFWgMAvtAQeY47TWdnZ4MoXCdowAL/K3iYLSKWLmrF9aMlyTfcVXEtkIgRLUh -kQYEbQOkv3rVa/th63UFe24p3OY8rcvWnVIe9jsPp4qxWjZxjOdopFMKmLG2X40P -8eox/5P/qsL+ejH0z0rPotFyRckf4WTWNaH0Yic0U1nJZHm2NkxaeLg2zfhhvVBD -ZS3wsWM/o+fnJe5IJnDb/g2TyWTHkQp4fJFa4bpPTW7Zbtc5/Fte2XWPsYK5N/4b -IB782De+eHzGngVVCoHT -=eegm +iQIcBAABCAAGBQJZ0ouJAAoJEFAslq9JXcLZHDsP/2M22VTCnPYy/Oem/G+MNdJR +DGV1fWlxDQAcz4+OqZCpkdEnD0rvoZESqWZNRuWiuHvcLcJpKZ23oPu0/SwgUq2f +4hV7wNYVSb+fgL4zmEylskMgfPJIkgwJiVIcZyY7lz5L3k14MTMUzgPPUFg4++sA +GX7whRJsQ8ecvBBb9QyUEyl9fsJENDvlIoGQqhqtBtVefGSFFiUXekLm78DEaffJ +ubqU2fqIyqn3Klpd4LjRoW8N6KPAzuIVWebk37vx/Un9WyWVFFSkoYC5VYVFrr/G +9tViqKo6cIAhvJw2vmyp4jaKrIRo8gBi21+M6lPW/1+jjhlRr5TA6TYWlWzJVc9L +z4h3aME/xiJGIV6f8Z9V940UXKyi/DKdzq7Ii1OMNmCa4fPdK8AJYIQ5DPpk48iw ++y7JsKs58XZAyxhY/HJedIzvoYSwFzfpl86tATvud3VmisbReEkrVv8Ozls9GZYU +NhfM2zUop5VH5VWWGryxWunL/KOtyASeEBSNR54eakdbORJ5x8SzeVGQ/Iqc6wh5 +O4cB2tZJ9GW01hC274FkhaQe12D9U9x7OvYFyu4YWmRnm1ACbZIqeVb1c2XV+CZ2 +VF/6SKWctPFL4w1vFY445nMpZY8FWWybjiPrBK4kd/gGLBiEglhSmpyuxVVAh6Bx +bNGuVbZ4btCKYlo2AGYb +=9htW -----END PGP SIGNATURE----- Index: client/1.0/neutral/pkgr.eagle.harpy ================================================================== --- client/1.0/neutral/pkgr.eagle.harpy +++ client/1.0/neutral/pkgr.eagle.harpy @@ -19,50 +19,50 @@ None Mistachkin Systems - 140df557-7154-46fd-836c-c454bb871ef3 + 4178711f-e9fa-4343-ad0b-e681658224a6 SHA512 Script - 2017-09-30T02:49:27.8311385Z + 2017-10-02T18:54:09.3563671Z -1.00:00:00 0x9559f6017247e3e2 - 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 Index: client/1.0/neutral/pkgr.eagle.harpy.asc ================================================================== --- client/1.0/neutral/pkgr.eagle.harpy.asc +++ client/1.0/neutral/pkgr.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJZzwZEAAoJEFAslq9JXcLZV8QP/jRLMsK+CjS1GYQIYKV0lySb -wpRcTjs4kX8LzNkpSt9/koWGnGuwNrlB/7ysAb7K4GQVsCP/EiZXaRgjv9N6M8YA -LbkQ3+iSZkjncwgm0Kg+OXWUzwzVlo+okyIup1eCMcJuA3b69TyolFJuG0Kugmc6 -nvo+8LWWwaIMK3x9L2tgeCZfBCoj+2cgmmbHnT4LvatkjxFLnJ40+nbftOqltH4M -NdOdUxM6tLJa2gcEwTPyJH6j34cSuXvagZxtJQbr6w+UAdc5NLEvErBimZnaZ1DE -yiD5nDNw/jo4q53OnrIFJFqJxNvsBJO3UUaaIaxLiCHAhnxfTxHuCeed5vJ0bjIS -YeSuexzSZoaEzJyRn4fklUZ4lZq2fnYdyO6k/TkftMcPIZ8b4VXqUE46GDZ7mEiS -yyx4FoymThcsabCVVlYAE+6dxb3RQAsjGhWxI08PtBcvSVJq8icJ3EmnqD1uuXpA -FUpFm38ocKopIt0hfS+Y9fYyVKp05mtn1NrbRalxLS3XA351XGMYv6wsQzCpBrJe -k7CRB6v2dPA4IVFO+/b5M/Lchca8b69whxnk1dssr1DUcl1yFQHaiDujkYY9cHVQ -FyYLpBw0vQM6QWKARPKGe3slTgZLbpjgYxlTlenc01Tv47b7fic/IIfhU8D+HdyV -mFdYeyMUSBZ7rK+Y9FT2 -=/xpL +iQIcBAABCAAGBQJZ0ouKAAoJEFAslq9JXcLZ6x8P/1zPSAGzulyuNZambEYoiVt0 +fHycrFrJrGUioHRdshisN2vsJy5uZG85/bPIyLBcu5IpWxh+LLBE2J99ulrLNUJO +HU2gzCVEiqabDP5+TXQ1Otl80HELKttFjZEpO1H/tAtJnM1N9aY+qiiiLQwHqBtC +6r6kqOeWZWMdIWxX5VazPyIdRaWJWYvCEz6CqJmEyYmxuDE1Nu5MG9RdjbPZYd0M +7FxPTtOxMyhMQ1fuzcu4LcNlZRfUx26FxMtKZVz8khk28mzvMTEziKyw3IsoIj6I +yf9l4Rh8ubyU3qfHBKTZ78+lzK0vcZSkxiig/4HdCSEV/yVdcPcBWBodCr669NZj +t1mtv2H5iBScwqph1uIMOg0TIy/u5H/x38BSoH44IgZrNRA1vCVE2orFk2XiRLxf +FXe0dQ/OKEzpLZ+UYsSncJdIHLcj7fFk5T5mL8rRkNrCIT21MXZITspZkSx88g53 +s28pMrXyCFq3MCUqPmrjHmNc2ZogOSGmbJJUNFD6Ggt5OXP8PgDciQob1dMtZmIx +3CkLXAZpm3RgYNSCt2cJmOWsHnEIzlKX4g9m2wNgjVOXSa69pO1/O6HPAKV70cJz +OTd8SC03PxwjbtTSvn6UdJN1RDuSym/S0vHhiin/Q4YUCXqxbkeg4ETxRqB+BdtE +KS6bSXt3yMLS6Vd2rpHK +=GCUA -----END PGP SIGNATURE-----