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