INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: installJRMC - MC installer for Linux  (Read 3313 times)

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
installJRMC - MC installer for Linux
« on: August 22, 2024, 02:43:02 pm »

installJRMC

This program will install JRiver Media Center and associated services on most Linux distributions.

You can find the latest version of installJRMC, changelog, and documentation in my repository.

tl;dr One-line MC install
Code: [Select]
curl https://git.bryanroessler.com/bryan/installJRMC/raw/master/installJRMC|bash
Instructions

Download and unzip installJRMC from the attachment below or grab the latest stable version directly:
Code: [Select]
curl -O https://git.bryanroessler.com/bryan/installJRMC/raw/master/installJRMC &&
chmod +x ./installJRMC &&
./installJRMC [--option [ARGUMENT]]

Running `installJRMC` without any options implies --install=repo (on SUSE: --install=local) and will install the latest version of JRiver Media Center from the official JRiver repository (Ubuntu/Debian) or my unofficial repository (Fedora/CentOS) using the system package manager. If --service or --container is passed then the default install method (--install=repo or --install=local) must be specified (to allow services and containers to be installed independent of MC).

Recent versions of installJRMC automatically self-update to the latest installJRMC release.

Options

Code: [Select]
$ installJRMC --help
--install, -i repo|local
    repo: Install MC from repository, future updates will be handled by the system package manager
    local: Build and install MC package 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 without minimum dependency version requirements
--mcversion VERSION
    Build or install a specific MC version, ex. "33.0.37" or "33" (default: latest)
--arch ARCH
    Specify the MC architecture, ex. "amd64", "arm64", etc (default: host architecture)
--mcrepo REPO
    Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: latest official)
--outputdir PATH
    Generate rpmbuild output in this PATH (default: ./output)
--restorefile RESTOREFILE
    Restore file location for automatic license registration
--betapass PASSWORD
    Enter beta team password for access to beta builds
--service, -s SERVICE
    See SERVICES section below for the list of services to deploy
  --service-type user|system
      Starts services at boot (system) or user login (user) (default: per-service, see SERVICES)
--container, -c CONTAINER (TODO: Under construction)
    See CONTAINERS section below for a list of containers to deploy
--createrepo[=suse|fedora|centos]
    Build rpm, copy to webroot, and run createrepo.
    Optionally, specify a target distro for non-native repo (ex. --createrepo=fedora, note the '=')
  --createrepo-webroot PATH
      The webroot directory to install the repo (default: /var/www/jriver/)
  --createrepo-user USER
      The web server user if different from the current user
--no-update
    Disable the installJRMC update check
--yes, -y, --auto
    Always assumes yes for questions
--version, -v
    Print this script version and exit
--debug, -d
    Print debug output
--help, -h
    Print help dialog and exit
--uninstall, -u
    Uninstall JRiver MC, service files, and firewall rules (does not remove library or media files)

Services

Code: [Select]
jriver-mediaserver (user)
    Enable and start a mediaserver systemd service (requires an existing X server)
jriver-mediacenter (user)
    Enable and start a mediacenter systemd service (requires an existing X server)
jriver-x11vnc (user)
    Enable and start x11vnc for the local desktop (requires an existing X server, does NOT support Wayland)
  --vncpass and --display are also valid options (see below)
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
  --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

By default, MC services use a sane --service-type listed next to the service name in the Services description. User services can be manipulated as an unprivileged user, for example: systemctl --user stop jriver-mediacenter and begin at user login. System services are manipulable as root, for example: sudo systemctl stop jriver-servicename@username.service and begin at system boot. Note that it is possible to run all services of a particular user at boot using sudo loginctl enable-linger username.

Multiple services (but not --service-types) can be installed at one time using multiple --service blocks:
Code: [Select]
installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter
jriver-x11vnc versus jriver-xvnc

