The arx package
The ARX system provides services for packaging, deploying and running source code. No particular format or framework is needed -- a directory of code and a command to run are enough. The system has no in-built notion of remote connections, job servers or clusters; all automation is captured as Bourne compatible scripts.
An archive of the source code, a command and optionally an environment are encoded together in a Bourne shell script that uses a small number of UNIX utilities in a broadly portable way. The generated scripts can be run directly or fed to sh on STDIN. This latter feature is useful when one would like to use ssh and sudo to set an appropriate executation context, for example running: ssh email@example.com sudo sh.
The shell tools used are head, sed, date, tr and tar. The calls to tar sometimes use -j and -z; these calls to tar may result in calls to bzip2 and gzip. Scripts have been tested with dash and the GNU tools as well as the sh and tools that are part of busybox.
The arx command line tool provides the tmpx subcommand for preparing jobs to run and the shdat subcommand for access to the low-level shell encoder. The System.Posix.ARX module provides access to the routines used for constructing commands and environments, describing archives and building Bourne shell scripts.
One way I have used arx is to test the Cabal source archive for this package:
arx tmpx ./dist/arx-* // 'cd arx-* && cabal configure && cabal build' | sh
There are binary arx command line tool releases available from:
For each supported platform, there is an archive containing arx and signature files (SHA 512 and GPG).
- No changelog available
|Versions||0.0.0, 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.1.0, 0.1.1, 0.2.0|
|Dependencies||attoparsec (>=0.9.1.2), base (>=2 && <=5), blaze-builder (>=0.3), bytestring (>=0.9), bytestring-nums (>=0.3.3), containers, file-embed (>=0.0.4.1), parsec (>=3.1.2), process (>=1.0), shell-escape (>=0.1.1), template-haskell|
|Source repository||head: git clone http://github.com/solidsnack/arx.git|
|Upload date||Thu Nov 8 14:49:18 UTC 2012|
|Downloads||592 total (22 in last 30 days)|
|no-cli||Disable command line tool.||Disabled|
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
For package maintainers and hackage trustees