Index: client/1.0/pkgr.eagle ================================================================== --- client/1.0/pkgr.eagle +++ client/1.0/pkgr.eagle @@ -278,38 +278,73 @@ # that are already configured. # # proc getApiKeys { {prefix ""} } { global env + variable autoApiKeys + # + # NOTE: If the caller specified a variable name prefix, try to use it + # first. + # set prefixes [list] if {[string length $prefix] > 0} then { lappend prefixes $prefix } + # + # NOTE: Next, fallback to the variable name prefix for this package. + # lappend prefixes [getLookupVarNamePrefix] + # + # NOTE: Try each variable name prefix, in order, until a set of API + # keys is found. + # foreach prefix $prefixes { + # + # NOTE: If an empty prefix is seen, force it to use the "api_keys" + # variable from the global namespace. + # if {[string length $prefix] == 0} then { set prefix ::; # TODO: Make non-global? } + # + # NOTE: Check for the variable, in whatever namespace it resides, + # and return its value verbatim if it exists. + # set varName [appendArgs $prefix api_keys] if {[info exists $varName]} then { return [set $varName] } + # + # NOTE: Fallback to using an environment variable with the same + # base name and returns its value verbatim if it exists. + # set varName [string trim $varName :] if {[info exists env($varName)]} then { return $env($varName) } } - return [list]; # NOTE: System default, which is "public-only". + # + # NOTE: If there is a default list of API keys, just return it. + # + if {[info exists autoApiKeys] && [llength $autoApiKeys] > 0} then { + return $autoApiKeys + } + + # + # NOTE: Otherwise, return the system default, which is "anonymous" + # packages only (i.e. those without any owners). + # + return [list] } # # NOTE: This procedure returns the base URI for the package repository # server. There are no arguments. @@ -1064,10 +1099,11 @@ # no arguments. It may load the Garuda package when evaluated in # native Tcl. It may load a native Tcl library when evaluated in # Eagle. It may install the [package unknown] hook. # proc setupPackageUnknownHandler {} { + variable autoApiKeys variable autoHook variable autoLoadTcl variable autoRequireGaruda # @@ -1285,10 +1321,21 @@ # NOTE: This procedure sets up the default values for all configuration # parameters used by the package repository client. There are no # arguments. # proc setupPackageUnknownVars {} { + # + # NOTE: What is the default set of API keys if none were set explicitly? + # This list is subject to change at any time -AND- may be empty or + # may contain non-working API keys, please do not rely on it. + # + variable autoApiKeys; # DEFAULT: 0000000000000000000000000000000000000000 + + if {![info exists autoApiKeys]} then { + set autoApiKeys [list 0000000000000000000000000000000000000000] + } + # # NOTE: Automatically install our [package unknown] handler when this # package is loaded? # variable autoHook; # DEFAULT: true Index: client/1.0/pkgr.eagle.asc ================================================================== --- client/1.0/pkgr.eagle.asc +++ client/1.0/pkgr.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJXzxNeAAoJEFAslq9JXcLZBhgQAI4NlAjrAZPLYjNBoctCE8Za -Ey/OGSC12utAOojIvsQOpaf5HSZVM/v36cKj64rETCjOr5RFUcLYi/avU2YohZxR -uam66GpXmwDqGOi17FWpGtm7R9j2OY+EpZdm/ccQFM6+2l0DI7DB2IP9g5aoc5pF -LHpbfGZ0LOcJR/1Y1bupRkmOs5R9Yz/Fndu8CpHLoCl4tU3/fg3VPJyfoho56TAa -QmdkcttjpVt9fn4gOgbWseN07USSToYOC4rq02Ai+kxC3PVzJYYmgiALLTX7Uk3j -phEmnIpSUfFPzpnWWAzubDhpsRo98N2ZTXOp2peClMIBdQkDToOPnzCEROq8o8cm -Y2X6brgUFosb8dtayFpB6gYRzfFOM5g8w+HwNukFkjl44Gz8Cjdo2ZrmcuGMvpFh -xhwW3evho7ktJ4CLhcfdm92bkn7rU9ongQSSdhM3KyAVGRXIJTwdUnpuxXDMfxEi -1GAOLJNVReTFCmch0uaBQWhhr6uB9xNyntvPVg47yUgcyLKelYs+eQxk4YgGe9dI -BSW6xh6pwqNPyC9eJvnhD11uscBypCjuvkrhR0JmnXifJbmVQOV+HXjNCDdy+zzZ -6q8ZmR2TQw1ySTXzJ2bGUTzQVtoVBtdhT5+GE9KCcEGxnzeYpjLSAAjMBLdYvF89 -mVBObrK5FKMj3YAbMS9G -=77ps +iQIcBAABCAAGBQJX0d93AAoJEFAslq9JXcLZmMcP/AgIgfyqy+dmH5Rwh5XUAYiI ++LbnPQbuWGeLHyUFawWv/kC534bz8oiErWK5t6aSHnF/FERsWzZcOYSL8qvC64aU +9JjP6TOIsK2Hp/O2cZqcXfcqmnOlXRSEJLj/wePPXc84N7WyrsY+9LPrLXDZvJLJ +hYCn0w9wA7ZBv2ikYcC0sUzUdro+u1xxCnZS/c6mIGh8R2ilS7NssKuSHJjIA1lm +9KTwaRM7pB6sMuKjRKvkag6omTMtz8z2Jquj5umWK7UgBGknZDCddJhnEKccE9rW +s5uJ9w+0ph+Y8VceHebUq6NofdLG8yCb4Z4FvlKAeTgKUuy0VjnzKE2A1UoXhz8O +1N5WXw3eqK6Y/F8ymIGs71ebOplsMK5hx2vTcMVMwWo/uf3kgqFE6CqVhTLeW4kb +1xZTgLlMUISy9UxDb0NwGNMOeZ8F7W8EE8I7iPSzCXTsb8IXupit74edrYHfBA2r +mnUPEe5nnyH5q0HRGt155Z/PdvQe14F2o7SjeXg8SiUOFw1lPN4SuVDyKWK44aXI +OLpeU9vFOtcr+btuFqhfhVxnGVRyVzaRx2zerhdkDvUgs2RQ9NWhJN2YnKRH3mfq +HLDWS1obtp7uuIEnDpXZzMO0Jd0GYQsdzMGHmTaf43pdfkbTukLMSr/AvI89SLw2 ++m3DNz9PQuCm08HwHNKJ +=rKvN -----END PGP SIGNATURE----- Index: client/1.0/pkgr.eagle.harpy ================================================================== --- client/1.0/pkgr.eagle.harpy +++ client/1.0/pkgr.eagle.harpy @@ -19,50 +19,50 @@ None Mistachkin Systems - a6f49cca-d9a5-4fc9-9681-efcb62641935 + 6e181bed-2e2b-4b57-9ce0-2016ee6c857a SHA512 Script - 2016-09-06T19:04:13.8577891Z + 2016-09-08T22:00:00.2122187Z -1.00:00:00 0x9559f6017247e3e2 - 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 Index: client/1.0/pkgr.eagle.harpy.asc ================================================================== --- client/1.0/pkgr.eagle.harpy.asc +++ client/1.0/pkgr.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJXzxNfAAoJEFAslq9JXcLZyU0QAIAihINgOxsP9Sf3x/jSPp3p -0oYWgxfQWq7Qmc7HIGqzE22MM4ke0YkSJOQ93VozbLKftcr6BtenM//An+mie4+u -KZDVBBe3aNG4qarzb6/k/GEo3Qvv+QHrMEdxMXPShoB4N/Cmw5OzNk9BiCeVnrRG -xkzWHrk2HvxIpEJD0h3KEUk1YKU72iWvAUOCXCZpUC6Wgfpy+CoqJFxH8gkTIlE7 -6ZLCqSb2zidHiDOWAO0XhNYZZ8phfFXDboXqaCiBCpaZZvQtqsylesuHQ9JkpsbK -jhoXNo5fVEy/zioDnAs6VR0d58naEIe5QQy1U1VVZgFhKA7Yz3fT1Jx4ffERk9r6 -3g1e4rfi1VQIXrTNkm7jSg3Sww7Ia1ARLpmQWoEneicphy9P+OK2/OIDj6L6OU8C -C14q1NRYN6azlqA69/8n2PyIX5AREJ+yJQBfQ/5i8r0PID/CbIE9wke7b2DswHmy -sNFBSB3J56wT5lC4XrNj7HA6sjyjP6nWSYCLxzbwf0pF/i4lgtMIqzWr53p1suQH -E4HBZKEm9DcgRkKnYgx8KniBCaUvcsuEZKQYWTTejgoYJZg7zddTwMgT4fDJ7dKn -S95lJKcTSyqPT32IdJ/AVJw6p9s218wTtVut6dJiQqzAH6S5Yoi1FuMLgvAaXps1 -N8xBkE6Bj4yyvAUKo7l7 -=4WtK +iQIcBAABCAAGBQJX0d94AAoJEFAslq9JXcLZuVgQAImM4Gv+hLu1L9KKxHIHBpuu +wBbe2wW8KD92QztrMy68dv5CVr9/Ta99xst2/JV/8gCsKS9IDAnx0Lov8a/WGKSu +u7p/Tffc40kBqI4+130gpqAvgBJy/oVcVABDuPn4YjWOGs9WgSzTYvrsjPxjyKs4 +mn7Fo+TzeHgPTxQpcHlkG5b8QkhqqYBPr1qvss3hucjPrSKTFvjpzVtPmtgZvncB +X8Hei6jcIym6NoUzhCwK1bKAbzvzqc/3XuoWuMwbiajJJdgj+WJyd8FINs+rSwWI +Anoiqoa4Vl+QCEJwykP3a2Uf6q2mmH1JGF4ZJJAhSpQSMhlC0I5yWoexFkQZLaQI +9lbjhHX4pVotwJWZVH+fLRNNy5BM7f7/YHF0iGTkoQmkSfNkuNRsg0YX7CWcWqKU +h29DkRKoC/l047tpWXyStgpTM6AWzGH0oY3580btAI/y0RfxtPALrq2eYADcb6gE +OyxNlx/UL9mZe3kiV0bG1x1+drN+yfynisg08+xq2sKuHdZXkgsynsdXqk8CepKO +KuBNslwwOWPjqdFXgS8FOeKc0Au6wx4eGp/PluzR5IvEuG5FYiZkyhYVxlY9kEHV +4fXXMvB6P63JAn+vjz7CGqnhcLAbuyuO0jIFiSv4Pwz78RcBC/Ii490so2074wXC +S91qfoy8zty8AeNKpuXg +=b0pS -----END PGP SIGNATURE-----