Index: client/1.0/neutral/pkgr_upload.eagle ================================================================== --- client/1.0/neutral/pkgr_upload.eagle +++ client/1.0/neutral/pkgr_upload.eagle @@ -71,15 +71,35 @@ if {![info exists scriptDirectory]} then { set scriptDirectory $pkgr_path } + # + # NOTE: The command to use when attempting to verify that Fossil is + # available for use. + # + variable fossilVersionCommand; # DEFAULT: fossil version + + if {![info exists fossilVersionCommand]} then { + set fossilVersionCommand {fossil version} + } + + # + # NOTE: The regular expression pattern used when attempting to verify + # that Fossil is installed. + # + variable fossilVersionPattern; # DEFAULT: {^This is fossil version 1\.\d+ } + + if {![info exists fossilVersionPattern]} then { + set fossilVersionPattern {^This is fossil version 1\.\d+ } + } + # # NOTE: The command to use when attempting to check for changes prior to # staging files using Fossil. # - variable fossilChangesCommand; # DEFAULT fossil changes ... + variable fossilChangesCommand; # DEFAULT: fossil changes ... if {![info exists fossilChangesCommand]} then { set fossilChangesCommand {fossil changes --chdir {${directory}}} } @@ -96,11 +116,11 @@ # # NOTE: The command to use when attempting to check the checkout status # prior to staging files using Fossil. # - variable fossilInfoCommand; # DEFAULT fossil info ... + variable fossilInfoCommand; # DEFAULT: fossil info ... if {![info exists fossilInfoCommand]} then { set fossilInfoCommand {fossil info --chdir {${directory}}} } @@ -137,11 +157,11 @@ # # NOTE: The command to use when attempting to reset the checkout to the # default branch prior to staging files using Fossil. # - variable fossilUpdateCommand; # DEFAULT fossil update trunk ... + variable fossilUpdateCommand; # DEFAULT: fossil update trunk ... if {![info exists fossilUpdateCommand]} then { set fossilUpdateCommand \ {fossil update trunk --chdir {${directory}}} } @@ -148,11 +168,11 @@ # # NOTE: The command to use when attempting to stage package files using # Fossil. # - variable fossilAddCommand; # DEFAULT fossil add ... + variable fossilAddCommand; # DEFAULT: fossil add ... if {![info exists fossilAddCommand]} then { set fossilAddCommand \ {fossil add --chdir {${directory}} {${fileName}}} } @@ -159,11 +179,11 @@ # # NOTE: The command to use when attempting to commit package files using # Fossil. # - variable fossilCommitCommand; # DEFAULT fossil commit ... + variable fossilCommitCommand; # DEFAULT: fossil commit ... if {![info exists fossilCommitCommand]} then { set fossilCommitCommand {fossil commit -m {${comment}}\ --branch {${branch}} --user anonymous --chdir \ {${directory}} --no-prompt} @@ -589,10 +609,12 @@ proc getCheckoutDirectory {} { variable fossilInfoCommand variable fossilInfoLocalRootPattern variable scriptDirectory + fossilMustBeInstalled + if {[isEagle]} then { set directory [::PackageRepository::formatExecArgument \ $scriptDirectory] if {[catch { @@ -602,10 +624,12 @@ set result [appendArgs $output $error] } else { return false } } else { + set directory $scriptDirectory + if {[catch { eval exec [subst $fossilInfoCommand] } result]} then { return false } @@ -641,10 +665,42 @@ "checkout directory \"" $checkoutDirectory \ "\" is not really a directory"] } } + # + # NOTE: This procedure attempts to verify that an implementation of Fossil + # is installed locally. There are no arguments. Script errors are + # raised if any problems are found. The return value is undefined. + # + proc fossilMustBeInstalled {} { + variable fossilVersionCommand + variable fossilVersionPattern + + if {[isEagle]} then { + if {[catch { + eval exec -nocarriagereturns -stdout output -stderr error \ + $fossilVersionCommand + } result] == 0} then { + set result [appendArgs $output $error] + } else { + error "cannot use Fossil: may not be installed and/or configured" + } + } else { + if {[catch { + eval exec $fossilVersionCommand + } result]} then { + error "cannot use Fossil: may not be installed and/or configured" + } + } + + if {![info exists result] || \ + ![regexp -- $fossilVersionPattern $result]} then { + error "cannot use Fossil: unknown or unsupported version" + } + } + # # NOTE: This procedure attempts to verify that the checkout directory does # not contain any (stray) changes. There are no arguments. Non-zero # is returned if the verification is successful. # @@ -651,10 +707,11 @@ proc verifyThereAreNoChanges {} { variable checkoutDirectory variable fossilChangesCommand variable fossilChangesPattern + fossilMustBeInstalled verifyCheckoutDirectory if {[isEagle]} then { set directory [::PackageRepository::formatExecArgument \ $checkoutDirectory] @@ -666,10 +723,12 @@ set result [appendArgs $output $error] } else { return false } } else { + set directory $checkoutDirectory + if {[catch { eval exec [subst $fossilChangesCommand] } result]} then { return false } @@ -692,10 +751,12 @@ variable fossilInfoCommand variable fossilInfoProjectCodePattern variable projectCode variable scriptDirectory + fossilMustBeInstalled + if {[isEagle]} then { set directory [::PackageRepository::formatExecArgument \ $scriptDirectory] if {[catch { @@ -705,10 +766,12 @@ set result [appendArgs $output $error] } else { return false } } else { + set directory $scriptDirectory + if {[catch { eval exec [subst $fossilInfoCommand] } result]} then { return false } @@ -730,10 +793,12 @@ proc verifyThisIsTheCorrectBranch {} { variable fossilInfoCommand variable fossilInfoTagsPattern variable scriptDirectory + fossilMustBeInstalled + if {[isEagle]} then { set directory [::PackageRepository::formatExecArgument \ $scriptDirectory] if {[catch { @@ -743,10 +808,12 @@ set result [appendArgs $output $error] } else { return false } } else { + set directory $scriptDirectory + if {[catch { eval exec [subst $fossilInfoCommand] } result]} then { return false } @@ -767,10 +834,11 @@ # proc changeToTheCorrectBranch {} { variable checkoutDirectory variable fossilUpdateCommand + fossilMustBeInstalled verifyCheckoutDirectory if {[isEagle]} then { set directory [::PackageRepository::formatExecArgument \ $checkoutDirectory] @@ -780,10 +848,12 @@ } error]} then { error [appendArgs \ "could not change branch: " $error] } } else { + set directory $checkoutDirectory + if {[catch { eval exec [subst $fossilUpdateCommand] } error]} then { error [appendArgs \ "could not change branch: " $error] @@ -799,10 +869,12 @@ # script errors. # proc stageOnePackageFile { targetDirectory fileName } { variable fossilAddCommand + fossilMustBeInstalled + if {[isEagle]} then { set directory [::PackageRepository::formatExecArgument \ $targetDirectory] set fileName [::PackageRepository::formatExecArgument $fileName] @@ -812,10 +884,12 @@ } error]} then { error [appendArgs \ "could not stage file \"" $fileName "\": " $error] } } else { + set directory $targetDirectory + if {[catch { eval exec [subst $fossilAddCommand] } error]} then { error [appendArgs \ "could not stage file \"" $fileName "\": " $error] @@ -886,10 +960,11 @@ proc commitPackageFiles { package patchLevel language version varName } { variable checkoutDirectory variable fossilCommitCommand variable fossilCommitPattern + fossilMustBeInstalled verifyCheckoutDirectory set branch [appendArgs pkg_ $package _ $patchLevel] set comment [appendArgs \ @@ -910,10 +985,12 @@ set result [appendArgs $output $error] } else { return false } } else { + set directory $checkoutDirectory + if {[catch { eval exec [subst $fossilCommitCommand] } result]} then { return false } 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 -iQIcBAABCAAGBQJYXKneAAoJEFAslq9JXcLZ7hoP/0wQ8PZXn2xx57BbGwtiT86Q -mRY9XOPlxFncnB3lx5bjWyUEVfNAomwnHwlPklN2qvb+GK8Ipta05zzjHtw/DuSb -2medEkbstmcakfAfOvvMAScM3/tHWF4IFz5THHMEA16cWZF71kZWcQgErPwmQkpV -G71dzfahGNsoTxLWRAq5Wt4/joeHz2Sg29B7blTEe8bWjZr5ccMRopZnW8dGSvFf -h1mP1JXgdacQsZMNfeUwQFKP4jaXIgKJu1JJ/tdwXIrZuiPMKnFJNPgpldTRsEJS -+Kd7ldC3NghUOnpIo6m+Js2nV9MMf3TdSJKS626A7Wjyxe6YjTjPlCM0SeDuTn9x -WM2+4uJ3OhA2o6j35p5KnknDiD5XkgMDlvYPxsDJgnEaOcr4cZuo1lDWke90PSEt -umcGZdjrgJazLSvUnW/gum96P0araK0E9G5y5xtXIPFpXRHum/8IaQFp8yOPDjfK -5Tj4cYPuBV83xPZlqPNpgGjOs1wbxq8Cy9FJNBkBIQooRVfGYqRsvr08O1Mzljf0 -GDaS2P6TUl0WP9/qtsGrqG2WQXXzvgSmOD//AIpc3dxubFJmbcpj1r3v0X5t+aai -XKUfenlkhfIh5r96yvFOP9hXE0uh4dg20zEQitMzCDm4aA+PQQRmYnNSSwOHc7XK -oUXIigBg+/c8eSoxL/Ph -=+81T +iQIcBAABCAAGBQJYXZOHAAoJEFAslq9JXcLZjGQP/3TTItUS4vrTJqvd+2Z8DOcN +zfppsq5q5yefFYCl7+ZdeP6/qefC0Im6v22Dl5BaRO68No4UWO6G0jzwJtU1INcM +NtTRzPrutk5Qxjpqp6ZDoTAHohQw/dfwVlt4gRkfB69Wf1wCnXSn1WxMeIo8uKgV +fNTfMZWNMbQWsagI65ADIYeAxkWXEqmW1/vxZhOU4mIkSdMvFZvkxi1dTjePbw/A +ORRne/Cw9ozixKoFb5RiNIorxZjaLhMLV6R2Nf5K0OsaHUB4+F4xRcMYsHuOx4WY +YcTcbeRf9vRfLoSk+aPcfxmDE8z8rRmRekORi1rq4YA/iQF18K0sTnqVms0YwzfV +7D/g9ORD4dv72K7xREJTPP/YtoBQ7G/xzzmqXK2n9NCJH+1KimszAW0/1ALyGfXy +8D/tFmtvTvpSFXLHg5MnuggKtzXrTqtBgc7gTRT5T0y0Js4Y04Mr4sslI+PQ8nm4 +jFnXyzI6b/YihjR8AqKqNQ9RRV1rdPpVbutsN7kjROpaQhJz8B8IH7baja33DyNx +uGNZapToC+ekP8oZIEmpusiPdRsTSb+JrZNS98VMtD38oqlf/SPWy7r47fslQN8H +ixGvzGz37FIaEQN1C/xZx+uHtrDZ8GL6zJWdz+yifFndvYC7cXG5wwTV4/tdi+X4 +MvLyeUQIhocXY1A6EaVg +=FWCF -----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 - 67122345-fa9c-4308-bb53-b59be66b3ca2 + 34655bde-90f4-4c1a-82bb-1d55d7719711 SHA512 Script - 2016-12-23T04:36:14.6152343Z + 2016-12-23T21:12:41.9853515Z -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 -iQIcBAABCAAGBQJYXKngAAoJEFAslq9JXcLZN+wQAMZDGtGJz21FPudsAxPKetWi -5ld08+mmrdfYDwNjLyBGicjKi+nKJ3E3PQSEB97IRCj+G3um3uOyHpoWEWsPBSmb -xqesT4OBMZ0dgLoTKNX67Q5BIr5gGEm7A+xZ7lOuNFeMVthbtlM7U9IaP4NI7dKO -dPFNPjJ8VHoVkAB7Z1HtiPOjSPfRIXw9wgjs271qJEWkqbSSgniKUyv0aCSosRnr -aKDffBMDcBHSkVa0E5tjGOoGy7aVdB28BP4OCmtWa17gDFf1MzebiJKJSx2/1Kfg -9kBMl8scUChHlOj4/vuCE8VQ9lShzYd8r2s73VSQzNsS4eTGUHcbQ2Ji4pMVxFB/ -71HnEU4p8zKq0NUD2AlHyiRDz9GfhadVbxRLdPAsVC22Azyi5ekpulKQ8p81x1Jl -UOR5NDa6Zs9WaLIfbYx6oxi+B4xxvNsjLulywhGuU9CFhwZ/cvLcEGLwj2jrPzaO -0+aCjEXhZ4ag4k4Vdaf9/yohnP1/P4sZ3grNzUrqwME+ZjnLw7tlzv8SxtEzvgr2 -xsIKrLLmSV4dlF2cLZgnNWVvtYbdhWoocrjaWHhsHMc4hv8v8X5DtLjl/8dTRluT -qUL+pa2pukPd3VvKi3fZQhUcf4k/QKenyjEiw/mQKsUQhjyuNqMpG0BO/JcpxCD0 -v9Mmf7BJO+23RbMg75io -=J7Q+ +iQIcBAABCAAGBQJYXZOIAAoJEFAslq9JXcLZ3JgQAL81Twb5crIBRvmQ4b08llY0 +NjjW62s5/v8ZbwoJeCVi0UIieoKGw6QL5+QrFsQISU2k/+S6qI0uCzQuQQz3N7+A +KuvifSzHaa2mtwxkqPG++bngmUqFD1uCFNOWPYkKAv04FwQY8RriQeCWdnlRWlUE +MX9tu1FdbD5sLP1M2I1YvOYrQf0EnZs/Pt3KmcP8eFiCtCTKnq7CgmEKF6+gXg10 +/JIIkoq4yfHQKc2PXx/hAvL6tSUzRwMay3NpBlZHUVzolaoiDn2LOqvHjkS/QmIK +/47rXfROCiT1LxybTr4C7EgQ9/Xi6tUA54Lg6i9Bbxd+zt5W7IZsLS+Ngv4fqoXo +lY9P5l/CLahldzC1+vAZdYQamssRVNK7VsiCqvKjrZCQNaFboP9GYBN+Ea8/bSlh +ixV3HyB0PXgcksbO+Y/faR7MpQseyfZrYth+BZVuN1ax2YuJN4vJiwZtwXXn9L5J +6ZLrVY4O5SERNv+tRGLPnbE9GzwJqpw7v9tC+eBgBU9zOoW8SWdiGM8cRrNlLFnn +G9haQrAWkOFSyPi+jM67Z+M1ICiWDUtGI6w/fY9MF/OdztNotSMcqGTjzcqKKNwd +vJUCn7W7u3W7CtOLGIzv+/wKFeR81EZs6rv0MWH2PnsXeKTUDDhZOlkaskgmxwNe +UqQsn4hAhQ3sFls7QVFd +=36lJ -----END PGP SIGNATURE-----