Cleanup documentation
This commit is contained in:
@@ -12,12 +12,11 @@ You can find the latest version of installJRMC, changelog, and documentation in
|
||||
Download and unzip installJRMC from the attachment below or grab the latest stable version directly:
|
||||
[code]curl -O https://git.bryanroessler.com/bryan/installJRMC/raw/master/installJRMC &&
|
||||
chmod +x ./installJRMC &&
|
||||
./installJRMC [--option [ARGUMENT]][/code]
|
||||
./installJRMC [--option [ARGUMENT]]
|
||||
[/code]
|
||||
|
||||
Running [tt]installJRMC[/tt] without any options implies [tt]--install=repo[/tt] (on SUSE/Arch: [tt]--install=local[/tt]) and will install the latest version of JRiver Media Center (MC) from the official JRiver repository (Ubuntu/Debian) or my [url=https://repos.bryanroessler.com/jriver/]unofficial repository[/url] (Fedora/CentOS) using the system package manager.
|
||||
If [tt]--service[/tt] or [tt]--container[/tt] is passed then --install= must be specified to install MC (allows services and containers to be installed independent of MC).
|
||||
|
||||
Recent versions of installJRMC (>=1.3.0) automatically self-update to the latest installJRMC release.
|
||||
[tt]installJRMC[/tt] defaults to [tt]--install=repo[/tt] on distros with MC repositories and [tt]--install=local[/tt] on all others.
|
||||
Specifying [tt]--build[/tt], [tt]--createrepo[/tt], [tt]--service[/tt], or [tt]--uninstall[/tt] disables the default install method.
|
||||
|
||||
[size=18pt]Options[/size]
|
||||
|
||||
@@ -32,13 +31,13 @@ $ installJRMC --help
|
||||
--compat
|
||||
Build/install MC without minimum dependency version requirements
|
||||
--mcversion VERSION
|
||||
Build or install a specific MC version, ex. "34.0.31" or "33" (default: latest)
|
||||
Specify the MC version, ex. "33", "34.0.31", or "34.0.31-1" (default: latest)
|
||||
--arch ARCH
|
||||
Specify the MC architecture, ex. "amd64", "arm64", etc (default: host architecture)
|
||||
Specify the target MC architecture, ex. "amd64", "arm64", etc (default: host architecture)
|
||||
--mcrepo REPO
|
||||
Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: latest official)
|
||||
Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: host or official)
|
||||
--outputdir PATH
|
||||
Generate rpmbuild output in this PATH (default: ./output)
|
||||
Generate reusable installJRMC output in this PATH (default: ./output)
|
||||
--restorefile RESTOREFILE
|
||||
Restore file location for automatic license registration
|
||||
--betapass PASSWORD
|
||||
@@ -61,7 +60,7 @@ $ installJRMC --help
|
||||
--yes, -y, --auto
|
||||
Always assumes yes for questions
|
||||
--version, -v
|
||||
Print this script version and exit
|
||||
Print installJRMC version and exit
|
||||
--debug, -d
|
||||
Print debug output
|
||||
--help, -h
|
||||
@@ -82,15 +81,14 @@ jriver-x11vnc (user)
|
||||
jriver-xvnc (system)
|
||||
Enable and start a new Xvnc session running JRiver Media Center
|
||||
--vncpass PASSWORD
|
||||
Set vnc password for x11vnc/Xvnc access. If no password is set, the script will either use existing password stored in ~/.vnc/jrmc_passwd or use no password
|
||||
Set vnc password for x11vnc/Xvnc access. If no password is set, the script will either use existing password stored in ~/.vnc/jrmc_passwd or else no password
|
||||
--display DISPLAY
|
||||
Manually specify display to use for x11vnc/Xvnc (ex. ':1')
|
||||
jriver-createrepo (system)
|
||||
Install hourly service to build latest MC RPM and run createrepo
|
||||
By default installs as root service to handle www permissions more gracefully
|
||||
[/code]
|
||||
|
||||
By default, MC services use a sane [tt]--service-type[/tt] listed next to the service name in the Services description.
|
||||
Services use a sane default [tt]--service-type[/tt] listed next to the service name in the Services description.
|
||||
User services can be manipulated as an unprivileged user, for example: [tt]systemctl --user stop jriver-mediacenter[/tt] and begin at user login.
|
||||
System services are manipulable as root, for example: [tt]sudo systemctl stop jriver-servicename@username.service[/tt] and begin at system boot.
|
||||
Note that it is possible to run all services of a particular user at boot using [tt][url=https://www.freedesktop.org/software/systemd/man/loginctl.html]sudo loginctl enable-linger username[/url][/tt].
|
||||
@@ -131,8 +129,8 @@ Install services to share the existing local desktop via VNC and automatically r
|
||||
[code]installJRMC --install repo --service jriver-xvnc --display ":2"[/code]
|
||||
Install an Xvnc server on display ':2' that starts MC.
|
||||
[code]installJRMC --uninstall[/code]
|
||||
Uninstall MC, services, and firewall rules. This will [b]not[/b] remove your media, media library/database, or library backup folder.
|
||||
Uninstall MC, services, and firewall rules. This will [b]not[/b] remove your media, media library/database, or library backups.
|
||||
|
||||
[size=18pt]Additional Info[/size]
|
||||
|
||||
Did you find installJRMC useful? [url=https://paypal.me/bryanroessler?locale.x=en_US]Buy me a coffee![/url]
|
||||
Did you find installJRMC useful? [url=https://paypal.me/bryanroessler]Buy me a coffee![/url]
|
||||
27
README.md
27
README.md
@@ -8,11 +8,10 @@ You can find the latest version of installJRMC, changelog, and documentation in
|
||||
|
||||
`installJRMC [--option [ARGUMENT]]`
|
||||
|
||||
Running `installJRMC` without any options implies `--install repo` (on SUSE/Arch: `--install local`) and will install the latest version of Media Center from the official JRiver repository (Ubuntu/Debian) or my [unofficial repository](https://repos.bryanroessler.com/jriver/) (Fedora/CentOS) using the system package manager. If `--service` or `--container` is passed then the default installation method (`--install repo` or `--install local`) must be specified (allows services and containers to be installed independent of MC).
|
||||
`installJRMC` defaults to `--install=repo` on distros with MC repositories and `--install=local` on all others.
|
||||
Specifying `--build`, `--createrepo`, `--service`, or `--uninstall` disables the default install method.
|
||||
|
||||
Recent versions of installJRMC will automatically self-update to the latest installJRMC release.
|
||||
|
||||
## tl;dr
|
||||
### tl;dr
|
||||
|
||||
`curl https://git.bryanroessler.com/bryan/installJRMC/raw/master/installJRMC|bash`
|
||||
|
||||
@@ -58,7 +57,7 @@ $ installJRMC --help
|
||||
--yes, -y, --auto
|
||||
Always assume yes for questions
|
||||
--version, -v
|
||||
Print this script version and exit
|
||||
Print installJRMC version and exit
|
||||
--debug, -d
|
||||
Print debug output
|
||||
--help, -h
|
||||
@@ -85,14 +84,13 @@ jriver-xvnc [--service-type=system]
|
||||
Manually specify display to use for x11vnc/Xvnc (ex. ':1')
|
||||
jriver-createrepo [--service-type=system]
|
||||
Install hourly service to build latest MC RPM and run createrepo
|
||||
By default installs as root service to handle www permissions more gracefully
|
||||
```
|
||||
|
||||
#### `--service-type=`
|
||||
|
||||
By default, MC services use a sane `--service-type` listed next to the service name in the [`--service=`](#--service) section. User services begin at user login and are managed by the unprivileged user, for example: `systemctl --user stop jriver-mediacenter`. System services begin at boot and are managed by root, for example: `sudo systemctl stop jriver-servicename@username.service`. It is possible to run all services of a particular user at boot using [`sudo loginctl enable-linger username`](https://www.freedesktop.org/software/systemd/man/loginctl.html).
|
||||
Services use a sane default `--service-type` listed next to the service name in the [`--service=`](#--service) section. User services begin at user login and are managed by the unprivileged user, for example: `systemctl --user stop jriver-mediacenter`. System services begin at boot and are managed by root, for example: `sudo systemctl stop jriver-servicename@username.service`. It is possible to run all services of a particular user at boot using [`sudo loginctl enable-linger username`](https://www.freedesktop.org/software/systemd/man/loginctl.html).
|
||||
|
||||
Multiple services (but not `--service-types`) can be installed at one time using multiple `--service` blocks: `installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter`
|
||||
Multiple services (but not `--service-types`) can be installed at one time using multiple `--service` blocks: `installJRMC --install=repo --service=jriver-x11vnc --service=jriver-mediacenter`
|
||||
|
||||
#### `jriver-x11vnc` versus `jriver-xvnc`
|
||||
|
||||
@@ -108,6 +106,17 @@ Multiple services (but not `--service-types`) can be installed at one time using
|
||||
|
||||
**Note:** `ufw` is not installed by default on Debian but will be installed by `installJRMC`. To prevent SSH lock-out, Debian users that have not already enabled `ufw` will need to `sudo ufw enable` after running `installJRMC` and inspecting their configuration.
|
||||
|
||||
## Nicities
|
||||
|
||||
Depending on the distribution, `installJRMC` also performs the following tasks during MC installation:
|
||||
|
||||
* Automatically updates `installJRMC` to the latest release
|
||||
* Activates external third-party repositories for improved media playback (hardware decoding, etc.)
|
||||
* Adds temporary legacy repositories to provide deprecated libraries
|
||||
* Links non-standard SSL certs
|
||||
* Disables BTRFS CoW for MC database directories
|
||||
* Activates MC if a valid license file is found in common locations
|
||||
|
||||
## Examples
|
||||
|
||||
* `installJRMC`
|
||||
@@ -154,4 +163,4 @@ Multiple services (but not `--service-types`) can be installed at one time using
|
||||
|
||||
Did you find `installJRMC` useful? [Buy me a coffee!](https://paypal.me/bryanroessler)
|
||||
|
||||
Did you find a bug? Let me know on [Interact!](https://yabb.jriver.com/interact/index.php/topic,134152.0.html)
|
||||
Did you find a bug? [Let me know on Interact!](https://yabb.jriver.com/interact/index.php/topic,141168.0.html)
|
||||
|
||||
34
installJRMC
34
installJRMC
@@ -33,28 +33,32 @@ print_help() {
|
||||
debug "${FUNCNAME[0]}()"
|
||||
|
||||
cat <<-EOF
|
||||
SEE:
|
||||
README.md for more information
|
||||
|
||||
USAGE:
|
||||
installJRMC [[OPTION] [VALUE]]...
|
||||
|
||||
If no options (excluding -d or --debug) are provided installJRMC defaults to '--install repo'.
|
||||
installJRMC defaults to --install=repo on platforms with a JRiver repository and --install=local on all others.
|
||||
Specifying --build, --createrepo, --service, or --uninstall disables the default install method.
|
||||
|
||||
OPTIONS
|
||||
--install, -i repo|local
|
||||
repo: Install MC from repository, updates are handled by the system package manager
|
||||
local: Build and install MC package locally from official source release
|
||||
local: Build and install MC locally from official source package
|
||||
--build[=suse|fedora|centos]
|
||||
Build RPM from source DEB but do not install
|
||||
Optionally, specify a target distro for cross-building (ex. --build=suse, note the '=')
|
||||
--compat
|
||||
Build/install MC locally without minimum dependency version requirements
|
||||
--mcversion VERSION
|
||||
Specify the MC version, ex. "$MC_VERSION" or "${MC_VERSION%%.*}"
|
||||
Specify the MC version, ex. "$MC_VERSION" or "${MC_VERSION%%.*}" (default: latest release)
|
||||
--arch VERSION
|
||||
Specify the target MC architecture, ex. "amd64", "arm64", etc (default: host)
|
||||
--mcrepo REPO
|
||||
Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: auto)
|
||||
--outputdir PATH
|
||||
Generate rpmbuild output in this directory (default: ./output)
|
||||
Generate reusable installJRMC output in this PATH (default: ./output)
|
||||
--restorefile MJR_FILE
|
||||
Restore file location for automatic license registration
|
||||
--betapass PASSWORD
|
||||
@@ -80,7 +84,7 @@ print_help() {
|
||||
--yes, -y, --auto
|
||||
Assume yes response to questions
|
||||
--version, -v
|
||||
Print this script version and exit
|
||||
Print installJRMC version and exit
|
||||
--debug, -d
|
||||
Print debug output
|
||||
--help, -h
|
||||
@@ -99,16 +103,12 @@ print_help() {
|
||||
Enable and start a new Xvnc session running JRiver Media Center
|
||||
--vncpass PASSWORD
|
||||
Set the vnc password for x11vnc/Xvnc access. If no password is set, installJRMC
|
||||
will either use existing password stored in \$HOME/.vnc/jrmc_passwd or use no password
|
||||
will either use existing password stored in \$HOME/.vnc/jrmc_passwd or else no password
|
||||
--display DISPLAY
|
||||
Display to use for x11vnc/Xvnc (default: The current display (x11vnc) or the
|
||||
current display incremented by 1 (Xvnc))
|
||||
jriver-createrepo (system)
|
||||
Install hourly service to build latest MC RPM and run createrepo
|
||||
|
||||
CONTAINERS (TODO: Under construction)
|
||||
mediacenter-xvnc
|
||||
createrepo
|
||||
EOF
|
||||
}
|
||||
|
||||
@@ -134,8 +134,7 @@ parse_input() {
|
||||
eval set -- "$input"
|
||||
while true; do
|
||||
case $1 in
|
||||
--install|-i)
|
||||
shift
|
||||
--install|-i) shift;
|
||||
case $1 in
|
||||
local|rpm|deb) BUILD_SWITCH=1 LOCAL_INSTALL_SWITCH=1 ;;
|
||||
repo|remote) REPO_INSTALL_SWITCH=1 ;;
|
||||
@@ -181,7 +180,7 @@ parse_input() {
|
||||
;;
|
||||
--arch) shift; USER_ARCH="$1" ;;
|
||||
--mcrepo) shift; USER_MC_REPO="$1" ;;
|
||||
--restorefile) shift; MJR_FILE="$1" ;;
|
||||
--restorefile) shift; MJR_FILE="$1"; [[ -f $MJR_FILE ]] || err "Specified license $MJR_FILE missing." ;;
|
||||
--betapass) shift; BETAPASS="$1" ;;
|
||||
--service-type) shift; SERVICE_TYPE="$1" ;;
|
||||
--service|-s|--services) shift; SERVICES+=("$1") ;;
|
||||
@@ -208,9 +207,8 @@ parse_input() {
|
||||
fi
|
||||
|
||||
# Fallback to default install method in some scenarios
|
||||
if ! ((UNINSTALL_SWITCH + BUILD_SWITCH + CREATEREPO_SWITCH +
|
||||
LOCAL_INSTALL_SWITCH + CONTAINER_INSTALL_SWITCH + SNAP_INSTALL_SWITCH +
|
||||
APPIMAGE_INSTALL_SWITCH)) &&
|
||||
if ! ((UNINSTALL_SWITCH || BUILD_SWITCH || CREATEREPO_SWITCH || LOCAL_INSTALL_SWITCH
|
||||
|| CONTAINER_INSTALL_SWITCH || SNAP_INSTALL_SWITCH || APPIMAGE_INSTALL_SWITCH)) &&
|
||||
[[ ${#SERVICES[@]} -eq 0 && ${#CONTAINERS[@]} -eq 0 ]]; then
|
||||
debug "Defaulting to --install=repo"
|
||||
REPO_INSTALL_SWITCH=1
|
||||
@@ -1198,7 +1196,9 @@ restore_license() {
|
||||
|
||||
for f in "$MJR_FILE" "$newest"; do
|
||||
if [[ -f $f ]]; then
|
||||
execute "mediacenter$MC_MVERSION" "/RestoreFromFile" "$f"
|
||||
if execute "mediacenter$MC_MVERSION" "/RestoreFromFile" "$f"; then
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user