daemon-build
Detailed instructions for building, deploying, and restarting the AutomateLinux daemon.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Building the Daemon
Managing the AutomateLinux daemon build process is streamlined through shell functions and a core build script.
The bd Terminal Function
The fastest way to rebuild the daemon from anywhere in the terminal is the bd function.
bd
What bd does:
- Temporarily changes directory to the daemon source folder.
- Runs the build script using the
bs(build-source) alias. - Returns to your original directory.
The Build Script (daemon/build.sh)
The underlying logic resides in daemon/build.sh. It performs high-level system maintenance alongside the compilation:
-
Stop Daemon: Runs
stop_daemon.shto ensure no active process holds files. -
Socket Setup: Ensures
/run/automatelinuxexists with correct permissions (required for Unix Domain Socket communication). -
CMake Build:
- Enters the
build/directory. - Executes
cmake ... - Executes
make.
- Enters the
-
Deployment:
- Copies the resulting
daemonbinary back to the root of the daemon directory. - Reloads systemd configs:
sudo systemctl daemon-reload. - Restarts the service:
sudo systemctl restart daemon.service.
- Copies the resulting
Technical Requirements
-
Permissions: The build process frequently calls
sudofor systemd and socket management. -
Dependencies: Requires
cmake,libevdev,libsystemd, andlibmysqlclient. -
UDS Path: The daemon communicates via
/run/automatelinux/automatelinux-daemon.sock.
[!IMPORTANT] Always use
bdrather than callingmakedirectly in thebuild/folder to ensure the binary is correctly deployed and the systemd service is refreshed.
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!