Joined: 22 Mar 2010
|Posted: Tue Jul 05, 2011 1:24 pm Post subject: python-updater-0.9 not detecting dev-libs/glib-2.28.8?
|Hi, I was recently making a stage4 for a domU (a virtual machine) in a chroot environment. Thing is, I had previously compiled everything in the main system (dom0) against python-2.6. After a while I started to build the stage4 from an up to date stage3 with only python-2.7. Then, as usual I run in a chroot in the stage4 an emerge -pvuDNk world to make things much more like the main system. Notice that I bind mount PKGDIR too for the chroot and I put build-pkg in my FEATURES always.
When I notice the stage3 came with default python-2.7 then I inmediatly switch to use it in the dom0 (main system) and run python-updater, which brought me to reemerge everything that is needed. But!, when I make the emerge -quDN1k world, installation of dev-libs/glib-2.28.8 fails with the following:
>>> Extracting info
* Package: dev-libs/glib-2.28.8
* Repository: gentoo
* USE: static-libs xattr
* FEATURES: sandbox
* ERROR: dev-libs/glib-2.28.8 failed (setup phase):
* dev-lang/python:2.6 is not installed
* Call stack:
* ebuild.sh, line 56: Called pkg_setup
* environment, line 3767: Called python_set_active_version '2'
* environment, line 5502: Called _python_final_sanity_checks
* environment, line 897: Called die
* The specific snippet of code:
* die "$(python_get_implementational_package) is not installed";
* If you need support, post the output of 'emerge --info =dev-libs/glib-2.28.8',
* the complete build log and the output of 'emerge -pqv =dev-libs/glib-2.28.8'.
* The complete build log is located at '/var/log/portage/build/dev-libs/glib-2.28.8:20110705-122858.log.gz'.
* The ebuild environment file is located at '/var/tmp/portage/dev-libs/glib-2.28.8/temp/environment'.
* S: '/var/tmp/portage/dev-libs/glib-2.28.8/work/glib-2.28.8'
So I recompiled it in the dom0 just to see the thing work and then did the emerge in the stage4 and worked perfectly.
Finally, my question is: is that a failure of python-updater to detect that dev-libs/glib-2.28.8 depended on python-2.6?
To part-answer myself, I check the ebuild for dev-libs/glib-2.28.8 and find no python in the deps, but I find an interesting thing in src_prepare():
# Don't check for python, hence removing the build-time python dep.
# We remove the gdb python scripts in src_install due to bug 291328
Anyway, python is indeed a build-time dependency here. I think that at least it should be included in the list of manual checks of python-updater, though not being that the appropiate solution. This I have posted in the bug report, but I think this python-updater thing can be discussed here until the bug is reopened, refixed, or something.