Skip to content

Commit 69b4fe5

Browse files
authored
Fix virtualenv command to use correct python executable path and changed systemd service under ~/.config (#256)
* Fix virtualenv command to use correct python executable path The virtualenv --python argument was incorrectly using PYTHON_VERSION (e.g., '3.10') instead of the PYTHON executable path. This caused venv creation to fail on systems where the version string is not a valid command, leading to service startup errors. * Address review comments: standardize SERVICE_INSTALL_DIR_PATH and optimize PYTHON_VERSION assignment
1 parent 74fbd5a commit 69b4fe5

File tree

4 files changed

+10
-10
lines changed

4 files changed

+10
-10
lines changed

README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,12 @@ INSTALL_DIR_PATH="/usr/share/asus-numberpad-driver"
7474
CONFIG_FILE_DIR_PATH="$INSTALL_DIR_PATH"
7575
CONFIG_FILE_NAME="numberpad_dev"
7676
LOGS_DIR_PATH="/var/log/asus-numberpad-driver" # only for install and uninstall logs
77-
SERVICE_INSTALL_DIR_PATH="/usr/lib/systemd/user"
77+
SERVICE_INSTALL_DIR_PATH="$HOME/.config/systemd/user"
7878
INSTALL_UDEV_DIR_PATH="/usr/lib/udev"
7979

8080
# e.g. for BazziteOS (https://github.com/asus-linux-drivers/asus-numberpad-driver/issues/198)
8181
$ INSTALL_DIR_PATH="/home/$USER/.local/share/asus-numberpad-driver"\
8282
INSTALL_UDEV_DIR_PATH="/etc/udev"\
83-
SERVICE_INSTALL_DIR_PATH="/home/$USER/.config/systemd/user/"\
8483
bash install.sh
8584
```
8685

@@ -250,13 +249,12 @@ INSTALL_DIR_PATH="/usr/share/asus-numberpad-driver"
250249
CONFIG_FILE_DIR_PATH="$INSTALL_DIR_PATH"
251250
CONFIG_FILE_NAME="numberpad_dev"
252251
LOGS_DIR_PATH="/var/log/asus-numberpad-driver" # only for install and uninstall logs
253-
SERVICE_INSTALL_DIR_PATH="/usr/lib/systemd/user"
252+
SERVICE_INSTALL_DIR_PATH="$HOME/.config/systemd/user"
254253
INSTALL_UDEV_DIR_PATH="/usr/lib/udev"
255254

256255
# e.g. for BazziteOS (https://github.com/asus-linux-drivers/asus-numberpad-driver/issues/198)
257256
$ INSTALL_DIR_PATH="/home/$USER/.local/share/asus-numberpad-driver"\
258257
INSTALL_UDEV_DIR_PATH="/etc/udev/"\
259-
SERVICE_INSTALL_DIR_PATH="/home/$USER/.config/systemd/user/"\
260258
bash uninstall.sh
261259
```
262260

install.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,15 +194,15 @@ LOGS_INSTALL_LOG_FILE_PATH="$LOGS_DIR_PATH/$LOGS_INSTALL_LOG_FILE_NAME"
194194
fi
195195

196196
# xcffib (https://pypi.org/project/xcffib/) requires python >=3.10
197-
PYTHON_VERSION=$($PYTHON -c "import sys; print('.'.join(map(str, sys.version_info[:2])))")
198197
if ! $PYTHON -c "import sys; sys.exit(0 if sys.version_info >= (3,10) else 1)"; then
198+
PYTHON_VERSION=$($PYTHON -c "import sys; print('.'.join(map(str, sys.version_info[:2])))")
199199
echo "Python >= 3.10 is required (found $PYTHON_VERSION)."
200200
echo "Please install Python 3.10 or higher before continuing."
201201
exit 1
202202
fi
203203

204204
# create Python3 virtual environment
205-
virtualenv --python="$PYTHON_VERSION" $INSTALL_DIR_PATH/.env
205+
virtualenv --python="$PYTHON" $INSTALL_DIR_PATH/.env
206206
source $INSTALL_DIR_PATH/.env/bin/activate
207207
pip3 install --upgrade pip
208208
pip3 install --upgrade setuptools

install_service.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ if [ -z "$LOGS_DIR_PATH" ]; then
1313
LOGS_DIR_PATH="/var/log/asus-numberpad-driver"
1414
fi
1515
if [ -z "$SERVICE_INSTALL_DIR_PATH" ]; then
16-
SERVICE_INSTALL_DIR_PATH="/usr/lib/systemd/user"
16+
SERVICE_INSTALL_DIR_PATH="$HOME/.config/systemd/user"
1717
fi
1818

1919
echo "Systemctl service"
@@ -105,12 +105,14 @@ case "$RESPONSE" in [yY][eE][sS]|[yY])
105105

