Bug 331091 - python-ruledispatch makes anaconda fail
Summary: python-ruledispatch makes anaconda fail
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Chris Lumens
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: K12LTSP F9Blocker
TreeView+ depends on / blocked
 
Reported: 2007-10-14 01:19 UTC by Warren Togami
Modified: 2008-01-22 18:32 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-01-22 18:32:17 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Patch to place /usr/lib/anaconda after RHUpdate paths in sys.path (840 bytes, patch)
2008-01-16 15:23 UTC, Toshio Ernie Kuratomi
no flags Details | Diff

Description Warren Togami 2007-10-14 01:19:18 UTC
Probing for video card:   Intel Corporation Mobile 945GM/GMS, 943/940GML Express
Integrated Graphics Controller
Starting graphical installation...
Traceback (most recent call last):
  File "/usr/sbin/anaconda", line 904, in <module>
    anaconda.setDispatch()
  File "/usr/sbin/anaconda", line 484, in setDispatch
    self.dispatch = dispatch.Dispatcher(self)
AttributeError: 'module' object has no attribute 'Dispatcher'

While attempting to use anaconda to build a chroot, it fails with this error
while python-ruledispatch is installed.  This is because the dispatch module
provided by ruledispatch has a higher precedence than anaconda's dispatch in
sys.path.

Comment 1 Warren Togami 2007-11-20 18:34:51 UTC
--- anaconda.orig       2007-11-20 13:16:39.000000000 -0500
+++ anaconda    2007-11-20 13:20:49.000000000 -0500
@@ -301,7 +301,7 @@
         sys.path.append('textw')
         sys.path.append('iw')
     else:
-        sys.path.append('/usr/lib/anaconda')
+        sys.path.insert(0,'/usr/lib/anaconda')
         sys.path.append('/usr/lib/anaconda/textw')
         sys.path.append('/usr/lib/anaconda/iw')
 

This makes it work, although it is messy in the others append other private
paths and anaconda needs to be thoroughly tested to be sure this doesn't break
anything.


Comment 2 Chris Lumens 2007-11-20 19:26:01 UTC
This breaks the RHupdates mechanism.  What needs to happen is that the
/usr/lib/anaconda paths be inserted into sys.path after all the updates paths.

Comment 3 Toshio Ernie Kuratomi 2008-01-16 15:22:40 UTC
I'm not sure what the "updates paths" consist of, but the code in the following
patch might be sufficient if I've guessed right.  It seems a bit hacky, though.

A cleaner way to do this would be to make an anaconda module (either in
python_sitearch or as a subdirectory of %{_libdir}/anaconda) and put all the
code in there.  Then the code will be properly namespaced and you'll be able to
write unambiguous import statements like::
  from anaconda import dispatch

Comment 4 Toshio Ernie Kuratomi 2008-01-16 15:23:39 UTC
Created attachment 291858 [details]
Patch to place /usr/lib/anaconda after RHUpdate paths in sys.path

Comment 5 Chris Lumens 2008-01-22 18:32:17 UTC
Committed, with some slight modifications.  Thanks for the patch.


Note You need to log in before you can comment on or make changes to this bug.