jriver-x11vnc shares your existing X display via VNC and can be combined with additional services to start Media Center or Media Server. Conversely, jriver-xvnc creates a new Xvnc display and starts a JRiver Media Center service in the foreground of the new VNC display.

Containers

Coming soon!

Firewall

installJRMC automatically creates port forwarding firewall rules for remote access to Media Network (52100-52200/tcp, 1900/udp DLNA) and Xvnc/x11vnc (if selected), using firewall-cmd or ufw.

Examples

Code: [Select]
installJRMCInstall the latest version of MC from the best available repository.
Code: [Select]
installJRMC --install local --compatInstall a more widely-compatible version of the latest MC version.
Code: [Select]
installJRMC --install repo --service jriver-mediacenter --service-type userInstall MC from the repository and start/enable jriver-mediacenter.service as a user service.
Code: [Select]
installJRMC --install local --compat --restorefile /path/to/license.mjr --mcversion 33.0.37Build and install an MC 33.0.37 comptability RPM locally and activate it using the /path/to/license.mjr
Code: [Select]
installJRMC --createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-userBuild an RPM locally for the current distro, move it to the webroot, and run createrepo as www-user.
Code: [Select]
installJRMC --service jriver-createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-userInstall the jriver-createrepo timer and service to build the RPM, move it to the webroot, and run createrepo as www-user hourly.
Code: [Select]
installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter --vncpass "letmein"Install services to share the existing local desktop via VNC and automatically run MC on startup.
Code: [Select]
installJRMC --install repo --service jriver-xvnc --display ":2"Install an Xvnc server on display ':2' that starts MC.
Code: [Select]
installJRMC --uninstallUninstall MC, services, and firewall rules. This will not remove your media, media library/database, or library backup folder.

Additional Info

Did you find installJRMC useful? Buy me a coffee!
Logged

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #1 on: August 22, 2024, 02:45:46 pm »

I've disabled the library migration step in installJRMC v1.2.0 since I have not run into (nor heard reports of) any lingering issues with the built-in migration.
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #2 on: August 22, 2024, 02:52:05 pm »

Nice! Though for me on Ubuntu 24.04 it appears to me that it sets to the noble repo then tries to switch to the bullseye repo. How does --mcrepo noble work? It says it switches to noble then says a few lines below it switches to the bullseye repo. Unless I'm missing something obvious here?

Code: [Select]
/home/michael/Git/installJRMC/installJRMC --mcrepo noble -d
Debug: Running: main --mcrepo noble -d
Debug: Running: init
Starting installJRMC
Debug: Detected host platform: ubuntu 24.04 amd64
Debug: Switching to noble repo for *buntu 24
Debug: Using host platform: ubuntu 24.04
Debug: Running: parseInput
Debug: Debugging on
Debug: installJRMC version: 1.2.0
Debug: Running: setMCVersion
Debug: Running: installPackage --silent buildah
Debug: buildah already installed, skipping installation
Debug: buildah rm alpine-working-container-1
d65a54a16adb042a0684a6ee31678104bf765f063878a6e4ad65c0e91a444347
Using the bullseye repository
Using MC version 33.0.13 from the bullseye repo determined by containerized package manager
To override, use --mcversion
Debug: MC_VERSION=33.0.13, MC_REPO=bullseye, MC_PKG=mediacenter33, MC_RPM=/home/michael/Git/installJRMC/output/RPMS/x86_64/mediacenter33-33.0.13.x86_64.rpm
...
[code]
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #3 on: August 22, 2024, 03:23:10 pm »

Nice! Though for me on Ubuntu 24.04 it appears to me that it sets to the noble repo then tries to switch to the bullseye repo. How does --mcrepo noble work? It says it switches to noble then says a few lines below it switches to the bullseye repo. Unless I'm missing something obvious here?

