diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-09-24 10:15:18 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-09-24 10:15:18 +0300 |
commit | 1e2369abfd6518a60d9c5ab46f479f7428e59287 (patch) | |
tree | b58418412421131a6ff69a0599bf72022f3722d8 | |
parent | 333243970b1e1a933a1a4935fb75ec8347f3ba39 (diff) | |
download | rex-1e2369abfd6518a60d9c5ab46f479f7428e59287.tar.gz rex-1e2369abfd6518a60d9c5ab46f479f7428e59287.tar.bz2 |
Add NEWS file
-rw-r--r-- | NEWS | 227 | ||||
-rwxr-xr-x | rex | 19 |
2 files changed, 239 insertions, 7 deletions
@@ -0,0 +1,227 @@ +Rex NEWS -- history of user-visible changes. 2016-09-24 +Copyright (C) 2012-2016 Sergey Poznyakoff +See the end of file for copying conditions. + +Please send bug reports and suggestions to <gray+rex@gnu.org.ua> + +Version 3.91 (Git) + +This release provide a set of commands for use in rc files. The use +of set statements and direct modification of the config array are +discouraged. + +The old rc files are still supported, although they are likely to +produce lots of warnings looking like: + + /usr/bin/rex: warning: your rc file sets obsolete variable "hosts" + /usr/bin/rex: warning: please change this to "host A B C" + +The following guidelines will help you rewrite your rc files in the +new format. + +1. Replace the 'set hosts' statement: + +old rc: + set hosts { a b c } +new rc: + host a b c + +2. Replace the 'set user' statement: + +old rc: + set user rex +new rc: + user rex + +3. Replace the 'set password' statement: + +old rc: + set password guessme +new rc: + password guessme + +4. Replace the 'set sudo' command: + +old rc: + set sudo 1 +new rc: + sudo on + +5. Replace the 'set command' statement: + +old rc: + set command "ls -ltr /tmp" +new rc: + command ls -ltr /tmp + +6. Replace the 'set timeout' statement: + +old rc: + global timeout + set timeout 120 +new rc: + timeout 120 + +7. Replace the 'set env' statement: + +old rc: + global env + set env(TERM) dumb +new rc: + environ TERM=dumb +or the preferred form: + ifmode run { environ TERM=dumb } + +The latter form ensures that the TERM setting is changed only for the +'rex run' command. + +8. Change the 'set config(earlycmd)' statement: + +old rc: + set config(earlycmd) { {unsetopt ZLE} {PS1='$ '} } +new rc: + earlycmd {unsetopt ZLE} {PS1='$ '} + +9. Change the 'set config(shrc)' statement: + +old rc: + set config(shrc) {HISTFILE=/dev/null} +new rc: + shrc {HISTFILE=/dev/null} + +10. 'Change the 'set config(option,NAME)' statements: + +old rc: + set config(option,prefix) 1 + set config(option,no-host-header) 1 +new rc: + option prefix on + option no-host-header on + + +Version 3.0 (Git) + +Major rewrite. + +* Reorganize ~/.rex/ structure. + +Hostgroups are moved to ~/.rex/hostgroup subdirectory. + +* Revamp scripting support. + +The TCL script to use is given by the -s NAME option. The file NAME.tcl +is searched in the library path. It is sourced in the namespace +"hostproc". It is supposed to overload one or more of the following +functions: prologue, epilogue, getline, transition, finish. Default +implementations of these functions provide the basic rex output facilities. + +* Remove -x (--program) option. + +* Handle pipelines, improve debugging, fix key lookup in the db + +* New option -D (--data-file) + +Copies auxiliary data files to the host before running the command. + +Data files (as well as the script file itself, if the --script +option is given) are copied to a temporary directory created to that effect. +This directory also becomes current working directory while executing +the command. + +* New options: -I (--ignore-hosts) and -q (--no-init-file). + +* Parallel processing mode. New option -j (--jobs). + +* New option -b (--buffer-output). + +* Provide a manpage + +* Support for zsh + +New option -Z (--zsh-quirk) provides an ad-hoc way of coping with +hosts running zsh. The earlycmd configuration setting provides a +generalized way of doing so. + +* Provide installation and configuration script + + +Version 2.1, 2015-06-17 + +New option --prefix (-P). + +New option --no-host-header. + +Improve the --edit functionality. + +Implement --copy-from + +Implement DNS resolver. + +New sources for facilitating writing the rc files: vpnc.exp and +entrustcard.tcl + + +Version 2.0, 2013-01-13 + +Look for configuration files and databases in directories ~/.rex and +/etc/rex in that order. If the group is specified, this list is +augmented by ~/.rex/GRP and /etc/rex/GRP at the beginning. + +The name of the configuration file is "rc". Databases are named "db". + +The new option --list-groups lists available groups along with +one-line descriptions. The description for each group is stored in +the file "description" in the group configuration directory. + +The new option "-g GRP" introduces a group of settings. If it is +supplied, rex first loads the file .rex/GRP/rc (if it exists), and +then proceeds to load .rex/rc. Furthermore, in the presence of this +option the library path begins with the directory .rex/GRP/script. +This allows the user to easily switch between various configurations. +Finally, the new configuration variable "home" is defined to .rex/GRP. + +The keys to .rex/db has been unified to have the following structure: +[[group:][host:]key. + +Version 1.1, 2012-12-28 + +Use traditional UNIX option handling. Support long options. + +Introduce a database of host-specific settings (rexdb). + +New option -e (--encrypt). + +New option -i (--interactive). + +Work over buffer overflow in expect versions prior to 5.44.1.13. + +Implement shell subcommand + +Version 0.1, around Nov 2012 + +Initial version. + +========================================================================= +Copyright information: + +Copyright (C) 2012-2016 Sergey Poznyakoff + + Permission is granted to anyone to make or distribute verbatim copies + of this document as received, in any medium, provided that the + copyright notice and this permission notice are preserved, + thus giving the recipient permission to redistribute in turn. + + Permission is granted to distribute modified versions + of this document, or of portions of it, + under the above conditions, provided also that they + carry prominent notices stating who last changed them. + +Local variables: +mode: outline +paragraph-separate: "[ ]*$" +eval: (add-hook 'write-file-hooks 'time-stamp) +time-stamp-start: "changes. " +time-stamp-format: "%:y-%02m-%02d" +time-stamp-end: "\n" +end: + @@ -1713,13 +1713,13 @@ namespace eval ::description { } } - if {![info exists retval]} { - set filename "$group/rc" - catch { - source $filename - set retval $description - } - } + # if {![info exists retval]} { + # set filename "$group/rc" + # catch { + # source $filename + # set retval $description + # } + # } if {[info exists retval]} { return $retval } @@ -2459,6 +2459,7 @@ namespace eval ::config { }} user {var { return "user $var" }} password {var { return "password $var" }} + command {var { return "command $var"}} } proc host {args} { @@ -2591,6 +2592,10 @@ namespace eval ::config { proc password {text} { set ::config(pass) [::passenc $text] } + + proc command {args} { + set ::config(argv) $args + } proc read {file} { variable cfgvars |