spiegel-keyman/mac/installer/scripts/postinstall
Shawn Schantz b8a93e521b feat(mac): progress toward installer creation
input method installer created but still need to add
Keyman Configuration app to the installer and notarize it
2026-03-19 14:43:08 -04:00

35 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env bash
echo "executed postinstall"
# Get the actual user currently logged into the console
# This works even if the installer is run with sudo or as root
CONSOLE_USER=$(stat -f "%Su" /dev/console)
echo "console user is: $CONSOLE_USER"
# Get the home directory of the console user
USER_HOME=$(eval echo "~$CONSOLE_USER")
echo "user home directory is: $USER_HOME"
# Define the source file path within the package payload
# $3 is the target volume mount point, e.g., "/"
SOURCE_FILE="$3/tmp/Keyman.app"
# Define the path to the Input Methods directory in the user's Library
DEST_DIR="$USER_HOME/Library/Input Methods"
echo "destination directory is: $DEST_DIR"
# Create the /Library/Input Methods directory if it doesn't exist
if [ ! -d "$DEST_DIR" ]; then
mkdir -p "$DEST_DIR"
# Set the user as owner of the Input Methods directory
chown "$CONSOLE_USER":staff "$DEST_DIR"
fi
# Copy the input method to the destination directory
cp -r "$SOURCE_FILE" "$DEST_DIR/"
# Set the user as owner
chown "$CONSOLE_USER":staff "$DEST_DIR/Keyman.app"
exit 0