Add install scripts for local development (#616)
parent
2cb463269f
commit
6130ef79df
@ -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…
Reference in New Issue