Code: [Select]
/home/michael/Git/installJRMC/installJRMC --mcrepo noble -d
Debug: Running: main --mcrepo noble -d
Debug: Running: init
Starting installJRMC
Debug: Detected host platform: ubuntu 24.04 amd64
Debug: Switching to noble repo for *buntu 24
Debug: Using host platform: ubuntu 24.04
Debug: Running: parseInput
Debug: Debugging on
Debug: installJRMC version: 1.2.0
Debug: Running: setMCVersion
Debug: Running: installPackage --silent buildah
Debug: buildah already installed, skipping installation
Debug: buildah rm alpine-working-container-1
d65a54a16adb042a0684a6ee31678104bf765f063878a6e4ad65c0e91a444347
Using the bullseye repository
Using MC version 33.0.13 from the bullseye repo determined by containerized package manager
To override, use --mcversion
Debug: MC_VERSION=33.0.13, MC_REPO=bullseye, MC_PKG=mediacenter33, MC_RPM=/home/michael/Git/installJRMC/output/RPMS/x86_64/mediacenter33-33.0.13.x86_64.rpm
...
[code]

Thanks! Could you try again (I re-released the same version)?

Also note that:
Code: [Select]
installJRMC --mcrepo noble -d
...won't install MC (you'll also need an install switch since you've specified the repo).

There's also already a workaround in install MC for *buntu >= 24 (as you can see in the debug output). So you shouldn't need to specify --mcrepo at all if you want the noble version to be automatically installed on those platforms.

Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #4 on: August 22, 2024, 03:27:13 pm »

Sure, pulled the newest from the repo and same result. It tries to use noble then switches to bullseye.

Code: [Select]
./installJRMC -d
Debug: Running: main -d
Debug: Running: init
Starting installJRMC
Debug: Detected host platform: ubuntu 24.04 amd64
Debug: Switching to noble repo for *buntu 24
Debug: Using host platform: ubuntu 24.04
Debug: Running: parseInput
Debug: Debugging on
Debug: installJRMC version: 1.2.0
Debug: Running: setMCVersion
Debug: Running: installPackage --silent buildah
Debug: buildah already installed, skipping installation
Debug: buildah rm alpine-working-container-1
1e47dbc3fc575212a0b54acd7e9b3fa8bcda626d4b431764da43906e698ae0b8
Using the bullseye repository
Using MC version 33.0.13 from the bullseye repo determined by containerized package manager
To override, use --mcversion
Debug: MC_VERSION=33.0.13, MC_REPO=bullseye, MC_PKG=mediacenter33, MC_RPM=/home/michael/Git/installJRMC/output/RPMS/x86_64/mediacenter33-33.0.13.x86_64.rpm
...

I seem to also recall asking at some point in the past why it's trying to do a .rpm on Ubuntu but I forgot why, heh. Likely not important though.
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #5 on: August 22, 2024, 03:32:55 pm »

Sure, pulled the newest from the repo and same result. It tries to use noble then switches to bullseye.

Code: [Select]
./installJRMC -d
Debug: Running: main -d
Debug: Running: init
Starting installJRMC
Debug: Detected host platform: ubuntu 24.04 amd64
Debug: Switching to noble repo for *buntu 24
Debug: Using host platform: ubuntu 24.04
Debug: Running: parseInput
Debug: Debugging on
Debug: installJRMC version: 1.2.0
Debug: Running: setMCVersion
Debug: Running: installPackage --silent buildah
Debug: buildah already installed, skipping installation
Debug: buildah rm alpine-working-container-1
1e47dbc3fc575212a0b54acd7e9b3fa8bcda626d4b431764da43906e698ae0b8
Using the bullseye repository
Using MC version 33.0.13 from the bullseye repo determined by containerized package manager
To override, use --mcversion
Debug: MC_VERSION=33.0.13, MC_REPO=bullseye, MC_PKG=mediacenter33, MC_RPM=/home/michael/Git/installJRMC/output/RPMS/x86_64/mediacenter33-33.0.13.x86_64.rpm
...

I seem to also recall asking at some point in the past why it's trying to do a .rpm on Ubuntu but I forgot why, heh. Likely not important though.

