Renamed the program from 'updater' to 'msedge-updater'. Updated all files related to the original name to adopt new name.
159 lines
6.3 KiB
Markdown
159 lines
6.3 KiB
Markdown
---
|
|
title: MSEDGE-UPDATER
|
|
section: 1
|
|
header: User Manual
|
|
footer: updater 0.2.0
|
|
date: September 9, 2021
|
|
---
|
|
|
|
# NAME
|
|
`msedge-updater` — Automatically update Microsoft Edge on Solus
|
|
|
|
# SYNOPSIS
|
|
**`msedge-updater`** [ _option_ ]
|
|
|
|
# OPTIONS
|
|
* `-nn, --no-notify`
|
|
Prevent notifications from being sent after a session.
|
|
* `-c, --set-channel=`
|
|
Change the channel to be updated for Microsoft Edge. Will default to the value defined in `source.list` if flag is not present.
|
|
* beta - update the Beta channel release.
|
|
* dev - update the Dev channel release.
|
|
* `-q, --quiet`
|
|
Operate strictly with no output on `STDOUT` or `STDERR`, prompts will __NOT__ assume yes however. Logging still occurs in background.
|
|
* `--mode=`
|
|
Set the mode of the program to be ran in. Default mode occurs without this flag.
|
|
* ___debug___ - run program in debug mode. (__WIP__)
|
|
* `--full-clean`
|
|
Remove all content generated by the updater after a session, this includes all logs.
|
|
* `-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 `msedge-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.
|
|
`msedge-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
|
|
|
|
`msedge-updater` must be ran with root privileges. If the script fails to identify its elevation,
|
|
it will exit and display a message to STDOUT.
|
|
|
|
### DISCLAIMER!!
|
|
Currently this program has only updated Microsoft Edge for amd64 architectures, other architectures
|
|
might be possible but not tested.
|
|
|
|
### Testing Systems
|
|
`msedge-updater` has been known to successfully run,
|
|
download and update Microsoft Edge (Beta) on Solus 4.2 Fortitude,
|
|
Kernel version 5.11.21-179 and later.
|
|
|
|
The test environment is a custom Docker image built from the Alpine base. Due to certain dependencies
|
|
of Microsoft Edge, `msedge-updater` will currently finish with exit code 11 on a successful session due to
|
|
the binary, `msedge`, not being able to run. This issue is only known for Busybox systems using `musl`,
|
|
and not `glibc`, which Microsoft Edge is built using.
|
|
|
|
# DEPENDENCIES
|
|
* bash
|
|
* wget
|
|
* git
|
|
* gunzip
|
|
* tar
|
|
* coreutils (>=8.32)
|
|
* binutils (>=2.35.1)
|
|
* procps (only Busybox-based systems)
|
|
|
|
# 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,<beta | dev>]` —
|
|
This tells the updater which package architecture it
|
|
should download for the system. Comma delimited to that, determine which
|
|
channel of Microsoft Edge to update by default, and can be changed or override
|
|
by flag arguments. The default value of `dists` is `amd64,beta`.
|
|
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 the 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
|
|
* 254 — The channel to update cannot be identified. Most likely cause is `source.list` is corrupt and `-c` was not passed.
|
|
* 255 — EOF flag was set when reading the Packages information file
|
|
* Other — an exit code not related to the 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.
|