117 lines
2.7 KiB
Bash
Executable File
117 lines
2.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
PREFIX="/usr/local"
|
|
LIBDIR="${PREFIX}/lib/yms"
|
|
SHAREDIR="${PREFIX}/share/yms"
|
|
BINDIR="${PREFIX}/bin"
|
|
DESKTOPDIR="${PREFIX}/share/applications"
|
|
ICONDIR="${PREFIX}/share/icons/hicolor"
|
|
DOCDIR="${PREFIX}/share/doc/yms"
|
|
LOCALEDIR="${PREFIX}/share/locale"
|
|
|
|
SOURCEDIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
|
|
if [ "$1" = "uninstall" ]; then
|
|
echo "Uninstalling YMS..."
|
|
|
|
rm -rf "${LIBDIR}"
|
|
rm -rf "${SHAREDIR}"
|
|
rm -f "${BINDIR}/yms"
|
|
rm -f "${DESKTOPDIR}/yms.desktop"
|
|
rm -rf "${DOCDIR}"
|
|
rm -f "${LOCALEDIR}/de/LC_MESSAGES/ymsgui.mo"
|
|
|
|
rm -f "${ICONDIR}/scalable/apps/yms.svg"
|
|
rm -f "${ICONDIR}/48x48/apps/yms.png"
|
|
rm -f "${ICONDIR}/64x64/apps/yms.png"
|
|
|
|
echo "YMS has been uninstalled successfully."
|
|
exit 0
|
|
fi
|
|
|
|
echo "Installing YMS..."
|
|
echo "Source: ${SOURCEDIR}"
|
|
echo "Prefix: ${PREFIX}"
|
|
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
echo "Error: this script must be run as root."
|
|
echo "Please use:"
|
|
echo " sudo $0"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Installing Python application..."
|
|
install -d "${LIBDIR}"
|
|
|
|
# Main program
|
|
install -m 0644 \
|
|
"${SOURCEDIR}/ymsgui.py" \
|
|
"${LIBDIR}/ymsgui.py"
|
|
|
|
# Python package
|
|
cp -a "${SOURCEDIR}/yms/." "${LIBDIR}/yms/"
|
|
|
|
# The UI is installed separately below
|
|
rm -rf "${LIBDIR}/yms/ui"
|
|
|
|
# Static resources
|
|
install -d "${SHAREDIR}"
|
|
install -d "${SHAREDIR}/ui"
|
|
install -m 0644 \
|
|
"${SOURCEDIR}/yms/ui/main.ui" \
|
|
"${SHAREDIR}/ui/main.ui"
|
|
cp -a \
|
|
"${SOURCEDIR}/shapes/." \
|
|
"${SHAREDIR}/shapes/"
|
|
|
|
# Documentation
|
|
echo "Installing documentation..."
|
|
install -d "${DOCDIR}"
|
|
install -m 0644 \
|
|
"${SOURCEDIR}/README" \
|
|
"${DOCDIR}/README"
|
|
install -m 0644 \
|
|
"${SOURCEDIR}/INSTALL" \
|
|
"${DOCDIR}/INSTALL"
|
|
install -m 0644 \
|
|
"${SOURCEDIR}/COPYING" \
|
|
"${DOCDIR}/COPYING"
|
|
|
|
echo "Installing translations..."
|
|
make translation
|
|
install -d "${LOCALEDIR}/de/LC_MESSAGES"
|
|
install -m 0644 \
|
|
"${SOURCEDIR}/locale/de/LC_MESSAGES/ymsgui.mo" \
|
|
"${LOCALEDIR}/de/LC_MESSAGES/ymsgui.mo"
|
|
|
|
echo "Installing application icons..."
|
|
install -d "${ICONDIR}/scalable/apps"
|
|
install -d "${ICONDIR}/48x48/apps"
|
|
install -d "${ICONDIR}/64x64/apps"
|
|
install -m 0644 \
|
|
"${SOURCEDIR}/icons/yms.svg" \
|
|
"${ICONDIR}/scalable/apps/yms.svg"
|
|
install -m 0644 \
|
|
"${SOURCEDIR}/icons/yms48.png" \
|
|
"${ICONDIR}/48x48/apps/yms.png"
|
|
install -m 0644 \
|
|
"${SOURCEDIR}/icons/yms64.png" \
|
|
"${ICONDIR}/64x64/apps/yms.png"
|
|
|
|
echo "Installing launcher..."
|
|
cat > "${BINDIR}/yms" <<EOF
|
|
#!/bin/sh
|
|
exec /usr/bin/python3 ${LIBDIR}/ymsgui.py "\$@"
|
|
EOF
|
|
chmod 0755 "${BINDIR}/yms"
|
|
|
|
echo "Installing desktop entry..."
|
|
install -d "${DESKTOPDIR}"
|
|
install -m 0644 \
|
|
"${SOURCEDIR}/yms.desktop" \
|
|
"${DESKTOPDIR}/yms.desktop"
|
|
|
|
# TODO webgui? or separately?
|
|
|
|
echo "YMS has been installed successfully."
|