aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2016-09-24 10:15:18 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2016-09-24 10:15:18 +0300
commit1e2369abfd6518a60d9c5ab46f479f7428e59287 (patch)
treeb58418412421131a6ff69a0599bf72022f3722d8
parent333243970b1e1a933a1a4935fb75ec8347f3ba39 (diff)
downloadrex-1e2369abfd6518a60d9c5ab46f479f7428e59287.tar.gz
rex-1e2369abfd6518a60d9c5ab46f479f7428e59287.tar.bz2
Add NEWS file
-rw-r--r--NEWS227
-rwxr-xr-xrex19
2 files changed, 239 insertions, 7 deletions
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..f6138c3
--- /dev/null
+++ b/NEWS
@@ -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:
+
diff --git a/rex b/rex
index a62a145..df56384 100755
--- a/rex
+++ b/rex
@@ -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

Return to:

Send suggestions and report system problems to the System administrator.