Skip to content

Commit

Permalink
Merge pull request #3495 from thkoch2001/use-libexec-also-debian
Browse files Browse the repository at this point in the history
use libexec also on Debian systems
  • Loading branch information
totaam committed Mar 22, 2022
2 parents d8ddb50 + f9108f5 commit c80e56c
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 37 deletions.
4 changes: 2 additions & 2 deletions fs/lib/udev/rules.d/71-xpra-virtual-pointer.rules
@@ -1,4 +1,4 @@
# allow xpra to use fine grained scrolling

ACTION=="add|change", ATTRS{name}=="Xpra Virtual Pointer*", PROGRAM="/bin/xpra_udev_product_version", ENV{MOUSE_WHEEL_CLICK_ANGLE}="1", ENV{MOUSE_WHEEL_CLICK_COUNT}="360", MODE="0660", OWNER="%c", GROUP="xpra"
ACTION=="add|change", ATTRS{name}=="Xpra Virtual Touchpad*", PROGRAM="/bin/xpra_udev_product_version", ENV{MOUSE_WHEEL_CLICK_ANGLE}="1", ENV{MOUSE_WHEEL_CLICK_COUNT}="360", MODE="0660", OWNER="%c", GROUP="xpra"
ACTION=="add|change", ATTRS{name}=="Xpra Virtual Pointer*", PROGRAM="/usr/libexec/xpra/xpra_udev_product_version", ENV{MOUSE_WHEEL_CLICK_ANGLE}="1", ENV{MOUSE_WHEEL_CLICK_COUNT}="360", MODE="0660", OWNER="%c", GROUP="xpra"
ACTION=="add|change", ATTRS{name}=="Xpra Virtual Touchpad*", PROGRAM="/usr/libexec/xpra/xpra_udev_product_version", ENV{MOUSE_WHEEL_CLICK_ANGLE}="1", ENV{MOUSE_WHEEL_CLICK_COUNT}="360", MODE="0660", OWNER="%c", GROUP="xpra"
11 changes: 4 additions & 7 deletions setup.py
Expand Up @@ -1523,20 +1523,17 @@ def add_service_exe(script, icon, base_name):
icons_dir = "icons"
else:
icons_dir = "pixmaps"
if is_Fedora() or is_CentOS() or is_RedHat() or FREEBSD:
libexec = "libexec"
else:
libexec = "lib"
if LINUX or FREEBSD:
if scripts_ENABLED:
scripts += ["fs/bin/xpra_udev_product_version", "fs/bin/xpra_signal_listener"]
libexec_scripts = []
if scripts_ENABLED:
libexec_scripts += ["fs/bin/xpra_udev_product_version"]
scripts += ["fs/bin/xpra_signal_listener"]
if xdg_open_ENABLED:
libexec_scripts += ["fs/bin/xdg-open", "fs/bin/gnome-open", "fs/bin/gvfs-open"]
if server_ENABLED:
libexec_scripts.append("fs/bin/auth_dialog")
if libexec_scripts:
add_data_files("%s/xpra/" % libexec, libexec_scripts)
add_data_files("libexec/xpra/", libexec_scripts)
if data_ENABLED:
man_path = "share/man"
icons_dir = "icons"
Expand Down
6 changes: 0 additions & 6 deletions xpra/platform/paths.py
Expand Up @@ -116,12 +116,6 @@ def do_get_download_dir():
return d


def get_libexec_dir():
return env_or_delegate("XPRA_LIBEXEC_DIR", do_get_libexec_dir)
def do_get_libexec_dir():
return get_app_dir()


def get_mmap_dir():
return env_or_delegate("XPRA_MMAP_DIR", do_get_mmap_dir)
def do_get_mmap_dir():
Expand Down
6 changes: 0 additions & 6 deletions xpra/platform/xposix/paths.py
Expand Up @@ -62,12 +62,6 @@ def do_get_icon_dir():
from xpra.platform.paths import get_app_dir
return os.path.join(get_app_dir(), "icons")

def do_get_libexec_dir():
from xpra.os_util import is_Fedora, is_CentOS, is_RedHat
if is_Fedora() or is_CentOS() or is_RedHat():
return "/usr/libexec/"
return "/usr/lib"

def do_get_mmap_dir():
return _get_xpra_runtime_dir() or tempfile.gettempdir()

Expand Down
11 changes: 3 additions & 8 deletions xpra/scripts/server.py
Expand Up @@ -1299,14 +1299,9 @@ def init_local_sockets():
forward_xdg_open = bool(opts.forward_xdg_open) or (
opts.forward_xdg_open is None and mode.find("desktop")<0)
if ud_paths:
#choose one so our xdg-open override script can use to talk back to us:
if forward_xdg_open:
for x in ("/usr/libexec/xpra", "/usr/lib/xpra"):
xdg_override = os.path.join(x, "xdg-open")
if os.path.exists(xdg_override):
os.environ["PATH"] = x+os.pathsep+os.environ.get("PATH", "")
os.environ["XPRA_SERVER_SOCKET"] = ud_paths[0]
break
if forward_xdg_open and os.path.exists("/usr/libexec/xpra/xdg-open"):
os.environ["PATH"] = "/usr/libexec/xpra"+os.pathsep+os.environ.get("PATH", "")
os.environ["XPRA_SERVER_SOCKET"] = ud_paths[0]
else:
log.warn("Warning: no local server sockets,")
if forward_xdg_open:
Expand Down
13 changes: 5 additions & 8 deletions xpra/server/auth/exec_auth.py
Expand Up @@ -26,14 +26,11 @@ def __init__(self, **kwargs):
self.proc = None
self.timeout_event = False
if not self.command:
#try to find the default auth_dialog executable:
from xpra.platform.paths import get_libexec_dir #pylint: disable=import-outside-toplevel
libexec = get_libexec_dir()
xpralibexec = os.path.join(libexec, "xpra")
log("libexec=%s, xpralibexec=%s", libexec, xpralibexec)
if os.path.exists(xpralibexec) and os.path.isdir(xpralibexec):
libexec = xpralibexec
auth_dialog = os.path.join(libexec, "auth_dialog")
if os.name == "posix":
auth_dialog = "/usr/libexec/xpra/auth_dialog"
else:
from xpra.platform.paths import get_app_dir #pylint: disable=import-outside-toplevel
auth_dialog = os.path.join(get_app_dir(), "auth_dialog")
if EXECUTABLE_EXTENSION:
#ie: add ".exe" on MS Windows
auth_dialog += ".%s" % EXECUTABLE_EXTENSION
Expand Down

0 comments on commit c80e56c

Please sign in to comment.