Thank you, should be fixed now.

MC_RPM is just a placeholder variable, it isn't actually used on the other platforms.
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #6 on: August 22, 2024, 03:53:39 pm »

Yep, works great now, thanks a lot! :D
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #7 on: August 24, 2024, 08:45:19 pm »

This might need to be checked for Linux Mint 22. It needs to use the noble repo and needs the libwebkit2gtk dependency from it. I don't use Mint so I can't test it.

https://yabb.jriver.com/interact/index.php/topic,139566.0.html
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #8 on: August 25, 2024, 02:44:18 pm »

This might need to be checked for Linux Mint 22. It needs to use the noble repo and needs the libwebkit2gtk dependency from it. I don't use Mint so I can't test it.

https://yabb.jriver.com/interact/index.php/topic,139566.0.html

Thanks, I think it was just the missing --install switch. I will add a blurb to the OP and simplify this in the future if more distros begin outpacing bullseye.
Logged

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #9 on: August 31, 2024, 08:20:12 pm »

In v1.2.2 I've added automatic repository detection for DEB distros to select the correct --mcrepo based on the VERSION_CODENAME.
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #10 on: September 03, 2024, 10:09:08 am »

I'll probably get Mint 22 and double check it later.

Been meaning to ask but can any sort of script auto-update be implemented? Like it checks for script updates on start then downloads/applies/restarts the script to run the new one sort of deal? I would imagine there's multiple users who are using older versions without knowing there's an update.
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #11 on: September 03, 2024, 08:26:53 pm »

Been meaning to ask but can any sort of script auto-update be implemented? Like it checks for script updates on start then downloads/applies/restarts the script to run the new one sort of deal? I would imagine there's multiple users who are using older versions without knowing there's an update.

Done in 1.3.1. Thanks for the idea, now I can "push" changes to installJRMC service timers like createrepo.

If installJRMC is in a git repo it will pull and run the new version. If it's not in a git repo, it will download, update, and run the latest version. Hopefully this is the last time anyone will need to download installJRMC! ;D

Also fixed Linux Mint issues and tested on Jammy. 

Required some larger refactoring so testing would be appreciated.
Logged

terrym@tassie

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 503
Re: installJRMC - MC installer for Linux
« Reply #12 on: September 18, 2024, 12:38:58 am »

Using 1.3.1 to install MC33 on Linux Mint 21.3, I got the following problem with the user service that was created:

The service was constantly restarting and showed the following status:
Code: [Select]
systemctl --user status  jriver-mediacenter
● jriver-mediacenter.service - JRiver Media Center 33
     Loaded: loaded (/usr/lib/systemd/user/jriver-mediacenter.service; enabled; vendor preset: enabled)
     Active: activating (auto-restart) (Result: core-dump) since Wed 2024-09-18 14:51:17 AEST; 8s ago
    Process: 15701 ExecStart=/usr/bin/mediacenter33 (code=exited, status=0/SUCCESS)
    Process: 15702 ExecStop=/usr/bin/mc33 /MCC 20007 (code=dumped, signal=SEGV)
   Main PID: 15701 (code=exited, status=0/SUCCESS)
        CPU: 101ms

I looked at the service file and commented out the 'Environment=DISPLAY=' line (file shown below) and then the service started normally.

/usr/lib/systemd/user/jriver-mediacenter.service
Code: [Select]
[Unit]
Description=JRiver Media Center 33
After=default.target

[Service]
Type=simple

Environment=XAUTHORITY=/home/terry/.Xauthority
#Environment=DISPLAY=
ExecStart=/usr/bin/mediacenter33
KillMode=none
ExecStop=/usr/bin/mc33 /MCC 20007
Restart=always
RestartSec=10
TimeoutStopSec=30

[Install]
WantedBy=default.target

