Merge pull request #287 from ChuckPa/chuckpa/MacOS-application-dir

v1.16.00

MacOS - Add support for either /Applications or $HOME/Applications package locations
This commit is contained in:
Chuck
2026-06-23 15:50:40 -04:00
committed by GitHub
3 changed files with 45 additions and 26 deletions
+37 -26
View File
@@ -701,38 +701,49 @@ HostConfig() {
HostType="ASUSTOR" HostType="ASUSTOR"
return 0 return 0
# Apple Mac # Apple Mac
elif [ -d "/Applications/Plex Media Server.app" ] && \ elif [ "$(uname)" = "Darwin" ] && [ -d "$HOME/Library/Application Support/Plex Media Server" ]; then
[ -d "$HOME/Library/Application Support/Plex Media Server" ]; then
# Where is the software # Determine where the application bundle is installed
PLEX_SQLITE="/Applications/Plex Media Server.app/Contents/MacOS/Plex SQLite" if [ -d "/Applications/Plex Media Server.app" ]; then
AppSuppDir="$HOME/Library/Application Support" PkgDir="/Applications/Plex Media Server.app"
DBDIR="$AppSuppDir/Plex Media Server/Plug-in Support/Databases" elif [ -d "$HOME/Applications/Plex Media Server.app" ]; then
CACHEDIR="$HOME/Library/Caches/PlexMediaServer/PhotoTranscoder" PkgDir="$HOME/Applications/Plex Media Server.app"
LOGFILE="$DBDIR/DBRepair.log" else
LOG_TOOL="logger" # It is a Mac, but the .app bundle cannot be found
TMPDIR="/tmp" PkgDir=""
SYSTMP="$TMPDIR" fi
# MacOS uses pgrep and uses different stat options # Only proceed if we successfully located PkgDir
PIDOF="pgrep" if [ -n "$PkgDir" ]; then
STATFMT="-f" # Where is the software
STATBYTES="%z" PLEX_SQLITE="${PkgDir}/Contents/MacOS/Plex SQLite"
STATPERMS="%A" AppSuppDir="$HOME/Library/Application Support"
DBDIR="$AppSuppDir/Plex Media Server/Plug-in Support/Databases"
CACHEDIR="$HOME/Library/Caches/PlexMediaServer/PhotoTranscoder"
LOGFILE="$DBDIR/DBRepair.log"
LOG_TOOL="logger"
TMPDIR="/tmp"
SYSTMP="$TMPDIR"
# Root not required on MacOS. PMS runs as username. # MacOS uses pgrep and uses different stat options
RootRequired=0 PIDOF="pgrep"
STATFMT="-f"
STATBYTES="%z"
STATPERMS="%A"
# You can set haptic to 0 for silence. # Root not required on MacOS. PMS runs as username.
HaveStartStop=1 RootRequired=0
StartCommand=startMacPMS
StopCommand=stopMacPMS
HapticOkay=1
HostType="Mac" # You can set haptic to 0 for silence.
return 0 HaveStartStop=1
StartCommand=startMacPMS
StopCommand=stopMacPMS
HapticOkay=1
HostType="Mac"
return 0
fi
# FreeBSD 14+ # FreeBSD 14+
elif [ -e /etc/os-release ] && [ "$(cat /etc/os-release | grep FreeBSD)" != "" ]; then elif [ -e /etc/os-release ] && [ "$(cat /etc/os-release | grep FreeBSD)" != "" ]; then
+1
View File
@@ -6,6 +6,7 @@
[![Download total](https://img.shields.io/github/downloads/ChuckPa/DBRepair/total.svg)](https://github.com/ChuckPa/DBRepair/releases) [![Download total](https://img.shields.io/github/downloads/ChuckPa/DBRepair/total.svg)](https://github.com/ChuckPa/DBRepair/releases)
[![master](https://img.shields.io/badge/master-stable-green.svg?maxAge=2592000)]('') [![master](https://img.shields.io/badge/master-stable-green.svg?maxAge=2592000)]('')
![Maintenance](https://img.shields.io/badge/Maintained-Yes-green.svg) ![Maintenance](https://img.shields.io/badge/Maintained-Yes-green.svg)
[![Sponsor ChuckPa](https://img.shields.io/badge/Sponsor-%E2%9D%A4-ea4aaa.svg?style=flat&logo=github)](https://github.com/sponsors/ChuckPa)
DBRepair is run from a command line (terminal or ssh/putty session) which has sufficient privilege to read/write the databases (minimum). DBRepair is run from a command line (terminal or ssh/putty session) which has sufficient privilege to read/write the databases (minimum).
+7
View File
@@ -7,7 +7,14 @@
[![master](https://img.shields.io/badge/master-stable-green.svg?maxAge=2592000)]('') [![master](https://img.shields.io/badge/master-stable-green.svg?maxAge=2592000)]('')
![Maintenance](https://img.shields.io/badge/Maintained-Yes-green.svg) ![Maintenance](https://img.shields.io/badge/Maintained-Yes-green.svg)
# Release Info: # Release Info:
v1.16.00
1. MacOS App Dir - Older MacOS systems use /Applications. Newer MacOS systems use $HOME/Applications.
DBRepair now detects this and supports both locations.
v1.15.00 v1.15.00
1. DSM 6 Start/Stop - Change how DSM 6 start/stop feature implemented 1. DSM 6 Start/Stop - Change how DSM 6 start/stop feature implemented