Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 553966 - gnome-base/gnome-shell: Broken gnome-shell-perf-tool from multiple python support
Summary: gnome-base/gnome-shell: Broken gnome-shell-perf-tool from multiple python sup...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords: NeedPatch
: 652584 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-07-05 10:21 UTC by Pacho Ramos
Modified: 2018-09-28 13:51 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pacho Ramos gentoo-dev 2015-07-05 10:21:53 UTC
Maybe it's being installed in wrong location or something :/

I get:
$ /usr/lib/python-exec/python3.4/gnome-shell-perf-tool
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.4/gnome-shell-perf-tool", line 359, in <module>
    normal_exit = run_performance_test()
  File "/usr/lib/python-exec/python3.4/gnome-shell-perf-tool", line 218, in run_performance_test
    normal_exit = run_shell(perf_output=output_file)
  File "/usr/lib/python-exec/python3.4/gnome-shell-perf-tool", line 102, in run_shell
    shell = start_shell(perf_output=perf_output)
  File "/usr/lib/python-exec/python3.4/gnome-shell-perf-tool", line 94, in start_shell
    return subprocess.Popen(args, env=env)
  File "/usr/lib64/python3.4/subprocess.py", line 858, in __init__
    restore_signals, start_new_session)
  File "/usr/lib64/python3.4/subprocess.py", line 1456, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python-exec/python3.4/gnome-shell'
Comment 1 Gilles Dartiguelongue (RETIRED) gentoo-dev 2015-07-05 10:41:26 UTC
It is trying to use gnome-shell from the directory where gnome-shell-perf-tool is located (that would be /usr/bin normally) which is different in our case due to python-exec wrapping.
Comment 2 Gilles Dartiguelongue (RETIRED) gentoo-dev 2016-11-24 07:51:07 UTC
In 3.22, it appears the tool does not traceback anymore however I fail to see how to use it.
Comment 3 Pacho Ramos gentoo-dev 2018-04-05 21:50:30 UTC
*** Bug 652584 has been marked as a duplicate of this bug. ***
Comment 4 Mart Raudsepp gentoo-dev 2018-04-11 08:51:47 UTC
We should be using python-single here, see my analysis on bug 652584
Comment 5 Mart Raudsepp gentoo-dev 2018-04-11 08:53:36 UTC
As the tool is of limited use (it's for gnome-shell devs mostly I guess), lets not bother with such changes to 3.24 anymore and look into it for 3.26 or 3.28 together with bumps and potential ebuild reworks for meson.
Comment 6 Mart Raudsepp gentoo-dev 2018-09-19 10:46:58 UTC
I've made it use python-single in 3.26.2-r3, albeit the python shebang stuff is a meson sedding hack that is prone to break on version bumps if something changes in the build setup and isn't noticed. Unfortunately --force on python_fix_shebang doesn't actually force it with the weird python path we get without the meson.build sedding, even though python3.6 is contained in it, so hence the sed for now.
Comment 7 Larry the Git Cow gentoo-dev 2018-09-28 13:51:20 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f874177a1bcee5a10fde56cd58ab5860a7a07b8

commit 4f874177a1bcee5a10fde56cd58ab5860a7a07b8
Author:     Mart Raudsepp <leio@gentoo.org>
AuthorDate: 2018-09-27 21:36:24 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2018-09-28 13:49:13 +0000

    gnome-base/gnome-shell: bump to 3.26.2, support elogind, many tweaks
    
    * Port ebuild to use meson (no autotools upstream anymore)
    * Support elogind and get rid of unnecessary openrc-force hacks;
      gnome-shell systemd code only handles journald integration - logging
      structured data to it itself, instead of plain g_prints and telling
      it about launched apps, so they get to log under their own identifier
      instead of gnome-session. The -Denable-systemd option only deals with
      that, so we can safely just not pass it on non-systemd systems. The
      suspend support is handled purely via logind dbus interfaces and is
      build unconditionally - at runtime it is conditional on
      /run/systemd/seats existing and being accessible, which should be the
      case with newer elogind (with relevant bugs fixed) by my quick
      research, but I have not tested personally. Don't make a big deal
      about lacking suspend and seat inhibition support and just pull in
      a logind interface provider (techically this is runtime only, but
      not bothering with a separate DEPEND-free RDEPEND block for elogind).
      The alternative (to require logind) would be to require one of the
      systemd or elogind USE flags instead of at-most-one-of, but this is
      runtime optional anyways, so don't block it - user could just build
      with systemd and boot with something else, for example, and similarly
      not have this work at runtime). Also remove some ewarns appropriately.
    * Build-time depend on systemd with USE=systemd for the aforementioned
      journald integration, which needs systemd present at build time already.
    * More appropriately use python-single-r1 instead of python-r1 for the two
      small python utilities. Hack meson to update to the correct shebang.
    * Make telepathy optional - it was made runtime optional in 3.24 already,
      and with empathy being in the state it's in, the chat integration is
      rather unused on a desktop system.
    * Remove questionable glib USE=dbus requirement - if dconf is required,
      it should be depended upon directly; but as this is just your typical
      GSettings memory vs dconf backend scenario, I don't see why that'd be.
    * Remove unnecessary libXtst depend - I can't find any usage of it in
      current version (only mentions of caribou using it, which has its own
      dep and is optional on-screen keyboard support, gone in newer versions).
    * Move dbus-glib depend inside USE=networkmanager, as this legacy thing
      is for some reason (instead of GDbus) still used only in a NM specific
      source file that doesn't get compiled with USE=-networkmanager afaics.
    * Require introspection on nm-applet with USE=networkmanager, as NMGtk
      GIR is used.
    * Remove bogus mesa-progs depend - no glxinfo/glxgears usages here.
    * Add glib-utils build depend.
    * Drop dejavu font depend - I don't think we should be pulling in a
      specific font these days for some glyphs; and if we should, then it
      probably should be cantarell.
    * Require USE=glib on pulseaudio, as libpulse-mainloop-glib is linked to
      in a subproject, not just libpulse.
    * Simplify the pax-mark logic, as we don't use so old spidermonkey for so
      long, and pax-mark stuff is not tested by us. But the old complicated
      conditionals don't apply in many cases, so simplify it to just the common
      case. Additionally newer spidermonkey (60) will lose jit USE flag and
      have that unconditional on arches where it's supported, so these
      conditionals will then result in wrong code paths being taken. Therefore
      just simplify it to the basics and hope it works and rely on any incoming
      bugs about it to modernize this.
    
    Closes: https://bugs.gentoo.org/655426
    Closes: https://bugs.gentoo.org/553966
    Signed-off-by: Mart Raudsepp <leio@gentoo.org>
    Package-Manager: Portage-2.3.49, Repoman-2.3.11

 gnome-base/gnome-shell/Manifest                    |   2 +
 .../files/3.26-optional-bluetooth.patch            |  73 ++++++++
 .../gnome-shell/gnome-shell-3.26.2-r4.ebuild       | 186 +++++++++++++++++++++
 gnome-base/gnome-shell/metadata.xml                |   3 +
 4 files changed, 264 insertions(+)