Mike Gerwitz

Activist for User Freedom

path: root/bin
Commit message (Collapse)AuthorAgeFilesLines
* Copyright year 2020 updateMike Gerwitz2020-03-063-3/+3
* bin/tamed: Fail without explicit DONEMike Gerwitz2020-01-211-0/+5
| | | | We want to fail e.g. on a JVM crash.
* tame: Create guard parent directoryMike Gerwitz2019-04-041-2/+5
| | | | It may not exist on certain systems (e.g. build containers).
* Parallel build supportMike Gerwitz2019-04-042-17/+220
| | | | | | | | | | | | | tamed was originally designed with support for parallel builds in mind, but I hadn't completed that work because we didn't have enough hardware that we'd benefit strongly from it. That has since changed. tamed will now spawn additional runners as needed to fulfill requests, which works around the issue of not knowing how many jobs GNU Make is going to try to do at once. There were a couple minor dependency fixes/workarounds for now in the Makefile, but otherwise everything appears to be working great.
* Copyright year simplification and update to Ryan Specialty GroupMike Gerwitz2019-02-073-3/+3
| | | | | | | | | This now uses year ranges, which I'll update annually. This also renames "R-T Specialty" to "Ryan Specialty Group". The latter is the parent company of the former. I was originally employed under the former when LoVullo Associates was purchased, by I now work for the parent company.
* bin/tame: Shift arguments after -vMike Gerwitz2018-12-041-1/+1
| | | | * bin/tame (main): Fix issue where -v did not shift arguments.
* tamed: Clarify usage output shell exampleMike Gerwitz2018-12-031-2/+2
| | | | * bin/tamed (usage): Clarify killing when run on a shell.
* tamed: Do not stall if TAMED_SPAWER_PID is runningMike Gerwitz2018-12-032-4/+35
| | | | | | | | | | | | | This will ensure that tamed does not stall while e.g. make is still running. This makes TAMED_STALL_SECONDS almost useless; maybe it'll be removed in future versions. * bin/tame (TAMED_SPAWNER_PID): Export variable. * bin/tamed (TAMED_SPAWNER_PID): New variable, default to PPID. (spawner-dead): New function. (stall-monitor): Use it. (usage): Update documentation. * build-aux/Makefile.am: Set TAMED_SPAWNER_PID to own id and export.
* dslc: Invoke with static rater pathMike Gerwitz2018-11-081-1/+15
| | | | | | | | | | This frees us from requiring a rater/ directory in the working directory. However, it is important that we continue using it if it exists, since there are additional things that haven't yet been moved into the tame repo. * bin/dslc.in: Provide path to rater/ directory. * src/current/src/com/lovullo/dslc/DslCompiler.java: Use provided rater/ path.
* bin/tame: Inherit TAME_CMD_WAITTIME from environmentMike Gerwitz2018-10-191-5/+16
| | | | | | | | | | * bin/tame (TAME_CMD_WAITTIME): Renamed from `RUNNER_CMD_WAITTIME'. Inherit from environment, default 3. (command-runner): Sleep for an additional TAME_CMD_WAITTIME seconds after requesting runner reload to give more time in case of high load. (verify-runner-ack): Rename variable. (usage): Document env var. * build-aux/Makefile.am: Export TAME_CMD_WAITTIME.
* bin/tame: Better runner re-tryMike Gerwitz2018-10-161-3/+7
| | | | | | | | | Try to re-post message, since the previous message will have already been read (otherwise the previous echo would have hung). * bin/tame (EX_STALLED): New exit code. (command-runner): Re-post message after stall. If unrecoverable, provide a more clear error and exit with EX_STALLED.
* Propagate TAMED_STALL_SECONDSv3.3.4Mike Gerwitz2018-10-161-0/+3
| | | | | bin/tame (TAMED_STALL_SECONDS): Export variable. build-aux/Makefile.am (TAMED_INSTALL_SECONDS): Export variable.
* tame{,d}: Reload runner when unresponsivev3.3.3Mike Gerwitz2018-10-162-6/+43
| | | | | | | | | | | | | This tries to be a bit more resilient in case a runner becomes unresponsive, rather than waiting for tamed to kill itself. * bin/tame (RUNNER_CMD_WAITTIME): New variable. (command-runner): Tell runner to reload if it does not respond in RUNNER_CMD_WAITTIME seconds. (verify-runner-ack): New function. * bin/tamed (mkfifos): Only keep stdin open. stdout isn't necessary, and may have actually been causing subtle issues. (spawn-runner): Support restarting dslc on SIGHUP.
* Integrate new compilation scripts, remove cqueue and Makefile.2Mike Gerwitz2018-10-112-25/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a major step toward normalcy---removing the kluge of a build process that was causing so many issues. Rather than echoing all operations to a queue file before passing it off to dslc, the new build scripts in `bin/' are used to invoke tame normally, as needed. This solves all of the current issues with things not rebuilding when they should. And, as a bonus, tab completion on targets works. Sorry this took so long. There wasn't much motivation until we hired so many people that are suffering from this. This does a few major things, along with some miscellaneous others: - Invoke bin/tame directly; - Merge Makefile.2.in into Makefile.am; and - Fix up some targets. * build-aux/Makefile.2.in: Delete file. Mostly merged with Makefile.am. * build-aux/Makefile.am: Add a bunch of new targets and definitions from Makefile.2.in. Modify all that previously used .cqueue to now invoke `$(TAME)' directly. Remove miscellaneous targets for trying to proxy targets to Makefile.2. (saneout, _go): Remove definitions. (.NOTPARALLEL): Add to prevent parallel builds. (ui/program.expanded.xml)[.version.xml]: Remove dependency for now. (clean): Also clean generated PHP files. Follow symlinks to clean core. This is still incomplete (does not clean all rate table stuff). (suppliers.mk)[xmlo_cmd]: Remove. See `gen-make' and `gen-c1make'. (lvroot)[summary-html]: New dependency. (kill-tamed, tamed-die): New targets (former alias of latter) to kill tamed. * build-aux/gen-c1make: Generate `$(TAME)' invocation. * build-aux/gen-make: Likewise. Remove `xmlo_cmd' output. Ignore recursive `tame' symlink (this can be removed once we clean `rater/' up. * build-aux/m4/calcdsl.m4 (TAME): Update description to reflect that it should now be the path to `bin/tame'. Adjust `AC_CHECK_FILE' lines accordingly. (tame_needed_ver): Remove. We have been in the same repo as TAME itself for quite some time. Remove associated code. (AC_CONFIG_FILES): Remove `Makefile.2'. * src/current/src/com/lovullo/dslc/DslCompiler.java (_DslCompiler)[compile]: Perform validation prefore `compile' command rather than a separate `validate' step. Remove `rm'. [compileSrc]: Stop echoing command. This was only necessary because of the previous Makefile klugery; now Make echoes on its own correctly.
* bin/: Server/client build scriptsMike Gerwitz2018-10-083-0/+465
These scripts allow the TAME compiler stack to be invoked naturally, rather than requiring the use of a Makefile today. This will not only allow users to more easily invoke the compiler, but will also allow us to invoke TAME naturally from Makefile and remove the klugery that has existed for so long. This users a server/client architecture in order to mitigate the startup cost of the JVM. More documentation will follow. Note that there are a bunch of symlinks in rater/---this is a transition step to allow the build to continue working as it did before, which relies on a directory structure that exists outside of this repository. This will be cleaned up in the future. * .gitignore (bin/dslc): Add ignore for generated file. * bin/dslc.in: New script to encapsulate Java invocation. * bin/tame: New script (client). * bin/tamed: New script (server). * configure.ac (JAVA_OPTS, DSLC_CLASSPATH, AUTOGENERATED): New variables for dslc.in. Output bin/dslc. * rater/README.md: Note that this symlink mess is temporary. * rater/c1map: New symlink for dslc assumptions. * rater/c1map.xsl: Likewise. * rater/calc.xsd: Likewise. * rater/compile.xsl: Likewise. * rater/compiler: Likewise. * rater/dot.xsl: Likewise. * rater/include: Likewise. * rater/link.xsl: Likewise. * rater/standalone.xsl: Likewise. * rater/summary.xsl: Likewise. * rater/tame: Likewise (warning: circular symlink). * src/current/src/com/lovullo/dslc/DslCompiler.java (_DslCompiler)[compile]: Output `DONE' lines.