Index: client/1.0/neutral/pkgr_upload.eagle ================================================================== --- client/1.0/neutral/pkgr_upload.eagle +++ client/1.0/neutral/pkgr_upload.eagle @@ -590,10 +590,13 @@ variable fossilInfoCommand variable fossilInfoLocalRootPattern variable scriptDirectory if {[isEagle]} then { + set scriptDirectory [::PackageRepository::formatExecArgument \ + $scriptDirectory] + if {[catch { eval exec -nocarriagereturns -stdout output -stderr error \ [subst $fossilInfoCommand] } result] == 0} then { set result [appendArgs $output $error] @@ -651,10 +654,13 @@ variable fossilChangesPattern verifyCheckoutDirectory if {[isEagle]} then { + set checkoutDirectory [::PackageRepository::formatExecArgument \ + $checkoutDirectory] + if {[catch { eval exec -nocarriagereturns -stdout output -stderr error \ [subst $fossilChangesCommand] } result] == 0} then { set result [appendArgs $output $error] @@ -687,10 +693,13 @@ variable fossilInfoProjectCodePattern variable projectCode variable scriptDirectory if {[isEagle]} then { + set scriptDirectory [::PackageRepository::formatExecArgument \ + $scriptDirectory] + if {[catch { eval exec -nocarriagereturns -stdout output -stderr error \ [subst $fossilInfoCommand] } result] == 0} then { set result [appendArgs $output $error] @@ -722,10 +731,13 @@ variable fossilInfoCommand variable fossilInfoTagsPattern variable scriptDirectory if {[isEagle]} then { + set scriptDirectory [::PackageRepository::formatExecArgument \ + $scriptDirectory] + if {[catch { eval exec -nocarriagereturns -stdout output -stderr error \ [subst $fossilInfoCommand] } result] == 0} then { set result [appendArgs $output $error] @@ -758,10 +770,13 @@ variable fossilUpdateCommand verifyCheckoutDirectory if {[isEagle]} then { + set checkoutDirectory [::PackageRepository::formatExecArgument \ + $checkoutDirectory] + if {[catch { eval exec -success Success [subst $fossilUpdateCommand] } error]} then { error [appendArgs \ "could not change branch: " $error] @@ -782,16 +797,16 @@ # to the package platform directory. The fileName argument is the # relative name of the file to be staged. This procedure may raise # script errors. # proc stageOnePackageFile { targetDirectory fileName } { - variable checkoutDirectory variable fossilAddCommand - verifyCheckoutDirectory - if {[isEagle]} then { + set targetDirectory [::PackageRepository::formatExecArgument \ + $targetDirectory] + set fileName [::PackageRepository::formatExecArgument $fileName] if {[catch { eval exec -success Success [subst $fossilAddCommand] } error]} then { @@ -880,10 +895,16 @@ set comment [appendArgs \ "Add package " $package " v" $patchLevel " for " $language \ " v" $version .] if {[isEagle]} then { + set checkoutDirectory [::PackageRepository::formatExecArgument \ + $checkoutDirectory] + + set branch [::PackageRepository::formatExecArgument $branch] + set comment [::PackageRepository::formatExecArgument $comment] + if {[catch { eval exec -nocarriagereturns -stdout output -stderr error \ [subst $fossilCommitCommand] } result] == 0} then { set result [appendArgs $output $error] @@ -1255,10 +1276,12 @@ object load -import System.Windows.Forms set form [object create -alias Form] set widgets(0) $form + + $form Text "Package Uploader Client" ########################################################################### set widgets(1) [object create -alias Label] $widgets(1) Name lblApiKey @@ -1435,10 +1458,13 @@ package require Tk catch {console show} catch {wm withdraw .}; set toplevel [toplevel .uploader] set widgets(toplevel) $toplevel + + wm title $toplevel "Package Uploader Client" + wm minsize $toplevel 250 0 ########################################################################### set widgets(label,apiKey) [label [appendArgs \ $toplevel .l_apiKey] -text "API Key"] @@ -1538,11 +1564,15 @@ $widgets(label,patchLevel) $widgets(entry,patchLevel) \ $widgets(label,language) $widgets(entry,language) \ $widgets(label,version) $widgets(entry,version) \ $widgets(label,platform) $widgets(entry,platform) \ $widgets(label,fileNames) $widgets(listbox,fileNames) \ - $widgets(button,submit) $widgets(button,clear) + $widgets(button,submit) $widgets(button,clear) \ + -expand true -fill both + + pack $widgets(button,submit) $widgets(button,clear) \ + -anchor e -expand false -fill none } # # NOTE: Figure out the fully qualified path to the current script file. # If necessary, add it to the auto-path for the interpreter. The Index: client/1.0/neutral/pkgr_upload.eagle.asc ================================================================== --- client/1.0/neutral/pkgr_upload.eagle.asc +++ client/1.0/neutral/pkgr_upload.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJYXIt+AAoJEFAslq9JXcLZJnYP/3qTZw5o5MPRVB9cf4/8oe4g -WZI4PVaepuImhXfUV143+kFlbvij4r3K/eOEzTN8zt2BPkvi9vnL+7tuOq55n1/8 -S+NfuiD0gSuEnPTDRosswKxfqoUc6fEcU4EkcAv5d5SV7USZLIuAHM2HEP83lm5D -GGjG4cNi+6DOMCL8vqixqJBWj68UCOJMyQWR22CNkkWfY9f85t5piefhofwS6nKO -RJc+5BtcyPLn6FSUxANYdyWAPptfZBwDjdPaElRunO0Tprz2FW4O2kyLejfQo77I -Ch/HmrDtKrIa2/uxGEmquOuLXTz8psK5GYW7DggJZTG6BvzKqcVcmqvArIzTcYNA -bp+jz7S5Cl3D5urGWYrND7tMH71bmJkj4rYxzSyMixv0RgF+FmHaR1Gbx1iDW7Cd -5VXWUtI7h2ZyYQW1ENCVo8ZzBa/eObPUMuV8dTfYlC18FCWlfOzRMY69UfLIlMlq -SgyXfuwBudDyUCDB2uI2xl+6wLRwQ01SARmTGvN0exXKf6/6E9M3QFeVifshfmy7 -NlTpbovrpYlSvgEa6tw2T1x4gY96FUMSzMGxZwmlJtO7OAXKrUZh+kW+zo7o1oye -6VUw8uHzEuMPcdXFVZLzPcJsKGRt/Eel2lXCjhjLz/E7NljAVgeCvK955e6+oz/6 -54d/y8wLXnYR1GF0Ex+w -=3CvO +iQIcBAABCAAGBQJYXKIfAAoJEFAslq9JXcLZ/dkQALpneEN/I53XLHOarmVTsv51 +EW6Kznn+3rTlmdJieQ5OJdsJFgPtrm8m7p0nt1+NJmJXIXJCz05p+MTqGh8QMQJ3 +9gjw3DXB+nUOkqgt4/voxFyExdKgh5n9yAKXdkm/+8drd4oXjNivZkiza1xquOtT +VXqsAdEr7LCYdbCO4GRb4gG9juzm700cpI7KwwlKMsR1HR0rQH0+6OragKkHmT5e +0gXvw6Li0uTO1opokoxQLC3ERR/QU19ZF3YwFzLcGSqeEAt1fGm+tFwn+qYTt44n +oIpjLjStugbp0YU/PbZfez6p6e0X2zj4hWcJzn1FMPiNwDBSe/0aWUCe3Fux5Kxn +JnfBALHT//H7+HNUhMBs+8YAMwpEPpVduJ/7DiuRe560ma7BMu/fwYlTJxj2t1E7 +R8V4WZU6GW69wb78//TP3TtqJsXK5FL9yu5E+2X46wTGTc90mvqKi2kyxLhlXbeA +ZaFOI9TunuR8SwwMXWoJdjZJPLFFeREXb+zcif/pdD62Gb18F1UHgHPE4WAP40VZ +4PznKJtwp8bYMdVFcskW70fw9MXs8iWy2RDyebvNHF8F//y4Vp2PFS3qxTvbwWWo +qAKAoPplvHGcY6aSLlBjKk1vV9/MfYHu5HUm/HjpJZTPj2vNxKxHnu8O8dPbzPjV +tFAYXJZf7HLUcTHmUhu+ +=B0Qb -----END PGP SIGNATURE----- Index: client/1.0/neutral/pkgr_upload.eagle.harpy ================================================================== --- client/1.0/neutral/pkgr_upload.eagle.harpy +++ client/1.0/neutral/pkgr_upload.eagle.harpy @@ -19,50 +19,50 @@ None Mistachkin Systems - bd8c1a92-aa12-4c6a-a9b6-bfa353b6ee5d + 02e64bd7-ca00-41c9-8e3d-9c2e8e9b0279 SHA512 Script - 2016-12-23T02:26:39.1679687Z + 2016-12-23T04:03:16.4218750Z -1.00:00:00 0x9559f6017247e3e2 - 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 Index: client/1.0/neutral/pkgr_upload.eagle.harpy.asc ================================================================== --- client/1.0/neutral/pkgr_upload.eagle.harpy.asc +++ client/1.0/neutral/pkgr_upload.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJYXIt/AAoJEFAslq9JXcLZUPUP/RWqxxh1F4Z6Qak1bxI22Mg+ -LmRB4QO5jkRyc+ahY3DAQb8tb1eUDbIWPwZf/uBhro3QVM7bTv+WfFuWSXmXNJlY -A4JxTYw5bMb10MrutLcgtyCpvAUzJHmgr+axgyMZVUh0ogPeQxCVSFWmohFyslG6 -2FTr68g2JK5gb5uIZFNhl52zYWZpfkLRCk7ICIkR0hI2k3JE9ZftQK3uzvez3ZR5 -PbJOkwMgtcclioaCinsvEVfMEtsbvu9Nc8UhbxD8zwnHkD4aJNn7pZeEN/xW4adY -jgUqqw1tSX1V1FydczDwC9PF0avQHkrZHpMYi5qYq4IZSQ3ahI6PaO6nyShc8CiI -tY5zX/j0lgTiyiGLnycBBHRMBl/pFFlBCeImfPNGiVLTPJ2yonmsVd7L+t1uS2t1 -XhY4jczW6c2MDk5kdJnzC62pLnAhK6jMocVc7mOKj3d755I3CXtIxW5NQl/K0EYx -pb68IhwP7IICyqJvP8uux5H6W1+hklTz6/h4cey9tMeICwOmF/p+WWj/o8XOLBpL -IW/x9PJVFtUpmjc1WoLvjgmZuYAaXWgIAfuatgyKK7xpBc0DRKJXG6Dbb2yP4xNx -4BzH0jTgt0O+Py+6GbNeIARsuHyXvr2iuBMfImDAHeHGPyP0uPPVfEBqAyuMrYp7 -YolEX4j8e2nuR6m7XOXY -=F26J +iQIcBAABCAAGBQJYXKIgAAoJEFAslq9JXcLZLmYP/AiNJIiCUtZoisioQ5yoPnrQ +VE82tPyDdHrGU8muyGZXZoU0mixuz6HuodeQRs7wnVglXkNNzBfIYCS3CvuXf/u4 +lX67cTriBOviGuUTvh3OopmUvX9Ohq7JaHb7Hwe/EkX21pLz8gD5kdXwkesgzLzD +qgGff61sxCf+kpC/37KCJrc++bqv2FemJIw4FZs4mD9ghTWx6J4YiLHdTszhDCIl +bUEswj5UjjS6jdfex3CKCSY6PFEsXp8eEjII+C71NZLNcDKgZLQuR5zWGcRyYkyq +xxL6QQehPFWsktThy0wIynQNWmzHiovKPtGEI/1Y/6NLXQ7aTZe2Zvd6WammkCqc +dd4g4lMFaRAsWzMLFVJgi3sOjlY+rTpWVZjt7hOuZrUbCt+SKhXTAd6z+Y7OVwGp +x8ga6RUQQ9Qqyq8U/K8t+nCXoxPnlUpQOW4Z1oG4A7Vwt+YaaM4rliUlu5F6/6iB +Yp5zFr6w1HojytRF3Dox/LmfEZVDo66rNIm2XBl47HntiKTHRhryJUVQnXYbL37L +H7JcDlSDUMWYazCiTn80kmhLwvjDw/csuj5cQ1AEmIhqNvtR7lpzsRUgurkAjW9R +nPpMNf4xYdZLL5cdUtawEezi079CEQN4+BC1Aodcl9lPplJyrwIu61InFAcaGfYV +E8Uhn2IypPmGUpudDyfT +=XnsE -----END PGP SIGNATURE-----