WineBarrels-Wine/list.sh

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"