EDIT:
Looking into this a bit more, neither of the Environment statements are required for Linux Mint 21.3 as they are already set:
Code: [Select]
$ systemctl --user show-environment
HOME=/home/terry
LANG=en_AU.UTF-8
LANGUAGE=en_AU:en
LOGNAME=terry
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/u>
SHELL=/bin/bash
SYSTEMD_EXEC_PID=861
USER=terry
XDG_DATA_DIRS=/usr/share/xfce4:/home/terry/.local/share/flatpak/exports/share:/>
XDG_RUNTIME_DIR=/run/user/1000
GTK_MODULES=gail:atk-bridge
QT_ACCESSIBILITY=1
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=xfce
DISPLAY=:0
GDMSESSION=xfce
GDM_LANG=en_AU
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK3_MODULES=xapp-gtk3-module
IM_CONFIG_PHASE=1
PWD=/home/terry
SHLVL=1
SSH_AUTH_SOCK=/tmp/ssh-XXXXXX173Non/agent.1140
XAUTHLOCALHOSTNAME=
XAUTHORITY=/home/terry/.Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-xfce:/etc/xdg
XDG_CURRENT_DESKTOP=XFCE
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/terry
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=xfce
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE=x11
_=/usr/bin/dbus-update-activation-environment

If Environment=DISPLAY is included, it should be: Environment=DISPLAY=:0 (on my system)
Logged
Good manners cost nothing.
Bad manners can cost you your reputation
― B.D.Hawkey

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #13 on: September 18, 2024, 08:46:35 am »

Using 1.3.1 to install MC33 on Linux Mint 21.3, I got the following problem with the user service that was created:

*snip*

Thanks, that should be fixed now, it was legacy cruft from old Debian systemd.

Also, since installJRMC is now self-updating I'm dropping versioning from the release zips to simplify things.
Logged

terrym@tassie

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 503
Re: installJRMC - MC installer for Linux
« Reply #14 on: September 18, 2024, 05:27:27 pm »

Thanks, really appreciate the effort you put into this incredibly useful utility.
Logged
Good manners cost nothing.
Bad manners can cost you your reputation
― B.D.Hawkey

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #15 on: October 02, 2024, 08:39:44 am »

Just tried this in a fresh install of OpenSUSE and it seems to be broken. It seems to have permission issues like it doesn't create the output folder, it fails at trying to download the .deb, etc. If you run the script with sudo it does create the output folder (into the root / directory) and attempts to build it, but ultimately fails. It also tries to install the two Fedora mesa-va-drivers-freeworld related dependencies, which doesn't exist for OpenSUSE, not sure if that happens when not using sudo.

Manually creating the output folder and SOURCES folder inside it in the same directory as the script also doesn't do anything (same with manually downloading the .deb file and putting it in the SOURCES folder). Not sure where it's trying to create the output folder, actually. The directory the script is in has full 777 read/write permissions (just for testing this) too.

Here's a full log...

