diff --git a/updater.1 b/updater.1 new file mode 100644 index 0000000..47a602f --- /dev/null +++ b/updater.1 @@ -0,0 +1,216 @@ +.\" Automatically generated by Pandoc 2.11.4 +.\" +.TH "UPDATER" "1" "May 24, 2021" "updater VERSION" "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] +.PD 0 +.P +.PD +\f[B]\f[CB]updater -y|--yes-all\f[B]\f[R] +.PD 0 +.P +.PD +\f[B]\f[CB]updater -v|--version\f[B]\f[R] +.PD 0 +.P +.PD +\f[B]\f[CB]updater --help\f[B]\f[R] +.SH OPTIONS +.PP +\f[C]-y, --yes-all\f[R] Assume yes to all yes/no decisions. +.PD 0 +.P +.PD +\f[C]-v, --version\f[R] Print out the version of the script and exit. +.PD 0 +.P +.PD +\f[C]--help\f[R] 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 DISCLAIMER!! +.PP +This version (0.1.2 - Beta) 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 +.SS Contacting +.PP +All contacts should be done through Issues on Gitea. diff --git a/updater.1.md b/updater.1.md index 9c878d0..20e9030 100644 --- a/updater.1.md +++ b/updater.1.md @@ -1,78 +1,123 @@ -| title | section | header | footer | date | -|:-------:|:-------:|:-----------:|:---------------:|:-----------:| -| UPDATER | 1 | User Manual | updater VERSION | May 23 2021 | +--- +title: UPDATER +section: 1 +header: User Manual +footer: updater VERSION +date: May 24, 2021 +--- # NAME -`updater` --- Automatically update Microsoft Edge on Solus +`updater` — Automatically update Microsoft Edge on Solus # SYNOPSIS -**`updater`**`[OPTION]` +**`updater`** +**`updater -y|--yes-all`** +**`updater -v|--version`** +**`updater --help`** # OPTIONS -``` --y, --yes-all Assume yes to all yes/no decisions. --v, --version Print out the version of the script and exit. - --help Print this help message and exit -``` +`-y, --yes-all` Assume yes to all yes/no decisions. +`-v, --version` Print out the version of the script and exit. +` --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. +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` packagaer 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/). +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! +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! ### DISCLAIMER!! -This version (0.1.2 - Beta) only works for Microsoft Edge Beta on amd64 architecture. A later release may allow for update of Dev build and potentially both. +This version (0.1.2 - Beta) 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. +`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 +* bash * wget * gunzip * tar * sort (>= 8.32) # FILES -* `source.list` --- +* `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 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/` --- + + * `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. - 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. +* `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. +* 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