--- title: UPDATER section: 1 header: User Manual footer: updater 0.1.4 date: May 24, 2021 --- # NAME `updater` — Automatically update Microsoft Edge on Solus # SYNOPSIS **`updater`** [ _option_ ] # OPTIONS * `-nn, --no-notify` Prevent notifications from being sent after a session. * `-y, --yes-all` Assume yes to all yes/no decisions. * `-v, --version` Print out the version of the script and exit. * `-h, --help` Print this help message and exit # DESCRIPTION Microsoft Edge Updater is a program which will download and update your installation of Microsoft Edge to the latest release version identified. The main script is `updater` and while the system is akin to a package manager, it's much, much simpler. Systems that run Debian-based distros (using the `apt` package manager) or Fedora/openSUSE (using the `dnf` package manager), should install Microsoft Edge to their package manager according to the official guide over at [Microsoft Edge Insider - Command line installation](https://www.microsoftedgeinsider.com/en-us/download/). For those systems that use the amd64 architecture but not the perviously mentioned bases/distros, or package managers, may benefit from this program. `updater` uses the Debian (`.deb`) release versions of Microsoft Edge and automatically installs them to your system so you don't have to again! ## NOTE `updater` must be ran with root privilages. If the script fails to identify its elevation, it will exit and display a message to STDOUT. ### DISCLAIMER!! This version (0.1.4) only works for Microsoft Edge Beta on amd64 architecture. A later release may allow for update of Dev build and potentially both. ### Testing Systems `updater` has been known to successfully run, download and update Microsoft Edge (Beta) on Solus 4.2 Fortitude, Kernel version 5.11.21-179. # DEPENDENCIES * bash * wget * gunzip * tar * sort (>= 8.32) # FILES * `source.list` — This file contains a list of URL end-points to the official Microsoft Edge packages page. There are 3 lines with dedicated purposes: * `[host]` — A URL to the front page of Microsoft's Packages site, used to check connectivity and if the site is reachable. * `[dists]` — Most iconic line and resembles that of an APT entry for package information. This line can be broken into 4 parts 1. `[dists=amd64]` - This tells the updater which package architecture it should download for the system. 2. `` - The URL which points to the distribution repository on the Microsoft Packages server. 3. `main` - The main branch of the distribution repository. 4. `stable` - The type of release that should be installed to the system. * `[pool]` — The prefix URL to the repository end-point that stores the latest releases. The suffix comes from the Release information. * `logs/` — This is a directory which holds the session and history logs. * `logs/updater.log` — A full report log of the previous update session. Replaced after every next update session. * `logs/updater.history` — A history of all the previous update sessions. Never replaced, only appended to after every next update session. * `utils/` — Resource directory which contains any utility scripts. These are stand-alone; however, don't have any specific purpose being executed by a user. * `utils/common` — A utility file with common functions for updater. # EXIT STATUS * 0 — Successful * 1 — General Error (Errors not severe enough to the cause of the updater to stop) * 2 — Could not find `source.list` for the update * 3 — Host could not be reached. Check Internet connectivity and/or host URL * 4 — Failed to download either the Packages information or Content information files * 5 — Pool end-point could not be reached * 6 — Failed to download the identified Debian (`.deb`) file from the host's pool * 7 — Checksum verification of Debian (`.deb`) file failed. At this point, the downloaded file is removed * 8 — Failed to unarchive the Debian (`.deb`) file or decompress the `data.tar.gz` file * 9 — Failed to copy the new files to the system. At this point, the backup is restored to the system to prevent corruption * 10 — The archive function failed to create an archive of the system * 11 — If the system successfully restored files on an update failure, the updater will exit with this code stating the update failed but restoration was successful * 12 — The restore function failed to restore the files to their original location * 255 — EOF flag was set when reading the Packages information file * Other — an exit code not related to updater may have been raised. Consult the logs to identify which command returned the exit code. # AUTHORS * Ethan Smith-Coss # CONTRIBUTORS * Robert Morrison - Documentation ## Contacting All contacts should be done through Issues on Gitea.