From e43548b7fd9d8672a702fdf85994cd05823b1d4b Mon Sep 17 00:00:00 2001 From: Thomas Hooge Date: Mon, 17 Aug 2026 15:33:18 +0200 Subject: [PATCH] Prepared native gui installer --- Makefile | 5 ++- install.sh | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ yms.sh | 3 -- 3 files changed, 98 insertions(+), 4 deletions(-) create mode 100755 install.sh delete mode 100755 yms.sh diff --git a/Makefile b/Makefile index 3536e40..66b1281 100644 --- a/Makefile +++ b/Makefile @@ -6,5 +6,8 @@ prepare: ymsgui.py yms/*.py yms/ui/*.ui msgcat -o locale/combined.pot locale/program.pot locale/ui.pot msgmerge -U locale/de.po locale/combined.pot -translation: locale/de.po +translation: locale/de/LC_MESSAGES/ymsgui.mo + +locale/de/LC_MESSAGES/ymsgui.mo: locale/de.po + mkdir -p locale/de/LC_MESSAGES msgfmt locale/de.po -o locale/de/LC_MESSAGES/ymsgui.mo diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..1d207bd --- /dev/null +++ b/install.sh @@ -0,0 +1,94 @@ +#!/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" +LOCALEDIR="${PREFIX}/share/locale" + +SOURCEDIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) + +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..." + +# 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 -m 0644 \ + "${SOURCEDIR}/yms/ui/main.ui" \ + "${SHAREDIR}/ui/main.ui" +cp -a \ + "${SOURCEDIR}/webgui/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}/yms.svg" \ + "${ICONDIR}/yms.svg" +install -m 0644 \ + "${SOURCEDIR}/yms-48.png" \ + "${ICONDIR}/48x48/apps/yms.png" +install -m 0644 \ + "${SOURCEDIR}/yms-64.png" \ + "${ICONDIR}/64x64/apps/yms.png" + +echo "Installing launcher..." +cat > "${BINDIR}/yms" <