* ade: added svn:keywords properties to many files
* ade: more fixes related to the recent large changes in ADE
* more convertion to use of ADE as true library
* corrected names of a few message functions called internally by ADE
shell library
* somehow I've lost a '-s' option to the make that adetest invokes
and the result is that one Makefile (the one generated during the
execution of ADE600_aderel_makeclean_finds_aderel.sh) now generates
some PID-dependent 'Entering
' and 'Leaving ' messages
(even more so now that that test has also been modified to invoke
make recursively). This has turned up a bug in adetest, which
causes tests to behave differently when itself run directly or
from a Makefile (e.g. these 'Entering ' messages are not
generated when called directly because MAKELEVEL is not yet set,
but they are when make invokes adetest because adetest unwittingly
propogates make's setting of MAKELEVEL through to the tests it
runs). The fix has been to unset these environment variables inside
adetest.
* shell error stack handling aligned with perl way (e.g. per-file
error hash registrations, hashes for defined errors and occurred
errors) This works well now. Though I am aware there is an issue
regarding the frame packer's ability to pack frames which contain
double quotes in the parameter list (do a grep for 'OCCURENCE_FRAME='
to find the relevevent piece of code)
* rationalised perl/shell error-registration/error-formatting/error-display
code
* rearranged the functions in perl/shell gep/utils into better sections
(I should do this regularly as the arrangements seems subject to entropy)
* workaround in adeMakefile for not knowing which make will make
first when aderel says 'make clean distclean' and the order
'distclean clean' would result in stuff that 'make distclean'
cleans being created by 'make clean'. (Yes; it is right that
'make clean' actually does make something.)
* fixed a subtle bug caused by forgetting I was running in a 'set -e'
environment.
see the hash defined in the sources of the application which
is using ADE.
* introduced defined error tables to all ADE-compatible ADE programs
* deleted long obsolete .include.hidden
* beginnings of per-file registration of defined errors for shell scripts
* rearranging some function definitions with the files to be more
consistent across sh/perl.
* minor fixes to the unit test script and reference file for aderel,
subsequent to previously committed changes to aderel itself (all
enabled unit tests now pass)
* replaced many ADESPP markers with their ADE_APP_TOKEN equivalents
(e.g. in man pages)
* got aderel almost working! (still fails its tests, but seems to
run correctly)
* implemented per-file error table registration using error keys
rather than error hashes
* converted warning calls to stack mechanism with immediate display
* fixed a bug in the registration functions whereby temp files were
not being deleted at exit time
* some fixes in the prologue of adeMakefile in order to find the
right app-config file even if the directory name of the parent
directory differs from 'app' (which it does when aderel has clone
the sources of 'app' to 'app-1.2.3')
* aderel now clones not only the content by also the access time
and executability of files (albeit with world execute not just
owner); this was driven by aderel creating app-config and app-config.sh
with the app-config being not executable but make not understanding
the necessity to delete it and remake it.
* fixed a bug in the option parsing code whereby defaults were not
being correctly read
* beginning of per-file registration of defined errors (this
is needed as the ade_err_addframe calls inside ADE cannot
see the hash defined in the sources of the application which
is using ADE.
* commented out all tests for which the tested program is not
currently generated
* added shell function ade_std_sed_sg to replace GNU sed which
chokes on '&', which is used in some text messages which
undergo sedding
* pass error stack to perl ade_fnm_makeabsolute
* added distclean target to adeMakefile in order to ensure
bin is cleaned last and thus the xxx-config is cleaned
also (this is a prerequisite to getting aderel working)
* added '--args-are-generators' option to adetest in order
to ease the calling of single tests
-k|--keep-output-files) OPT_KEEPOUTFILES=true ;;
* converted adeshf, adeperlf and aderel to new format (aderel
remains untested prior to this commit)
* added installation of ade-app-config
* small fixes for correct compilation of ade-app-config
* more editing:
- incorporated ALLOWENV fix to ade-config so as to
prevent lx from trying to include adeMakefile from
the directory which lx will install include files
into (actually it has none, but that's irrelevent)
- incorporated the packed-assignment fix in adeMakefile
so that there is no longer a need for temporary files
to be sourced
- tried to quieten adeMakefile down a bit
- most installation rules are now generated rather than
explicit in adeMakefile
- split ade-config into ade-app-config and ade-config,
the latter calls the former and the former is available
for all app-config's to call
* more editing:
- preparing to implement idea for ade-config multi-line
output and for environment optioning by ade-config
* more editing:
- changed PREFIX to ADE_PREFIX, but still lots of
problems
* more editing:
- exported ade_err_warning
* more editing:
- more symbols exported from ade_*.pl
- set ADE_TMP_DIR and $ade_tmp_dir
- translated _ade_gep_getosid from shell to perl
- fixed Makefile to install ade-config
* more editing ( 'package'ising of ade*.pl - in progress)
* more editing (can now be installed to extent required to
compile/test/install 'lx')
* more editing
* more editing
* more editing
* more editing
* beginning of rewrite on branch (commit #3)
* beginning of rewrite on branch (commit #2)
* beginning of rewrite on branch (commit #1)
* added stack and message config functions, called from
appropriate locations in gep
* solved the problem which sysreport illuminated whereby
output lost 'cos file handles 3 and 4 open.
* added ade_std_mailx()
Release 0.12.1 (Sun Jul 23 17:52:22 CEST 2006)
* corrected typo from untested chnage that prevented compilation
of libraries.
Release 0.12 (Sun Jul 23 17:04:53 CEST 2006)
* incorporation of ADE C libraries into standard Makefiles
* more C library changes to support recent ptyplumber development.
* imported C function ade_str_parseline() from an old program.
* added C function ade_str_hexify()
* corrected bug in ade_tmp_deregistergen() whereby not only
was the storage allocated for names of tempfiles free()ed when
deregistered, but also there was an attempt to free() the
*unallocated* storage for cleanup hook function addresses.
* more overhauling of ADE's C library as ptyplumber requires.
* started overhauling ADE's C library as ptyplumber requires; this
has also triggered the removal of some (theoretically) obsolete
code in ADE's shell library.
* minor typo fixed
* added small fix to sh version of ade_fnm_getrelativity() for when
directory component of one path is substring of the other.
* fixed a spelling mistake in a adegmt man page
Release 0.11.1 (Fri Oct 28 22:10:41 CEST 2005)
* added missing installation of reference file for latest
added test.
Release 0.11 (Fri Oct 28 20:40:15 CEST 2005)
* added (as-yet-un-ade-ified) functions for doing relative symlinks
* correct name of message function called on a (never-experienced)
internal error.
* added which() function to one of the standard tests to make
the test more OS-independent (Fedora Core 3's 'which' command
rationalises paths which Debian's doesn't i.e. /mod/test/../bin
becomes /mod/bin)
* added shell function ade_usr_getmygroupmame() (used by MUMC)
* ade_gep.sh.spp duplicates stdin and stdout to handles 4 and 3.
stdout is duplicated so that ade_msg_askquestion() may prompt
the user to stdout without having the backquotes around a
program's call to it also catching those prompts. stdin is
duplicated so that when the same function reads from it it
can guarantee it is not eating input that was destined for
something else (e.g. a while loop reading from a file).
* ade_utils.sh.spp's ade_msg_askquestion() modified to write and
read to stdout, which facilitates automated input.
Release 0.10 (Tue Mar 29 15:57:04 BST 2005)
* changes to ADE global variable names (ADE_MSG_VERBOSELEVEL
used extensively in tests)
* switched to using ade_smf_getoptval() to get long option
values
* reordered fixed and make-command-line specified flags used
to invoke adetest in ade/include/tests/Makefile so that
make-command-line *user-specified* not overridden.
* ade_msg_*() functions much simplified with use of common
_ade_msg_message() and initialisation function
ade_msg_settings()
* added string/stream manipulation functions ade_smf_allononeline()
and ade_smf_oneoneachline() for doing the equivalent of
'xargs echo' and 'xargs -n 1 echo'
* added ade_std_ping_once() from rocon
* added support for '-n' option to ade_std_remsh()
* added ade_std_rcp()
* added lxshellsmall template (for very small shell scripts)
* fixed bug whereby name of a test's sandbox was not passed to
it, now is (in TMPDIR)
* fixed bug whereby module's root not passed to test, now is
(in ADETEST_MODROOT)
* implemented change request
DioneWiki/Bugs_2fCheckFuncNameEnvVarNotSet (remains untested
for the moment)
* in ade_std_shell added -s and -p options for specifying
interactive shell and setting prompt (this also required
renaming the simulation flag offered by this function to
-n, but only adegmt was using it so this was trivial)
Release 0.9.1 (Sun Mar 20 21:50:59 GMT 2005)
* minor fix to man/Makefile for adeperlf (not adeperl)
* used Makefile variables for names of programs and man
pages to install to decrease chances of ADE's standard
test for man pages failing when applied to itself.
Release 0.9 (Sun Jan 23 15:46:25 CET 2005)
* corrected some tests for now case-insensitive
ade_fcm_loadconfigfile function and ref files
* split some lines that use ade_tmp_register with
-l option, which is not illegal except within
register function itself.
* simplified bin/Makefile with make variable
* installed adeshf and adeperlf, and wrote better
man pages.
* changed ade_utils.sh.spp, ade_gep.sh.spp not use use
ade_tmp_register -l EXIT_FUNCS, and added standard test
to outlaw use of this.
Release 0.8 (Fri Nov 12 00:34:28 CET 2004)
* corrected a bad priority in the syslogging code of ade_msg_info
* lowered a debug message level from the shell config file loader
function ade_fcm_loadconfigfile.
* switched from variable names being fixed strings to allowing
regexps in ade_fcm_loadconfigfile
* added -n option to the ade_lck_lock to allow backgrounded subshells
whose $$ is not accurate to force a more accurate pid than
ade_lck_lock reads from $$.
* changed _ade_gep_signalhandler() to use info calls instead of
warning calls (DioneWiki:Bugs/KeyboardInterruptToBeSilent)
* added test for use of UID or GID in scripts
(these are bash-reserved words)
* imported a couple of functions from mondsk
(ade_std_df_localfs, ade_std_mailx, ade_std_logger,
ade_std_du_ax)
* converted template modules' ChangeLogs from Debian
format to standard format.
Release 0.7 (Mon Sep 20 11:23:07 CEST 2004)
* removed adespp's expansion of backquotes; it is now left up
to the shell command to do it. Execution of #spp exec's should
not be done using system() or perl's own backquotes; but instead
by direct execution with execp().
* rearranged ade_msg_askquestion so that it does rationalisation
*before* validation.
* cache manager and rolling status manager functions in the perl library
were using names for file handles which could easily be used by a
user's program, so renamed them.
* more things expanded in adespp directives
* added info on --sbindir, which I'd neglected to include.
Release 0.6 (Thu Apr 29 22:15:23 CEST 2004)
* took a specific version of the manual page to convert as part
of the ADE700_ademan2html_convert_ademan2html test.
* as part of the same test stripped the trailing '-->' after
the date in the autogend header because timezone names vary
in length according to the time of year (MET/MEST) and this
causes the up-to-before-this-change method of changing only
the date text and not the trailing spaces and '-->' to
not match at different times of year.
* added some debug to the ADE800_adeln_unreadable_things test.
* aderel tests updated according to new aderel syntax (release
id not specified on command line but only in ChangeLog)
* ADE005_adegmt_creates_everything reference updated now there
is a new file 'BUGS' in the 'find' output.
* retagged everything with SVN keywords.
* added empty BUGS file
* moved some string printing to *outside* the format string in
order to avoid "Attempt to modify read-only value" error which
directly printf'ing of a complex URL caused in wkrep.
* modified aderel to substitute man page dates.
* changed man page dates to new aderel-substituted symbol, both
in man pages and templates.
* removed requirement to specify release id on aderel's
command line as this can now be extracted from the
ChangeLog.
* modified ADESTDTEST103_option_list-paths so that it does
not try to consult environment variables of the form
OPTIONS_ where contains hyphens;
this was causing a test failure for aodms-helper, where
it tried to do 'eval OPTIONS=\"\$OPTIONS_aodms-helper\"'
and choked.
* added perl version of ade_spc_cachemanager().
* corrected quotation of checking of option value in lxshell
to make it space-safe.
Release 0.5.3 (Tue Mar 16 13:19:51 CET 2004)
* miscellaneous svn property fixes and keyword additions.
* do not install doc/examples any more; it is entirely
up the program using ADE to provide install recipes
now. Same also for doc beyond the default ChangeLog,
README.1ST, etc.
* minor man page fixes.
Release 0.5.2 (Sun Feb 29 18:06:59 CET 2004)
* ademan2html was not being installed, fixed the Makefile
to install it.
Release 0.5.1 (Sun Feb 29 17:46:37 CET 2004)
* corrected bug in ADE800 test whereby 'find' descended in
to directories as root that could not be descended into as
non-root and thereby got different test output.
* added module creation date to README.1ST.
* added svn keyword properties
* updated list of programs subject to standard tests
* added test for ademan2html
* adespp help option -h removed, options -H and -X renamed -h and -x,
-nX and -nH renamed to -X and -H, with many changes in usage of
adespp within ade module and others.
* added tests for adeln
* corrected some spacing in all man pages around commas in
option lists
* added ademan2html.
* correction to perl scripts option processing whereby
comma operator misinterpreted because of being in array
context
* removed use of 'unset' constant and used empty value instead
in shell scripts (better alignment with perl scripts)
* aderel now skips debian dir or symlink
* better alignment of Usage messages with man pages
* added dependency on compile,install and tests to check that
configure has been run
* added test for adeconf not leaving double-slashes in the
generated paths files
* fixed double slash generation in adeconf
* adeln no longer quits with error if symlink target directories
are not readable, but it does warn.
* allow '~' in paths listed by '--list-paths' option
in ADESTDTEST103_option_list-paths
* removed private copy of path->absolutepath conversion
function and used ADE's instead.
* added ignore of 'debian' symlink
* added test of perl and shell version of
new ade_fcm_loadconfigfile function
* modified adeshf to accept only one argument
with consequent changes to some test scripts
* removed underscores from 'standard' directory name
symbols (e.g. 'TMP_DIR' is now 'TMPDIR')
* added test to check that scripts do not used
'LINENO' (reserved shell env var) or 'typeset'
(not ash-compatible)
* added config ('in') file for new ADE standard test
* added vim filetype defintions to .spp files
* converted to new option processing code in all
programs (big change)
* switched to using 'local' instead of 'typeset'
since 'typeset' is not supported in 'ash' shell
* totally recoded adeconf, which now does not use
a parameter, so changes to makefiles
* '--list-paths' test adjusted to allow programs
to tell the test that their config file is /dev/null
so they do not pick up previously installed
version's /etc/.conf files.
* command-accessing standard tests now also check sbin
as well as bin (required for 'torc' which is in sbin)
* lowered level (i.e. higher numerically) of many
debug messages in ADE libs
* redirect stderr from exitdel's attempt to delete
all outstanding files
* generic lockname generator function now uses SPPSYM_LCKDIR
instead of /tmp
* removed quoted evaluation support from adeconf
* expanded '--list-paths' handler in adeconf
* total reworking of path calculation in adeconf (no longer
builtin 'opt' support)
* added command adeperlf (like adeshf), intended really only
for testing
* added new test ADE004_adegmt-n_creates_nothing to check
'adegmt -n' (with and without --scm-dirs) creates no
directories. (This test currently fails, though the
test itself is correct.)
* partial conversion to using non-opt-supporting aderoot
* beginnings of Debian compliance
* reverted to using rman instead of groff for man2html
conversion.
* minor INSTALL doc typo fix also in template modules
* minor fixes to the manual
* converted all test scripts to pure 'sh' (changed '#!'
and typeset to local); this includes ADE's tests and
the standard tests
* better propogation of SHELL_CMD and MAKE values
- through aderel to its invovation of make
done by adding '--make'
- through adetest to tests' invocations of make
done by adding '--make', and it putting $MAKE in
environment of test script
- no explicit setting of MAKE make-variable; this is
make's responsibility, not the makefile's
- Makefiles' invocations of adetest and aderel to
pass --make=$(MAKE)
* updated INSTALL doc from Greg Keleman's FreeBSD experiences,
including the start of a FAQ section in the same document
* for SunOS (with broken printf and broken awk) try not only
to use perl's printf but also bash's printf.
* svn:keyword property and substitute text mods for bsfr
* fixed 'make install' for Suns, which didn't like '-path' option
on 'find' command called in ADE_MFC_RECADEINST.
* added '-n' option to ADE_MFC_SYMLINKER_CMD and
ADE_MFC_THUMBER_CMD (access with 'SYMLINKER_OPTS=-n' on
make line.
* did away with AUTHORID in settings.mk - it is unused.
* added adeshf command to help test functions without needing to
build a wrapper module for each function
* test for ade_std_printf updated accordingly
* quoted SHELL_CMD in include/bin/Makefile so user can say
'make SHELL_CMD="/usr/bin/env whatever"' as they can already
for PERL_CMD. Quoted all args at the same time.
* ADE_MFC_RECADEINST fixed to install all directories before files
(this is in order that empty directories get installed, since
non-empty ones are already created when the contained file is
installed).
* adegmt fixed to substitute long-formatted date in man pages,
templates adjusted to use substitutable text instead of real
fixed (and inappropriate) dates.
* removed 'revision' work from reported version strings when
versioning scheme is 'rcs'.
* modified ade_std_printf to cope with Sun's broken /usr/bin/printf
and broken /usr/[5]bin/awk. Had to use perl!
* the blank lines produced around adespp's call to produce an
autogend header have been removed because groff outputs a whole
empty page because of these one lines. (Test reference files
updated accordingly.)
* added support for Linux ksh in ade_std_printf
* added new shell functions: ade_std_printf, ade_std_whence,
ade_spc_setforexec
* added new test for ade_std_printf
* all occurences of calls to printf changed to calls to
ade_std_printf, this mainly affects ade_spc_autogendheader
which was hanging on HP-UX because its printf chokes on
'*' width specifier.
* _ade_gep_init now calls _ade_gep_getosid in order to
cache $UNAMES and thereby reduce the work that ade_std_printf
does
* aderel changed to invoke 'gzip', 'tar' and 'make' using the
*received* $PATH instead the reset one; this is because at ESO
GNU make and gzip are not found otherwise.
* cosmetic correction to shell autogend header
* corrected permissions of testlist.spp
* minor corrections to adeln man page synopsis
* minor corrections to adeintro manpage
* added '--no-unreadable-dir-warning' option to adeln
* ADE Makefile for html files updated to take advantage of
adeln's new '--no-unreadable-dir-warning' option
* added long option '--directive' to adespp for its '-P'
short option.
* converted changelog to non-Debian format
* added option processing breaker '--' code
* corrected some public environment variable names
* aligned options, usage message and man page