Skip to content

guides_packaging_quickref

GitHub Actions edited this page Jan 2, 2026 · 1 revision

category: "🔨 Build/Deployment" version: "v1.3.0" status: "✅" date: "22.12.2025"

🔨 ThemisDB Package Maintainer Quick Reference

Quick reference guide for package maintainers across all distributions.

📋 Inhaltsverzeichnis


📋 Übersicht

This is a quick reference guide for package maintainers.

Stand: 22. Dezember 2025
Version: 1.3.0
Kategorie: 🔨 Build/Deployment


✨ Features

  • Release Checklist - One-command version updates
  • 🔧 Build Commands - Quick reference for all platforms
  • 📦 Package Quick Ref - Debian, RPM, PKGBUILD, Chocolatey, WinGet, Homebrew
  • 🔄 Version Sync - Automated version management across all files
  • 📋 Testing Commands - Installation and verification procedures

🚀 Quick Start

For detailed instructions, see packaging.md.


Version Update Checklist

When preparing a new release:

# Linux/macOS
./scripts/prepare-release.sh 1.0.1

# Windows
.\scripts\prepare-release.ps1 -Version 1.0.1

Manual updates if needed:

  • CMakeLists.txt - project version
  • vcpkg.json - package version
  • debian/changelog - add new entry
  • themisdb.spec - Version field
  • PKGBUILD - pkgver and reset pkgrel to 1
  • packaging/chocolatey/themisdb.nuspec - version tag
  • packaging/homebrew/themisdb.rb - url with new tag
  • WinGet manifests - PackageVersion in all YAML files

Build Commands Quick Reference

Debian/Ubuntu

dpkg-buildpackage -us -uc -b
# Output: ../themisdb_VERSION-1_amd64.deb

Fedora/RHEL/CentOS

rpmdev-setuptree
wget https://github.com/makr-code/ThemisDB/archive/vVERSION.tar.gz -P ~/rpmbuild/SOURCES/
cp themisdb.spec ~/rpmbuild/SPECS/
rpmbuild -ba ~/rpmbuild/SPECS/themisdb.spec
# Output: ~/rpmbuild/RPMS/x86_64/themisdb-VERSION-1.x86_64.rpm

Arch Linux

makepkg -si
# Output: themisdb-VERSION-1-x86_64.pkg.tar.zst

Chocolatey

cd packaging/chocolatey
choco pack
# Output: themisdb.VERSION.nupkg

Homebrew

brew install --build-from-source packaging/homebrew/themisdb.rb
brew test themisdb

Dependencies by Platform

Debian/Ubuntu Runtime

  • libssl3 | libssl1.1
  • librocksdb8.1 | librocksdb6.11
  • libtbb12 | libtbb2
  • libarrow1500+ (or 1300, 1000)
  • libboost-system1.74.0+
  • libspdlog1+
  • libcurl4
  • libyaml-cpp0.7 | libyaml-cpp0.6
  • libzstd1

Fedora/RHEL/CentOS Runtime

  • openssl-libs
  • rocksdb
  • tbb
  • arrow-libs
  • boost-system
  • spdlog
  • libcurl
  • yaml-cpp
  • libzstd

Arch Linux Runtime

  • openssl
  • rocksdb
  • intel-tbb
  • arrow
  • boost-libs
  • spdlog
  • curl
  • yaml-cpp
  • zstd

macOS Homebrew

  • openssl@3
  • rocksdb
  • tbb
  • apache-arrow
  • boost
  • spdlog
  • nlohmann-json
  • curl
  • yaml-cpp
  • zstd

Installation Paths

Linux (FHS Standard)

  • Binary: /usr/bin/themis_server
  • Headers: /usr/include/
  • Static lib: /usr/lib/libthemis_core.a
  • Config: /etc/themisdb/config.yaml
  • Data: /var/lib/themisdb/
  • Service: /lib/systemd/system/themisdb.service
  • Logs: systemd journal (journalctl -u themisdb)

