# hive-up Program to manage update process of Kira Linux. Creating snapshots. Dealing with pacman fail, etc. There should be some documantation here. hive-up uses `/var/lib/hive-up/hyve-db.json` file as database for stuff And `/etc/hive-up.toml` as config file. As an daemon hive-up righ now doing only periodical checks for updates. ```text Usage: hive-up Commands: cli Perform local operations remote Ask hive-up daemon something daemon Run hive-up in daemon mode help Print this message or the help of the given subcommand(s) Options: -h, --help Print help -V, --version Print version ``` For cli mode: ```text Usage: hive-up cli <--upgrade|--update-boot|--init-boot-menu|--init-boot> Options: --upgrade Perform system upgrade --update-boot Install new kernel into boot partition --init-boot-menu Cleans up and recreates UFI boot menu --init-boot Cleans up and recreates UFI boot menu and /EFI dir content -h, --help Print help ``` For remote mode: ```text Usage: hive-up remote <--check-updates|--updates-avail|--schedule-update> Options: --check-updates Ask daemon to check for updates --updates-avail Ask daemon if there is any updates available --schedule-update Ask daemon to perform system update on next reboot -h, --help Print help ``` `hive-up daemon` - do not have any flags for now. `hive-up cli --upgrade` - generally not supposed to be called by user. It get called by system service manager (dinit) after hive-up service stop (on reboot or system shutdown) When `hive-up cli --upgrade` is called, it checks if `update_on_reboot` flag is set in **DB** or `auto_update` flag checked in **config**, and if `updates_available` in **DB** is non zero. Update routine continue only if this conditios are met. 1. It creates snapshots of `/usr` and `/var` subvolumes 2. It sets `update_status` to **false** in **DB** 3. Performs update, and if everything was fine sets `update_status` to **true** in **DB** After this, system reboots, and on system boot Nyanit figures up what to do with failed updates if any