Code: [Select]
/home/michael/Git/installJRMC/installJRMC' --debug --build=suse --install local
Debug: Running: main --debug --build=suse --install local
Debug: Running: parse_input --debug --build=suse --install local
Debug: Running: init
Starting installJRMC
Debug: Detected host platform: opensuse-tumbleweed 20241001 amd64
Debug: Using host platform: suse 20241001
Debug: Using MC repository: bullseye
Debug: Debugging on
Debug: installJRMC version: 1.3.2
Debug: Running: update_self --debug --build=suse --install local
Debug: Checking for installJRMC update
Debug: Running: install_package --silent wget
Debug: wget already installed, skipping installation
Debug: wget -q -O /tmp/tmp.UsjHKAH5mt https://git.bryanroessler.com/bryan/installJRMC/raw/master/installJRMC
Debug: Running: set_mc_version
Debug: Running: install_package --silent buildah
Debug: buildah already installed, skipping installation
Debug: buildah rm alpine-working-container
bf32becfcebc2bfc8c26ec52d4750cf1c2be08660f2e5e1d529c8f41c9ae9f07
Using MC version 33.0.20 from the bullseye repo (determined by containerized package manager)
Debug: Running: install_package wget
Debug: wget already installed, skipping installation
Debug: mkdir -p /output/SOURCES
mkdir: cannot create directory ‘/output’: Permission denied
Debug: Running: acquire_deb
Debug: MC_DEB=/output/SOURCES/MediaCenter-33.0.20-amd64.deb
Checking beta/ repo for DEB package
Debug: wget --quiet --output-document /output/SOURCES/MediaCenter-33.0.20-amd64.deb https://files.jriver-cdn.com/mediacenter/channels/v33.0.20/beta//MediaCenter-33.0.20-amd64.deb
/output/SOURCES/MediaCenter-33.0.20-amd64.deb: No such file or directory
Checking latest repo for DEB package
Debug: wget --quiet --output-document /output/SOURCES/MediaCenter-33.0.20-amd64.deb https://files.jriver-cdn.com/mediacenter/channels/v33.0.20/latest/MediaCenter-33.0.20-amd64.deb
/output/SOURCES/MediaCenter-33.0.20-amd64.deb: No such file or directory
Checking test repo for DEB package
Debug: wget --quiet --output-document /output/SOURCES/MediaCenter-33.0.20-amd64.deb https://files.jriver-cdn.com/mediacenter/channels/v33.0.20/test/MediaCenter-33.0.20-amd64.deb
/output/SOURCES/MediaCenter-33.0.20-amd64.deb: No such file or directory
Error: Could not download Media Center DEB package
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #16 on: October 04, 2024, 12:34:39 am »

Just tried this in a fresh install of OpenSUSE and it seems to be broken. It seems to have permission issues like it doesn't create the output folder, it fails at trying to download the .deb, etc. If you run the script with sudo it does create the output folder (into the root / directory) and attempts to build it, but ultimately fails. It also tries to install the two Fedora mesa-va-drivers-freeworld related dependencies, which doesn't exist for OpenSUSE, not sure if that happens when not using sudo.

Manually creating the output folder and SOURCES folder inside it in the same directory as the script also doesn't do anything (same with manually downloading the .deb file and putting it in the SOURCES folder). Not sure where it's trying to create the output folder, actually. The directory the script is in has full 777 read/write permissions (just for testing this) too.

Here's a full log...

Code: [Select]
/home/michael/Git/installJRMC/installJRMC' --debug --build=suse --install local
Debug: Running: main --debug --build=suse --install local
Debug: Running: parse_input --debug --build=suse --install local
Debug: Running: init
Starting installJRMC
Debug: Detected host platform: opensuse-tumbleweed 20241001 amd64
Debug: Using host platform: suse 20241001
Debug: Using MC repository: bullseye
Debug: Debugging on
Debug: installJRMC version: 1.3.2
Debug: Running: update_self --debug --build=suse --install local
Debug: Checking for installJRMC update
Debug: Running: install_package --silent wget
Debug: wget already installed, skipping installation
Debug: wget -q -O /tmp/tmp.UsjHKAH5mt https://git.bryanroessler.com/bryan/installJRMC/raw/master/installJRMC
Debug: Running: set_mc_version
Debug: Running: install_package --silent buildah
Debug: buildah already installed, skipping installation
Debug: buildah rm alpine-working-container
bf32becfcebc2bfc8c26ec52d4750cf1c2be08660f2e5e1d529c8f41c9ae9f07
Using MC version 33.0.20 from the bullseye repo (determined by containerized package manager)
Debug: Running: install_package wget
Debug: wget already installed, skipping installation
Debug: mkdir -p /output/SOURCES
mkdir: cannot create directory ‘/output’: Permission denied
Debug: Running: acquire_deb
Debug: MC_DEB=/output/SOURCES/MediaCenter-33.0.20-amd64.deb
Checking beta/ repo for DEB package
Debug: wget --quiet --output-document /output/SOURCES/MediaCenter-33.0.20-amd64.deb https://files.jriver-cdn.com/mediacenter/channels/v33.0.20/beta//MediaCenter-33.0.20-amd64.deb
/output/SOURCES/MediaCenter-33.0.20-amd64.deb: No such file or directory
Checking latest repo for DEB package
Debug: wget --quiet --output-document /output/SOURCES/MediaCenter-33.0.20-amd64.deb https://files.jriver-cdn.com/mediacenter/channels/v33.0.20/latest/MediaCenter-33.0.20-amd64.deb
/output/SOURCES/MediaCenter-33.0.20-amd64.deb: No such file or directory
Checking test repo for DEB package
Debug: wget --quiet --output-document /output/SOURCES/MediaCenter-33.0.20-amd64.deb https://files.jriver-cdn.com/mediacenter/channels/v33.0.20/test/MediaCenter-33.0.20-amd64.deb
/output/SOURCES/MediaCenter-33.0.20-amd64.deb: No such file or directory
Error: Could not download Media Center DEB package

