Skip to content

Commit 9f39b7d

Browse files
authored
Merge pull request #204 from mgorny/fix-helper-install
Install cysignals-CSI-helper as package data for better portability
2 parents 6633f1e + a639d62 commit 9f39b7d

File tree

5 files changed

+14
-11
lines changed

5 files changed

+14
-11
lines changed

src/conftest.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@
44
from _pytest.nodes import Collector
55
from _pytest.doctest import DoctestModule
66

7+
# cysignals-CSI only works from gdb, i.e. invoke ./testgdb.py directly
8+
collect_ignore = ["cysignals/cysignals-CSI-helper.py"]
9+
710
if platform.system() == "Windows":
8-
collect_ignore = [
11+
collect_ignore += [
912
"cysignals/alarm.pyx",
1013
"cysignals/pselect.pyx",
1114
"cysignals/pysignals.pyx",

src/cysignals/meson.build

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ configure_file(output: 'cysignals_config.h', configuration: config, install_dir:
22

33
py.install_sources(
44
'__init__.py',
5+
'cysignals-CSI-helper.py',
56
'memory.pxd',
67
'pysignals.pxd',
78
'signals.pxd',

src/scripts/cysignals-CSI

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import site
4040
from argparse import ArgumentParser
4141
from datetime import datetime
4242
from shutil import which
43+
import importlib.resources as importlib_resources
4344

4445

4546
def pid_exists(pid):
@@ -65,15 +66,12 @@ def gdb_commands(pid, color):
6566
cmds += b'import sys; sys.stdout.flush()\n'
6667
cmds += b'end\n'
6768
cmds += b'bt full\n'
68-
cysignals_share = os.path.join(os.path.dirname(sys.argv[0]), '..',
69-
'share', 'cysignals')
70-
script = os.path.join(cysignals_share, 'cysignals-CSI-helper.py')
71-
with open(script, 'rb') as f:
72-
cmds += b'python\n'
73-
cmds += b'color = %r; ' % color
74-
cmds += b'sys_path = %r; ' % sys.path
75-
cmds += f.read()
76-
cmds += b'end\n'
69+
script = importlib_resources.files('cysignals') / 'cysignals-CSI-helper.py'
70+
cmds += b'python\n'
71+
cmds += b'color = %r; ' % color
72+
cmds += b'sys_path = %r; ' % sys.path
73+
cmds += script.read_bytes()
74+
cmds += b'end\n'
7775
cmds += b'detach inferior 1\n'
7876
cmds += b'quit\n'
7977
return cmds

src/scripts/meson.build

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
install_data('cysignals-CSI-helper.py', install_dir: py.get_install_dir(pure: false) / 'cysignals' / 'data')
1+
install_data('cysignals-CSI', install_dir : get_option('bindir'))
2+

0 commit comments

Comments
 (0)