Allow RPM croosbuilding
This commit is contained in:
@@ -23,6 +23,8 @@ You can always find the latest supported options by running `installJRMC --help`
|
||||
rpm: Build and install MC locally (RPM-based OSes only)
|
||||
--build
|
||||
Build RPM from source DEB (no installation)
|
||||
--build-suse
|
||||
Override OS detection and build SUSE RPM
|
||||
--mcversion VERSION
|
||||
Build or install a specific MC version, ex. "28.0.25"
|
||||
--outputdir PATH
|
||||
@@ -37,7 +39,10 @@ You can always find the latest supported options by running `installJRMC --help`
|
||||
Install systemd services and containers for user USER (Default: executing user)
|
||||
--container, -c CONTAINER (TODO: Under construction)
|
||||
See CONTAINERS section below for a list of containers to deploy
|
||||
--createrepo
|
||||
Build rpm, copy to webroot, and run createrepo
|
||||
--createrepo-suse
|
||||
Override OS detection and run --createrepo with SUSE RPM
|
||||
--createrepo-webroot PATH
|
||||
The webroot directory to install the repo (Default: /srv/jriver/)
|
||||
--createrepo-user USER
|
||||
|
||||
61
installJRMC
61
installJRMC
@@ -44,6 +44,8 @@ printHelp() {
|
||||
rpm: Build and install RPM locally (RPM-based distros only)
|
||||
--build
|
||||
Build RPM from source DEB (but don't install it)
|
||||
--build-suse
|
||||
Override OS detection and build SUSE RPM
|
||||
--mcversion VERSION
|
||||
Specify the MC version, ex. "28.0.25" (Default: latest version)
|
||||
--outputdir PATH
|
||||
@@ -64,6 +66,8 @@ printHelp() {
|
||||
The webroot directory to install the repo (Default: /var/www/jriver)
|
||||
--createrepo-user USER
|
||||
The web server user (Default: current user)
|
||||
--createrepo-suse
|
||||
Override OS detection and run --createrepo with SUSE RPM
|
||||
--version, -v
|
||||
Print this script version and exit
|
||||
--debug, -d
|
||||
@@ -234,7 +238,7 @@ parseInput() {
|
||||
_install="repo"
|
||||
fi
|
||||
|
||||
if _input=$(getopt -o +i:vdhus:c: -l install:,build,outputdir:,mcversion:,restorefile:,betapass:,service-user:,service:,version,debug,help,uninstall,createrepo,createrepo-webroot:,createrepo-user:,vncpass:,display:,container:,tests -- "$@"); then
|
||||
if _input=$(getopt -o +i:vdhus:c: -l install:,build,build-suse,outputdir:,mcversion:,restorefile:,betapass:,service-user:,service:,version,debug,help,uninstall,createrepo,createrepo-suse,createrepo-webroot:,createrepo-user:,vncpass:,display:,container:,tests -- "$@"); then
|
||||
eval set -- "$_input"
|
||||
while true; do
|
||||
case "$1" in
|
||||
@@ -252,6 +256,10 @@ parseInput() {
|
||||
--build)
|
||||
_build=true
|
||||
;;
|
||||
--build-suse)
|
||||
_build=true
|
||||
_build_suse=true
|
||||
;;
|
||||
--outputdir)
|
||||
shift && _outputdir="$1"
|
||||
;;
|
||||
@@ -274,6 +282,11 @@ parseInput() {
|
||||
_build=true
|
||||
_createrepo=true
|
||||
;;
|
||||
--createrepo-suse)
|
||||
_build=true
|
||||
_build_suse=true
|
||||
_createrepo=true
|
||||
;;
|
||||
--createrepo-webroot)
|
||||
shift && _createrepo_webroot="$1"
|
||||
;;
|
||||
@@ -586,7 +599,7 @@ acquireDeb() {
|
||||
buildRPM() {
|
||||
debug "Running: ${FUNCNAME[0]}"
|
||||
|
||||
local _build_requires _requires _ec
|
||||
local _build_requires _global_requires _custom_requires _ec
|
||||
|
||||
declare -g _mcrpm="$_outputdir/RPMS/x86_64/MediaCenter-$_mcversion.x86_64.rpm"
|
||||
|
||||
@@ -607,10 +620,24 @@ buildRPM() {
|
||||
_build_requires=$'BuildRequires: rpm >= 4.11.0\nBuildRequires: dpkg'
|
||||
fi
|
||||
|
||||
# If you are building on SUSE, I assume you want SUSE RPMs
|
||||
# i.e. cross-building not an option but could be added
|
||||
if [[ "$ID" =~ ^opensuse.*$ ]]; then
|
||||
read -r -d '' _requires <<- 'EOF'
|
||||
read -r -d '' _global_requires <<- 'EOF'
|
||||
Requires: glibc >= 2.28
|
||||
Requires: alsa-lib >= 1.1.8
|
||||
Requires: gtk3 >= 3.24
|
||||
Requires: pango >= 1.42
|
||||
Requires: python3
|
||||
Requires: xdg-utils
|
||||
Requires: fribidi >= 1.0.5
|
||||
Requires: fontconfig >= 2.13
|
||||
Requires: lcms2 >= 2.9
|
||||
Requires: vulkan-headers >= 1.1
|
||||
Requires: ca-certificates
|
||||
Requires: libXScrnSaver
|
||||
EOF
|
||||
|
||||
# SUSE dependency name variations
|
||||
if [[ "$ID" =~ ^opensuse.*$ || -v _build_suse ]]; then
|
||||
read -r -d '' _custom_requires <<- 'EOF'
|
||||
Requires: Mesa-libVulkan-devel
|
||||
Requires: freetype >= 1.3.1
|
||||
Requires: libharfbuzz0 >= 2.3.1
|
||||
@@ -628,9 +655,8 @@ buildRPM() {
|
||||
Requires: mozilla-nspr >= 4.20
|
||||
Requires: mozilla-nss >= 3.42
|
||||
EOF
|
||||
#_requires=$'Requires: Mesa-libVulkan-devel\nRequires: freetype >= 1.3.1\nRequires: libharfbuzz0 >= 2.3.1\nRequires: libX11-6 >= 1.6\nRequires: libX11-data >= 1.6\nRequires: libXdmcp6 >= 1.1\nRequires: libXext6 >= 1.3\nRequires: libepoxy0 >= 1.5.3\nRequires: libgomp1 >= 7.4\nRequires: libstdc++6 >= 7.4\nRequires: libuuid1 >= 2.33\nRequires: libva2 >= 2.4.0\nRequires: libxcb1 >= 1.1\nRequires: libgbm1 >= 18.3.6\nRequires: mozilla-nspr >= 4.20\nRequires: mozilla-nss >= 3.42'
|
||||
else
|
||||
read -r -d '' _requires <<- 'EOF'
|
||||
read -r -d '' _custom_requires <<- 'EOF'
|
||||
Requires: mesa-vulkan-drivers
|
||||
Requires: freetype >= 2.9.1
|
||||
Requires: harfbuzz >= 2.3.1
|
||||
@@ -648,7 +674,6 @@ buildRPM() {
|
||||
Requires: nspr >= 4.20
|
||||
Requires: nss >= 3.42
|
||||
EOF
|
||||
#_requires=$'Requires: mesa-vulkan-drivers\nRequires: freetype >= 2.9.1\nRequires: harfbuzz >= 2.3.1\nRequires: libX11 >= 1.6\nRequires: libX11-common >= 1.6\nRequires: libXdmcp >= 1.1\nRequires: libXext >= 1.3\nRequires: libepoxy >= 1.5.3\nRequires: libgomp >= 7.4\nRequires: libstdc++ >= 7.4\nRequires: libuuid >= 2.33\nRequires: libva >= 2.4.0\nRequires: libxcb >= 1.1\nRequires: mesa-libgbm >= 18.3.6\nRequires: nspr >= 4.20\nRequires: nss >= 3.42'
|
||||
fi
|
||||
|
||||
#debug "Requires: $_requires"
|
||||
@@ -666,26 +691,16 @@ buildRPM() {
|
||||
%define _rpmfilename %%{ARCH}/%%{NAME}-%%{version}.%%{ARCH}.rpm
|
||||
|
||||
AutoReq: 0
|
||||
Requires: glibc >= 2.28
|
||||
Requires: alsa-lib >= 1.1.8
|
||||
Requires: gtk3 >= 3.24
|
||||
Requires: pango >= 1.42
|
||||
Requires: python3
|
||||
Requires: xdg-utils
|
||||
Requires: fribidi >= 1.0.5
|
||||
Requires: fontconfig >= 2.13
|
||||
Requires: lcms2 >= 2.9
|
||||
Requires: vulkan-headers >= 1.1
|
||||
Requires: ca-certificates
|
||||
Requires: libXScrnSaver
|
||||
${_requires:-}
|
||||
|
||||
${_global_requires:-}
|
||||
${_custom_requires:-}
|
||||
|
||||
Recommends: vorbis-tools >= 1.4.0
|
||||
Recommends: lame >= 3.0
|
||||
|
||||
Provides: mediacenter$_mversion
|
||||
|
||||
License: Copyright 1998-2021, JRiver, Inc. All rights reserved. Protected by U.S. patents #7076468 and #7062468
|
||||
License: Copyright 1998-2022, JRiver, Inc. All rights reserved. Protected by U.S. patents #7076468 and #7062468
|
||||
URL: http://www.jriver.com/
|
||||
|
||||
%define __provides_exclude_from ^%{_libdir}/jriver/.*/.*\\.so.*$
|
||||
|
||||
Reference in New Issue
Block a user