63 lines
1.4 KiB
Bash
63 lines
1.4 KiB
Bash
#! /usr/bin/env bash
|
|
|
|
# Check user
|
|
USE_SUDO=()
|
|
if [ "`whoami`" = "root" ]
|
|
then
|
|
if [ -z "$SUDO_USER" ]
|
|
then
|
|
(>&2 echo Run as root. SUDO_USER not set.)
|
|
exit 1
|
|
fi
|
|
(>&2 echo Run processes as "$SUDO_USER.")
|
|
USE_SUDO=( sudo "-u" "$SUDO_USER" "-H" )
|
|
fi
|
|
|
|
# Get config an command
|
|
CONFIG_DIR="`dirname \"$0\"`"
|
|
if [ "$#" = 0 ]
|
|
then
|
|
COMMAND=(echo)
|
|
else
|
|
COMMAND=$@
|
|
fi
|
|
|
|
function run_command {
|
|
tmp="${USE_SUDO[*]} " &&
|
|
tmp+=$@ &&
|
|
$tmp
|
|
}
|
|
|
|
function list_required {
|
|
"$CONFIG_DIR/$1/list.sh" | while read -r i
|
|
do
|
|
# Load data
|
|
i="`echo \"\$i\" | sed 's/ /\n/g'`" &&
|
|
ARCH="`echo \"$i\" | sed -n '1p'`" &&
|
|
VERSION="`echo \"$i\" | sed -n '2p'`" &&
|
|
|
|
# Install depends
|
|
"$CONFIG_DIR/$1/gen_script.sh" "$ARCH" "$VERSION" tmp.yaml &&
|
|
j=$(run_command "$CONFIG_DIR/hash_modules.py" --depends tmp.yaml "$ARCH")
|
|
echo "$j" | while read -r k
|
|
do
|
|
(run_command flatpak install -y --user winebarrels "$k" > /dev/null 2> /dev/null)
|
|
done
|
|
|
|
# Check version
|
|
j=$(run_command "$CONFIG_DIR/hash_modules.py" tmp.yaml "$ARCH") &&
|
|
CURRENT_VERS="`echo \"\$j\" | sed -n '1p'`" &&
|
|
WINE_VERS="`echo \"\$j\" | sed -n '2p'`" &&
|
|
WINE_SDK_VERS="`echo \"\$j\" | sed -n '3p'`"
|
|
if [ "$CURRENT_VERS" != "$WINE_VERS" ]
|
|
then
|
|
$COMMAND "$1" "$ARCH" "$VERSION"
|
|
elif [ "$CURRENT_VERS" != "$WINE_SDK_VERS" ]
|
|
then
|
|
$COMMAND "$1" "$ARCH" "$VERSION"
|
|
fi
|
|
done
|
|
}
|
|
|
|
list_required "Platform-v1.0"
|