Thanks, should be fixed now.
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #17 on: October 04, 2024, 12:54:43 pm »

Yep, works fine now, thanks! :)
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #18 on: October 19, 2024, 12:40:19 am »

1.3.5 (10/19/2024)

1. SUSE automatically defaults to --install=local
2. RPMs build properly for <= MC31 that lack the MC stub
3. No MC latest version check is performed when only using --install=repo (faster, relies on package manager to identify latest version)
4. Added --no-update option to disable installJRMC self-updates
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #19 on: November 01, 2024, 11:06:35 am »

An idea, an addition to --mcversion to specific a major version of MC, e.g. --mcversion 32 to install the latest/last version of the specified MC on the system (same could work for MC33, MC31, etc.). This would be useful for installing older MC versions on a system... well, as long as it's not installing too old MC versions which may not work on newer Linux distros due to dependency issues.
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #20 on: November 01, 2024, 01:30:01 pm »

An idea, an addition to --mcversion to specific a major version of MC, e.g. --mcversion 32 to install the latest/last version of the specified MC on the system (same could work for MC33, MC31, etc.). This would be useful for installing older MC versions on a system... well, as long as it's not installing too old MC versions which may not work on newer Linux distros due to dependency issues.

Good idea, only specifying the major version is now implemented in the dev branch, I want to do a little testing on some of the older distros to make sure they don't blow up before releasing it.

Code: [Select]
--mcversion VERSION
    Build or install a specific MC version, ex. "33.0.37" or "33" (default: latest)
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #21 on: November 02, 2024, 05:12:41 pm »

The one-liner command fails in Ubuntu 24.10 (maybe others as well). It was reported here and I can confirm it just fails with no reason given.

Code: [Select]
curl https://git.bryanroessler.com/bryan/installJRMC/raw/master/installJRMC|bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 53666    0 53666    0     0  30273      0 --:--:--  0:00:01 --:--:-- 30268
Starting installJRMC
To enable debugging output, use --debug or -d
Adding universe repository
[sudo] password for michael:
Installing JRiver Media Center from remote repository
Error: Package update failed!
Error: JRiver Media Center installation from remote repository failed

Of course it being a one-liner, I don't think adding -d or --debug actually works there which actually makes me wonder something... why isn't the debug (verbose) not the default and the current behavior not behind a -s or --silent switch? I can understand the benefit on not wanting to see all the output during install, but for most new users it may actually be more beneficial to make -d the default as it's more likely they'll run into issues like this and not know what to do about it. Or at least give more information about why it fails? Just thinking out loud. :)
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #22 on: November 02, 2024, 05:18:27 pm »

Oh, and speaking of Ubuntu 24.10, I totally forgot to mention this when Ubuntu 24.10 was released last month and as-is you'd get an error when running sudo apt update in a Terminal...

