.\" 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,]\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]\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.