Windows

  • Binary: C:\ProgramData\chocolatey\lib\themisdb\tools\bin\themis_server.exe
  • Config: C:\ProgramData\ThemisDB\config.yaml
  • Data: C:\ProgramData\ThemisDB\data\
  • Service: Windows Service "ThemisDB"

macOS (Homebrew)

  • Binary: /opt/homebrew/bin/themis_server (Apple Silicon) or /usr/local/bin/themis_server (Intel)
  • Headers: /opt/homebrew/include/ or /usr/local/include/
  • Config: /opt/homebrew/etc/themisdb/config.yaml or /usr/local/etc/themisdb/config.yaml
  • Data: /opt/homebrew/var/lib/themisdb/ or /usr/local/var/lib/themisdb/
  • Service: launchd plist
  • Logs: /opt/homebrew/var/log/themisdb.log or /usr/local/var/log/themisdb.log

Service Management

systemd (Linux)

sudo systemctl start themisdb
sudo systemctl enable themisdb
sudo systemctl status themisdb
sudo journalctl -u themisdb -f

Windows Service

Start-Service ThemisDB
Set-Service ThemisDB -StartupType Automatic
Get-Service ThemisDB

launchd (macOS)

brew services start themisdb
brew services list

Security Notes

User/Group Creation

  • Linux: User themisdb, group themisdb, home /var/lib/themisdb
  • Windows: Runs as LocalSystem (or configure specific user)
  • macOS: Runs as current user via launchd

File Permissions

  • Config: 640 (root:themisdb on Linux)
  • Data dir: 750 (themisdb:themisdb on Linux)
  • Binary: 755 (root:root on Linux)

Testing Package Builds

Debian/Ubuntu

# Install in clean container
docker run -it --rm ubuntu:22.04
apt-get update && apt-get install -y ./themisdb_VERSION_amd64.deb
systemctl status themisdb

Fedora

# Install in clean container
docker run -it --rm fedora:39
dnf install -y ./themisdb-VERSION.rpm
systemctl status themisdb

Arch

# Install in clean container
docker run -it --rm archlinux:latest
pacman -U themisdb-VERSION.pkg.tar.zst

Hash Calculation

Linux/macOS

sha256sum themisdb-VERSION.tar.gz

Windows

Get-FileHash themisdb-VERSION.zip -Algorithm SHA256

Repository Submission URLs

Manual Builds

All packages are currently built manually/offline. Use the commands in the "Build Commands Quick Reference" section above to build packages locally or in Docker containers for testing before distribution.

Note: Automated builds via GitHub Actions may be added in future releases after initial manual testing and distribution approval.

Support

ThemisDB Dokumentation

Version: 1.3.0 | Stand: Dezember 2025


📋 Schnellstart


🏗️ Architektur


🗄️ Basismodell


💾 Storage & MVCC


📇 Indexe & Statistiken


🔍 Query & AQL


💰 Caching


📦 Content Pipeline


🔎 Suche


⚡ Performance & Benchmarks


🏢 Enterprise Features


✅ Qualitätssicherung


🧮 Vektor & GNN


🌍 Geo Features


🛡️ Sicherheit & Governance

Authentication

Schlüsselverwaltung

Verschlüsselung

TLS & Certificates

PKI & Signatures

PII Detection

Vault & HSM

Audit & Compliance

Security Audits

Gap Analysis


🚀 Deployment & Betrieb

Docker

Observability

Change Data Capture

Operations


💻 Entwicklung

API Implementations

Changefeed

Security Development

Development Overviews


📄 Publikation & Ablage


🔧 Admin-Tools


🔌 APIs


📚 Client SDKs


📊 Implementierungs-Zusammenfassungen


📅 Planung & Reports


📖 Dokumentation


📝 Release Notes


📖 Styleguide & Glossar


🗺️ Roadmap & Changelog


💾 Source Code Documentation

Main Programs

Source Code Module


🗄️ Archive


🤝 Community & Support


Vollständige Dokumentation: https://makr-code.github.io/ThemisDB/

Clone this wiki locally