Add install scripts for local development (#616)

pull/592/merge
Uwe Jugel 1 year ago committed by GitHub
parent 2cb463269f
commit 6130ef79df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Modifies (or cleans) local bin/* files to point to the local development
# modules by injecting a corresponding `sys.path`.
case "$1" in
inject)
inject_path="${2:-$PWD}"
echo "inject import path '$inject_path' in bin file sources"
sed -i "s#^import sys\$#import sys; sys.path.append(\"$PWD\")#" bin/input-remapper*
;;
clean)
echo "remove extra import path in bin file sources"
sed -i "s#^import sys; sys\\.path\\.append.*#import sys#" bin/input-remapper*
;;
*) echo "usage inject|clean [PATH]"; exit 1;;
esac
echo "injection result:"
grep --color -E 'import sys$|import sys;.*' bin/*
echo "injection finished"

@ -0,0 +1,31 @@
#!/usr/bin/env bash
# Allows to install the app and services so that they use the local development
# modules. Includes support for modules installed in the USER's virtual env.
if test -n "$VIRTUAL_ENV"; then
echo "running in virtual env '$VIRTUAL_ENV'"
site_packages="$(find "$VIRTUAL_ENV" -name site-packages)"
echo "temporarily ingesting site-packages path '$site_packages' into binaries"
scripts/inject-path.sh inject "$site_packages"
fi
echo "stopping service"
sudo systemctl stop input-remapper.service
sudo systemctl disable input-remapper.service
echo "installing local package"
sudo pip install -q .
if test -n "$VIRTUAL_ENV"; then
echo "removing temporary site-packages path from binaries"
scripts/inject-path.sh clean
fi
echo "updating applications database"
sudo update-desktop-database /usr/share/applications
echo "starting service"
sudo systemctl enable input-remapper.service
sudo systemctl start input-remapper.service
input-remapper-control --command autoload
sudo systemctl status input-remapper.service | cat

@ -0,0 +1,40 @@
#!/usr/bin/env bash
echo "disabling service"
sudo systemctl stop input-remapper.service 2> /dev/null
sudo systemctl disable input-remapper.service 2> /dev/null
echo "uninstalling package"
pip uninstall -q -y input-remapper 2> /dev/null
sudo pip uninstall -q -y input-remapper 2> /dev/null
echo "cleaning up binaries"
sudo rm -rf /usr/bin/input-remapper-gtk
sudo rm -rf /usr/bin/input-remapper-service
sudo rm -rf /usr/bin/input-remapper-reader-service
sudo rm -rf /usr/bin/input-remapper-control
echo "cleaning up share"
sudo rm -rf /usr/share/input-remapper
sudo rm -rf /usr/share/applications/input-remapper-gtk.desktop
sudo rm -rf /usr/lib/systemd/system/input-remapper.service
echo "cleaning up config and startup files"
sudo rm -rf /etc/dbus-1/system.d/inputremapper.Control.conf
sudo rm -rf /etc/xdg/autostart/input-remapper-autoload.desktop
sudo rm -rf /usr/lib/udev/rules.d/99-input-remapper.rules
echo "checking for remaining files"
files="$((
find /usr -name 'input*remapper'
find /etc -name 'input*remapper'
find $HOME/.local -name 'input*remapper'
) 2> /dev/null)"
if test -n "$files"; then
echo -e "files remaining:\n$files"
echo "uninstall incomplete"
exit 1
fi
echo "uninstall finished"
Loading…
Cancel
Save