Calculate Utilities 3.5 beta released


The first beta of Calculate Utilities 3.5 has been made available. The brand new sys-apps/calculate-utils package now features server configuration tools, even though only only basics are supported for the time being, such as database deployment, LDAP server configuration, creating accounts for Unix users, files and configuration backups, etc. We completely rewrote the server utilities. Server templates were moved to the Calculate overlay. Two more USE flags, backup and server, were added to the package, which stand respectively for creating backups and server configuration. Until they have been implemented, the new server features will not be available for Calculate Directory Server. Instead, a transitory solution called Timeless will be released regularly, to be later merged with CDS.

We also have been working a lot on templates. Quite a few new functions, options and variables were added. Conditions are also better handled now.



  • Tools were added for configuration of LDAP and Unix accounts to be stored in LDAP
  • cl-backup and cl-backup-restore utilities added
  • Users can access console functions directly, by running cl-console. Note that most Calculate utilities are now stored in /usr/bin instead of /usr/sbin
  • One session for cl-console and cl-console-gui
  • Current configuration files previously stored in /etc/calculate were moved to /var/lib/calculate. /etc/calculate is now used for migration at installation time

Server tools

  • LDAP configuration
    • possibility to change the BaseDN
    • service password regeneration
    • remove a service and reconfigure the system
    • configs integrated with templates 3.5
  • Accounts server configuration
    • current system setup for authentication via LDAP server
    • service password regeneration
    • remove a service and reconfigure the system
    • add or remove a user account
    • add or remove a group
    • reconfigure users and groups
    • multiple group and user modifications available: add, remove, replace the list
    • rename a group
    • user or group info displayed
    • flexible group and user filtration scheme
    • field selection for group and user viewing
    • group and user management fully supported via a GUI interface as well as from the command line

Backup tools

**** cl-backup

***** backup of configuration files created by Calculate templates

***** custom configuration backup

***** LDAP server backup

**** cl-backup-restore

***** restore only files containing differences

***** diffs in comments to restored files headers

***** restore configurations of out-of-box packages

***** restore configuration checksums

***** restore permissions to restored files

***** restore network configuration

***** restore autorun services

***** restore user accounts

***** restart services whenever server parameters have been restored


  • Main changes
    • Multiple ini.env files can be processed
    • Template variables, functions, and conditions were optimized
      • Faster processing due to variable substitution at conditions and values calculation time
      • Variables can be used, that get a space as a template option value (such as in chown=#-ur_login-#:#-ur_group-#)
      • module() added to check for the module (the CU version will be returned if the module is included, or else nothing)
      • Indefinite variables can be used in the non-executable part of a conditional block (problem fixed)
    • "OR" processed in conditional blocks (#!keyword#)
    • Better audio configuration (both your sound card and your hardware can be setup)
    • ldif format supported
  • Functions
    • ls() added to list the files from a directory
    • mergepkg() added, that combines both merge() and pkg() functionality
    • exists() remplaced "1", to return the filetype character code
    • UUID generation with rnd() modified
    • Values returned by wallpaper() were modified
    • cut() added to return a line fragment
    • Localization problem fixed when calling print(), warning() and error() functions
  • Conditions
    • In condition blocks, it is possible to check if the version number belongs to the interval (x<=y,z)
    • Embedded conditions supported
  • Options
    • link=<path> added, to copy directories with templates
    • restart=<service>, start=<service>, stop=<service> added for templates, to start or stop services
    • "protected" works OK with "mirror" now
    • Template processing with "append=after" fixed
  • Miscellaneous
    • ._cfg configuration files now update correctly with the "--force" option
    • More efficient checkup for checksum CONTENTS files
    • Command-line table indentation fixed
    • Short options will be processes differently. "-soff" will not be interpreted sponaneously as "-s -o -f -f"
    • Update availability is provided for by /var/lib/calculate/calculate-update/updates.available
    • The cl_pass_file variable now stores the template name
    • A new variable was added, to store the current kernel version
    • cl-passwd removed


  • Better support of the system color scheme
  • Updated appearances, including new own icons
  • Some modifications for the update icon sitting in system tray