This release cleans up all of the query-related command line switches. It adds a --group switch so that the user can specify groups of servers rather than individual hostnames. It adds a --skip_remove_stop switch to skip running init scripts on package removal. It adds version inequality support on the command line. It now generally works under Cygwin on Windows. It adds the path to tar to the output of "tpkg --qenv". There are numerous other bugfixes and enhancements.
The --force option now covers ignoring failures related to running externals, which allows users to remove or upgrade packages with bad externals data. The profile.d functionality was enhanced. Users will now be warned about non-executable init scripts.
Permissions on symlinks are now set appropriately. Some harmless warnings were silenced from the library used to validate the syntax of the tpkg.yml file when making a package. An issue was fixed in the client Rakefile introduced in the last release (2.2.2) that led to client packages with an invalid directory structure. The package_toplevel_directory now only reads the necessary first few blocks of the package rather than reading the whole package. That change should speed up operations involving larger packages.
This release fixes a number of warnings that were seen when running under Ruby 1.9, and several issues associated with setting file permissions when installing packages containing symlinks.