Code: [Select]
Error: The repository 'http://dist.jriver.com/latest/mediacenter oracular Release' does not have a Release file.
If you dig a little deeper...

Code: [Select]
Repositories should provide a clear-signed InRelease file, but none found at http://dist.jriver.com/latest/mediacenter/dists/oracular/InRelease.The repository 'http://dist.jriver.com/latest/mediacenter oracular Release' does not have a Release file.
This likely affects installing MC manually from the repo too.

EDIT: Okay, I remember what it is now. You can't use a /etc/apt/sources.list.d/jriver.list file anymore (otherwise it'll fail), you have to use a /etc/apt/sources.list.d/jriver.sources file with the following contents...

Code: [Select]
Types: deb
URIs: http://dist.jriver.com/latest/mediacenter/
Signed-By: /usr/share/keyrings/jriver-com-archive-keyring.gpg
Suites: noble
Components: main

The jriver.list file can't be present at all otherwise it'll cause APT to error out. That's very likely why the one-liner is failing on Ubuntu 24.10, the script will probably have to detect Oracular and newer and if a jriver.list file is present it'll have to remove it before replacing it with a jriver.sources file. I actually encountered this on the day Ubuntu 24.10 was released nearly a month ago. I upgraded to 24.10 and when checking for updates via APT encountered this issue but I figured it out, fixed it and forgot all about it until now (including how to fix it). I also totally forgot to even mention it here on the forums too. Oooof, better late than never I guess. :-\
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #23 on: November 03, 2024, 11:36:39 pm »

1.3.8 (11/4/2024)

1. Can specify major version number only for --mcversion
2. Added new sources file format support for Ubuntu >= 24.10

Oracular (Ubuntu 24.10) will default to using the noble repo by default until an Oracular repo is made available by JRiver. 
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #24 on: Yesterday at 02:59:37 am »

It works fine now for clean installs, however install fails if jriver.list already previously exists, e.g. due to upgrade from an older Ubuntu to Ubuntu 24.10.
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #25 on: Yesterday at 01:55:29 pm »

1.4.0 (11/4/2024)

1. Fixed many long-standing bugs on all platforms
2. Fixed containerized package manager on SUSE
3. Removed obsolete repositories on Ubuntu 24.10
4. Added internal curl support
5. Fixed self-update git pull
6. Added sanity warnings
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72380
  • Where did I put my teeth?
Re: installJRMC - MC installer for Linux
« Reply #26 on: Yesterday at 04:09:52 pm »

Thanks again, Bryan!
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #27 on: Today at 10:12:47 am »

Tested the latest version and it still doesn't remove the existing jriver.list file when adding the jriver.sources file. It's important to check for and remove jriver.list if it exists before adding jriver.sources as having both files present causes this when doing a sudo apt update in the terminal...

Code: [Select]
Warning: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target Translations (main/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target DEP-11 (main/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target DEP-11 (main/dep11/Components-all.yml) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target DEP-11-icons-small (main/dep11/icons-48x48.tar) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target DEP-11-icons (main/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target DEP-11-icons-hidpi (main/dep11/icons-64x64@2.tar) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target Translations (main/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target DEP-11 (main/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target DEP-11 (main/dep11/Components-all.yml) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target DEP-11-icons-small (main/dep11/icons-48x48.tar) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target DEP-11-icons (main/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target DEP-11-icons-hidpi (main/dep11/icons-64x64@2.tar) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Warning: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/jriver.list:1 and /etc/apt/sources.list.d/jriver.sources:1
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: installJRMC - MC installer for Linux
« Reply #28 on: Today at 01:24:26 pm »

Should be fixed now, plus Ubuntu 24.10 now uses the new JRiver oracular repository that Bob just created, instead of noble.
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7776
  • Autumn shade...
Re: installJRMC - MC installer for Linux
« Reply #29 on: Today at 02:43:59 pm »

Yep, works good now, thanks! :)
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones
Pages: [1]   Go Up