Skip to content

Repository files navigation

Utils

See internal wiki for more details here

Table of Contents

Dependencies

Caution

This project's license does not apply to the content of the dependencies included in libutils.

Name + Link Status Last Update
c2dmp-hsm CD - Algorithm
s.o.s CD - Algorithm

Packages

Note

Most packages have a pre-release/unstable version named <package_name>-pre. The -pre packages are marked as obsolete by any release/stable package (without -pre) of the same version or higher.

File Name Content
libutils Install the default packages (libutils-dev, libutils-op)
libutils-dev Contains all includes needed and cmake global configuration
libutils-dev-op Contains cmake configuration for libutils-op
libutils-dev-db Contains cmake configuration for libutils-db
libutils-dev-as Contains cmake configuration for libutils-as
libutils-op Compiled with optimization options
libutils-db Compiled with debug options (intended for debugging only)
libutils-as Compiled with asan options (intended for debugging only)

Quick Setup - 1 (all)

Setup into /usr/local

Clone the repository

git clone https://github.com/TsukiNi22/libutils.git
cd libutils

Install the lib

export BUILD=build
cmake -S . -B $BUILD_DIR
sudo cmake --build $BUILD_DIR --target install --parallel $(nproc)

Quick Setup - 2 (Limited)

Setup into /usr

Warning

If during the installation using tools like dnf, apt... you see an invalid hash error, reset the cache of the tool or relaunch the setup.sh script

If the error still persists, it might be due to an error in the repository

Warning

Restriction: fedora-based (rpm), debian-based (deb)

Note

The usage of sudo in the script can be remove using --no-sudo argument

Run the setup script directly, without cloning the repository manually. It's setup the different file to allow installing tools to handle the different package from libutils.

wget -qO- https://raw.githubusercontent.com/TsukiNi22/libutils/main/setup.sh | bash -s

or with curl:

curl -fsSL https://raw.githubusercontent.com/TsukiNi22/libutils/main/setup.sh | bash -s

Workflows/Release

Workflows

  • The workflow Dispatch (CI/CD) runs on every push (branch main or tag v*) and decides what to trigger based on the ref/commit message
  • The workflow Build - Packages (CI/CD) builds the packages (RPM/DEB) and syncs/releases them
  • The workflow Build - Libraries (CI) only builds the libraries and checks the compilation, without producing or releasing packages

Note

Only when Dispatch (CI/CD) decides not to build packages, the Build - Libraries (CI) workflow runs instead, to validate that the code still compiles

Pre-Release (unstable)

The pre-release of the packages can be triggered by 2 events:

  • Pushing a tag that matches the regex vx.x.x-pre (x stands for the version number: major, minor, fix)
  • Or pushing a commit containing the string [build], preferably in the description

Release (stable)

The release of the packages (channel stable) can only be triggered by pushing a tag that matches the regex vx.x.x-release (x stands for the version number: major, minor, fix)

Downstream notification

In addition to building/publishing, Dispatch (CI/CD) notifies the docker-image repository (via repository_dispatch) whenever a release is decided:

  • Pushing a tag matching vx.x.x-release
  • Or pushing a commit containing the string [release], preferably in the description

Releases

Contributors

Languages