Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 313981 - media-tv/xbmc: Verify and potentially improve Python-related code
Summary: media-tv/xbmc: Verify and potentially improve Python-related code
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Xbox project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 308257
  Show dependency tree
 
Reported: 2010-04-08 19:59 UTC by Arfrever Frehtes Taifersar Arahesis (RETIRED)
Modified: 2012-03-30 19:52 UTC (History)
2 users (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 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-04-08 19:59:26 UTC
- If this package can be used as a library and installs Python modules
  (*.so or *.py) into site-packages directories, then consider supporting
  installation for multiple Python versions.
  Please read section "Types of packages" in documentation [1] to decide
  if this package can support installation for multiple Python versions.

- Ensure that the ebuilds do not use deprecated functions or variables.

- Please check if Python 3 is supported by this package. You can temporarily
  set Python 3 as main active version of Python to properly test if this
  package supports Python 3.

- If this package does not support Python 3:
  - Specify dependency on Python 2.
    You can use PYTHON_DEPEND helper variable, which should be set before
    inheriting of python eclass.
    Please read section "Specification of dependency on Python" in
    documentation [1].

  - If this package cannot support installation for multiple versions of
    Python, then set active version of Python using
    python_set_active_version().

  - Ensure that shebangs in installed scripts specify correct version of
    Python. If shebangs are too generic (e.g. '#!/usr/bin/python'), then you
    can use python_convert_shebangs() to convert shebangs.
    (Wrapper scripts generated by python_generate_wrapper_scripts() do not
    require any changes.)
    Please read section "Shebangs in installed scripts" in documentation [1].

  - To ensure that changes applied to the ebuilds are sufficient, please
    temporarily set Python 3 as main active version of Python and test if
    this package can be properly installed and if it works at run time.

Please see documentation [1] for more details.
[1] http://www.gentoo.org/proj/en/Python/developersguide.xml
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2010-12-30 15:50:35 UTC
*** Bug 350098 has been marked as a duplicate of this bug. ***
Comment 2 Richard Connon 2010-12-31 02:11:56 UTC
Specifically this package needs patching to allow building against python 2.7
Patches are provided for this here:
http://trac.xbmc.org/ticket/9584

Also, why is this bug assigned to xbox herd since XBMC doesn't support the xbox as a platform anymore? XBMC is just a normal PC application.
Comment 3 SpanKY gentoo-dev 2010-12-31 18:21:14 UTC
this bug isnt about python-2.7 compatibility
Comment 4 Leho Kraav (:macmaN @lkraav) 2011-05-01 07:27:15 UTC
https://github.com/xbmc/xbmc/commit/598dfdce5b sheds internal Python, so the bigger issues will fortunately become moot soon enough. Current ebuild does install some minor stuffs into site-packages though which could be done in a cleaner way indeed.
Comment 5 Florian Eitel 2011-12-28 12:12:33 UTC
Very important is the call of /usr/share/xbmc/FEH.py in /usr/bin/xbmc:106

python /usr/share/xbmc/FEH.py $SAVED_ARGS

This should be changed to python2. I use python3 as default python version and can't even start xbmc because FEH.py hast python2 syntax.
Comment 6 SpanKY gentoo-dev 2012-03-29 16:21:19 UTC
we use python eclass now and PYTHON_DEPEND.  don't really know what else there is to do, so this bug isn't really helping.
Comment 7 Arfrever Frehtes Taifersar Arahesis 2012-03-30 19:52:23 UTC
COMMON_DEPEND contains >=dev-lang/python-2.4, which matches Python 3.

I suggest to call python_mod_optimize() and python_mod_cleanup() on files/directories installed by this package in /usr/lib*/python*/site-packages.
Example:
pkg_postinst() {
	python_mod_optimize xbmcclient.py
}
pkg_postrm() {
	python_mod_cleanup xbmcclient.py
}