Updated name of program

Renamed the program from 'updater' to 'msedge-updater'.
Updated all files related to the original name to adopt new name.
This commit is contained in:
Ethan Smith-Coss 2021-09-09 15:47:38 +01:00
parent 1100a67d0b
commit 203640aa3b
5 changed files with 316 additions and 26 deletions

View File

@ -1,13 +1,13 @@
<img src="msedge-updater-logo.png" width="150px" /> <img src="msedge-updater-logo.png" width="150px" />
# Microsoft Edge Updater # Microsoft Edge Updater
An updater program which can install the latest available version of Microsoft Edge to non-Debian-based Linux distros. An updater program which can install the latest available version of Microsoft Edge to non-APT-based Linux distros.
Currently this program can only update the Beta release of Microsoft Edge for amd64 architectures. Currently this program can only update the Beta release of Microsoft Edge for amd64 architectures.
## Usage ## Usage
``` ```
Usage: updater [OPTION] Usage: msedge-updater [OPTION]
Microsoft Edge Updater (0.2.0) - An updater program which can install the latest available version of Microsoft Edge to non-Debian-based Linux distros. Microsoft Edge Updater (0.2.0) - An updater program which can install the latest available version of Microsoft Edge to non-Debian-based Linux distros.
DISCLAIMER: Currently this program has only updated Microsoft Edge for amd64 architectures, other architectures might be possible but not tested. DISCLAIMER: Currently this program has only updated Microsoft Edge for amd64 architectures, other architectures might be possible but not tested.
@ -20,7 +20,7 @@ Options:
-q, --quiet Operate strictly with no output on STDOUT or STDERR, prompts will NOT assume yes however. Logging still occurs in background. -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. --mode= Set the mode of the program to be ran in. Default mode occurs without this flag.
* debug - run program in debug mode. (WIP) * debug - run program in debug mode. (WIP)
--full-clean Remove all content generated by updater after a session, this includes all logs. --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. -y, --yes-all Assume yes to all yes/no decisions.
-v, --version Print out the version of the script and exit. -v, --version Print out the version of the script and exit.
-h, --help Print this help message and exit. -h, --help Print this help message and exit.
@ -28,7 +28,7 @@ Options:
## Information ## Information
* Program Name - Microsoft Edge Updater * Program Name - Microsoft Edge Updater
* Script Name - `updater` * Script Name - `msedge-updater`
* Version - 0.2.0 * Version - 0.2.0
* Synopsis - update Microsoft Edge to the latest release. * Synopsis - update Microsoft Edge to the latest release.
* Author(s) - Ethan Smith-Coss (No contact) * Author(s) - Ethan Smith-Coss (No contact)
@ -36,11 +36,12 @@ Options:
* License - GNU GPLv3+ * License - GNU GPLv3+
## Documentation ## Documentation
For more in-depth documentation on `updater`, view the manpage in markdown form [here](https://robmc.duckdns.org/git/TheOnePath/Microsoft-Edge-Updater/src/branch/main/updater.1.md). For more in-depth documentation on `msedge-updater`, view the manpage in markdown form
[here](https://git.closedless.xyz/ClosedLess/Microsoft-Edge-Updater/src/branch/main/msedge-updater.1.md).
Alternatively you can view the manpage from your terminal by downloading the project. Alternatively you can view the manpage from your terminal by downloading the project.
```bash ```bash
$ git clone https://robmc.duckdns.org/git/TheOnePath/Microsoft-Edge-Updater/src/branch/main $ git clone https://git.closedless.xyz/ClosedLess/Microsoft-Edge-Updater/src/branch/main
$ cd Microsoft-Edge-Updater/ $ cd Microsoft-Edge-Updater/
$ man ./updater.1 $ man ./msedge-updater.1
``` ```

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
######################################################################### #########################################################################
# # # #
# updater - Automatically update Microsoft Edge on Solus # # msedge-updater - Automatically update Microsoft Edge on Solus #
# # # #
# Dependencies: # # Dependencies: #
# bash # # bash #
@ -15,18 +15,18 @@
# notify-send # # notify-send #
# # # #
# # # #
# Disclaimer: This version only works for MS Edge Beta. # # Disclaimer: This version only works for amd64 architectures. #
# A later release may allow for update of Dev builds # # A later release may allow for update of Dev builds #
# and potentially both. # # and potentially both. #
# # # #
# Author: Ethan Smith-Coss # # Author: Ethan Smith-Coss #
# Version: 0.2.0 # # Version: 0.2.0 #
# Created: 2021-05-20T16:47+0100 # # Created: 2021-05-20T16:47+0100 #
# Last Modified: 2021-06-24T15:49+0100 # # Last Modified: 2021-09-9T15:43+0100 #
# # # #
# #################################### # # #################################### #
# # # #
# updater - Automatically update Microsoft Edge on Solus # # msedge-updater - Automatically update Microsoft Edge on Solus #
# Copyright ©️ 2021 Ethan Smith-Coss # # Copyright ©️ 2021 Ethan Smith-Coss #
# # # #
# This program is free software: you can redistribute it and/or modify # # This program is free software: you can redistribute it and/or modify #
@ -61,7 +61,7 @@ Options:
-q, --quiet Operate strictly with no output on STDOUT or STDERR, prompts will NOT assume yes however. Logging still occurs in background. -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. --mode= Set the mode of the program to be ran in. Default mode occurs without this flag.
* debug - run program in debug mode. (WIP) * debug - run program in debug mode. (WIP)
--full-clean Remove all content generated by updater after a session, this includes all logs. --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. -y, --yes-all Assume yes to all yes/no decisions.
-v, --version Print out the version of the script and exit. -v, --version Print out the version of the script and exit.
-h, --help Print this help message and exit. -h, --help Print this help message and exit.

289
msedge-updater.1 Normal file
View File

@ -0,0 +1,289 @@
.\" Automatically generated by Pandoc 2.5
.\"
.TH "MSEDGE\-UPDATER" "1" "September 9, 2021" "updater 0.2.0" "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.

View File

@ -1,16 +1,16 @@
--- ---
title: UPDATER title: MSEDGE-UPDATER
section: 1 section: 1
header: User Manual header: User Manual
footer: updater 0.2.0 footer: updater 0.2.0
date: June 30, 2021 date: September 9, 2021
--- ---
# NAME # NAME
`updater` — Automatically update Microsoft Edge on Solus `msedge-updater` — Automatically update Microsoft Edge on Solus
# SYNOPSIS # SYNOPSIS
**`updater`** [ _option_ ] **`msedge-updater`** [ _option_ ]
# OPTIONS # OPTIONS
* `-nn, --no-notify` * `-nn, --no-notify`
@ -25,7 +25,7 @@ date: June 30, 2021
Set the mode of the program to be ran in. Default mode occurs without this flag. Set the mode of the program to be ran in. Default mode occurs without this flag.
* ___debug___ - run program in debug mode. (__WIP__) * ___debug___ - run program in debug mode. (__WIP__)
* `--full-clean` * `--full-clean`
Remove all content generated by updater after a session, this includes all logs. Remove all content generated by the updater after a session, this includes all logs.
* `-y, --yes-all` * `-y, --yes-all`
Assume yes to all yes/no decisions. Assume yes to all yes/no decisions.
* `-v, --version` * `-v, --version`
@ -37,7 +37,7 @@ date: June 30, 2021
Microsoft Edge Updater is a program which will download Microsoft Edge Updater is a program which will download
and update your installation of Microsoft Edge to the latest release version identified. 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, The main script is `msedge-updater` and while the system is akin to a package manager,
it's much, much simpler. it's much, much simpler.
Systems that run Debian-based distros (using the `apt` package manager) Systems that run Debian-based distros (using the `apt` package manager)
@ -49,12 +49,12 @@ according to the official guide over at
For those systems that use the amd64 architecture For those systems that use the amd64 architecture
but not the perviously mentioned bases/distros, but not the perviously mentioned bases/distros,
or package managers, may benefit from this program. or package managers, may benefit from this program.
`updater` uses the Debian (`.deb`) release versions of Microsoft Edge `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! and automatically installs them to your system so you don't have to again!
## NOTE ## NOTE
`updater` must be ran with root privileges. If the script fails to identify its elevation, `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. it will exit and display a message to STDOUT.
### DISCLAIMER!! ### DISCLAIMER!!
@ -62,12 +62,12 @@ Currently this program has only updated Microsoft Edge for amd64 architectures,
might be possible but not tested. might be possible but not tested.
### Testing Systems ### Testing Systems
`updater` has been known to successfully run, `msedge-updater` has been known to successfully run,
download and update Microsoft Edge (Beta) on Solus 4.2 Fortitude, download and update Microsoft Edge (Beta) on Solus 4.2 Fortitude,
Kernel version 5.11.21-179 and later. 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 The test environment is a custom Docker image built from the Alpine base. Due to certain dependencies
of Microsoft Edge, `updater` will currently finish with exit code 11 on a successful session due to 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`, 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. and not `glibc`, which Microsoft Edge is built using.
@ -128,7 +128,7 @@ and not `glibc`, which Microsoft Edge is built using.
however, don't have any specific purpose being executed by a user. however, don't have any specific purpose being executed by a user.
* `utils/common` * `utils/common`
A utility file with common functions for updater. A utility file with common functions for the updater.
# EXIT STATUS # EXIT STATUS
* 0 — Successful * 0 — Successful
@ -146,7 +146,7 @@ and not `glibc`, which Microsoft Edge is built using.
* 12 — The restore function failed to restore the files to their original location * 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. * 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 * 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. * 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 # AUTHORS
* Ethan Smith-Coss * Ethan Smith-Coss

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
######################################################################### #########################################################################
# common - Utility file with common functions for updater # # common - Utility file with common functions for msedge-updater #
# # # #
# Dependencies: # # Dependencies: #
# bash # # bash #
@ -15,7 +15,7 @@
# # # #
# #################################### # # #################################### #
# # # #
# common - Utility file with common functions for updater # # common - Utility file with common functions for msedge-updater #
# Copyright ©️ 2021 Ethan Smith-Coss # # Copyright ©️ 2021 Ethan Smith-Coss #
# # # #
# This program is free software: you can redistribute it and/or modify # # This program is free software: you can redistribute it and/or modify #