[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#705599: finish-install: 07speakup needs to be updated for Wheezy and GNOME 3



Package: finish-install
Version: 2.41
Severity: important
Tags: patch

finish-install.d/07speakup needs to be update for Wheezy and GNOME3.
GNOME 3 uses gsettings (with dconf as underlying database) so
the gconf commands are ineffective with Debian Wheezy.

Please find a tested patch in attachment. Let me know if you want
me to push this change to master or if you want me to create a wheezy
branch (I noticed that wheezy only has 2.41 while master has 2.42).

-- System Information:
Debian Release: 7.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.8-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
>From ec1564204ab5965ab02016585cc1757dc108acd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Hertzog?= <hertzog@debian.org>
Date: Wed, 17 Apr 2013 11:21:22 +0200
Subject: [PATCH] Update finish-install.d/07speakup to use the relevant
 gsettings

GNOME 3 uses gsettings (with dconf as underlying database) so
the gconf commands are ineffective with Debian Wheezy.

Replacing those gconf commands by equivalent dconf commands
is not possible because dbus is not yet setup during initial
installation and dconf seems to need dbus.

So instead we create .gschema.override file to change the default
value of the relevant settings. This requires creating a file
in /usr/share/glib-2.0/schemas outside of dpkg's knowledge
and to regenerate the compiled schemas files (we do this
by relying on the dpkg trigger on the above directory).
---
 debian/changelog           |    7 +++++++
 finish-install.d/07speakup |   24 ++++++++++++++----------
 2 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 9f8ae0f..33853f1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+finish-install (2.43) UNRELEASED; urgency=low
+
+  * Update finish-install.d/07speakup to use the relevant dconf
+    settings used by GNOME 3 (via a gsettings schema override file).
+
+ -- Raphaël Hertzog <hertzog@debian.org>  Tue, 16 Apr 2013 17:49:31 +0200
+
 finish-install (2.42) unstable; urgency=low
 
   [ Colin Watson ]
diff --git a/finish-install.d/07speakup b/finish-install.d/07speakup
index 1cc6629..7a490e8 100755
--- a/finish-install.d/07speakup
+++ b/finish-install.d/07speakup
@@ -1,17 +1,21 @@
 #! /bin/sh
 
+set -e
+
 if [ -n "$(lsmod | grep ^speakup_)" ]; then
-	. /usr/share/debconf/confmodule
+	mkdir -p /target/usr/share/glib-2.0/schemas
+	cat >/target/usr/share/glib-2.0/schemas/15_speakup.gschema.override <<END
+# Setup by debian-installer (via finish-install.d/07speakup) since
+# speech synthesis was enabled during initial installation
+
+[org.gnome.desktop.a11y.applications]
+screen-reader-enabled=true
 
-	/bin/in-target su -s /bin/sh -c "gconftool-2 --type bool --set /desktop/gnome/applications/at/screen_reader_enabled true" Debian-gdm || true
-	db_get passwd/username
-	USERNAME="$RET"
-	if [ -n "$USERNAME" ]
-	then
-		/bin/in-target su -s /bin/sh -c "gconftool-2 --type bool --set /desktop/gnome/interface/accessibility true" "$USERNAME" || true
-		/bin/in-target su -s /bin/sh -c "gconftool-2 --type bool --set /desktop/gnome/applications/at/visual/startup true" "$USERNAME" || true
-		/bin/in-target su -s /bin/sh -c "gconftool-2 --type bool --set /desktop/gnome/sound/event_sounds true" "$USERNAME" || true
-	fi
+[org.gnome.desktop.sound]
+event-sounds=true
+END
+	in-target dpkg-trigger --no-await /usr/share/glib-2.0/schemas || true
+	in-target dpkg --triggers-only -a || true
 fi
 
 exit 0
-- 
1.7.10.4


Reply to: