Microsoft-Edge-Updater/msedge-updater.1
TheOnePath a44a69e568
Updated version
Updated the version to 0.2.1 for minor changes
2021-12-09 17:23:05 +00:00

290 lines
7.5 KiB
Groff

.\" Automatically generated by Pandoc 2.5
.\"
.TH "MSEDGE\-UPDATER" "1" "December 9, 2021" "updater 0.2.1" "User Manual"
.hy
.SH NAME
.PP
\f[C]msedge\-updater\f[R] \[em] Automatically update Microsoft Edge on
Solus
.SH SYNOPSIS
.PP
\f[B]\f[CB]msedge\-updater\f[B]\f[R] [ \f[I]option\f[R] ]
.SH OPTIONS
.IP \[bu] 2
\f[C]\-nn, \-\-no\-notify\f[R]
.PD 0
.P
.PD
Prevent notifications from being sent after a session.
.IP \[bu] 2
\f[C]\-c, \-\-set\-channel=\f[R]
.PD 0
.P
.PD
Change the channel to be updated for Microsoft Edge.
Will default to the value defined in \f[C]source.list\f[R] if flag is
not present.
.RS 2
.IP \[bu] 2
beta \- update the Beta channel release.
.IP \[bu] 2
dev \- update the Dev channel release.
.RE
.IP \[bu] 2
\f[C]\-q, \-\-quiet\f[R]
.PD 0
.P
.PD
Operate strictly with no output on \f[C]STDOUT\f[R] or \f[C]STDERR\f[R],
prompts will \f[B]NOT\f[R] assume yes however.
Logging still occurs in background.
.IP \[bu] 2
\f[C]\-\-mode=\f[R]
.PD 0
.P
.PD
Set the mode of the program to be ran in.
Default mode occurs without this flag.
.RS 2
.IP \[bu] 2
\f[B]\f[BI]debug\f[B]\f[R] \- run program in debug mode.
(\f[B]WIP\f[R])
.RE
.IP \[bu] 2
\f[C]\-\-full\-clean\f[R]
.PD 0
.P
.PD
Remove all content generated by the updater after a session, this
includes all logs.
.IP \[bu] 2
\f[C]\-y, \-\-yes\-all\f[R]
.PD 0
.P
.PD
Assume yes to all yes/no decisions.
.IP \[bu] 2
\f[C]\-v, \-\-version\f[R]
.PD 0
.P
.PD
Print out the version of the script and exit.
.IP \[bu] 2
\f[C]\-h, \-\-help\f[R]
.PD 0
.P
.PD
Print this help message and exit
.SH DESCRIPTION
.PP
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 \f[C]msedge\-updater\f[R] and while the system is
akin to a package manager, it\[cq]s much, much simpler.
.PP
Systems that run Debian\-based distros (using the \f[C]apt\f[R] package
manager) or Fedora/openSUSE (using the \f[C]dnf\f[R] 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/).
.PP
For those systems that use the amd64 architecture but not the perviously
mentioned bases/distros, or package managers, may benefit from this
program.
\f[C]msedge\-updater\f[R] uses the Debian (\f[C].deb\f[R]) release
versions of Microsoft Edge and automatically installs them to your
system so you don\[cq]t have to again!
.SS NOTE
.PP
\f[C]msedge\-updater\f[R] must be ran with root privileges.
If the script fails to identify its elevation, it will exit and display
a message to STDOUT.
.SS DISCLAIMER!!
.PP
Currently this program has only updated Microsoft Edge for amd64
architectures, other architectures might be possible but not tested.
.SS Testing Systems
.PP
\f[C]msedge\-updater\f[R] 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.
.PP
The test environment is a custom Docker image built from the Alpine
base.
Due to certain dependencies of Microsoft Edge, \f[C]msedge\-updater\f[R]
will currently finish with exit code 11 on a successful session due to
the binary, \f[C]msedge\f[R], not being able to run.
This issue is only known for Busybox systems using \f[C]musl\f[R], and
not \f[C]glibc\f[R], which Microsoft Edge is built using.
.SH DEPENDENCIES
.IP \[bu] 2
bash
.IP \[bu] 2
wget
.IP \[bu] 2
git
.IP \[bu] 2
gunzip
.IP \[bu] 2
tar
.IP \[bu] 2
coreutils (>=8.32)
.IP \[bu] 2
binutils (>=2.35.1)
.IP \[bu] 2
procps (only Busybox\-based systems)
.SH FILES
.IP \[bu] 2
\f[C]source.list\f[R] \[em]
.RS 2
.PP
This file contains a list of URL end\-points to the official Microsoft
Edge packages page.
There are 3 lines with dedicated purposes:
.IP \[bu] 2
\f[C][host]\f[R] \[em]
.PD 0
.P
.PD
A URL to the front page of Microsoft\[cq]s Packages site, used to check
connectivity and if the site is reachable.
.IP \[bu] 2
\f[C][dists]\f[R] \[em]
.PD 0
.P
.PD
Most iconic line and resembles that of an APT entry for package
information.
This line can be broken into 4 parts
.RS 2
.IP "1." 3
\f[C][dists=amd64,<beta | dev>]\f[R] \[em]
.PD 0
.P
.PD
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 \f[C]dists\f[R] is \f[C]amd64,beta\f[R].
.IP "2." 3
\f[C]<https URL>\f[R] \[em]
.PD 0
.P
.PD
The URL which points to the distribution repository on the Microsoft
Packages server.
.IP "3." 3
\f[C]main\f[R] \[em]
.PD 0
.P
.PD
The main branch of the distribution repository.
.IP "4." 3
\f[C]stable\f[R] \[em]
.PD 0
.P
.PD
The type of release that should be installed to the system.
.RE
.IP \[bu] 2
\f[C][pool]\f[R] \[em]
.PD 0
.P
.PD
The prefix URL to the repository end\-point that stores the latest
releases.
The suffix comes from the Release information.
.RE
.IP \[bu] 2
\f[C]logs/\f[R] \[em]
.RS 2
.PP
This is a directory which holds the session and history logs.
.IP \[bu] 2
\f[C]logs/updater.log\f[R] \[em]
.PD 0
.P
.PD
A full report log of the previous update session.
Replaced after every next update session.
.IP \[bu] 2
\f[C]logs/updater.history\f[R] \[em]
.PD 0
.P
.PD
A history of all the previous update sessions.
Never replaced, only appended to after every next update session.
.RE
.IP \[bu] 2
\f[C]utils/\f[R] \[em]
.RS 2
.PP
Resource directory which contains any utility scripts.
These are stand\-alone; however, don\[cq]t have any specific purpose
being executed by a user.
.IP \[bu] 2
\f[C]utils/common\f[R] \[em]
.PD 0
.P
.PD
A utility file with common functions for the updater.
.RE
.SH EXIT STATUS
.IP \[bu] 2
0 \[em] Successful
.IP \[bu] 2
1 \[em] General Error (Errors not severe enough to the cause of the
updater to stop)
.IP \[bu] 2
2 \[em] Could not find \f[C]source.list\f[R] for the update
.IP \[bu] 2
3 \[em] Host could not be reached.
Check Internet connectivity and/or host URL
.IP \[bu] 2
4 \[em] Failed to download either the Packages information or Content
information files
.IP \[bu] 2
5 \[em] Pool end\-point could not be reached
.IP \[bu] 2
6 \[em] Failed to download the identified Debian (\f[C].deb\f[R]) file
from the host\[cq]s pool
.IP \[bu] 2
7 \[em] Checksum verification of Debian (\f[C].deb\f[R]) file failed.
At this point, the downloaded file is removed
.IP \[bu] 2
8 \[em] Failed to unarchive the Debian (\f[C].deb\f[R]) file or
decompress the \f[C]data.tar.gz\f[R] file
.IP \[bu] 2
9 \[em] Failed to copy the new files to the system.
At this point, the backup is restored to the system to prevent
corruption
.IP \[bu] 2
10 \[em] The archive function failed to create an archive of the system
.IP \[bu] 2
11 \[em] 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
.IP \[bu] 2
12 \[em] The restore function failed to restore the files to their
original location
.IP \[bu] 2
254 \[em] The channel to update cannot be identified.
Most likely cause is \f[C]source.list\f[R] is corrupt and \f[C]\-c\f[R]
was not passed.
.IP \[bu] 2
255 \[em] EOF flag was set when reading the Packages information file
.IP \[bu] 2
Other \[em] an exit code not related to the updater may have been
raised.
Consult the logs to identify which command returned the exit code.
.SH AUTHORS
.IP \[bu] 2
Ethan Smith\-Coss
.SH CONTRIBUTORS
.IP \[bu] 2
Robert Morrison \[em] Documentation
.SS Contacting
.PP
All contacts should be done through Issues on Gitea.