Summary: | x11-wm/qtile: fails to install with sandbox violation (automagic dev-python/pywlroots dep on x11-base/xwayland?) (* ACCESS DENIED: open_wr: /usr/lib/python3.10/site-packages/wlroots/_build.py) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Romel Salwi <1nra4yu0> |
Component: | Current packages | Assignee: | Egor Martynov <martynovegorOF> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | proxy-maint, python, sam |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
See Also: |
https://github.com/gentoo/gentoo/pull/30880 https://github.com/gentoo/gentoo/pull/31879 https://bugs.gentoo.org/show_bug.cgi?id=919097 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build log
emerge --info from OP Failed during rebuild |
* python3_10: running distutils-r1_run_phase python_compile * Building the wheel for qtile-0.22.1 via setuptools.build_meta:__legacy__ gpep517 build-wheel --backend setuptools.build_meta:__legacy__ --output-fd 3 --wheel-dir /var/tmp/portage/x11-wm/qtile-0.22.1-r1/work/qtile-0.22.1-python3_10/wheel 2023-05-05 12:36:10,177 gpep517 INFO Building wheel via backend setuptools.build_meta:__legacy__ /usr/lib/python3.10/site-packages/setuptools/config/setupcfg.py:516: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead. warnings.warn(msg, warning_class) * ACCESS DENIED: open_wr: /usr/lib/python3.10/site-packages/wlroots/_build.py Failed to find pulseaudio headers. PulseVolume widget will be unavailable Traceback (most recent call last): File "/usr/lib/python-exec/python3.10/gpep517", line 4, in <module> sys.exit(main()) File "/usr/lib/python3.10/site-packages/gpep517/__main__.py", line 406, in main return func(args) File "/usr/lib/python3.10/site-packages/gpep517/__main__.py", line 202, in build_wheel print(build_wheel_impl(args, args.wheel_dir), file=out) File "/usr/lib/python3.10/site-packages/gpep517/__main__.py", line 194, in build_wheel_impl wheel_name = backend.build_wheel(str(wheel_dir), args.config_json) File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 413, in build_wheel return self._build_with_temp_dir(['bdist_wheel'], '.whl', File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 398, in _build_with_temp_dir self.run_setup() File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 484, in run_setup super(_BuildMetaLegacyBackend, File "/usr/lib/python3.10/site-packages/setuptools/build_meta.py", line 335, in run_setup exec(code, locals()) File "<string>", line 105, in <module> File "<string>", line 89, in get_cffi_modules File "/usr/lib/python3.10/site-packages/wlroots/ffi_build.py", line 2643, in <module> if has_xwayland(): File "/usr/lib/python3.10/site-packages/wlroots/ffi_build.py", line 87, in has_xwayland with (Path(__file__).parent / "_build.py").open("w") as f: File "/usr/lib/python3.10/pathlib.py", line 1119, in open return self._accessor.open(self, mode, buffering, encoding, errors, PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.10/site-packages/wlroots/_build.py' * ERROR: x11-wm/qtile-0.22.1-r1::gentoo failed (compile phase): * Wheel build failed I have a feeling that this happens in the following situation: 1. install qtile (which includes pywlroots) 2. install xwayland 3. rebuild qtile (-> pywlroots in the import/config check tries to write to the file saying it has xwayland). See https://github.com/flacjacket/pywlroots/blob/main/wlroots/ffi_build.py#L86. It looks like there's two issues then: 1. pywlroots has an automagic xwayland dep? (It seems to affect the files it generates...) 2. It shouldn't ever try to write to its own site-packages dir anyway, just fail gracefully if it's not building itself (check __file__ I guess?) Created attachment 861169 [details]
emerge --info from OP
(In reply to Sam James from comment #2) > I have a feeling that this happens in the following situation: > 1. install qtile (which includes pywlroots) > 2. install xwayland > 3. rebuild qtile (-> pywlroots in the import/config check tries to write to > the file saying it has xwayland). > > See > https://github.com/flacjacket/pywlroots/blob/main/wlroots/ffi_build.py#L86. > > It looks like there's two issues then: > 1. pywlroots has an automagic xwayland dep? (It seems to affect the files it > generates...) > 2. It shouldn't ever try to write to its own site-packages dir anyway, just > fail gracefully if it's not building itself (check __file__ I guess?) OP confirms emerge -v1 xwayland, emerge -v1 pywlroots, then emerge -v1 qtile is a workaround, so I'm guessing my theory above is right. QA: install │ │QA Notice: setuptools warnings detected: │ │ │ │ The license_file parameter is deprecated, use license_files instead. │ │Python extension modules (*.so) found installed. Please set: │ │ DISTUTILS_EXT=1 │ │in the ebuild. Created attachment 861214 [details]
Failed during rebuild
(In reply to Romel Salwi from comment #6) > Created attachment 861214 [details] > Failed during rebuild Please always include the full build.log as an attachment. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc9e844b9ae10e88a2cbc24e3feadb779b0bd904 commit dc9e844b9ae10e88a2cbc24e3feadb779b0bd904 Author: Egor Martynov <martynovegorOF@yandex.ru> AuthorDate: 2023-07-14 13:48:31 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-15 06:02:59 +0000 dev-python/pywlroots: depend on xwayland See https://github.com/gentoo/gentoo/pull/30880#issuecomment-1601992347 Closes: https://bugs.gentoo.org/905743 Signed-off-by: Egor Martynov <martynovegorOF@yandex.ru> Closes: https://github.com/gentoo/gentoo/pull/31879 Signed-off-by: Sam James <sam@gentoo.org> .../{pywlroots-0.15.24-r1.ebuild => pywlroots-0.15.24-r2.ebuild} | 1 + .../pywlroots/{pywlroots-0.16.4.ebuild => pywlroots-0.16.4-r1.ebuild} | 1 + 2 files changed, 2 insertions(+) |
Created attachment 861168 [details] build log While running emerge --verbose --emptytree @world, Qtile failed to build