diff --git a/updater.1 b/updater.1 new file mode 100644 index 0000000..698a309 --- /dev/null +++ b/updater.1 @@ -0,0 +1,235 @@ +.\" Automatically generated by Pandoc 2.5 +.\" +.TH "UPDATER" "1" "May 24, 2021" "updater 0.1.3" "User Manual" +.hy +.SH NAME +.PP +\f[C]updater\f[R] \[em] Automatically update Microsoft Edge on Solus +.SH SYNOPSIS +.PP +\f[B]\f[CB]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. +.PD 0 +.P +.PD +.IP \[bu] 2 +\f[C]\-y, \-\-yes\-all\f[R] +.PD 0 +.P +.PD +Assume yes to all yes/no decisions. +.PD 0 +.P +.PD +.IP \[bu] 2 +\f[C]\-v, \-\-version\f[R] +.PD 0 +.P +.PD +Print out the version of the script and exit. +.PD 0 +.P +.PD +.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]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]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]updater\f[R] must be ran with root privilages. +If the script fails to identify its elevation, it will exit and display +a message to STDOUT. +.SS DISCLAIMER!! +.PP +This version (0.1.3) only works for Microsoft Edge Beta on amd64 +architecture. +A later release may allow for update of Dev build and potentially both. +.SS Testing Systems +.PP +\f[C]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. +.SH DEPENDENCIES +.IP \[bu] 2 +bash +.IP \[bu] 2 +wget +.IP \[bu] 2 +gunzip +.IP \[bu] 2 +tar +.IP \[bu] 2 +sort (>= 8.32) +.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] \- +.PD 0 +.P +.PD +This tells the updater which package architecture it should download for +the system. +.IP "2." 3 +\f[C]\f[R] \- +.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] \- +.PD 0 +.P +.PD +The main branch of the distribution repository. +.IP "4." 3 +\f[C]stable\f[R] \- +.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 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 +255 \[em] EOF flag was set when reading the Packages information file +.IP \[bu] 2 +Other \[em] an exit code not related to 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 \- Documentation +.SS Contacting +.PP +All contacts should be done through Issues on Gitea. diff --git a/updater.1.md b/updater.1.md new file mode 100644 index 0000000..6059abb --- /dev/null +++ b/updater.1.md @@ -0,0 +1,136 @@ +--- +title: UPDATER +section: 1 +header: User Manual +footer: updater 0.1.3 +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.3) 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.