Compare commits
6 Commits
d202c2b747
...
662c55d0d0
| Author | SHA1 | Date | |
|---|---|---|---|
| 662c55d0d0 | |||
| 471b432b82 | |||
| abfb0472e8 | |||
| c7a53ac202 | |||
| 852324f350 | |||
| d9f270adc1 |
216
installJRMC
216
installJRMC
@@ -20,7 +20,7 @@
|
||||
|
||||
shopt -s extglob
|
||||
|
||||
_scriptversion="1.0b4"
|
||||
_scriptversion="1.0b5"
|
||||
_outputdir="$PWD/output"
|
||||
_createrepo_webroot="/var/www/jriver"
|
||||
_exec_user="$(whoami)"
|
||||
@@ -173,7 +173,7 @@ init() {
|
||||
[[ ! "$_mcversion" =~ ([0-9]+.[0-9]+.[0-9]+) ]] && err "Invalid version number" && exit 1
|
||||
|
||||
echo "Using MC version $_mcversion determined by $_version_source"
|
||||
echo "To override, use --mcversion"
|
||||
[[ "$_version_source" != "user input" ]] && echo "To override, use --mcversion"
|
||||
|
||||
# Extract major version number
|
||||
_mversion="${_mcversion%%.*}"
|
||||
@@ -353,34 +353,34 @@ getLatestVersion() {
|
||||
# This can be overriden w/ --mcversion
|
||||
# TODO need user input here
|
||||
# disable version checks for createrepo or rpmbuild (servers)
|
||||
if [[ -v _install ]]; then
|
||||
if [[ "$ID" == "ubuntu" ]]; then
|
||||
# [[ "$VERSION_CODENAME" =~ ^(focal|groovy|hirsute|impish)$ ]] && \
|
||||
# _base="bullseye"
|
||||
[[ "$VERSION_CODENAME" =~ ^(cosmic|disco|eoan)$ ]] && \
|
||||
_base="buster"
|
||||
[[ "$VERSION_CODENAME" =~ ^(xenial|yakkety|zesty|artful|bionic)$ ]] && \
|
||||
_mcversion="26.0.107"
|
||||
[[ "$VERSION_CODENAME" =~ ^(trusty|utopic|vivid|wily)$ ]] && \
|
||||
_mcversion="26.0.107"
|
||||
elif [[ "$ID" == "debian" ]]; then
|
||||
_base="$VERSION_CODENAME"
|
||||
[[ $VERSION_ID -eq 10 ]] && \
|
||||
_base="buster"
|
||||
[[ $VERSION_ID -le 9 ]] && \
|
||||
_mcversion="26.0.107" # For 9 and 8
|
||||
elif [[ "$ID" == "centos" ]]; then
|
||||
[[ "$VERSION_ID" -eq "8" ]] && \
|
||||
_base="buster"
|
||||
[[ "$VERSION_ID" -lt "8" ]] && \
|
||||
_mcversion="26.0.107" # Doubtful
|
||||
fi
|
||||
# if [[ -v _install ]]; then
|
||||
# if [[ "$ID" == "ubuntu" ]]; then
|
||||
# # [[ "$VERSION_CODENAME" =~ ^(focal|groovy|hirsute|impish)$ ]] && \
|
||||
# # _base="bullseye"
|
||||
# [[ "$VERSION_CODENAME" =~ ^(cosmic|disco|eoan)$ ]] && \
|
||||
# _base="buster"
|
||||
# [[ "$VERSION_CODENAME" =~ ^(xenial|yakkety|zesty|artful|bionic)$ ]] && \
|
||||
# _mcversion="26.0.107"
|
||||
# [[ "$VERSION_CODENAME" =~ ^(trusty|utopic|vivid|wily)$ ]] && \
|
||||
# _mcversion="26.0.107"
|
||||
# elif [[ "$ID" == "debian" ]]; then
|
||||
# _base="$VERSION_CODENAME"
|
||||
# [[ $VERSION_ID -eq 10 ]] && \
|
||||
# _base="buster"
|
||||
# [[ $VERSION_ID -le 9 ]] && \
|
||||
# _mcversion="26.0.107" # For 9 and 8
|
||||
# elif [[ "$ID" == "centos" ]]; then
|
||||
# [[ "$VERSION_ID" -eq "8" ]] && \
|
||||
# _base="buster"
|
||||
# [[ "$VERSION_ID" -lt "8" ]] && \
|
||||
# _mcversion="26.0.107" # Doubtful
|
||||
# fi
|
||||
|
||||
[[ -v _mcversion ]] && \
|
||||
_version_source="compatibility lookup" && \
|
||||
debug "To override, use --mcversion" && \
|
||||
return 0
|
||||
fi
|
||||
# [[ -v _mcversion ]] && \
|
||||
# _version_source="compatibility lookup" && \
|
||||
# debug "To override, use --mcversion" && \
|
||||
# return 0
|
||||
# fi
|
||||
|
||||
# Use a containerized package manager
|
||||
# TODO but how to determine build distro ($_base=buster)?
|
||||
@@ -390,12 +390,16 @@ getLatestVersion() {
|
||||
"echo 'deb [trusted=yes arch=amd64,i386,armhf,arm64] http://dist.jriver.com/latest/mediacenter/ $_base main' > /etc/apt/sources.list 2>&1"
|
||||
buildah run "$CNT" -- bash -c \
|
||||
"apt-get update --allow-insecure-repositories -y > /dev/null 2>&1"
|
||||
if _mcversion=$(buildah run "$CNT" -- apt-cache policy mediacenter?? | grep Candidate | awk '{print $2}' | sort -V | tail -n1); then
|
||||
if _mcversion=$(buildah run "$CNT" -- apt-cache policy mediacenter?? | grep Candidate | awk '{print $2}' | sort -V | tail -n1) \
|
||||
&& [[ "$_mcversion" =~ ([0-9]+.[0-9]+.[0-9]+) ]]; then
|
||||
_version_source="containerized package manager"
|
||||
buildah rm "$CNT" > /dev/null 2>&1
|
||||
return 0
|
||||
fi
|
||||
buildah rm "$CNT" > /dev/null 2>&1
|
||||
# Else scrape from Interact
|
||||
elif _mcversion=$(wget -qO- "$_boardurl" | grep -o "[0-9][0-9]\.[0-9]\.[0-9]\+" | head -n 1); then
|
||||
fi
|
||||
# Scrape from Interact
|
||||
if _mcversion=$(wget -qO- "$_boardurl" | grep -o "[0-9][0-9]\.[0-9]\.[0-9]\+" | head -n 1); then
|
||||
_version_source="webscrape"
|
||||
fi
|
||||
|
||||
@@ -1187,98 +1191,98 @@ service_jriver-createrepo() {
|
||||
# }
|
||||
|
||||
|
||||
container_jriver-mediacenter() {
|
||||
# container_jriver-mediacenter() {
|
||||
|
||||
installPackage buildah podman
|
||||
# installPackage buildah podman
|
||||
|
||||
# Eventually try to switch to Debian
|
||||
# if ! CNT=$(buildah from debian:$_base); then
|
||||
# echo "Bad base image for container $CNAME, skipping"
|
||||
# continue
|
||||
# fi
|
||||
# # Eventually try to switch to Debian
|
||||
# # if ! CNT=$(buildah from debian:$_base); then
|
||||
# # echo "Bad base image for container $CNAME, skipping"
|
||||
# # continue
|
||||
# # fi
|
||||
|
||||
if ! CNT=$(buildah from jlesage/baseimage-gui:debian-10-v3.5.7); then
|
||||
echo "Bad base image for container $CNAME, skipping"
|
||||
continue
|
||||
fi
|
||||
# if ! CNT=$(buildah from jlesage/baseimage-gui:debian-10-v3.5.7); then
|
||||
# echo "Bad base image for container $CNAME, skipping"
|
||||
# continue
|
||||
# fi
|
||||
|
||||
buildah run "$CNT" add-pkg gnupg2 libxss1 wmctrl xdotool ca-certificates inotify-tools libgbm1 ffmpeg
|
||||
# buildah run "$CNT" add-pkg gnupg2 libxss1 wmctrl xdotool ca-certificates inotify-tools libgbm1 ffmpeg
|
||||
|
||||
|
||||
# #BASEIMAGE=jlesage/baseimage-gui:debian-10-v3.5.7
|
||||
# JRIVER_RELEASE=28
|
||||
# JRIVER_TAG=stable
|
||||
# ARCH=amd64
|
||||
# REBUILD_MIN=22
|
||||
# REBUILD_MAX=120
|
||||
# # #BASEIMAGE=jlesage/baseimage-gui:debian-10-v3.5.7
|
||||
# # JRIVER_RELEASE=28
|
||||
# # JRIVER_TAG=stable
|
||||
# # ARCH=amd64
|
||||
# # REBUILD_MIN=22
|
||||
# # REBUILD_MAX=120
|
||||
|
||||
# # JRiver Version tag (latest, stable or beta)
|
||||
# ARG jriver_tag
|
||||
# # # JRiver Version tag (latest, stable or beta)
|
||||
# # ARG jriver_tag
|
||||
|
||||
# # JRiver Release Version (25, 26 etc.)
|
||||
# ARG jriver_release
|
||||
# # # JRiver Release Version (25, 26 etc.)
|
||||
# # ARG jriver_release
|
||||
|
||||
# # Image Version of the build
|
||||
# ARG image_version
|
||||
# # # Image Version of the build
|
||||
# # ARG image_version
|
||||
|
||||
# # .deb download URL, if set to "repository" the JRiver repository will be used
|
||||
# ARG deb_url
|
||||
# # # .deb download URL, if set to "repository" the JRiver repository will be used
|
||||
# # ARG deb_url
|
||||
|
||||
# RUN add-pkg gnupg2 libxss1 wmctrl xdotool ca-certificates inotify-tools libgbm1 ffmpeg
|
||||
# # RUN add-pkg gnupg2 libxss1 wmctrl xdotool ca-certificates inotify-tools libgbm1 ffmpeg
|
||||
|
||||
# Install JRiver
|
||||
RUN \
|
||||
add-pkg --virtual build-dependencies wget && \
|
||||
# Install from Repository
|
||||
if [ "${deb_url}" = "repository" ]; then \
|
||||
echo "Installing JRiver from repository ${jriver_release}:${jriver_tag}" && \
|
||||
wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -O- | apt-key add - && \
|
||||
wget http://dist.jriver.com/${jriver_tag}/mediacenter/mediacenter${jriver_release}.list -O /etc/apt/sources.list.d/mediacenter${jriver_release}.list && \
|
||||
apt-get update && \
|
||||
add-pkg mediacenter${jriver_release}; \
|
||||
# Install from .deb URL
|
||||
else \
|
||||
echo "Installing JRiver from URL: ${deb_url}" && \
|
||||
wget -q -O "jrivermc.deb" ${deb_url} && \
|
||||
add-pkg "./jrivermc.deb"; \
|
||||
fi && \
|
||||
# Cleanup
|
||||
del-pkg build-dependencies && \
|
||||
rm -rf /tmp/* /tmp/.[!.]*
|
||||
# # Install JRiver
|
||||
# RUN \
|
||||
# add-pkg --virtual build-dependencies wget && \
|
||||
# # Install from Repository
|
||||
# if [ "${deb_url}" = "repository" ]; then \
|
||||
# echo "Installing JRiver from repository ${jriver_release}:${jriver_tag}" && \
|
||||
# wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -O- | apt-key add - && \
|
||||
# wget http://dist.jriver.com/${jriver_tag}/mediacenter/mediacenter${jriver_release}.list -O /etc/apt/sources.list.d/mediacenter${jriver_release}.list && \
|
||||
# apt-get update && \
|
||||
# add-pkg mediacenter${jriver_release}; \
|
||||
# # Install from .deb URL
|
||||
# else \
|
||||
# echo "Installing JRiver from URL: ${deb_url}" && \
|
||||
# wget -q -O "jrivermc.deb" ${deb_url} && \
|
||||
# add-pkg "./jrivermc.deb"; \
|
||||
# fi && \
|
||||
# # Cleanup
|
||||
# del-pkg build-dependencies && \
|
||||
# rm -rf /tmp/* /tmp/.[!.]*
|
||||
|
||||
# Add rootfs
|
||||
COPY rootfs/ /
|
||||
# # Add rootfs
|
||||
# COPY rootfs/ /
|
||||
|
||||
VOLUME ["/config"]
|
||||
# VOLUME ["/config"]
|
||||
|
||||
# Application Icon
|
||||
RUN \
|
||||
APP_ICON_URL=https://gitlab.com/shiomax/jrivermc-docker/raw/master/assets/Application.png && \
|
||||
install_app_icon.sh "$APP_ICON_URL"
|
||||
# # Application Icon
|
||||
# RUN \
|
||||
# APP_ICON_URL=https://gitlab.com/shiomax/jrivermc-docker/raw/master/assets/Application.png && \
|
||||
# install_app_icon.sh "$APP_ICON_URL"
|
||||
|
||||
# Various configuration vars
|
||||
ENV KEEP_APP_RUNNING=1 \
|
||||
DISPLAY_WIDTH=1280 \
|
||||
DISPLAY_HEIGHT=768 \
|
||||
APP_NAME="JRiver MediaCenter ${jriver_release}" \
|
||||
MAXIMIZE_POPUPS=0 \
|
||||
S6_KILL_GRACETIME=8000
|
||||
# # Various configuration vars
|
||||
# ENV KEEP_APP_RUNNING=1 \
|
||||
# DISPLAY_WIDTH=1280 \
|
||||
# DISPLAY_HEIGHT=768 \
|
||||
# APP_NAME="JRiver MediaCenter ${jriver_release}" \
|
||||
# MAXIMIZE_POPUPS=0 \
|
||||
# S6_KILL_GRACETIME=8000
|
||||
|
||||
# Modify startapp.sh and rc.xml with JRiver version
|
||||
RUN sed-patch s/%%MC_VERSION%%/${jriver_release}/g \
|
||||
/startapp.sh && \
|
||||
sed-patch s/%%MC_VERSION%%/${jriver_release}/g \
|
||||
/etc/xdg/openbox/rc.xml
|
||||
# # Modify startapp.sh and rc.xml with JRiver version
|
||||
# RUN sed-patch s/%%MC_VERSION%%/${jriver_release}/g \
|
||||
# /startapp.sh && \
|
||||
# sed-patch s/%%MC_VERSION%%/${jriver_release}/g \
|
||||
# /etc/xdg/openbox/rc.xml
|
||||
|
||||
EXPOSE 5800 5900 52100 52101 52199 1900/udp
|
||||
# EXPOSE 5800 5900 52100 52101 52199 1900/udp
|
||||
|
||||
# Metadata.
|
||||
LABEL \
|
||||
org.label-schema.name="jrivermc${jriver_release}" \
|
||||
org.label-schema.description="Docker image for JRiver Media Center ${jriver_release}." \
|
||||
org.label-schema.version="${image_version}" \
|
||||
org.label-schema.vcs-url="https://gitlab.com/shiomax/jrivermc-docker" \
|
||||
org.label-schema.schema-version="1.0"
|
||||
# # Metadata.
|
||||
# LABEL \
|
||||
# org.label-schema.name="jrivermc${jriver_release}" \
|
||||
# org.label-schema.description="Docker image for JRiver Media Center ${jriver_release}." \
|
||||
# org.label-schema.version="${image_version}" \
|
||||
# org.label-schema.vcs-url="https://gitlab.com/shiomax/jrivermc-docker" \
|
||||
# org.label-schema.schema-version="1.0"
|
||||
|
||||
# installPackage buildah podman
|
||||
# cnt=$(buildah from docker.io/jlesage/baseimage-gui:debian-10)
|
||||
@@ -1464,7 +1468,7 @@ main() {
|
||||
|
||||
# Install RPM
|
||||
if [[ -v _install && "$_install" == "rpm" ]]; then
|
||||
if installPackage --nocheck --nogpgcheck "$_mcrpm"; then
|
||||
if installPackage --nocheck --nogpgcheck --skip-broken "$_mcrpm"; then
|
||||
echo "JRiver Media Center installed successfully"
|
||||
else
|
||||
err "JRiver Media Center installation failed"
|
||||
|
||||
Reference in New Issue
Block a user