Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 317003 - x11-misc/alacarte: Verify and potentially improve Python-related code
Summary: x11-misc/alacarte: 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 enhancement (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 308257 313471
  Show dependency tree
 
Reported: 2010-04-24 18:42 UTC by Arfrever Frehtes Taifersar Arahesis (RETIRED)
Modified: 2010-12-08 22:48 UTC (History)
0 users

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


Attachments
alacarte-0.13.2.ebuild.patch (alacarte-0.13.2.ebuild.patch,730 bytes, patch)
2010-09-16 21:30 UTC, Arfrever Frehtes Taifersar Arahesis (RETIRED)
Details | Diff
alacarte.ebuild.diff (alacarte.ebuild.diff,1.33 KB, text/plain)
2010-12-08 19:11 UTC, Pacho Ramos
Details

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-24 18:42:33 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 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-09-16 21:30:24 UTC
Created attachment 247644 [details, diff]
alacarte-0.13.2.ebuild.patch

This patch fixes dependencies and causes that x11-misc/alacarte is built with active version of Python 2 (selected by user) instead of the newest installed version of Python 2.
Comment 2 Pacho Ramos gentoo-dev 2010-12-08 19:11:08 UTC
Created attachment 256680 [details]
alacarte.ebuild.diff

I have tried to apply this patch but it makes alacarte fail to run with:

$ alacarte 
-bash: /usr/bin/alacarte: python2.6: intérprete erróneo: No existe el fichero o el directorio


That is caused by /usr/bin/alacarte looking for python without any path:

$ cat /usr/bin/alacarte 
#! python2.6 -OOt
# -*- python -*-
# -*- coding: utf-8 -*-
#   Alacarte Menu Editor - Simple fd.o Compliant Menu Editor
#   Copyright (C) 2006  Travis Watkins
#
#   This library is free software; you can redistribute it and/or
#   modify it under the terms of the GNU Library General Public
#   License as published by the Free Software Foundation; either
#   version 2 of the License, or (at your option) any later version.
#
#   This library is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#   Library General Public License for more details.
#
#   You should have received a copy of the GNU Library General Public
#   License along with this library; if not, write to the Free Software
#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

import sys
from Alacarte.MainWindow import MainWindow

def main():
	try:
		from Alacarte import config
		datadir = config.pkgdatadir
		version = config.VERSION
	except:
		datadir = '.'
		version = '0.9'
	app = MainWindow(datadir, version, sys.argv)
	app.run()

if __name__ == '__main__':
	main()

Do you know how to solve this? Thanks
Comment 3 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-12-08 19:50:50 UTC
Try:
src_configure() {
	PYTHON="$(PYTHON -a)" gnome2_src_configure
}
Comment 4 Pacho Ramos gentoo-dev 2010-12-08 20:52:37 UTC
+  08 Dec 2010; Pacho Ramos <pacho@gentoo.org> -alacarte-0.12.1.ebuild,
+  alacarte-0.13.2.ebuild:
+  Improve python handling (bug #317003), thanks a lot to Arfrever Frehtes
+  Taifersar Arahesis for this help.
+


It worked, thanks!
Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2010-12-08 22:48:26 UTC
+  08 Dec 2010; Gilles Dartiguelongue <eva@gentoo.org> alacarte-0.13.2.ebuild:
+  Handle multiple ABI python, bug #317003.
+