106106
echo
107107

108+
mkdir -p "$SERVICE_INSTALL_DIR_PATH"
109+
108110
if [ "$XDG_SESSION_TYPE" == "x11" ]; then
109-
cat "$SERVICE_X11_FILE_PATH" | INSTALL_DIR_PATH=$INSTALL_DIR_PATH LAYOUT_NAME=$LAYOUT_NAME CONFIG_FILE_DIR_PATH="$CONFIG_FILE_DIR_PATH/" DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR XDG_SESSION_TYPE=$XDG_SESSION_TYPE DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS ERROR_LOG_FILE_PATH=$ERROR_LOG_FILE_PATH envsubst '$INSTALL_DIR_PATH $LAYOUT_NAME $CONFIG_FILE_DIR_PATH $DISPLAY $XAUTHORITY $XDG_RUNTIME_DIR $XDG_SESSION_TYPE $DBUS_SESSION_BUS_ADDRESS $ERROR_LOG_FILE_PATH' | sudo tee "$SERVICE_INSTALL_DIR_PATH/$SERVICE_INSTALL_FILE_NAME" >/dev/null
111+
cat "$SERVICE_X11_FILE_PATH" | INSTALL_DIR_PATH=$INSTALL_DIR_PATH LAYOUT_NAME=$LAYOUT_NAME CONFIG_FILE_DIR_PATH="$CONFIG_FILE_DIR_PATH/" DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR XDG_SESSION_TYPE=$XDG_SESSION_TYPE DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS ERROR_LOG_FILE_PATH=$ERROR_LOG_FILE_PATH envsubst '$INSTALL_DIR_PATH $LAYOUT_NAME $CONFIG_FILE_DIR_PATH $DISPLAY $XAUTHORITY $XDG_RUNTIME_DIR $XDG_SESSION_TYPE $DBUS_SESSION_BUS_ADDRESS $ERROR_LOG_FILE_PATH' | tee "$SERVICE_INSTALL_DIR_PATH/$SERVICE_INSTALL_FILE_NAME" >/dev/null
110112
else
111113
echo "Unfortunatelly you will not be able use feature: Disabling Touchpad (e.g. Fn+special key) disables NumberPad aswell, at this moment is supported only X11"
112114
# DISPLAY=$DISPLAY for Xwayland
113-
cat "$SERVICE_WAYLAND_FILE_PATH" | INSTALL_DIR_PATH=$INSTALL_DIR_PATH LAYOUT_NAME=$LAYOUT_NAME CONFIG_FILE_DIR_PATH="$CONFIG_FILE_DIR_PATH/" DISPLAY=$DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR XDG_SESSION_TYPE=$XDG_SESSION_TYPE DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS ERROR_LOG_FILE_PATH=$ERROR_LOG_FILE_PATH envsubst '$INSTALL_DIR_PATH $LAYOUT_NAME $CONFIG_FILE_DIR_PATH $DISPLAY $XDG_RUNTIME_DIR $XDG_SESSION_TYPE $DBUS_SESSION_BUS_ADDRESS $ERROR_LOG_FILE_PATH' | sudo tee "$SERVICE_INSTALL_DIR_PATH/$SERVICE_INSTALL_FILE_NAME" >/dev/null
115+
cat "$SERVICE_WAYLAND_FILE_PATH" | INSTALL_DIR_PATH=$INSTALL_DIR_PATH LAYOUT_NAME=$LAYOUT_NAME CONFIG_FILE_DIR_PATH="$CONFIG_FILE_DIR_PATH/" DISPLAY=$DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR XDG_SESSION_TYPE=$XDG_SESSION_TYPE DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS ERROR_LOG_FILE_PATH=$ERROR_LOG_FILE_PATH envsubst '$INSTALL_DIR_PATH $LAYOUT_NAME $CONFIG_FILE_DIR_PATH $DISPLAY $XDG_RUNTIME_DIR $XDG_SESSION_TYPE $DBUS_SESSION_BUS_ADDRESS $ERROR_LOG_FILE_PATH' | tee "$SERVICE_INSTALL_DIR_PATH/$SERVICE_INSTALL_FILE_NAME" >/dev/null
114116
fi
115117

116118
if [[ $? != 0 ]]; then

uninstall_service.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ source non_sudo_check.sh
44

55
# ENV VARS
66
if [ -z "$SERVICE_INSTALL_DIR_PATH" ]; then
7-
SERVICE_INSTALL_DIR_PATH="/usr/lib/systemd/user"
7+
SERVICE_INSTALL_DIR_PATH="$HOME/.config/systemd/user"
88
fi
99

1010
SERVICE_INSTALL_FILE_NAME="[email protected]"

0 commit comments

Comments
 (0)