137 lines
4.8 KiB
Markdown
137 lines
4.8 KiB
Markdown
---
|
|
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. `<https URL>` -
|
|
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.
|