Skip to content

Obarun 66 Version 0.8.2.0 Released

Dear Obarun Community,

The release of 66 version 0.8.2.0 marks a significant step forward for the Obarun service management system. This update introduces powerful new features, critical bug fixes, and performance improvements designed to offer greater control, reliability, and ease of use for system administrators and users. Below is an overview of the key changes to help make the most of this release.

New Features

A new [Execute] section has been added, providing enhanced control over tasks executed just before a service’s start or stop processes. This section includes options like ChangeDirectory for setting the working directory, Nice for adjusting CPU scheduling priority, UMask for managing file creation permissions, BlockPrivileges for restricting privileges, LimitXXX for setting resource limits (e.g., LimitNICE, LimitNOFILE), and CapsBound and CapsAmbient for managing capabilities without additional dependencies. These tools allow for precise customization of service behavior.

Service dependency management has been improved with the Conflict key in the [Main] section, enabling specification of services that cannot run simultaneously, ensuring smoother operation.

Service configuration is now simpler, as Description, User, and Version fields are optional. If not provided, defaults are applied: Description uses the service name, User matches the process owner, and Version reflects the installed 66 version. This streamlines setup without sacrificing functionality.

Service trees can now be enabled at creation time, making it easier to set up and administrate trees in one step.

The project has transitioned to the Meson build system, offering improved cross-platform compatibility and build efficiency. The traditional configure and make system remains available during this transition, but testing Meson and sharing feedback is encouraged as the old build system can be consider as deprecated. Refer to INSTALL_MESON.md for setup instructions.

Enhancements

The development pipeline is now more robust, with the CI/CD system leveraging Meson and incorporating git support for reliable builds. A new boolean syntax for the BlockPrivileges key has been introduced, with updated documentation. The version comparison system has also been enhanced with new tests for greater reliability.

Bug Fixes

Several important issues have been resolved. A critical bug from version 0.8.0.0, which incorrectly set s6log logger ownership to root and removed runas information during migration, has been fixed. Services that crash now trigger clear error messages, improving system stability.

Compiler warnings for GCC and Clang have been eliminated, resulting in cleaner builds. The migration process has been improved to handle unknown logger directories, enhance Master resolve file processing. Performance enhancements include a corrected handling of uint64_t values, and proper log file display for logger of StdOut=file:/path type. A memory leak has been addressed, and minor fixes—such as corrected option names, removed unused files.

Upgrading to 0.8.2.0

To ensure a smooth transition, consider the following steps:

  • Verify Logger Settings: If upgrading from version 0.8.0.0 or 0.8.1.1, check s6log logger permissions to confirm they are set correctly. The migration process should take care of it for you. However, ensure that you have a correct permissions for the logger services directories if you get a down logger process after applying the migration. It should be set to s6log:s6log for the /var/log/66 and <username>:<username> for $HOME/.66/log and their sub-directories and files.

Community Engagement

Exploring the new features and testing the Meson build system is highly encouraged. Feedback is invaluable for refining 66 and ensuring it meets user needs. Thoughts or issues can be shared via the Obarun Git repository.

For a detailed changelog, refer to the 66-upgrade.md document.

Thank you for your continued support of Obarun.

Thanks for your attention.

Eric Vidal: [email protected]