What is this?
igor is a configuration file preprocessor. It allows C preprocessor- like directives to be placed into configuration file templates, and allows values to be defined based on the local host name and other information. The template configuration files are then processed in a manner similar to cpp(1), and the output is passed to an installation command which actually installs the customized configuration file and performs any other duties such as restarting the daemon that uses the file.
New features in 2.0
- Added "Apple", "Solaris" and "Linux" distribution name/version commands.
- Added "V" version flag.
- All symbols available in shell environment.
- Check final write for errors.
- Check for out of memory errors (strdup).
- Complete filter before calling install script.
- DATE defined.
- DISTNAME/DISTVER defined.
- Distribution specific setting for "OSNAME" and "OSVERSION".
- Exit 42 causes igor to stop processing.
- File groups.
- Fixed memory corruption error in "@define SYMBOL SYMBOL".
- Fixed memory corruption error in lexer for long symbols.
- @include and @error are now expressions, instead of strings.
- @include uses template or igor directory depending on context.
- @literal to pass the next line literally.
- @local to define for the lifetime of one parsing.
- mkstemp instead of mktemp.
- Preprocessed file passed on command line.
- String concatination (+) in expressions.
- Updated manual page/copyright messages.
- Updated the output for -s to be better for parsing.