rendered paste body=== modified file 'bin/ubiquity-dm'
--- bin/ubiquity-dm 2008-03-21 19:09:39 +0000
+++ bin/ubiquity-dm 2008-04-15 12:54:24 +0000
@@ -114,8 +114,32 @@
time.sleep(1)
timeout -= 1
+ extras = []
if self.frontend == 'gtk_ui' or self.frontend == 'mythbuntu_ui':
- if os.access(background, os.R_OK):
+ # Accessibility infrastructure
+ gconf_dir = ('xml:readwrite:%s' %
+ '~root/.gconf')
+ accessibility = 'false'
+ if osextras.find_on_path('gconftool-2'):
+ subp = subprocess.Popen(
+ ['gconftool-2', '--config-source', gconf_dir,
+ '--get', '/desktop/gnome/interface/accessibility'],
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ accessibility = subp.communicate()[0].rstrip('\n')
+ if accessibility == 'true':
+ if os.path.exists('/usr/lib/at-spi/at-spi-registryd'):
+ extras.append(subprocess.Popen(['/usr/lib/at-spi/at-spi-registryd'],
+ stdin=null, stdout=logfile, stderr=logfile))
+ os.environ['GTK_MODULES'] = 'gail:atk-bridge'
+
+ maybe_drop_privileges = []
+ if accessibility != 'true':
+ maybe_drop_privileges['preexec_fn'] = self.drop_privileges
+
+ # Don't show the background image in v1 accessibility profile. It
+ # is not shown in the GNOME desktop after all.
+ fp = open('/proc/cmdline', 'r')
+ if os.access(background, os.R_OK) and not 'access=v1' in fp.readline():
import gtk
pixbuf = gtk.gdk.pixbuf_new_from_file(background)
root = gtk.gdk.get_default_root_window()
@@ -125,53 +149,36 @@
root.set_back_pixmap(pixmap, False)
root.clear()
gtk.gdk.flush()
+ fp.close()
- extras = []
if self.frontend in ('gtk_ui', 'mythbuntu_ui'):
if osextras.find_on_path('metacity'):
wm = subprocess.Popen(['metacity', '--sm-disable'],
stdin=null, stdout=logfile, stderr=logfile,
- preexec_fn=self.drop_privileges)
+ **maybe_drop_privileges)
elif osextras.find_on_path('xfwm4'):
wm = subprocess.Popen('xfwm4',
stdin=null, stdout=logfile, stderr=logfile,
- preexec_fn=self.drop_privileges)
+ **maybe_drop_privileges)
else:
raise MissingProgramError, \
"No window manager found (tried metacity, xfwm4)"
if os.path.exists('/usr/lib/gnome-settings-daemon/gnome-settings-daemon'):
extras.append(subprocess.Popen(['/usr/lib/gnome-settings-daemon/gnome-settings-daemon'],
- stdin=null, stdout=logfile, stderr=logfile, preexec_fn=self.drop_privileges))
+ stdin=null, stdout=logfile, stderr=logfile, **maybe_drop_privileges))
- # Accessibility
- gconf_dir = ('xml:readwrite:%s' %
- os.path.expanduser('~%s/.gconf' %
- self.username))
- accessibility = 'false'
- if osextras.find_on_path('gconftool-2'):
- subp = subprocess.Popen(
- ['gconftool-2', '--config-source', gconf_dir,
- '--get', '/desktop/gnome/interface/accessibility'],
- stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- accessibility = subp.communicate()[0].rstrip('\n')
+ # Accessibility tools
if accessibility == 'true':
- if os.path.exists('/usr/lib/at-spi/at-spi-registryd'):
- extras.append(subprocess.Popen(['/usr/lib/at-spi/at-spi-registryd'],
- stdin=null, stdout=logfile, stderr=logfile,
- preexec_fn=self.drop_privileges))
- os.environ['GTK_MODULES'] = 'gail:atk-bridge'
fp = open('/proc/cmdline', 'r')
if 'access=m2' in fp.readline():
if osextras.find_on_path('onboard'):
extras.append(subprocess.Popen(['onboard'],
- stdin=null, stdout=logfile, stderr=logfile,
- preexec_fn=self.drop_privileges))
+ stdin=null, stdout=logfile, stderr=logfile))
else:
if osextras.find_on_path('orca'):
extras.append(subprocess.Popen(['orca', '-n'],
- stdin=null, stdout=logfile, stderr=logfile,
- preexec_fn=self.drop_privileges))
+ stdin=null, stdout=logfile, stderr=logfile))
fp.close()
elif self.frontend == 'kde_ui':
wm = subprocess.Popen('kwin', stdin=null, stdout=logfile,
=== modified file 'debian/changelog'
--- debian/changelog 2008-04-15 00:49:38 +0000
+++ debian/changelog 2008-04-15 12:55:38 +0000
@@ -1,3 +1,17 @@
+ubiquity (1.8.6) UNRELEASED; urgency=low
+
+ * bin/ubiquity-dm:
+ - Move code relating to at-spi-registryd to ensure that a11y is loaded
+ before the background and window manager. (LP: #197887)
+ - Ensure that orca/onboard are only run if the a11y gconf key is set.
+ - Don't show any background image if the v1 profile is selected, similar to
+ what happens in the GNOME desktop with this profile enabled.
+ - Do not drop privileges when running the window manager,
+ gnome-settings-daemon, or any of the a11y tools. Privileges are still
+ dropped when accessibility is not enabled.
+
+ -- Luke Yelavich <luke.yelavich@canonical.com> Tue, 15 Apr 2008 22:01:16 +1000
+
ubiquity (1.8.5) hardy; urgency=low
[ Evan Dandrea ]