Merge lp:~stgraber/casper/casper-netboot into lp:casper

Proposed by Stéphane Graber
Status: Merged
Merge reported by: Stéphane Graber
Merged at revision: not available
Proposed branch: lp:~stgraber/casper/casper-netboot
Merge into: lp:casper
Diff against target: 4779 lines (+2872/-873) (has conflicts)
60 files modified
bin/casper-a11y-enable (+645/-0)
bin/casper-preseed (+13/-6)
bin/casper-reconfigure (+3/-0)
bin/casper-set-selections (+93/-0)
bin/casper-snapshot (+1/-1)
bin/casper-update-initramfs (+25/-0)
casper-md5check/Makefile (+2/-1)
casper-md5check/casper-md5check.c (+135/-100)
casper.conf (+7/-1)
conf.d/compcache (+1/-1)
debian/bzr-builddeb.conf (+2/-0)
debian/casper.init (+44/-18)
debian/casper.install (+3/-0)
debian/casper.postinst (+10/-0)
debian/changelog (+1031/-1)
debian/control (+6/-6)
debian/copyright (+11/-1)
debian/manpage/casper.7 (+12/-0)
debian/source/format (+1/-0)
hooks/casper (+5/-2)
scripts/casper (+122/-27)
scripts/casper-bottom/05mountpoints (+4/-0)
scripts/casper-bottom/07remove_oem_config (+32/-0)
scripts/casper-bottom/10adduser (+0/-111)
scripts/casper-bottom/14locales (+3/-10)
scripts/casper-bottom/15autologin (+58/-9)
scripts/casper-bottom/19keyboard (+46/-11)
scripts/casper-bottom/22gnome_panel_data (+2/-7)
scripts/casper-bottom/22screensaver (+2/-3)
scripts/casper-bottom/22sslcert (+1/-0)
scripts/casper-bottom/23networking (+35/-18)
scripts/casper-bottom/24preseed (+42/-16)
scripts/casper-bottom/25adduser (+125/-0)
scripts/casper-bottom/25configure_init (+2/-2)
scripts/casper-bottom/26disable_user_menu (+29/-0)
scripts/casper-bottom/30accessibility (+31/-151)
scripts/casper-bottom/31disable_update_notifier (+8/-0)
scripts/casper-bottom/32disable_hibernation (+6/-10)
scripts/casper-bottom/33enable_apport_crashes (+5/-1)
scripts/casper-bottom/34disable_kde_services.OTHER (+36/-0)
scripts/casper-bottom/37kubuntu_netbook_installer_link (+0/-28)
scripts/casper-bottom/40install_driver_updates (+7/-1)
scripts/casper-bottom/41apt_cdrom (+13/-1)
scripts/casper-bottom/42disable_apparmor (+0/-26)
scripts/casper-bottom/43disable_updateinitramfs (+2/-7)
scripts/casper-bottom/44pk_allow_ubuntu (+2/-23)
scripts/casper-bottom/45disable_guest_account (+0/-25)
scripts/casper-bottom/45jackd2 (+33/-0)
scripts/casper-bottom/47unr_ubiquity (+0/-39)
scripts/casper-bottom/48enable_kubuntu_netbook (+0/-27)
scripts/casper-bottom/48kubuntu_disable_restart_notifications (+5/-0)
scripts/casper-bottom/49kubuntu_mobile_session (+5/-0)
scripts/casper-bottom/50ubiquity-bluetooth-agent (+8/-0)
scripts/casper-functions (+15/-1)
scripts/casper-helpers (+34/-10)
scripts/casper-premount/10driver_updates (+1/-1)
ubiquity-hooks/30accessibility (+79/-162)
ubiquity-hooks/45jackd2 (+18/-0)
ubiquity-hooks/48enable_kubuntu_netbook (+0/-8)
ubiquity-hooks/49kubuntu_gnome_icon_cache (+11/-0)
Contents conflict in scripts/casper-bottom/34disable_kde_services
To merge this branch: bzr merge lp:~stgraber/casper/casper-netboot
Reviewer Review Type Date Requested Status
Ubuntu Core Development Team Pending
Review via email: mp+103085@code.launchpad.net

Description of the change

A few fixes I collected when getting Edubuntu bootable over the network.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'bin/casper-a11y-enable'
2--- bin/casper-a11y-enable 1970-01-01 00:00:00 +0000
3+++ bin/casper-a11y-enable 2012-04-23 12:22:18 +0000
4@@ -0,0 +1,645 @@
5+#!/bin/sh
6+#
7+# casper-a11y-enable - Sets accessibility profile settings for the live session
8+# or installed system.
9+#
10+# This script is called by several other scripts, as well as ubiquity itself to
11+# set up accessibility profile settings for use in the live environment and on
12+# an installed system.
13+#
14+# Copyright (C) 2011, Canonical Ltd.
15+#
16+# Author:
17+# - Luke Yelavich <luke.yelavich@canonical.com>
18+#
19+# This script is free software; you can redistribute it and/or modify it under
20+# the terms of the GNU General Public License as published by the Free
21+# Software Foundation; either version 2 of the License, or at your option)
22+# any later version.
23+#
24+# This program is distributed in the hope that it will be useful,
25+# but WITHOUT ANY WARRANTY; without even the implied warranty of
26+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27+# GNU General Public License for more details.
28+#
29+# You should have received a copy of the GNU General Public License along
30+# with this application; if not, write to the Free Software Foundation, Inc., 51
31+# Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
32+##################################################################################
33+
34+set -e
35+
36+### PROFILE SETTINGS METHODS BEGIN HERE ###
37+# The methods that are used to set profile data have been placed as close to the
38+# top of this file as possible, so they are easy to locate, and will hopefully
39+# save time when making smaller changes.
40+
41+# Common settings for low vision profiles. Any change you make here will affect
42+# all low vision profiles, for both the user session and login manager.
43+set_common_lowvis()
44+{
45+ gset set com.canonical.indicator.datetime show-calendar false
46+ gset set org.gnome.desktop.interface toolkit-accessibility true
47+ gct -s -t bool /desktop/gnome/interface/accessibility true
48+ gct -s -t bool /apps/gksu/disable-grab true
49+ gset set org.gnome.yelp show-cursor true
50+}
51+
52+# Common settings for motor profiles. Any change you make here will affect
53+# all motor profiles, for both the user session and login manager.
54+set_common_motor()
55+{
56+ gset set org.gnome.desktop.a11y.keyboard enable true
57+ gct -s -t bool /apps/gksu/disable-grab true
58+ gset set org.gnome.desktop.a11y.keyboard stickykeys-enable true
59+ gset set org.gnome.desktop.a11y.keyboard stickykeys-two-key-off false
60+}
61+
62+# Settings for the high-contrast profile.
63+set_high_contrast()
64+{
65+ gset set org.gnome.desktop.interface icon-theme HighContrast
66+ gset set org.gnome.desktop.interface monospace-font-name "monospace 18"
67+ gset set org.gnome.desktop.interface font-name "sans 18"
68+ gset set org.gnome.desktop.background picture-uri ""
69+ gset set org.gnome.desktop.background picture-options none
70+ gset set org.gnome.desktop.background primary-color \#666666
71+ gset set org.gnome.desktop.background secondary-color \#7F7F7F
72+ gset set org.gnome.desktop.background color-shading-type solid
73+ gset set org.gnome.desktop.interface cursor-size 48
74+ gset set org.gnome.desktop.interface cursor-theme whiteglass
75+ kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/
76+ if [ -d $CHROOT_DIR/usr/share/xubuntu-default-settings/accessibility ]; then
77+ cp -a $CHROOT_DIR/usr/share/xubuntu-default-settings/accessibility/* $CHROOT_DIR/etc/xdg/
78+ fi
79+
80+ if [ -n "$SET_LOGIN" ]; then
81+ gset_lightdm set com.canonical.unity-greeter high-contrast true
82+ fi
83+}
84+
85+set_magnifier()
86+{
87+ # Ubuntu
88+ gset set org.gnome.desktop.a11y.applications screen-magnifier-enabled true
89+ set_orca_config magnifier
90+
91+ # Kubuntu
92+ kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/,/usr/share/kubuntu-default-settings/kde-profile/moderate-visual-impairment/
93+}
94+
95+set_blindness()
96+{
97+ gset set org.gnome.desktop.a11y.applications screen-reader-enabled true
98+ gset set org.gnome.Empathy.conversation theme classic
99+ set_orca_config speech
100+ set_session ubuntu-2d
101+
102+ if [ -n "$SET_LOGIN" ]; then
103+ gset_lightdm set com.canonical.unity-greeter screen-reader true
104+ fi
105+}
106+
107+set_braille()
108+{
109+ gset set org.gnome.desktop.a11y.applications screen-reader-enabled true
110+ gset set org.gnome.Empathy.conversation theme classic
111+ set_orca_config braille
112+ set_session ubuntu-2d
113+
114+ if [ -n "$SET_LOGIN" ]; then
115+ gset_lightdm set com.canonical.unity-greeter screen-reader true
116+ fi
117+}
118+
119+set_keyboard_modifiers()
120+{
121+ gset set org.gnome.desktop.a11y.keyboard mousekeys-enable true
122+ gset set org.gnome.desktop.a11y.keyboard stickykeys-modifier-beep true
123+ gset set org.gnome.settings-daemon.peripherals.keyboard repeat true
124+ gset set org.gnome.settings-daemon.peripherals.keyboard delay 700
125+ gset set org.gnome.settings-daemon.peripherals.keyboard repeat-interval 10
126+ kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/
127+ if [ -e $CHROOT_DIR/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then
128+ sed -i 's/0/1/' $CHROOT_DIR/etc/xdg/xfce4/mcs_settings/keyboard.xml
129+ fi
130+}
131+
132+set_onscreen_keyboard()
133+{
134+ gset set org.gnome.desktop.interface toolkit-accessibility true
135+ gset set org.gnome.desktop.a11y.keyboard stickykeys-modifier-beep false
136+ gset set org.gnome.desktop.a11y.applications screen-keyboard-enabled true
137+
138+ if [ -n "$SET_LOGIN" ]; then
139+ gset_lightdm set com.canonical.unity-greeter onscreen-keyboard true
140+ fi
141+
142+ kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/,/usr/share/kubuntu-default-settings/kde-profile/motor-difficulties-pointing-devices/
143+ if [ -e $CHROOT_DIR/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then
144+ sed -i '/Sticky/ s/0/1/' $CHROOT_DIR/etc/xdg/xfce4/mcs_settings/keyboard.xml
145+ fi
146+}
147+### PROFILE SETTINGS METHODS END HERE ###
148+
149+help()
150+{
151+ cat <<EOF
152+Usage: $0 [-chroot=<root>] [-user=<username>] [-l|-login]
153+ [-i|-initramfs] [-d|-debug] <profilename>
154+
155+-h, -help Display this help.
156+-chroot=<root> Chroot into <root> to apply profile settings, requires a
157+ username to be specified, see below.
158+-user=<username> The user where a profile is to be applied, requires the
159+ script to be run as root. If no username is given, it
160+ is assumed that you wish to apply profile settings for
161+ the current user.
162+-l, -login Apply some of the selected profile settings to the
163+ login manager. Currently this is hard-coded to lightdm.
164+ This requires root privileges.
165+-i, -initramfs Indicate that the script is being called from the
166+ initramfs. Allows the script to assume some values
167+ that can not otherwise be easily determined in an
168+ initramfs environment. Requires that a chroot dir and
169+ user name are specified. See above.
170+-script Create a script to be run at system boot that will
171+ apply all settings for the specified user and for
172+ login. This script will then remove itself. This is
173+ needed to work around gsettings not working in a chroot
174+ environment with no dconf service running.
175+-d|-debug Enable debugging output.
176+<profilename> The name of the profile you wish to apply, see below.
177+
178+The profiles currently available are as follows:
179+high-contrast For users with lesser visual impairments who only need a high
180+ contrast theme, mouse cursor and icons.
181+magnifier For users with moderate visual impairments who require a screen
182+ magnifier.
183+blindness Users who are partially or completely blind who require a screen
184+ reader.
185+braille Users who are partially or completely blind who require a screen
186+ reader and wish to use a Braille display.
187+keyboard-modifiers
188+ Users who have minor motor impairments who require slight
189+ changes to the way their keyboard behaves.
190+onscreen-keyboard
191+ Users with motor impairments who require the use of an
192+ on-screen keyboard.
193+EOF
194+}
195+
196+gset()
197+{
198+ if [ -n "$GLIBBIN_VERSION" ]; then
199+ if [ -n "$STARTUP_SCRIPT" ]; then
200+ echo "gsettings " "$@" >> $CHROOT_DIR/usr/bin/a11y-profile-settings
201+ else
202+ $DO_CHROOT $DO_SUDO gsettings "$@"
203+ fi
204+ fi
205+}
206+
207+gset_lightdm()
208+{
209+ if [ -n "$GLIBBIN_VERSION" ]; then
210+ if [ -n "$STARTUP_SCRIPT" ]; then
211+ echo "gsettings " "$@" >> $CHROOT_DIR/usr/bin/a11y-profile-settings-lightdm
212+ else
213+ $DO_CHROOT sudo -u lightdm gsettings "$@"
214+ fi
215+ fi
216+}
217+
218+# Soon to be deprecated
219+gct()
220+{
221+ if [ -n "$GCONF_VERSION" ]; then
222+ if [ -n "$STARTUP_SCRIPT" ]; then
223+ echo "gconftool-2 " "$@" >> $CHROOT_DIR/usr/bin/a11y-profile-settings
224+ else
225+ $DO_CHROOT $DO_SUDO gconftool-2 "$@"
226+ fi
227+ fi
228+}
229+
230+kderc_addtoprefixes()
231+{
232+ if [ -e $CHROOT_DIR/etc/kde4rc ]; then
233+ sed -i "s|\\(prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/\\)|\\1,$1|" $CHROOT_DIR/etc/kde4rc
234+ fi
235+}
236+
237+# Unfortunately this bloats this script somewhat, but orca doesn't seem to want
238+# to deal with individual settings/a small config fragment.
239+# Arguments: $1 = speech/magnifier/braille (which
240+# accessibility feature to turn on)
241+set_orca_config()
242+{
243+ # Yes, we could use $HOME, but enquiring about $HOME is not easy when
244+ # Outside the target environment, particularly when running from the
245+ # initramfs, and this script is not everything for everybody anyway.
246+ if [ -n "$ORCA_VERSION" ] && ! [ -f "$CHROOT_DIR/home/$USER_NAME/.local/share/orca/user-settings.conf" ]; then
247+ mkdir -p "$CHROOT_DIR/home/$USER_NAME/.local/share/orca"
248+
249+ cat <<EOF > "$CHROOT_DIR/home/$USER_NAME/.local/share/orca/user-settings.conf"
250+{
251+ "pronunciations": {},
252+ "keybindings": {},
253+ "profiles": {
254+ "default": {
255+ "profile": [
256+ "Default",
257+ "default"
258+ ],
259+ "pronunciations": {},
260+ "keybindings": {}
261+ }
262+ },
263+ "general": {
264+ "speakCellHeaders": true,
265+ "magEdgeMargin": 0,
266+ "brailleContractionTable": "",
267+ "magPointerFollowsFocus": false,
268+ "magTextTrackingMode": 2,
269+ "magZoomerBorderSize": 1,
270+ "brailleAlignmentStyle": 0,
271+ "enableEchoByWord": false,
272+ "enableMagZoomerColorInversion": false,
273+ "magCursorSize": 32,
274+ "magSmoothingMode": 0,
275+ "magZoomerLeft": 840,
276+ "showMainWindow": true,
277+ "sayAllStyle": 1,
278+ "brailleSelectorIndicator": 192,
279+ "presentDateFormat": "%x",
280+ "magContrastLevel": 0,
281+ "magMouseTrackingMode": 0,
282+ "speakCellSpan": true,
283+ "progressBarUpdateInterval": 10,
284+ "speakCellCoordinates": true,
285+ "enablePauseBreaks": true,
286+ "brailleEOLIndicator": " $l",
287+ "verbalizePunctuationStyle": 1,
288+ "progressBarVerbosity": 1,
289+ "enableSpeech": false,
290+ "enableBraille": false,
291+ "chatAnnounceBuddyTyping": false,
292+ "speakMultiCaseStringsAsWords": false,
293+ "enableBrailleGrouping": false,
294+ "readTableCellRow": true,
295+ "speechServerFactory": "speechdispatcherfactory",
296+ "textAttributesBrailleIndicator": 0,
297+ "enableMagCursorExplicitSize": false,
298+ "messageVerbosityLevel": 1,
299+ "enableMagLiveUpdating": true,
300+ "enableSpeechIndentation": false,
301+ "enableKeyEcho": true,
302+ "magHideCursor": false,
303+ "magZoomerBorderColor": "#000000",
304+ "magPointerFollowsZoomer": true,
305+ "mouseDwellDelay": 0,
306+ "magBrightnessLevelRed": 0,
307+ "enableMagnifier": false,
308+ "magZoomFactor": 4.0,
309+ "activeProfile": [
310+ "Default",
311+ "default"
312+ ],
313+ "enableMagZoomerBorder": false,
314+ "flashVerbosityLevel": 1,
315+ "enableFlashMessages": true,
316+ "speechServerInfo": null,
317+ "presentToolTips": false,
318+ "flashIsPersistent": false,
319+ "skipBlankCells": false,
320+ "firstStart": false,
321+ "largeObjectTextLength": 75,
322+ "enableEchoBySentence": false,
323+ "magContrastLevelBlue": 0,
324+ "magContrastLevelRed": 0,
325+ "enableContractedBraille": false,
326+ "orcaModifierKeys": [
327+ "Insert",
328+ "KP_Insert"
329+ ],
330+ "enableMagCursor": true,
331+ "speechRequiredStateString": "required",
332+ "quitOrcaNoConfirmation": false,
333+ "brailleRequiredStateString": "required",
334+ "magCursorColor": "#000000",
335+ "enablePositionSpeaking": false,
336+ "magZoomerType": 0,
337+ "onlySpeakDisplayedText": false,
338+ "enableProgressBarUpdates": true,
339+ "wrappedStructuralNavigation": true,
340+ "chatRoomHistories": false,
341+ "brailleVerbosityLevel": 1,
342+ "enableFunctionKeys": true,
343+ "enableModifierKeys": true,
344+ "magCrossHairColor": "#000000",
345+ "enableTutorialMessages": false,
346+ "enableActionKeys": true,
347+ "speakBlankLines": true,
348+ "magColorFilteringMode": 0,
349+ "magZoomerRight": 1680,
350+ "keyboardLayout": 1,
351+ "magTargetDisplay": "",
352+ "disableBrailleEOL": false,
353+ "magZoomerTop": 0,
354+ "magSourceDisplay": "",
355+ "enableDiacriticalKeys": false,
356+ "enableMnemonicSpeaking": false,
357+ "enabledBrailledTextAttributes": "size:; family-name:; weight:400; indent:0; underline:none; strikethrough:false; justification:left; style:normal; text-spelling:none;",
358+ "speechVerbosityLevel": 1,
359+ "enableMagCrossHair": true,
360+ "enableBrailleMonitor": false,
361+ "voices": {
362+ "default": {
363+ "established": false
364+ },
365+ "uppercase": {
366+ "average-pitch": 5.6
367+ },
368+ "system": {
369+ "established": false
370+ },
371+ "hyperlink": {
372+ "established": false
373+ }
374+ },
375+ "magContrastLevelGreen": 0,
376+ "brailleFlashTime": 5000,
377+ "magCrossHairSize": 16,
378+ "enableMouseReview": false,
379+ "enableNavigationKeys": false,
380+ "magBrightnessLevelGreen": 0,
381+ "chatSpeakRoomName": false,
382+ "startingProfile": [
383+ "Default",
384+ "default"
385+ ],
386+ "enableLockingKeys": true,
387+ "profile": [
388+ "Default",
389+ "default"
390+ ],
391+ "brailleRolenameStyle": 1,
392+ "brailleLinkIndicator": 192,
393+ "enableEchoByCharacter": false,
394+ "magBrightnessLevelBlue": 0,
395+ "enableBrailleContext": true,
396+ "magControlTrackingMode": 2,
397+ "magZoomerBottom": 1050,
398+ "enablePrintableKeys": true,
399+ "enabledSpokenTextAttributes": "size:; family-name:; weight:400; indent:0; underline:none; strikethrough:false; justification:left; style:normal; paragraph-style:; text-spelling:none;",
400+ "chatMessageVerbosity": 0,
401+ "presentTimeFormat": "%X",
402+ "magBrightnessLevel": 0,
403+ "presentRequiredState": false,
404+ "enableMagCrossHairClip": false
405+ }
406+}
407+EOF
408+
409+ case "$1" in
410+ magnifier)
411+ sed -i -e 's/\"enableMagnifier\": false/\"enableMagnifier\": true/' "$CHROOT_DIR/home/$USER_NAME/.local/share/orca/user-settings.conf"
412+ ;;
413+ speech)
414+ sed -i -e 's/\"enableSpeech\": false/\"enableSpeech\": true/' "$CHROOT_DIR/home/$USER_NAME/.local/share/orca/user-settings.conf"
415+ ;;
416+ braille)
417+ sed -i -e 's/\"enableBraille\": false/\"enableBraille\": true/' "$CHROOT_DIR/home/$USER_NAME/.local/share/orca/user-settings.conf"
418+ ;;
419+ *)
420+ ;;
421+ esac
422+
423+ if [ "$HOME" = "/root" ] || [ -n "$IN_INITRAMFS" ]; then
424+ chmod 755 "$CHROOT_DIR/home/$USER_NAME/.local/share/orca"
425+ $DO_CHROOT chown $USER_NAME.$USER_NAME -R "/home/$USER_NAME/.local"
426+ fi
427+ fi
428+}
429+
430+set_session()
431+{
432+ local uid=$($DO_CHROOT getent passwd $USER_NAME | awk -F: '{print $3}')
433+
434+ # We need to start the accounts daemon somehow and wait for a half second
435+ # for it to get ready. Calling on AccountsService to set the X session with
436+ # only one call seems to error out, so querying the user by name seems to get
437+ # the daemon going.
438+ if [ -n "$STARTUP_SCRIPT" ]; then
439+ # I don't like having to write the file manually, but during testing I was
440+ # unable to get calls via dbus-send to work.
441+ cat <<EOF > $CHROOT_DIR/var/lib/AccountsService/users/$USER_NAME
442+
443+[User]
444+XSession=$1
445+EOF
446+ else
447+ dbus-send --print-reply --type=method_call --system --dest=org.freedesktop.Accounts /org/freedesktop/Accounts org.freedesktop.Accounts.FindUserByName string:$USER_NAME > /dev/null 2>&1
448+ sleep 1
449+ dbus-send --print-reply --type=method_call --system --reply-timeout=1000 --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User$uid org.freedesktop.Accounts.User.SetXSession string:$1 > /dev/null 2>&1
450+ fi
451+}
452+
453+create_conf()
454+{
455+ cat <<EOF > /tmp/casper-a11y.conf
456+UBIQUITY_A11Y_PROFILE=$1
457+EOF
458+}
459+
460+if [ "$#" = "0" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
461+ help
462+ exit 1
463+fi
464+
465+while [ "$#" -gt 0 ];
466+do
467+ case "$1" in
468+ -chroot=*)
469+ CHROOT_DIR="${1#-chroot=}"
470+ DO_CHROOT="chroot $CHROOT_DIR"
471+ shift
472+ continue
473+ ;;
474+ -user=*)
475+ USER_NAME="${1#-user=}"
476+ DO_SUDO="sudo -u $USER_NAME"
477+ shift
478+ continue
479+ ;;
480+ -l|-login)
481+ SET_LOGIN=1
482+ shift
483+ continue
484+ ;;
485+ -i|-initramfs)
486+ IN_INITRAMFS=1
487+ shift
488+ continue
489+ ;;
490+ -d|-debug)
491+ set -x
492+ shift
493+ continue
494+ ;;
495+ -script)
496+ STARTUP_SCRIPT=1
497+ shift
498+ continue
499+ ;;
500+ *)
501+ PROFILE_NAME="$1"
502+ shift
503+ continue
504+ ;;
505+ esac
506+done
507+
508+if [ -n "$IN_INITRAMFS" ] && [ -z "$CHROOT_DIR" ]; then
509+ echo "Error: In initramfs, but no chroot directory specified."
510+ help
511+ exit 1
512+elif [ -n "$IN_INITRAMFS" ] && [ -z "$USER_NAME" ]; then
513+ echo "Error: In initramfs, but no username specified."
514+ help
515+ exit 1
516+fi
517+
518+if [ -n "$SET_LOGIN" ] && [ "$HOME" != "/root" ] && [ -z "$IN_INITRAMFS" ]; then
519+ echo "Error: Setting up accessibility for login requires root privileges."
520+ help
521+ exit 1
522+fi
523+
524+
525+if [ -n "$CHROOT_DIR" ] || [ -n "$USER_NAME" ]; then
526+ if [ "$HOME" != "/root" ] && [ -z "$IN_INITRAMFS" ]; then
527+ echo "Error: You are not running as root."
528+ help
529+ exit 1
530+ fi
531+fi
532+
533+if [ -n "$CHROOT_DIR" ]; then
534+ if [ ! -d "$CHROOT_DIR" ]; then
535+ echo "Error: Target chroot directory does not exist, or you do not have permission to access it."
536+ exit 1
537+ fi
538+ if [ -z "$IN_INITRAMFS" ] && ! type chroot >/dev/null 2>&1 ; then
539+ echo "Error: Chroot command not available in running environment."
540+ exit 1
541+ fi
542+fi
543+
544+if [ -n "$STARTUP_SCRIPT" ]; then
545+ if [ -z "$USER_NAME" ]; then
546+ echo "Error: You have requested to create a startup script, but no user was specified."
547+ exit 1
548+ fi
549+ if [ "$HOME" != "/root" ] && [ -z "$IN_INITRAMFS" ]; then
550+ echo "Error: You have requested to create a startup script, but you do not have root"
551+ echo "privileges."
552+ exit 1
553+ fi
554+ if [ -z "$CHROOT_DIR" ]; then
555+ echo "Error: You have requested to create a startup script, but you did not specify"
556+ echo "a target directory to chroot to."
557+ exit 1
558+ fi
559+fi
560+
561+# If no username was entered on the command line, grab the name of the current
562+# user, so we can write files to their home directory.
563+if [ -z "$USER_NAME" ]; then
564+ if [ -z "$USER" ]; then
565+ USER_NAME="${HOME#/home/}"
566+ else
567+ USER_NAME="$USER"
568+ fi
569+fi
570+
571+# Check to see if a few necessary packages are present in the target
572+# environment.
573+GCONF_VERSION=$($DO_CHROOT /usr/bin/dpkg-query -W --showformat='${Version}' gconf2 2>/dev/null) || GCONF_VERSION=""
574+GLIBBIN_VERSION=$($DO_CHROOT /usr/bin/dpkg-query -W --showformat='${Version}' libglib2.0-bin 2>/dev/null) || GLIBBIN_VERSION=""
575+ORCA_VERSION=$($DO_CHROOT /usr/bin/dpkg-query -W --showformat='${Version}' gnome-orca 2>/dev/null) || ORCA_VERSION=""
576+
577+if [ -n "$STARTUP_SCRIPT" ]; then
578+ cat <<EOF > $CHROOT_DIR/etc/init/a11y-profile-settings.conf
579+# a11y-profile-settings - A job to set up accessibility settings
580+
581+description "Accessib ility profile settings"
582+
583+start on runlevel [2345]
584+
585+umask 022
586+
587+script
588+ sudo -u $USER_NAME /usr/bin/dbus-launch --exit-with-session /usr/bin/a11y-profile-settings
589+ sudo -u lightdm /usr/bin/dbus-launch --exit-with-session /usr/bin/a11y-profile-settings-lightdm
590+ rm /usr/bin/a11y-profile-settings /usr/bin/a11y-profile-settings-lightdm
591+ rm /etc/init/a11y-profile-settings.conf
592+end script
593+EOF
594+ cat <<EOF > $CHROOT_DIR/usr/bin/a11y-profile-settings
595+#!/bin/sh
596+
597+# Created by the casper accessibility profile settings script on
598+# $(date).
599+
600+# This script deletes itself once run.
601+
602+EOF
603+ cat <<EOF > $CHROOT_DIR/usr/bin/a11y-profile-settings-lightdm
604+#!/bin/sh
605+
606+# Created by the casper accessibility profile settings script on
607+# $(date).
608+
609+# This script deletes itself once run.
610+
611+EOF
612+fi
613+
614+case $PROFILE_NAME in
615+ high-contrast)
616+ set_common_lowvis
617+ set_high_contrast
618+ create_conf $PROFILE_NAME
619+ ;;
620+ magnifier)
621+ set_common_lowvis
622+ set_magnifier
623+ create_conf $PROFILE_NAME
624+ ;;
625+ blindness)
626+ set_common_lowvis
627+ set_blindness
628+ create_conf screen-reader
629+ ;;
630+ braille)
631+ set_common_lowvis
632+ set_braille
633+ create_conf $PROFILE_NAME
634+ ;;
635+ keyboard-modifiers)
636+ set_common_motor
637+ set_keyboard_modifiers
638+ create_conf $PROFILE_NAME
639+ ;;
640+ onscreen-keyboard)
641+ set_common_motor
642+ set_onscreen_keyboard
643+ create_conf $PROFILE_NAME
644+ ;;
645+esac
646+
647+if [ -n "$STARTUP_SCRIPT" ]; then
648+ chmod 755 $CHROOT_DIR/usr/bin/a11y-profile-settings*
649+fi
650
651=== modified file 'bin/casper-preseed'
652--- bin/casper-preseed 2006-10-16 15:05:58 +0000
653+++ bin/casper-preseed 2012-04-23 12:22:18 +0000
654@@ -2,18 +2,25 @@
655 set -e
656 PATH=/usr/sbin:/usr/bin:/sbin:/bin
657
658+# Only do this once.
659+if [ -z "$DEBCONF_REDIR" ]; then
660+ exec <&4
661+ export DEBIAN_HAS_FRONTEND=1
662+ export DEBCONF_REDIR=1
663+fi
664+
665 root="$1"
666+. "$root/usr/share/debconf/confmodule"
667+
668 question="$2"
669 value="$3"
670 seen="$4"
671 [ "$seen" ] || seen=true
672
673-if ! (echo "SET $question $value"; echo "FSET $question seen $seen") | chroot "$1" debconf-communicate -fnoninteractive casper >/dev/null; then
674- chroot "$1" debconf-communicate -fnoninteractive casper >/dev/null <<EOF
675-REGISTER debian-installer/dummy $question
676-SET $question $value
677-FSET $question seen $seen
678-EOF
679+if ! db_set "$question" "$value"; then
680+ db_register debian-installer/dummy "$question"
681+ db_set "$question" "$value"
682 fi
683+db_fset "$question" seen "$seen"
684
685 exit 0
686
687=== modified file 'bin/casper-reconfigure'
688--- bin/casper-reconfigure 2007-02-07 13:56:55 +0000
689+++ bin/casper-reconfigure 2012-04-23 12:22:18 +0000
690@@ -47,6 +47,9 @@
691 exit 0
692 fi
693
694+unset DEBIAN_HAS_FRONTEND
695+unset DEBIAN_FRONTEND
696+unset DEBCONF_REDIR
697 runcommandinroot "$root" dpkg-reconfigure -fnoninteractive --no-reload "$package"
698
699 exit 0
700
701=== added file 'bin/casper-set-selections'
702--- bin/casper-set-selections 1970-01-01 00:00:00 +0000
703+++ bin/casper-set-selections 2012-04-23 12:22:18 +0000
704@@ -0,0 +1,93 @@
705+#!/bin/sh
706+# Cloned-and-hacked from preseed/debconf-set-selections for casper.
707+set -e
708+
709+OLDIFS="$IFS"
710+CR=$(echo -en "\r")
711+NL="
712+"
713+
714+. /scripts/casper-functions
715+load_confmodule
716+
717+# Returns the first field in the current line
718+first_field() {
719+ echo "$line" | grep -q "[[:space:]]" || return 1
720+ echo "$line" | sed -r 's/^([^[:space:]]*).*/\1/'
721+}
722+
723+# Returns any fields after the first field in the current line
724+rest_line() {
725+ if echo "$line" | grep -q "[[:space:]]"; then
726+ echo "$line" | sed 's/^[^[:space:]]*[[:space:]]*//'
727+ fi
728+}
729+
730+SEEN=1
731+if [ "$1" = --unseen ]; then
732+ SEEN=
733+ shift
734+fi
735+
736+file="$1"
737+
738+parse_error() {
739+ echo "Error parsing preconfiguration file: $*" >&2
740+ exit 1
741+}
742+
743+IFS="$NL"
744+multiline=""
745+# TODO: this squashes \r elsewhere in the line too
746+for line in $(grep -v '^#\|^[[:space:]]*$' "$file" | sed "s/$CR//g"); do
747+ IFS="$OLDIFS"
748+
749+ line="$(echo "$line" | sed 's/^[[:space:]]*//')"
750+ if echo "$line" | grep -q '\\$'; then
751+ multiline="${multiline:+$multiline }$(echo "$line" | \
752+ sed 's/[[:space:]]*\\$//')"
753+ continue
754+ elif [ -n "$multiline" ]; then
755+ line="$multiline $line"
756+ multiline=""
757+ fi
758+ echo "$line" >>/tmp/casper-preseed.log
759+
760+ package=""
761+ var=""
762+ type=""
763+ val=""
764+ if ! package="$(first_field)"; then
765+ parse_error "Syntax error: unable to determine template owner"
766+ fi
767+ line="$(rest_line)"
768+ if ! var="$(first_field)"; then
769+ parse_error "Syntax error: unable to determine template name"
770+ fi
771+ line="$(rest_line)"
772+ if ! type="$(first_field)"; then
773+ # Allow for lines without separator before an empty value
774+ if [ "$line" ]; then
775+ type="$line"
776+ else
777+ parse_error "Syntax error: unable to determine template type"
778+ fi
779+ fi
780+ line="$(rest_line)"
781+ val="$line"
782+
783+ if [ "$type" = seen ]; then
784+ # Set seen flag.
785+ db_fset "$var" "$type" "$val" || true # how to handle this error?
786+ else
787+ if ! db_set "$var" "$val"; then
788+ # Question does not exist yet.
789+ db_register debian-installer/dummy "$var"
790+ db_set "$var" "$val"
791+ db_subst "$var" ID "$var"
792+ fi
793+ if [ "$SEEN" ]; then
794+ db_fset "$var" seen true
795+ fi
796+ fi
797+done
798
799=== modified file 'bin/casper-snapshot'
800--- bin/casper-snapshot 2009-06-12 11:46:49 +0000
801+++ bin/casper-snapshot 2012-04-23 12:22:18 +0000
802@@ -215,7 +215,7 @@
803 fi
804 else
805 if [ -b "${dev}" ] ; then
806- try_mount "${dev}" "${MOUNTP}" rw
807+ try_mount "${dev}" "${MOUNTP}" rw || panic "failed to mount ${dev}"
808 fi
809 fi
810 }
811
812=== added file 'bin/casper-update-initramfs'
813--- bin/casper-update-initramfs 1970-01-01 00:00:00 +0000
814+++ bin/casper-update-initramfs 2012-04-23 12:22:18 +0000
815@@ -0,0 +1,25 @@
816+#! /bin/sh
817+set -e
818+update-initramfs.distrib "$@"
819+if [ -e /initrd.img ]; then
820+ bootdir=
821+else
822+ bootdir=/boot
823+fi
824+# initrd.img may exist when vmlinuz doesn't; for example, if
825+# update-initramfs is run on a fresh live USB stick without upgrading the
826+# kernel.
827+if [ -e "$bootdir/initrd.img" ]; then
828+ if [ -e /cdrom/casper/initrd.lz ]; then
829+ zcat "$bootdir/initrd.img" | lzma -9c >/cdrom/casper/initrd.lz.new
830+ mv /cdrom/casper/initrd.lz.new /cdrom/casper/initrd.lz
831+ else
832+ cp "$bootdir/initrd.img" /cdrom/casper/initrd.gz.new
833+ mv /cdrom/casper/initrd.gz.new /cdrom/casper/initrd.gz
834+ fi
835+fi
836+if [ -e "$bootdir/vmlinuz" ]; then
837+ cp "$bootdir/vmlinuz" /cdrom/casper/vmlinuz.new
838+ mv /cdrom/casper/vmlinuz.new /cdrom/casper/vmlinuz
839+fi
840+exit 0
841
842=== modified file 'casper-md5check/Makefile'
843--- casper-md5check/Makefile 2009-01-30 11:27:37 +0000
844+++ casper-md5check/Makefile 2012-04-23 12:22:18 +0000
845@@ -1,6 +1,7 @@
846
847 CC=gcc
848-CFLAGS=$(getconf LFS_CFLAGS) -Wall -O2
849+CFLAGS := $(shell getconf LFS_CFLAGS) -Wall -O2 -g $(shell pkg-config --cflags ply-boot-client)
850+LDLIBS=$(shell pkg-config --libs ply-boot-client)
851
852 casper-md5check: casper-md5check.c md5.c
853
854
855=== modified file 'casper-md5check/casper-md5check.c'
856--- casper-md5check/casper-md5check.c 2009-01-30 11:27:37 +0000
857+++ casper-md5check/casper-md5check.c 2012-04-23 12:22:18 +0000
858@@ -1,6 +1,7 @@
859-/* casper-md5check - a tool to check md5sums and talk to usplash
860- (C) Canonical Ltd 2006
861+/* casper-md5check - a tool to check md5sums and talk to plymouth
862+ (C) Canonical Ltd 2006, 2010
863 Written by Tollef Fog Heen <tfheen@ubuntu.com>
864+ Ported to plymouth by Steve Langasek <steve.langasek@ubuntu.com>
865
866 This program is free software; you can redistribute it and/or
867 modify it under the terms of the GNU General Public License as
868@@ -32,13 +33,19 @@
869 #include <math.h>
870 #include <termios.h>
871
872-#define USPLASH_FIFO "/dev/.initramfs/usplash_fifo"
873-#define MAXTRIES 5
874+#include <ply-boot-client.h>
875+#include <ply-event-loop.h>
876+
877 #include "md5.h"
878 #define DEBUG
879
880+#define MD5_LEN 16
881+
882 static int verbose = 1;
883-static int got_usplash = 0;
884+static int got_plymouth = 0;
885+static ply_event_loop_t *ply_event_loop = NULL;
886+
887+int set_nocanonical_tty(int fd);
888
889 void parse_cmdline(void) {
890 FILE *cmdline = fopen("/proc/cmdline", "r");
891@@ -60,73 +67,54 @@
892 fclose(cmdline);
893 }
894
895-int write_and_retry(int fd, char *s) {
896- int try = 0, ret = 0;
897- char *end;
898-
899-#ifdef DEBUG
900- fprintf(stderr, "-> %s\n", s);
901-#endif
902-
903- end = s + strlen(s)+1;
904-
905- ret = write(fd, s, end - s);
906- while (s + ret < end && try < MAXTRIES) {
907- sleep(1);
908- s += ret;
909- ret = write(fd, s, strlen(s)+1);
910- try++;
911- }
912- return (s+ret == end ? 0 : 1);
913-}
914-
915-void usplash_timeout(int fd, int timeout) {
916+void plymouth_disconnected(void *user_data, ply_boot_client_t *client) {
917+ printf("Disconnected from Plymouth\n");
918+ got_plymouth = 0;
919+ ply_event_loop_exit(ply_event_loop, 0);
920+}
921+
922+void plymouth_answer(void *user_data, const char *keys,
923+ ply_boot_client_t *client)
924+{
925+ ply_event_loop_exit(ply_event_loop, 0);
926+}
927+
928+void plymouth_response(void *user_data, ply_boot_client_t *client) {
929+ /* No response */
930+}
931+
932+void plymouth_failure(ply_boot_client_t *client, char *format, ...) {
933 char *s;
934-
935- if (!got_usplash)
936- return;
937-
938- asprintf(&s, "TIMEOUT %d", timeout);
939-
940- write_and_retry(fd, s);
941-
942- free(s);
943-}
944-
945-void usplash_failure(int fd, char *format, ...) {
946- char *s, *s1;
947 va_list argp;
948
949 va_start(argp, format);
950 vasprintf(&s, format, argp);
951 va_end(argp);
952
953- if (got_usplash) {
954- asprintf(&s1, "FAILURE %s", s);
955-
956- write_and_retry(fd, s1);
957-
958- free(s1);
959+ if (got_plymouth) {
960+ ply_boot_client_tell_daemon_to_display_message(client, s,
961+ plymouth_response,
962+ plymouth_response, NULL);
963+ ply_event_loop_process_pending_events(ply_event_loop);
964 } else if (verbose)
965 printf("%s\n", s);
966
967 free(s);
968 }
969
970-void usplash_text(int fd, char *format, ...) {
971- char *s, *s1;
972+void plymouth_text(ply_boot_client_t *client, char *format, ...) {
973+ char *s;
974 va_list argp;
975
976 va_start(argp, format);
977 vasprintf(&s, format, argp);
978 va_end(argp);
979
980- if (got_usplash) {
981- asprintf(&s1, "TEXT %s", s);
982-
983- write_and_retry(fd, s1);
984-
985- free(s1);
986+ if (got_plymouth) {
987+ ply_boot_client_tell_daemon_to_display_message(client, s,
988+ plymouth_response,
989+ plymouth_response, NULL);
990+ ply_event_loop_process_pending_events(ply_event_loop);
991 } else if (verbose) {
992 printf("%s...", s);
993 fflush(stdout);
994@@ -135,7 +123,7 @@
995 free(s);
996 }
997
998-void usplash_urgent(int fd, char *format, ...) {
999+void plymouth_prompt(ply_boot_client_t *client, char *format, ...) {
1000 char *s, *s1;
1001 va_list argp;
1002
1003@@ -143,12 +131,41 @@
1004 vasprintf(&s, format, argp);
1005 va_end(argp);
1006
1007- if (got_usplash) {
1008- asprintf(&s1, "TEXT-URGENT %s", s);
1009-
1010- write_and_retry(fd, s1);
1011-
1012- free(s1);
1013+ if (got_plymouth) {
1014+ asprintf(&s1, "keys:%s", s);
1015+ ply_boot_client_tell_daemon_to_display_message(client, s1,
1016+ plymouth_response,
1017+ plymouth_response, NULL);
1018+
1019+ ply_boot_client_ask_daemon_to_watch_for_keystroke(client, NULL,
1020+ plymouth_answer,
1021+ (ply_boot_client_response_handler_t)plymouth_answer, NULL);
1022+ ply_event_loop_run(ply_event_loop);
1023+ ply_boot_client_attach_to_event_loop(client, ply_event_loop);
1024+ ply_boot_client_tell_daemon_to_quit(client, 1, plymouth_response,
1025+ plymouth_response, NULL);
1026+ ply_event_loop_run(ply_event_loop);
1027+ } else {
1028+ printf("%s\n", s);
1029+ set_nocanonical_tty(0);
1030+ getchar();
1031+ }
1032+ free(s);
1033+}
1034+
1035+void plymouth_urgent(ply_boot_client_t *client, char *format, ...) {
1036+ char *s;
1037+ va_list argp;
1038+
1039+ va_start(argp, format);
1040+ vasprintf(&s, format, argp);
1041+ va_end(argp);
1042+
1043+ if (got_plymouth) {
1044+ ply_boot_client_tell_daemon_to_display_message(client, s,
1045+ plymouth_response,
1046+ plymouth_response, NULL);
1047+ ply_event_loop_process_pending_events(ply_event_loop);
1048 } else
1049 printf("%s\n", s);
1050
1051@@ -156,27 +173,26 @@
1052 }
1053
1054
1055-void usplash_success(int fd, char *format, ...) {
1056- char *s, *s1;
1057+void plymouth_success(ply_boot_client_t *client, char *format, ...) {
1058+ char *s;
1059 va_list argp;
1060
1061 va_start(argp, format);
1062 vasprintf(&s, format, argp);
1063 va_end(argp);
1064
1065- if (got_usplash) {
1066- asprintf(&s1, "SUCCESS %s", s);
1067-
1068- write_and_retry(fd, s1);
1069-
1070- free(s1);
1071+ if (got_plymouth) {
1072+ ply_boot_client_tell_daemon_to_display_message(client, s,
1073+ plymouth_response,
1074+ plymouth_response, NULL);
1075+ ply_event_loop_process_pending_events(ply_event_loop);
1076 } else if (verbose)
1077 printf("%s\n", s);
1078
1079 free(s);
1080 }
1081
1082-void usplash_progress(int fd, int progress) {
1083+void plymouth_progress(ply_boot_client_t *client, int progress) {
1084 static int prevprogress = -1;
1085 char *s;
1086
1087@@ -184,11 +200,11 @@
1088 return;
1089 prevprogress = progress;
1090
1091- if (got_usplash) {
1092- asprintf(&s, "PROGRESS %d", progress);
1093-
1094- write_and_retry(fd, s);
1095-
1096+ if (got_plymouth) {
1097+ asprintf(&s, "md5check:verifying:%d", progress);
1098+ ply_boot_client_update_daemon(client, s, plymouth_response,
1099+ plymouth_response, NULL);
1100+ ply_event_loop_process_pending_events(ply_event_loop);
1101 free(s);
1102 } else {
1103 printf("%d%%...", progress);
1104@@ -208,17 +224,27 @@
1105 return tcsetattr(fd, TCSANOW, &t);
1106 }
1107
1108+int is_md5sum(const char *checksum)
1109+{
1110+ if (strlen(checksum) != MD5_LEN * 2)
1111+ return 0;
1112+ if (strspn(checksum, "0123456789abcdef") != MD5_LEN * 2)
1113+ return 0;
1114+ return 1;
1115+}
1116+
1117 int main(int argc, char **argv) {
1118
1119- int pipe_fd, check_fd;
1120+ int check_fd;
1121 int failed = 0;
1122
1123 FILE *md5_file;
1124 md5_state_t state;
1125- md5_byte_t digest[16];
1126- char hex_output[16*2 + 1];
1127+ md5_byte_t digest[MD5_LEN];
1128+ char hex_output[MD5_LEN * 2 + 1];
1129 char *checksum, *checkfile;
1130 ssize_t tsize, csize;
1131+ ply_boot_client_t *client = NULL;
1132
1133 tsize = 0;
1134 csize = 0;
1135@@ -236,18 +262,23 @@
1136
1137 parse_cmdline();
1138
1139- pipe_fd = open(USPLASH_FIFO, O_WRONLY|O_NONBLOCK);
1140-
1141- if (pipe_fd == -1) {
1142+ client = ply_boot_client_new();
1143+ if (client)
1144+ ply_event_loop = ply_event_loop_new();
1145+ if (ply_event_loop)
1146+ ply_boot_client_attach_to_event_loop(client, ply_event_loop);
1147+
1148+ if (!client || !ply_event_loop || !ply_boot_client_connect(client, plymouth_disconnected, NULL))
1149+ {
1150 /* Fall back to text output */
1151- perror("Opening pipe");
1152- got_usplash = 0;
1153+ perror("Connecting to plymouth");
1154+ got_plymouth = 0;
1155 } else
1156- got_usplash = 1;
1157-
1158-
1159- usplash_progress(pipe_fd, 0);
1160- usplash_urgent(pipe_fd, "Checking integrity, this may take some time");
1161+ got_plymouth = 1;
1162+
1163+
1164+ plymouth_progress(client, 0);
1165+ plymouth_urgent(client, "Checking integrity, this may take some time");
1166 md5_file = fopen(argv[2], "r");
1167 if (!md5_file) {
1168 perror("fopen md5_file");
1169@@ -256,6 +287,9 @@
1170 while (fscanf(md5_file, "%as %a[^\n]", &checksum, &checkfile) == 2) {
1171 struct stat statbuf;
1172
1173+ if (!is_md5sum(checksum))
1174+ continue;
1175+
1176 if (stat(checkfile, &statbuf) == 0) {
1177 tsize += statbuf.st_size;
1178 }
1179@@ -270,14 +304,16 @@
1180 ssize_t rsize;
1181 int i;
1182
1183+ if (!is_md5sum(checksum))
1184+ continue;
1185+
1186 md5_init(&state);
1187
1188- usplash_text(pipe_fd, "Checking %s", checkfile);
1189+ plymouth_text(client, "Checking %s", checkfile);
1190
1191 check_fd = open(checkfile, O_RDONLY);
1192 if (check_fd < 0) {
1193- usplash_timeout(pipe_fd, 300);
1194- usplash_failure(pipe_fd, "%s", strerror(errno));
1195+ plymouth_failure(client, "%s: %s", checkfile, strerror(errno));
1196 sleep(10);
1197 }
1198
1199@@ -285,7 +321,7 @@
1200
1201 while (rsize > 0) {
1202 csize += rsize;
1203- usplash_progress(pipe_fd, 100*((long double)csize)/tsize);
1204+ plymouth_progress(client, 100*((long double)csize)/tsize);
1205
1206 md5_append(&state, (const md5_byte_t *)buf, rsize);
1207 rsize = read(check_fd, buf, sizeof(buf));
1208@@ -294,13 +330,13 @@
1209 close(check_fd);
1210 md5_finish(&state, digest);
1211
1212- for (i = 0; i < 16; i++)
1213+ for (i = 0; i < MD5_LEN; i++)
1214 sprintf(hex_output + i * 2, "%02x", digest[i]);
1215
1216 if (strncmp(hex_output, checksum, strlen(hex_output)) == 0) {
1217- usplash_success(pipe_fd, "OK");
1218+ plymouth_success(client, "%s: OK", checkfile);
1219 } else {
1220- usplash_failure(pipe_fd, "mismatch");
1221+ plymouth_failure(client, "%s: mismatch", checkfile);
1222 failed++;
1223 }
1224 free(checksum);
1225@@ -308,14 +344,13 @@
1226 }
1227 fclose(md5_file);
1228 if (failed) {
1229- usplash_urgent(pipe_fd, "Check finished: errors found in %d files!", failed);
1230+ plymouth_urgent(client, "Check finished: errors found in %d files!", failed);
1231 } else {
1232- usplash_urgent(pipe_fd, "Check finished: no errors found");
1233+ plymouth_urgent(client, "Check finished: no errors found");
1234 }
1235- usplash_urgent(pipe_fd, "Press any key to reboot your system");
1236- usplash_timeout(pipe_fd, 86400);
1237- set_nocanonical_tty(0);
1238- getchar();
1239+
1240+ plymouth_prompt(client, "Press any key to reboot your system");
1241+
1242 reboot(LINUX_REBOOT_CMD_RESTART);
1243 return 0;
1244
1245
1246=== modified file 'casper.conf'
1247--- casper.conf 2007-02-07 11:05:56 +0000
1248+++ casper.conf 2012-04-23 12:22:18 +0000
1249@@ -1,8 +1,14 @@
1250 # This file should go in /etc/casper.conf
1251 # Supported variables are:
1252-# USERNAME, USERFULLNAME, HOST, BUILD_SYSTEM
1253+# USERNAME, USERFULLNAME, HOST, BUILD_SYSTEM, FLAVOUR
1254
1255 export USERNAME="ubuntu"
1256 export USERFULLNAME="Live session user"
1257 export HOST="ubuntu"
1258 export BUILD_SYSTEM="Ubuntu"
1259+
1260+# USERNAME and HOSTNAME as specified above won't be honoured and will be set to
1261+# flavour string acquired at boot time, unless you set FLAVOUR to any
1262+# non-empty string.
1263+
1264+# export FLAVOUR="Ubuntu"
1265
1266=== modified file 'conf.d/compcache'
1267--- conf.d/compcache 2008-09-12 08:13:38 +0000
1268+++ conf.d/compcache 2012-04-23 12:22:18 +0000
1269@@ -1,1 +1,1 @@
1270-COMPCACHE_SIZE="25%"
1271+COMPCACHE_SIZE="50%"
1272
1273=== added file 'debian/bzr-builddeb.conf'
1274--- debian/bzr-builddeb.conf 1970-01-01 00:00:00 +0000
1275+++ debian/bzr-builddeb.conf 2012-04-23 12:22:18 +0000
1276@@ -0,0 +1,2 @@
1277+[BUILDDEB]
1278+native = True
1279
1280=== modified file 'debian/casper.init'
1281--- debian/casper.init 2009-10-09 14:59:34 +0000
1282+++ debian/casper.init 2012-04-23 12:22:18 +0000
1283@@ -46,7 +46,7 @@
1284 find "$path" -type f | xargs cat > /dev/null 2>&1
1285 elif [ -f "$path" ]; then
1286 if [ -x "$path" ]; then
1287- if file "$path" | grep -q 'dynamically linked'; then
1288+ if file -L "$path" | grep -q 'dynamically linked'; then
1289 for lib in $(ldd "$path" | awk '{ print $3 }'); do
1290 cache_path "$lib"
1291 done
1292@@ -76,38 +76,64 @@
1293 # (archdetect), but since this is mostly only relevant for
1294 # installations, who cares ...
1295 if type archdetect >/dev/null 2>&1; then
1296- subarch="$(archdetect)"
1297- case $subarch in
1298- arm*/imx51)
1299- return 0
1300- ;;
1301- esac
1302+ subarch="$(archdetect)"
1303+ case $subarch in
1304+ arm*/imx51)
1305+ return 0
1306+ ;;
1307+ esac
1308 fi
1309
1310 prompt=1
1311 if grep -qs noprompt /proc/cmdline; then
1312- prompt=
1313+ prompt=
1314 fi
1315
1316- for path in $(which halt) $(which reboot) /etc/rc?.d /etc/default $(which stty); do
1317+ for path in $(which halt) $(which reboot) /etc/rc?.d /etc/default $(which stty) /bin/plymouth /sbin/usplash_write; do
1318 cache_path "$path"
1319 done
1320
1321+ device="$(grep " /cdrom " /proc/mounts | cut -d' ' -f1)" || device=
1322+ # If /cdrom isn't mounted, don't try to eject it
1323+ if [ -z "$device" ]; then
1324+ return 0
1325+ fi
1326+
1327+ # If the device exists but can't be found in /sys/block, it's most likely a partition
1328+ # so unmount it (lazy mode) and sync
1329+ if [ -b "$device" ] && [ ! -f "/sys/block/$(basename $device)/removable" ]; then
1330+ umount -l $device >/dev/null 2>&1
1331+ sync
1332+ return 0
1333+ fi
1334+
1335+ # If we're still there, then we're probably a cdrom or other media
1336+ # ship the eject if the kernel says the media isn't removable
1337+ if [ "$(cat /sys/block/$(basename $device)/removable)" = "0" ]; then
1338+ return 0
1339+ fi
1340+
1341 eject -p -m /cdrom >/dev/null 2>&1
1342
1343 [ "$prompt" ] || return 0
1344
1345- stty sane < /dev/console
1346-
1347 # XXX - i18n
1348- echo "Please remove the disc and close the tray (if any) then press ENTER: " > /dev/console
1349- if [ -x /sbin/usplash_write ]; then
1350- /sbin/usplash_write "TIMEOUT 86400"
1351- /sbin/usplash_write "TEXT-URGENT Please remove the disc, close the tray (if any)"
1352- /sbin/usplash_write "TEXT-URGENT and press ENTER to continue"
1353+ MSG="Please remove installation media and close the tray (if any) then press ENTER: "
1354+
1355+ if [ -x /bin/plymouth ] && plymouth --ping; then
1356+ plymouth message --text="$MSG"
1357+ plymouth watch-keystroke > /dev/null
1358+ else
1359+ stty sane < /dev/console
1360+
1361+ echo $MSG > /dev/console
1362+ if [ -x /sbin/usplash_write ]; then
1363+ /sbin/usplash_write "TIMEOUT 86400"
1364+ /sbin/usplash_write "TEXT-URGENT Please remove installation media, close the tray"
1365+ /sbin/usplash_write "TEXT-URGENT (if any) and press ENTER to continue"
1366+ fi
1367+ read x < /dev/console
1368 fi
1369-
1370- read x < /dev/console
1371 }
1372
1373 case "$1" in
1374
1375=== modified file 'debian/casper.install'
1376--- debian/casper.install 2009-09-23 14:21:43 +0000
1377+++ debian/casper.install 2012-04-23 12:22:18 +0000
1378@@ -1,9 +1,12 @@
1379+bin/casper-a11y-enable usr/bin
1380 bin/casper-getty sbin
1381 bin/casper-login sbin
1382 bin/casper-new-uuid sbin
1383 bin/casper-preseed usr/share/casper
1384 bin/casper-reconfigure usr/share/casper
1385+bin/casper-set-selections usr/share/casper
1386 bin/casper-snapshot sbin
1387+bin/casper-update-initramfs usr/share/casper
1388 hooks usr/share/initramfs-tools
1389 scripts usr/share/initramfs-tools
1390 conf.d usr/share/initramfs-tools
1391
1392=== modified file 'debian/casper.postinst'
1393--- debian/casper.postinst 2006-07-21 11:19:15 +0000
1394+++ debian/casper.postinst 2012-04-23 12:22:18 +0000
1395@@ -1,5 +1,15 @@
1396 #! /bin/sh
1397
1398+# If running from writable media, make sure that update-initramfs is
1399+# properly a symlink.
1400+if [ "$1" = configure ] && dpkg --compare-versions "$2" lt-nl 1.253 && \
1401+ [ -w /cdrom ] && [ -e /usr/sbin/update-initramfs.distrib ] && \
1402+ [ ! -L /usr/sbin/update-initramfs ] && \
1403+ fgrep -qs update-initramfs.distrib /usr/sbin/update-initramfs; then
1404+ ln -nsf /usr/share/casper/casper-update-initramfs \
1405+ /usr/sbin/update-initramfs
1406+fi
1407+
1408 update-initramfs -u
1409
1410 #DEBHELPER#
1411
1412=== modified file 'debian/changelog'
1413--- debian/changelog 2010-09-28 23:07:27 +0000
1414+++ debian/changelog 2012-04-23 12:22:18 +0000
1415@@ -1,4 +1,994 @@
1416-casper (1.211) UNRELEASED; urgency=low
1417+casper (1.316) UNRELEASED; urgency=low
1418+
1419+ * Add dependency on cifs-utils for cifs NETBOOT support of desktop images.
1420+ * Disable network-manager when installing from NETBOOT, otherwise we
1421+ loose access to the media when NM starts, causing the system to freeze.
1422+
1423+ -- Stéphane Graber <stgraber@ubuntu.com> Mon, 23 Apr 2012 14:12:30 +0200
1424+
1425+casper (1.315) precise; urgency=low
1426+
1427+ * Fix sed call for rc_domain (LP: #973794)
1428+ * Ensure resulting resolv.conf is always clean and valid.
1429+
1430+ -- Stéphane Graber <stgraber@ubuntu.com> Wed, 18 Apr 2012 11:33:49 +0200
1431+
1432+casper (1.314) precise; urgency=low
1433+
1434+ * bin/casper-a11y-enable: Call dbus-send with the --print-reply command-line
1435+ argument, and send the output to null, as we don't need it. For some
1436+ reason dbus-send only executes our commands when --print-reply is given.
1437+
1438+ -- Luke Yelavich <themuso@ubuntu.com> Tue, 03 Apr 2012 11:36:32 +1000
1439+
1440+casper (1.313) precise; urgency=low
1441+
1442+ * bin/casper-a11y-enable:
1443+ - Remove code to create a sudoers config file that is no longer needed
1444+ in the at-spi dbus world we now live in, thanks to Attila Hammer for
1445+ the patch. (LP: #964985)
1446+ - Disable the calendar in all low vision accessibility profiles as it has
1447+ issues with keyboard navigation, thanks to Attila Hammer for the patch.
1448+ (LP: #965015)
1449+ - Do not hard code the ubuntu-2d session name in the set_session method.
1450+ * ubiquity-hooks/30accessibility:
1451+ - Use the orca settings from the live session for unity-greeter on the
1452+ installed system, thanks to Attila Hammer for the patch. (LP: #968929)
1453+
1454+ -- Luke Yelavich <themuso@ubuntu.com> Mon, 02 Apr 2012 16:39:26 +1000
1455+
1456+casper (1.312) precise; urgency=low
1457+
1458+ * bin/casper-reconfigure: Unset DEBIAN_HAS_FRONTEND, DEBIAN_FRONTEND, and
1459+ DEBCONF_REDIR so that casper-reconfigure properly uses the
1460+ noninteractive frontend when invoked from a ubiquity target-config hook
1461+ (LP: #955617).
1462+
1463+ -- Colin Watson <cjwatson@ubuntu.com> Mon, 19 Mar 2012 22:06:38 +0000
1464+
1465+casper (1.311) precise; urgency=low
1466+
1467+ * LightDM on kubuntu-active wants to start ubuntu.desktop,
1468+ workaround in 15autologin for now
1469+
1470+ -- Jonathan Riddell <jriddell@ubuntu.com> Thu, 15 Mar 2012 11:56:25 +0000
1471+
1472+casper (1.310) precise; urgency=low
1473+
1474+ * bin/casper-a11y-enable:
1475+ - Use the unity-greeter gsettings keys for accessibility settings.
1476+ - Enable high contrast in unity-greeter when the high contrast profile
1477+ is selected.
1478+ - Remove functionality to set gconf values for the login manager,
1479+ unity-greeter uses gsettings.
1480+
1481+ -- Luke Yelavich <themuso@ubuntu.com> Thu, 15 Mar 2012 14:41:29 +1100
1482+
1483+casper (1.309) precise; urgency=low
1484+
1485+ * scripts/casper-bottom/14locales:
1486+ - Stop dealing with /etc/environment
1487+ - Always overwrite /etc/default/locale at boot time
1488+ - Use /root/rofs/etc/default/locale as the base locale (LP: #951397)
1489+ * scripts/casper-bottom/19keyboard
1490+ - Reset /etc/default/keyboard if present in the overlay (LP: #953999)
1491+ * scripts/casper-bottom/50ubiquity-bluetooth-agent
1492+ - Only do the diversion the first time around
1493+
1494+ -- Stéphane Graber <stgraber@ubuntu.com> Tue, 13 Mar 2012 17:00:58 -0400
1495+
1496+casper (1.308) precise; urgency=low
1497+
1498+ * Reconfigure jackd2 if jackd/tweak_rt_limits has been preseeded
1499+ (LP: #923810).
1500+
1501+ -- Colin Watson <cjwatson@ubuntu.com> Tue, 13 Mar 2012 10:33:24 +0000
1502+
1503+casper (1.307) precise; urgency=low
1504+
1505+ * Add 50ubiquity-bluetooth-agent to detect ubiquity-bluetooth-agent and
1506+ make bluetooth-applet call it instead (using dpkg-divert + ln).
1507+ (LP: #644198)
1508+
1509+ -- Stéphane Graber <stgraber@ubuntu.com> Fri, 09 Mar 2012 11:56:44 -0500
1510+
1511+casper (1.306) precise; urgency=low
1512+
1513+ [ Sergey "Shnatsel" Davidoff ]
1514+ * Comment on the recently-introduced FLAVOUR variable in casper.conf.
1515+
1516+ [ Stéphane Graber ]
1517+ * in 23networking, when writing resolv.conf detect resolvconf and write
1518+ to /run/resolvconf/interfaces/casper instead. (LP: #946215)
1519+
1520+ -- Stéphane Graber <stgraber@ubuntu.com> Mon, 05 Mar 2012 15:38:23 -0500
1521+
1522+casper (1.305) precise; urgency=low
1523+
1524+ * Wait for debconf-communicate to exit before trying to copy the
1525+ database. (LP: #940908)
1526+
1527+ -- Stéphane Graber <stgraber@ubuntu.com> Wed, 29 Feb 2012 21:48:39 -0500
1528+
1529+casper (1.304) precise; urgency=low
1530+
1531+ * 25adduser: Back up and restore passwd/{root,user}-password{,-again} as
1532+ well (LP: #924535).
1533+
1534+ -- Colin Watson <cjwatson@ubuntu.com> Wed, 01 Feb 2012 22:44:38 +0000
1535+
1536+casper (1.303) precise; urgency=low
1537+
1538+ * 25adduser: Restore previous contents of the debconf questions we set,
1539+ rather than just resetting them (LP: #924535).
1540+
1541+ -- Colin Watson <cjwatson@ubuntu.com> Wed, 01 Feb 2012 10:16:58 +0000
1542+
1543+casper (1.302) precise; urgency=low
1544+
1545+ * Move adduser script to run after preseed so that preseeding
1546+ passwd/user-default-groups is useful in the live session (LP: #923810).
1547+
1548+ -- Colin Watson <cjwatson@ubuntu.com> Mon, 30 Jan 2012 22:13:04 +0000
1549+
1550+casper (1.301) precise; urgency=low
1551+
1552+ * 41apt_cdrom: use standard logging to facilitate debugging thanks to cleary
1553+ for the patch (LP: #909916)
1554+
1555+ -- Brian Murray <brian@ubuntu.com> Wed, 25 Jan 2012 15:14:09 -0800
1556+
1557+casper (1.300) precise; urgency=low
1558+
1559+ * 33enable_apport_crashes: If enabling apport (i. e. on a released Ubuntu
1560+ versions), only report crashes for Ubiquity. Do not report general
1561+ desktop-ish crashes, for the same reasons why we disable them for
1562+ Ubuntu releases after installation. (LP: #593606)
1563+
1564+ -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 24 Jan 2012 10:12:26 +0100
1565+
1566+casper (1.299) precise; urgency=low
1567+
1568+ * Fix the variable to be $FLAVOUR.
1569+
1570+ -- Mario Limonciello <Mario_Limonciello@Dell.com> Tue, 17 Jan 2012 16:36:24 -0600
1571+
1572+casper (1.298) precise; urgency=low
1573+
1574+ * Write out a new casper.conf with derivative values if they've been changed.
1575+ - Fixes applications that parse /etc/casper.conf from breaking.
1576+ - This can be reverted after the livecd-rootfs task from LP: #904482 is
1577+ fixed.
1578+
1579+ -- Mario Limonciello <Mario_Limonciello@Dell.com> Mon, 16 Jan 2012 22:30:47 -0600
1580+
1581+casper (1.297) precise; urgency=low
1582+
1583+ * scripts/casper:
1584+ look for live image on AC100/Tegra2 specific eMMC block device too.
1585+
1586+ -- Jani Monoses <jani@ubuntu.com> Mon, 09 Jan 2012 18:56:57 +0200
1587+
1588+casper (1.296) precise; urgency=low
1589+
1590+ * Rework the reboot logic to not use udisks (doesn't work without dbus)
1591+ and try to handle any kind of install media. (LP: #600740)
1592+
1593+ -- Stéphane Graber <stgraber@ubuntu.com> Thu, 15 Dec 2011 12:28:08 -0500
1594+
1595+casper (1.295) precise; urgency=low
1596+
1597+ * Convert keys from gconf to gsettings:
1598+ - 22gnome_panel_data: disable_lock_screen (LP: #610345)
1599+ - 15autologin: suppress-logout-menuitem (indicator)
1600+ * Syntax cleanup in debian/casper.init (replacing tabs by spaces)
1601+ * Base the hostname and username on the media name (LP: #290351)
1602+ * If udisks is present and considers a device has non-removable
1603+ then don't call eject and don't show the prompt. (LP: #600740)
1604+
1605+ -- Stéphane Graber <stgraber@ubuntu.com> Wed, 14 Dec 2011 15:50:44 -0500
1606+
1607+casper (1.294) precise; urgency=low
1608+
1609+ * scripts/casper:
1610+ look for live image on OMAP specific MMC block devices too.
1611+ * Sync up source package with bzr branch, they had conflicting changes
1612+ for the same version (1.293)
1613+
1614+ -- Jani Monoses <jani@ubuntu.com> Tue, 13 Dec 2011 02:08:40 +0200
1615+
1616+casper (1.293) precise; urgency=low
1617+
1618+ * Change KDE path profile for disable_restart_notifications. Thanks to
1619+ Enrique Hernández Bello for the patch (LP: #898721).
1620+
1621+ -- Brian Murray <brian@ubuntu.com> Wed, 07 Dec 2011 16:35:53 -0800
1622+
1623+casper (1.292) precise; urgency=low
1624+
1625+ * Do not let single quotes get into resolv.conf, otherwise DNS lookups
1626+ will fail.
1627+
1628+ -- Evan Dandrea <ev@ubuntu.com> Fri, 25 Nov 2011 17:00:58 +0000
1629+
1630+casper (1.291) precise; urgency=low
1631+
1632+ * Just add the live username to /etc/sudoers rather than relying on it to
1633+ be in the admin group, which is no longer the case as of user-setup
1634+ 1.39ubuntu1 (LP: #893060).
1635+
1636+ -- Colin Watson <cjwatson@ubuntu.com> Mon, 21 Nov 2011 18:06:13 +0000
1637+
1638+casper (1.290) precise; urgency=low
1639+
1640+ [ Mario Limonciello ]
1641+ * Allow the "device" UUID to be used to resolve UUIDs in addition to the UUID
1642+ in .disk/info. Useful for situations that the casper filesystem is on
1643+ a disk and that disk's UUID is specified on kernel command line.
1644+
1645+ [ Colin Watson ]
1646+ * Use '/sbin/udevadm test-builtin path_id' rather than /lib/udev/path_id,
1647+ which was removed in udev 174.
1648+
1649+ -- Colin Watson <cjwatson@ubuntu.com> Thu, 10 Nov 2011 14:27:01 +0000
1650+
1651+casper (1.289) precise; urgency=low
1652+
1653+ * Canonicalise debian-installer/locale= / locale= into a UTF-8 locale when
1654+ processing preseeding, in line with how we set up the locale in the live
1655+ environment (LP: #882308).
1656+
1657+ -- Colin Watson <cjwatson@ubuntu.com> Tue, 08 Nov 2011 15:34:57 +0000
1658+
1659+casper (1.288) precise; urgency=low
1660+
1661+ * Ignore lines in md5sum.txt that aren't md5sum output (LP: #873401).
1662+
1663+ -- Colin Watson <cjwatson@ubuntu.com> Mon, 24 Oct 2011 17:05:55 +0100
1664+
1665+casper (1.287) oneiric; urgency=low
1666+
1667+ * Remove typo from 26disable_user_menu that led the script to
1668+ believe that indicator-session was never actually installed.
1669+
1670+ -- Adam Conrad <adconrad@ubuntu.com> Wed, 12 Oct 2011 14:00:48 +0100
1671+
1672+casper (1.286) oneiric; urgency=low
1673+
1674+ * Convert the gsettings calls to using the gsettings override files
1675+ because we don't have DBUS in casper.
1676+
1677+ -- Stéphane Graber <stgraber@ubuntu.com> Wed, 12 Oct 2011 13:38:53 +0100
1678+
1679+casper (1.285) oneiric; urgency=low
1680+
1681+ * scripts/casper:
1682+ - enable use of virtio devices in is_nice_device()
1683+
1684+ -- Ante Karamatic <ivoks@ubuntu.com> Thu, 06 Oct 2011 17:17:42 +0100
1685+
1686+casper (1.284) oneiric; urgency=low
1687+
1688+ * bin/casper-a11y-enable:
1689+ - Set the session by calling AccountService via dbus instead of using
1690+ lightdm commands, as we cannot run lightdm-set-defaults as a user
1691+ - Add some extra spaces to make sure the startup scripts used to set a11y
1692+ settings are syntactically correct
1693+ - Add some other needed settings for various profiles for use in the login
1694+ manager
1695+ - Set correct permissions for the orca config directory once the config
1696+ files have been created
1697+ - Make sure the startup script checks take into account the ability to be
1698+ run from the initramfs
1699+ * ubiquity-hooks/30accessibility:
1700+ - Make sure that accessibility profile settings are properly applied at
1701+ install time, even if the user decided to try Ubuntu first, and then
1702+ run the install from the desktop
1703+ - Copy any existing orca configuration to the target system
1704+ - Make sure profile settings are not set up twice
1705+
1706+ -- Luke Yelavich <themuso@ubuntu.com> Wed, 14 Sep 2011 16:19:59 +1000
1707+
1708+casper (1.283) oneiric; urgency=low
1709+
1710+ * scripts/casper-bottom/22screensaver: Set gsettings key instead of gconf.
1711+ * scripts/casper-bottom/44pk_allow_ubuntu: Drop old PolicyKit stuff, it's
1712+ gone for a long time.
1713+ * Drop scripts/casper-bottom/45disable_guest_account: We are not using gdm
1714+ any more, and lightdm implements that differently.
1715+ * Drop scripts/casper-bottom/47une_ubiquity, UNE/netbook-launcher are
1716+ history.
1717+ * Add scripts/casper-bottom/26disable_user_menu: Disable the user indicator
1718+ menu. (LP: #834137)
1719+
1720+ -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 07 Sep 2011 12:33:57 +0200
1721+
1722+casper (1.282) oneiric; urgency=low
1723+
1724+ * bin/casper-a11y-enable: Fix typo/syntax error in the set_session function
1725+
1726+ -- Luke Yelavich <themuso@ubuntu.com> Wed, 07 Sep 2011 15:20:05 +1000
1727+
1728+casper (1.281) oneiric; urgency=low
1729+
1730+ * bin/casper-a11y-enable:
1731+ - Change all remaining references of gdm to lightdm, particularly in the
1732+ usage help text, and the username of the login manager
1733+ - Set the default login session to ubuntu-2d for screen reader and braille
1734+ profiles
1735+
1736+ -- Luke Yelavich <themuso@ubuntu.com> Mon, 05 Sep 2011 15:02:31 +1000
1737+
1738+casper (1.280) oneiric; urgency=low
1739+
1740+ * Don't fail to set up autologin on a commented out autologin-user line
1741+ in lightdm custom conf. (LP: #836727)
1742+
1743+ -- Mario Limonciello <Mario_Limonciello@Dell.com> Mon, 29 Aug 2011 09:16:00 -0500
1744+
1745+casper (1.279) oneiric; urgency=low
1746+
1747+ * hooks/casper: pull in overlayfs kernel module to allow use of overlayfs
1748+ as the union mount during install.
1749+
1750+ -- Andy Whitcroft <apw@canonical.com> Fri, 19 Aug 2011 13:03:27 +0100
1751+
1752+casper (1.278) oneiric; urgency=low
1753+
1754+ * scripts/casper-bottom/15autologin:
1755+ - handling lightdm.conf in the case we already have a configuration file (to
1756+ avoid overwriting it on the cd if we don't have the default gtk greeter
1757+ installed if greeter not specified). Flavors should now use
1758+ set-lightdm-defaults to set the default session and greeter, even if
1759+ this still works with current alternatives method.
1760+
1761+ -- Didier Roche <didrocks@ubuntu.com> Thu, 11 Aug 2011 09:05:43 +0200
1762+
1763+casper (1.277) oneiric; urgency=low
1764+
1765+ * Add an extra command-line argument to casper-a11y-helper which will
1766+ create a startup script that will be executed either on first boot after
1767+ install, or once we switch out of the initramfs to boot the live
1768+ session. This is needed to work around gsettings not working when
1769+ chrooting to the target environment with no dbus running.
1770+ * Add extra checks to the ubiquity accessibility target-config hook to
1771+ determine whether accessibility was enabled during the running of
1772+ ubiquity, and act accordingly.
1773+ * Call the casper a11y helper script with the newly added -script argument
1774+ as per above.
1775+ * Determine whether we are root by checking the $HOME variable.
1776+ * Do not call the a11y profile script in debug mode
1777+
1778+ -- Luke Yelavich <themuso@ubuntu.com> Fri, 05 Aug 2011 15:22:27 +1000
1779+
1780+casper (1.276) oneiric; urgency=low
1781+
1782+ * If lightdm.conf exists, remove it first to avoid issues with symlinks.
1783+
1784+ -- Stéphane Graber <stgraber@ubuntu.com> Thu, 04 Aug 2011 12:26:08 -0400
1785+
1786+casper (1.275) oneiric; urgency=low
1787+
1788+ * Update 15autologin to overwrite any existing lightdm configuration.
1789+ This should fix lightdm autologin for everyone.
1790+ Any custom lightdm configuration won't apply to the live environment.
1791+
1792+ -- Stéphane Graber <stgraber@ubuntu.com> Wed, 03 Aug 2011 10:10:48 -0400
1793+
1794+casper (1.274) oneiric; urgency=low
1795+
1796+ * Remove log_end_message call (LP: #820284).
1797+
1798+ -- Evan Dandrea <ev@ubuntu.com> Wed, 03 Aug 2011 12:01:57 +0100
1799+
1800+casper (1.273) oneiric; urgency=low
1801+
1802+ [ Mario Limonciello ]
1803+ * scripts/casper: Add support for SAS controllers now that 575297 is fixed.
1804+ (LP: #819564)
1805+
1806+ [ Stéphane Graber ]
1807+ * lightdm no longer ships with /etc/lightdm/lightdm.conf in its package.
1808+ Updating 15autologin casper hook to create one when missing. (LP: #819609)
1809+
1810+ -- Stéphane Graber <stgraber@ubuntu.com> Tue, 02 Aug 2011 17:47:10 -0400
1811+
1812+casper (1.272) oneiric; urgency=low
1813+
1814+ [ Andy Whitcroft ]
1815+ * scripts/casper: add support for overlayfs for union mounts of the liveCD
1816+
1817+ [ Luke Yelavich ]
1818+ * Port the rest of the accessibility profile settings to gsettings, except
1819+ where gconf settings are required, eg firefox and gksu
1820+ * bin/casper-a11y-enable: Extract the username from the $HOME environment
1821+ variable, as $USER is not set when ubiquity calls the script, even with
1822+ all privileges dropped
1823+
1824+ -- Luke Yelavich <themuso@ubuntu.com> Wed, 27 Jul 2011 15:20:11 +1000
1825+
1826+casper (1.271) oneiric; urgency=low
1827+
1828+ * bin/casper-a11y-enable:
1829+ - Use -x when enabling debug mode
1830+ - Adjust some variable quoting when checking for package versions
1831+ - Do not break out of the command-line checking loop at all, let it run its
1832+ course until there are no command-line values left to parse
1833+
1834+ -- Luke Yelavich <themuso@ubuntu.com> Fri, 01 Jul 2011 11:47:31 +0100
1835+
1836+casper (1.270) oneiric; urgency=low
1837+
1838+ * Depend on lzma for our diverted update-initramfs (LP: #790794).
1839+
1840+ -- Colin Watson <cjwatson@ubuntu.com> Thu, 30 Jun 2011 10:30:49 +0100
1841+
1842+casper (1.269) oneiric; urgency=low
1843+
1844+ [ Luke Yelavich ]
1845+ * bin/casper-a11y-helper:
1846+ - Migrate blindness and braille accessibility profiles to gsettings for
1847+ all except gksu, which still uses gconf to store settings.
1848+
1849+ [ Colin Watson ]
1850+ * Add LightDM autologin support (LP: #797669).
1851+
1852+ -- Colin Watson <cjwatson@ubuntu.com> Fri, 17 Jun 2011 12:52:44 +0100
1853+
1854+casper (1.268) oneiric; urgency=low
1855+
1856+ The big accessibility profile code refactor:
1857+ * debian/copyright: Update Canonical copyright years to include 2011
1858+ * bin/casper-a11y-helper: Create a new script that will be callable from
1859+ casper/the initramfs, ubiquity at the maybe-ubiquity screen, and ubiquity
1860+ when running through ubiquity-hooks during the installation process.
1861+ - Copy accessibility profile settings from both
1862+ scripts/casper-bottom/30accessibility and ubiquity-hooks/30accessibility
1863+ - Refactor profile settings into groups of common settings for low vision
1864+ and motor profiles, with the rest of the settings broken up into
1865+ individual methods for each profile
1866+ - Add options to allow for calling the script from within the initramfs
1867+ - Do a few more package checks to make sure the target environment has the
1868+ commands we need to set things up
1869+ * scripts/casper-bottom/30accessibility && ubiquity-hooks/30accessibility:
1870+ - Remove old profile settings and support code, and make use of the new
1871+ a11y helper script
1872+ - Call the helper with debugging enabled for now, to help with testing
1873+ to make sure the new helper is executing properly
1874+ * debian/casper.install: Add casper-a11y-helper
1875+
1876+ -- Luke Yelavich <themuso@ubuntu.com> Wed, 08 Jun 2011 15:35:39 +1000
1877+
1878+casper (1.267) oneiric; urgency=low
1879+
1880+ * scripts/casper-bottom/32disable_hibernation: Drop obsolete
1881+ gnome-power-manager and kde-profile configuration, and just globally
1882+ disable hibernation via policykit. (LP: #610351)
1883+
1884+ -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 08 Jun 2011 07:25:43 +0200
1885+
1886+casper (1.266) oneiric; urgency=low
1887+
1888+ * Disable release-upgrade prompts in the live session (LP: #777759).
1889+
1890+ -- Colin Watson <cjwatson@ubuntu.com> Thu, 05 May 2011 12:28:33 +0100
1891+
1892+casper (1.265) natty; urgency=low
1893+
1894+ * scripts/casper-bottom/30accessibility && ubiquity-hooks/30accessibility:
1895+ - Use gsettings to adjust yelp caret navigation, as properly fixed in
1896+ yelp 3.0.1
1897+ * ubiquity-hooks/30accessibility: Fix the gset function to set settings for
1898+ the target username, and not the username of the live user
1899+
1900+ -- Luke Yelavich <themuso@ubuntu.com> Mon, 11 Apr 2011 16:47:46 +1000
1901+
1902+casper (1.264) natty; urgency=low
1903+
1904+ * scripts/casper-bottom/30accessibility && ubiquity-hooks/30accessibility:
1905+ - Enable yelp carrot navigation by default in the moderate visual
1906+ impairment, blindness, and Braille profiles, thanks to Attila Hammer
1907+ for the patch (LP: #752503)
1908+
1909+ -- Luke Yelavich <themuso@ubuntu.com> Thu, 07 Apr 2011 10:17:52 +1000
1910+
1911+casper (1.263) natty; urgency=low
1912+
1913+ [ Evan Dandrea ]
1914+ * Suppress Log Out item in the live session (LP: #750140).
1915+
1916+ [ Martin Pitt ]
1917+ * scripts/casper-helpers, find_cow_device(): Do not ever probe floppy
1918+ devices. There are lots of computers which still have a floppy controller
1919+ (and thus a /dev/fd0), but no actual floppy. Trying to send anything to
1920+ /dev/fd0 will result in very long timeouts. Here this causes booting the
1921+ live CD to take more than 30 minutes. (See also LP #539515 for the
1922+ corresponding bug in udev/udisks). (LP: #739774)
1923+
1924+ -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 04 Apr 2011 16:12:34 +0200
1925+
1926+casper (1.262) natty; urgency=low
1927+
1928+ * scripts/casper-bottom/30accessibility:
1929+ - Don't blindly assume that there are no orca config files/directories in
1930+ the created user's home directory. A derivative may have placed something
1931+ in /etc/skel as part of the live filesystem, and we shouldn't be
1932+ clobbering it, thanks to Attila Hammer for the pointer (LP: #744227)
1933+
1934+ -- Luke Yelavich <themuso@ubuntu.com> Mon, 04 Apr 2011 17:32:40 +1000
1935+
1936+casper (1.261) natty; urgency=low
1937+
1938+ * scripts/casper-bottom/30accessibility && ubiquity-hooks/30accessibility:
1939+ - Also use classic GNOME for the "motor difficulties, pointing devices"
1940+ profile, due to issues with on-screen keyboards and unity search
1941+
1942+ -- Luke Yelavich <themuso@ubuntu.com> Mon, 04 Apr 2011 16:15:59 +1000
1943+
1944+casper (1.260) natty; urgency=low
1945+
1946+ [ Colin Watson ]
1947+ * Force apt-cdrom's mount point to /cdrom (LP: #723357). I've left the
1948+ /media/cdrom symlink introduced in 1.259 in place anyway, as it's
1949+ harmless on the live CD and may save some effort elsewhere.
1950+
1951+ [ Luke Yelavich ]
1952+ * scripts/casper-bottom/30accessibility && ubiquity-hooks/30accessibility:
1953+ - Set the default session to classic GNOME for moderate visual
1954+ impairement, blindness, and braille accessibility profiles (LP: #734659)
1955+ - Fix a few dangling references to user-settings.py (LP: #744214)
1956+ - Don't set /desktop/gnome/accessibility/keyboard/enable for vision
1957+ related profiles (LP: #711131)
1958+
1959+ -- Luke Yelavich <themuso@ubuntu.com> Fri, 01 Apr 2011 16:13:07 +1100
1960+
1961+casper (1.259) natty; urgency=low
1962+
1963+ * scripts/casper-bottom/05mountpoints: Create a /media/cdrom -> /cdrom
1964+ symlink, to work around apt's changed default mount point for Alpha-3.
1965+ (LP: #727783)
1966+
1967+ -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 03 Mar 2011 11:52:38 +0100
1968+
1969+casper (1.258) natty; urgency=low
1970+
1971+ * scripts/casper-bottom/30accessibility && ubiquity-hooks/30accessibility:
1972+ - Remove code that removes applets from the panel. Indicators are the
1973+ way forward, and we have unity, which works differently.
1974+ - Write orca configuration in json format
1975+ - Set some settings in gsettings parallel to gconf, next cycle there
1976+ will be a full migration to gsettings.
1977+ - Do not change the default window manager setting, this will be done
1978+ according to what is detected with unity/compiz et al.
1979+
1980+ -- Luke Yelavich <themuso@ubuntu.com> Wed, 23 Feb 2011 15:18:23 +1100
1981+
1982+casper (1.257) natty; urgency=low
1983+
1984+ * Handle $cow_backing already being mounted elsewhere (LP: #683260).
1985+
1986+ -- Evan Dandrea <ev@ubuntu.com> Fri, 11 Feb 2011 16:41:11 +0000
1987+
1988+casper (1.256) natty; urgency=low
1989+
1990+ * Add scripts/casper-bottom/49kubuntu_mobile_session to run Kubuntu
1991+ mobile session
1992+
1993+ -- Jonathan Riddell <jriddell@ubuntu.com> Thu, 10 Feb 2011 17:42:34 +0000
1994+
1995+casper (1.255) natty; urgency=low
1996+
1997+ [ Evan Dandrea ]
1998+ * Don't disable the free space notifier if using persistent storage.
1999+
2000+ [ Daniel Manrique ]
2001+ * scripts/casper-bottom/23networking: Strip quotes from DNSDOMAIN as
2002+ returned by ipconfig, and sanitize the domain entry to ensure the
2003+ generated /etc/resolv.conf is formatted correctly (LP: #709364).
2004+
2005+ -- Colin Watson <cjwatson@ubuntu.com> Tue, 01 Feb 2011 11:05:13 +0000
2006+
2007+casper (1.254) natty; urgency=low
2008+
2009+ * More fixes to the USB update-initramfs shim (LP: #591207):
2010+ - Make the shim a proper executable in
2011+ /usr/share/casper/casper-update-initramfs and symlink to it if
2012+ necessary at boot time, so that new versions of this shim are
2013+ automatically installed when casper is upgraded.
2014+ - $bootdir/initrd.img may exist when $bootdir/vmlinuz doesn't; for
2015+ example, if we're running off a fresh live USB stick and the kernel
2016+ hasn't yet been upgraded.
2017+
2018+ -- Colin Watson <cjwatson@ubuntu.com> Thu, 20 Jan 2011 14:18:59 +0000
2019+
2020+casper (1.253) natty; urgency=low
2021+
2022+ * Don't try to process the initramfs and kernel if the real update-
2023+ initramfs hasn't generated anything (LP: #557023).
2024+
2025+ -- Evan Dandrea <ev@ubuntu.com> Wed, 05 Jan 2011 12:07:47 +0000
2026+
2027+casper (1.252) natty; urgency=low
2028+
2029+ * Cope with forthcoming console-setup changes: handle
2030+ /etc/default/keyboard if present, and in that case preseed
2031+ keyboard-configuration/* templates.
2032+
2033+ -- Colin Watson <cjwatson@ubuntu.com> Tue, 21 Dec 2010 16:44:54 +0000
2034+
2035+casper (1.251) natty; urgency=low
2036+
2037+ * scripts/casper-bottom/44pk_allow_ubuntu: Tweak the default PolicyKit
2038+ policy to avoid dropping wireless connections when a user switches to
2039+ another VT (LP: #656757)
2040+
2041+ -- Mathieu Trudel-Lapierre <mathieu-tl@ubuntu.com> Sat, 04 Dec 2010 13:11:23 +0000
2042+
2043+casper (1.250) natty; urgency=low
2044+
2045+ * Use LDLIBS rather than LDFLAGS for 'pkg-config --libs ply-boot-client',
2046+ fixing link line ordering.
2047+
2048+ -- Colin Watson <cjwatson@ubuntu.com> Mon, 29 Nov 2010 13:28:17 +0000
2049+
2050+casper (1.249) natty; urgency=low
2051+
2052+ [ arky ]
2053+ * Add universal access preferences taskbar icon in all accessibility
2054+ profiles (LP: #621561).
2055+
2056+ [ Serge Hallyn ]
2057+ * change scripts/casper-helpers:try_mount() to not panic when regular
2058+ mounts fail. Instead, return an error code so the caller can decide.
2059+ (LP: #624632)
2060+
2061+ [ Evan Broder ]
2062+ * scripts/casper: Check for uuid= command line parameter in addition to
2063+ /conf/uuid.conf file in initrd. (LP: #671786)
2064+
2065+ [ Colin Watson ]
2066+ * Document new uuid= option in casper(7).
2067+
2068+ -- Colin Watson <cjwatson@ubuntu.com> Mon, 29 Nov 2010 12:49:36 +0000
2069+
2070+casper (1.248) maverick; urgency=low
2071+
2072+ * ubiquity-hooks/30accessibility: Create .local/share subdirectory structure
2073+ before copying files. Also copy orca files to ~/.local/share, instead
2074+ ~/. Thanks to Attila Hammer for the patch. (LP: #650846)
2075+
2076+ -- Luke Yelavich <themuso@ubuntu.com> Tue, 05 Oct 2010 15:35:35 +1100
2077+
2078+casper (1.247) maverick; urgency=low
2079+
2080+ * Check for the existance of a kubuntu-default-settings directory before
2081+ running scripts/casper-bottom/48kubuntu_disable_restart_notifications
2082+
2083+ -- Jonathan Thomas <echidnaman@kubuntu.org> Mon, 04 Oct 2010 17:43:21 -0400
2084+
2085+casper (1.246) maverick; urgency=low
2086+
2087+ * Added scripts/casper-bottom/07remove_oem_config
2088+ - Added new script to remove oem-config if installed on the image on ARM,
2089+ as it should never be installed on a non-preinstalled image. This is
2090+ necessary because we can't exclude oem-config on the seed on a
2091+ per-subarchitecture basis
2092+ * scripts/casper/47une_ubiquity
2093+ - Cause gconf changes to be made to both the 2D & 3D UNE launchers so
2094+ ubiquity properly shows up in favorites regardless of which launcher is
2095+ used (LP: #643791)
2096+
2097+ -- Michael Casadevall <mcasadevall@ubuntu.com> Mon, 27 Sep 2010 17:52:50 -0400
2098+
2099+casper (1.245) maverick; urgency=low
2100+
2101+ * Add scripts/casper-bottom/49disable_kubuntu_restart_notify for a more
2102+ surgical solution at disabling restart notifications on the Live CD
2103+ * Don't remove the notificationhelper.desktop file in 34disable_kde_services
2104+
2105+ -- Jonathan Thomas <echidnaman@kubuntu.org> Tue, 28 Sep 2010 19:20:26 -0400
2106+
2107+casper (1.244) maverick; urgency=low
2108+
2109+ * scripts/casper-bottom/30accessibility && ubiquity-hooks/30accessibility:
2110+ - Use orca's new settings location in ~/.local/share, as orca is now
2111+ more XDG compliant
2112+
2113+ -- Luke Yelavich <themuso@ubuntu.com> Thu, 16 Sep 2010 09:38:21 +1000
2114+
2115+casper (1.243) maverick; urgency=low
2116+
2117+ * Backport from live-initramfs 1.154.6-1:
2118+ - Adding patch from Thierry Walrant <debian.tgc@walrant.net> to allow
2119+ setting a path for the persistence files through persistent-path boot
2120+ parameter (Closes: #512661).
2121+ * Follow symlinks when checking for dynamically linked files at reboot.
2122+
2123+ -- Colin Watson <cjwatson@ubuntu.com> Tue, 07 Sep 2010 10:53:32 +0100
2124+
2125+casper (1.242) maverick; urgency=low
2126+
2127+ * Update scripts/casper-bottom/34disable_kde_services to stop some new
2128+ akonadi services
2129+
2130+ -- Jonathan Riddell <jriddell@ubuntu.com> Mon, 06 Sep 2010 14:20:54 +0100
2131+
2132+casper (1.241) maverick; urgency=low
2133+
2134+ [ Mathieu Trudel-Lapierre ]
2135+ * Use configure_networking at do_netmount; it's at least more resilient
2136+ than a simple ipconfig call since it retries, and it properly parses
2137+ BOOTIF to know which devices to configure. (LP: #602273)
2138+
2139+ [ Colin Watson ]
2140+ * Parse the machine-readable file written out by ipconfig rather than
2141+ trying to parse its human-readable output.
2142+
2143+ -- Colin Watson <cjwatson@ubuntu.com> Fri, 20 Aug 2010 13:37:56 +0100
2144+
2145+casper (1.240) maverick; urgency=high
2146+
2147+ * scripts/casper
2148+ - Added platform-sata_mv to is_nice_device() to allow Marvell
2149+ Dove A0 and AVD1 to properly boot live media (LP: #618489)
2150+
2151+ -- Michael Casadevall <mcasadevall@ubuntu.com> Mon, 16 Aug 2010 19:36:56 +0800
2152+
2153+casper (1.239) maverick; urgency=low
2154+
2155+ * scripts/casper-bottom/30accessibility && ubiquity-hooks/30accessibility:
2156+ - Instead of mangling the main sudoers file, create a new file in
2157+ /etc/sudoers.d and set permissions appropriately
2158+
2159+ -- Luke Yelavich <themuso@ubuntu.com> Wed, 11 Aug 2010 13:46:03 +1000
2160+
2161+casper (1.238) maverick; urgency=low
2162+
2163+ [ Alex Chiang ]
2164+ * Disable ureadahead-other job as well as ureadahead (LP: #605695).
2165+
2166+ -- Colin Watson <cjwatson@ubuntu.com> Thu, 15 Jul 2010 11:49:36 +0100
2167+
2168+casper (1.237) maverick; urgency=low
2169+
2170+ [ Colin Watson ]
2171+ * Add btrfs support.
2172+ * Make ip=* command-line parsing more precise (thanks, Bill Nickless;
2173+ LP: #586553).
2174+ * Make the USB update-initramfs shim cope with vmlinuz and initrd.img
2175+ being in /boot rather than / (LP: #591207).
2176+ * Depend on file for /etc/init.d/casper (thanks, Alon Swartz;
2177+ LP: #591213).
2178+ * Conflict with live-initramfs, as they overlap and people can pick one or
2179+ the other (LP: #453476).
2180+
2181+ [ Martin Pitt ]
2182+ * debian/casper.init: Change shutdown splash message to refer to
2183+ "installation media" instead of "disc"; a lot of installs happen
2184+ from USB sticks these days. Thanks to Debbie Beliveau for the idea.
2185+
2186+ -- Colin Watson <cjwatson@ubuntu.com> Mon, 28 Jun 2010 16:53:17 +0100
2187+
2188+casper (1.236) lucid; urgency=low
2189+
2190+ * Check for LTS in the release name (LP: #558488).
2191+
2192+ -- Evan Dandrea <evand@ubuntu.com> Wed, 21 Apr 2010 11:12:32 +0100
2193+
2194+casper (1.235) lucid; urgency=low
2195+
2196+ * Unbreak early command from previous commit.
2197+
2198+ -- Mario Limonciello <Mario_Limonciello@Dell.com> Thu, 15 Apr 2010 02:54:15 -0500
2199+
2200+casper (1.234) lucid; urgency=low
2201+
2202+ * Only bring the network up while running preseed/early_command if
2203+ preseed/allow-network=true.
2204+
2205+ -- Colin Watson <cjwatson@ubuntu.com> Wed, 14 Apr 2010 15:56:40 +0100
2206+
2207+casper (1.233) lucid; urgency=low
2208+
2209+ * Bring the network up while running preseed/early_command.
2210+ * Fix use of debconf passthrough frontend; DEBCONF_READFD and
2211+ DEBCONF_WRITEFD were backwards, and DEBIAN_HAS_FRONTEND and
2212+ DEBCONF_REDIR needed to be unset or else confmodule scripts would end up
2213+ trying to talk to closed file descriptors.
2214+ * Run debconf-communicate with a read-only template database and separate
2215+ config databases, and copy any changed values back to the master
2216+ databases at the end. This allows us to use the noninteractive frontend
2217+ rather than passthrough when running apt-get in preseed/early_command or
2218+ dpkg to install driver updates, thereby ensuring that the template
2219+ database is properly initialised (LP: #557011).
2220+
2221+ -- Colin Watson <cjwatson@ubuntu.com> Mon, 12 Apr 2010 23:41:09 +0100
2222+
2223+casper (1.232) lucid; urgency=low
2224+
2225+ * bump compcache size to 50% on live images for machines with less than
2226+ 512MiB. This makes sure we don't hit OOM errors on systems with only
2227+ 256MiB of RAM.
2228+
2229+ -- Oliver Grawert <ogra@ubuntu.com> Mon, 12 Apr 2010 08:10:06 +0200
2230+
2231+casper (1.231) lucid; urgency=low
2232+
2233+ [ Jonathan Riddell ]
2234+ * Remove 37kubuntu_netbook_installer_link, now done with a patch in
2235+ kdebase-workspace
2236+
2237+ [ Colin Watson ]
2238+ * If copying live media to RAM or disk, explicitly copy .disk, since *
2239+ won't expand to include it (LP: #526305).
2240+ * Cache /bin/plymouth and /sbin/usplash_write before ejecting the CD, in
2241+ the hope that that helps with I/O errors on reboot (see LP #539027).
2242+
2243+ [ Luke Yelavich ]
2244+ * ubiquity-hooks/30accessibility: Copy the orca settings directory to the
2245+ gdm home directory, to allow for preferred orca settings to be used in
2246+ gdm (LP: #551515).
2247+
2248+ -- Luke Yelavich <themuso@ubuntu.com> Fri, 09 Apr 2010 14:00:51 +1000
2249+
2250+casper (1.230) lucid; urgency=low
2251+
2252+ * Don't save the hardware clock on live CD reboot; we used to do this in
2253+ the sysvinit world, but it regressed when we switched to Upstart
2254+ (thanks, Norm Pierce; LP: #436535).
2255+ * When running update-initramfs on writable media, update initrd.lz rather
2256+ than initrd.gz if it's present, and make the update process a bit safer
2257+ while we're there (LP: #489736).
2258+ * Handle toram and todisk=DEVICE options on command line (LP: #526305).
2259+ * Policy version 3.8.4: no changes required.
2260+ * Convert to source format 3.0 (native).
2261+
2262+ -- Colin Watson <cjwatson@ubuntu.com> Tue, 30 Mar 2010 11:41:24 +0100
2263+
2264+casper (1.229) lucid; urgency=low
2265+
2266+ [ Jonathan Riddell ]
2267+ * Update scripts/casper-bottom/34disable_kde_services for lucid
2268+
2269+ [ Evan Dandrea ]
2270+ * Don't let apt try to auto-detect the CD-ROM device using udev. We
2271+ already know what it is, and using udev to find it again wont work
2272+ for USB disks.
2273+
2274+ -- Evan Dandrea <evand@ubuntu.com> Tue, 23 Mar 2010 11:42:00 +0000
2275+
2276+casper (1.228) lucid; urgency=low
2277+
2278+ * Update for the new libplymouth2.
2279+
2280+ -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 12 Mar 2010 18:37:02 -0800
2281+
2282+casper (1.227) lucid; urgency=low
2283+
2284+ * casper-md5check: port from usplash to plymouth. LP: #500198
2285+ * fix up our reliance on usplash, /dev/console elsewhere. LP: #506418.
2286+
2287+ -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 12 Mar 2010 01:12:28 -0800
2288+
2289+casper (1.226) lucid; urgency=low
2290+
2291+ [ Colin Watson ]
2292+ * Stop using removed nfsro option for NFS/unionfs (thanks, Bernhard
2293+ Seibold; LP: #460781).
2294+
2295+ [ Jonathan Riddell ]
2296+ * Remove scripts/casper-bottom/48enable_kubuntu_netbook and ubiquity-
2297+ hooks/48enable_kubuntu_netbook now enabled in kubuntu-netbook-
2298+ default-settings
2299+
2300+ -- Jonathan Riddell <jriddell@ubuntu.com> Wed, 10 Mar 2010 22:23:04 +0000
2301+
2302+casper (1.225) lucid; urgency=low
2303+
2304+ * Add ubiquity-hooks/49kubuntu_gnome_icon_cache to recreate the Gnome
2305+ icon cache on Kubuntu CDs, removed by livecd-rootfs
2306+
2307+ -- Jonathan Riddell <jriddell@ubuntu.com> Mon, 08 Mar 2010 11:47:01 +0000
2308+
2309+casper (1.224) lucid; urgency=low
2310+
2311+ * Remove ubiquity-hooks/35copy_wallpaper_cache as now implement it in
2312+ ubiquity itself (LP: #530024)
2313+
2314+ -- Didier Roche <didrocks@ubuntu.com> Mon, 01 Mar 2010 19:41:45 +0100
2315+
2316+casper (1.223) lucid; urgency=low
2317+
2318+ * Bind-mount /dev, /proc, and /sys into /root while running apt-cdrom.
2319+ * Copy /lib/udev/rules.d/60-cdrom_id.rules into the initramfs to go with
2320+ /lib/udev/cdrom_id, so that apt-cdrom will be able to find ID_CDROM=1
2321+ entries when we run it. This should stop update-notifier from
2322+ repeatedly popping up during the live session.
2323+
2324+ -- Colin Watson <cjwatson@ubuntu.com> Tue, 23 Feb 2010 01:35:30 +0000
2325+
2326+casper (1.222) lucid; urgency=low
2327+
2328+ * scripts/casper-bottom/47une_ubiquity:
2329+ - get back ubiquity favorite icon in UNE live (LP: #524381)
2330+ - rename the script from 47unr_ubiquity to 47une_ubiquity as well
2331+ as "UNR" mention
2332+
2333+ -- Didier Roche <didrocks@ubuntu.com> Mon, 22 Feb 2010 14:01:25 +0100
2334+
2335+casper (1.221) lucid; urgency=low
2336+
2337+ * Remove the rest of the mythbuntu delta from 10adduser. It will be
2338+ maintained in the mythbuntu-live-autostart package instead so that
2339+ users from ~mythbuntu-dev can administer it.
2340+
2341+ -- Mario Limonciello <superm1@ubuntu.com> Sun, 21 Feb 2010 20:22:00 -0600
2342+
2343+casper (1.220) lucid; urgency=low
2344+
2345+ * scripts/casper: calculate memory without "head" utility, thanks to
2346+ Petar Bogdanovic (LP: #25496).
2347+
2348+ -- Kees Cook <kees@ubuntu.com> Fri, 19 Feb 2010 14:04:18 -0800
2349+
2350+casper (1.219) lucid; urgency=low
2351+
2352+ [ Mario Limonciello ]
2353+ * Disable casper-reconfigure from 22gnome_panel_data. It doesn't (appear) to
2354+ serve a functional purpose as the postinst does nothing different for laptops.
2355+
2356+ [ Didier Roche ]
2357+ * add 35copy_wallpaper_cache to copy the wallpaper cache created at boot time
2358+ to the main user's directory. First boot will take it into account in
2359+ ureadahead profiling
2360+
2361+ -- Didier Roche <didrocks@ubuntu.com> Wed, 17 Feb 2010 19:14:53 +0100
2362+
2363+casper (1.218) lucid; urgency=low
2364+
2365+ * Allow dpkg and apt-get to be installed from within commands that operate
2366+ in the chroot via early_command or driver updates. (LP: #521218)
2367+
2368+ -- Mario Limonciello <Mario_Limonciello@Dell.com> Tue, 16 Feb 2010 13:38:48 -0600
2369+
2370+casper (1.217) lucid; urgency=low
2371+
2372+ [ Luke Yelavich ]
2373+ * ubiquity-hooks/30accessibility: Enable accessible login for the blindness
2374+ and braile accessibility profiles.
2375+
2376+ [ Colin Watson ]
2377+ * Use egrep rather than 'grep -E' (LP: #512386).
2378+
2379+ [ Julien Lavergne ]
2380+ * 15autologin: Add support for LXDM autologin (LP: #511976).
2381+
2382+ [ Evan Dandrea ]
2383+ * Properly shut down debconf-communicate so that its database gets
2384+ written (LP: #518272).
2385+
2386+ -- Evan Dandrea <evand@ubuntu.com> Thu, 11 Feb 2010 08:25:53 +0000
2387+
2388+casper (1.216) lucid; urgency=low
2389+
2390+ [ Luke Yelavich ]
2391+ * scripts/casper-bottom/30accessibility && ubiquity-hooks/30accessibility:
2392+ - Remove code to disable pulseaudio, as it is no longer needed, and
2393+ the supporting code in the pulseaudio package was removed a long time
2394+ ago.
2395+ - Set the default empathy theme to classic for blindness and braille
2396+ accessibility profiles.
2397+
2398+ [ Jamie Bennett ]
2399+ * Speed up work around debconf-communicate. Replace several calls to
2400+ debconf-communicate with one persistent invocation followed by
2401+ confmodule calls.
2402+ * Disable guest account by rm'ing rather than waiting for dpkg to
2403+ remove it.
2404+
2405+ -- Colin Watson <cjwatson@ubuntu.com> Wed, 03 Feb 2010 16:41:57 -0800
2406+
2407+casper (1.215) lucid; urgency=low
2408
2409 [ Mario Limonciello ]
2410 * Support multiple preseed file/urlarguments on the kernel commandline
2411@@ -18,6 +1008,46 @@
2412
2413 -- Jonathan Riddell <jriddell@ubuntu.com> Wed, 27 Jan 2010 13:55:42 +0000
2414
2415+casper (1.214) lucid; urgency=low
2416+
2417+ * 15autologin: simplify the code with escape character evaluation
2418+ (LP: #505140)
2419+
2420+ -- Didier Roche <didrocks@ubuntu.com> Tue, 12 Jan 2010 08:57:05 +0100
2421+
2422+casper (1.213) lucid; urgency=low
2423+
2424+ * printf does not evaluate escape characters in the argument string.
2425+
2426+ -- Evan Dandrea <evand@ubuntu.com> Mon, 11 Jan 2010 11:02:12 +0000
2427+
2428+casper (1.212) lucid; urgency=low
2429+
2430+ [ Martin Pitt ]
2431+ * debian/control: Add ${misc:Depends}.
2432+ * debian/control: Bump Standards-Version to 3.8.3 (no changes necessary).
2433+
2434+ [ Colin Watson ]
2435+ * 15autologin: Use printf rather than echo -e, since its behaviour is
2436+ portable across shells.
2437+
2438+ [ Evan Dandrea ]
2439+ * Remove scripts/casper-bottom/42disable_apparmor. Apparmor
2440+ 2.3.1+bzr1312-0ubuntu3 and ifupdown 0.6.8ubuntu26 now no-op when
2441+ they detect the live CD environment.
2442+
2443+ -- Evan Dandrea <evand@ubuntu.com> Fri, 08 Jan 2010 20:31:26 +0000
2444+
2445+casper (1.211) lucid; urgency=low
2446+
2447+ * Readd scripts/casper-bottom/15autologin changes: derivatives have
2448+ now a custom.conf file and still need autologin in live version.
2449+ Merge with my previous fix proposed for sponsoring one week ago:
2450+ use echo -e to enable \n interpretation (/bin/sh is busybox ash
2451+ which behavior differs from vanilla ash interpretor) (LP: #500786)
2452+
2453+ -- Didier Roche <didrocks@ubuntu.com> Tue, 05 Jan 2010 20:05:26 +0100
2454+
2455 casper (1.210) lucid; urgency=low
2456
2457 [ Scott James Remnant ]
2458
2459=== modified file 'debian/control'
2460--- debian/control 2010-01-20 23:35:11 +0000
2461+++ debian/control 2012-04-23 12:22:18 +0000
2462@@ -2,23 +2,23 @@
2463 Section: misc
2464 Priority: optional
2465 Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
2466-Build-Depends: debhelper (>= 7.0.50~), lsb-release
2467-Standards-Version: 3.6.1
2468-Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/casper/trunk/
2469+Build-Depends: debhelper (>= 7.0.50~), lsb-release, libplymouth-dev (>= 0.8.0~-13), pkg-config
2470+Standards-Version: 3.8.4
2471+Vcs-Bzr: lp:ubuntu/casper
2472
2473 Package: casper
2474 Architecture: any
2475 Section: misc
2476 Priority: extra
2477-Depends: ${shlibs:Depends}, initramfs-tools (>= 0.92bubuntu55), busybox-initramfs (>= 1:1.1.3-4ubuntu3), dmsetup, user-setup, sudo, eject, uuid-runtime, localechooser-data (>= 2.03ubuntu1), util-linux (>= 2.15-1)
2478-Conflicts: usplash (<< 0.4-43)
2479+Depends: ${shlibs:Depends}, ${misc:Depends}, initramfs-tools (>= 0.92bubuntu55), busybox-initramfs (>= 1:1.1.3-4ubuntu3), dmsetup, user-setup, sudo, eject, uuid-runtime, localechooser-data (>= 2.03ubuntu1), util-linux (>= 2.15-1), file, lzma, udev (>= 174), cifs-utils
2480+Conflicts: usplash (<< 0.4-43), live-initramfs
2481 Breaks: genext2fs (<< 1.4.1)
2482 Tag: admin::boot, admin::filesystem, implemented-in::shell, protocol::smb, role::plugin, scope::utility, special::completely-tagged, works-with-format::iso9660
2483 Description: Run a "live" preinstalled system from read-only media
2484
2485 Package: ubiquity-casper
2486 Architecture: all
2487-Depends: laptop-detect, sudo
2488+Depends: laptop-detect, sudo, ${misc:Depends}
2489 Conflicts: espresso-casper
2490 Replaces: espresso-casper
2491 Enhances: ubiquity
2492
2493=== modified file 'debian/copyright'
2494--- debian/copyright 2009-01-13 18:56:31 +0000
2495+++ debian/copyright 2012-04-23 12:22:18 +0000
2496@@ -28,10 +28,20 @@
2497 3. This notice may not be removed or altered from any source
2498 distribution.
2499
2500+License (bin/casper-set-selections):
2501+
2502+ The Debian installer preseeder is copyright 2004 by Joey Hess
2503+ <joeyh@debian.org> and others.
2504+
2505+ This program is free software; you can redistribute it and/or modify
2506+ it under the terms of the GNU General Public License as published by
2507+ the Free Software Foundation; either version 2 of the License, or
2508+ (at your option) any later version.
2509+
2510 License (everything else):
2511
2512 Copyright (C) 2006 Marco Amadori <marco.amadori@gmail.com>
2513- Copyright (C) 2005-2008 Canonical Ltd. <http://www.canonical.com/>
2514+ Copyright (C) 2005-2011 Canonical Ltd. <http://www.canonical.com/>
2515 Copyright (C) 2008 Dell Inc.
2516
2517 This program is free software; you can redistribute it and/or modify
2518
2519=== modified file 'debian/manpage/casper.7'
2520--- debian/manpage/casper.7 2009-06-02 13:57:02 +0000
2521+++ debian/manpage/casper.7 2012-04-23 12:22:18 +0000
2522@@ -51,6 +51,9 @@
2523 .B nopersistent
2524 disables the above mentioned "persistent" feature, useful if the bootloader (like syslinux) has been installed with persistent enabled.
2525 .TP
2526+.BI "persistent-path=" PATH
2527+Casper will look for persistency files in the root directory of a partition. With this parameter, the path can be configured so that you can have multiple directories on the same partition to store persistency files.
2528+.TP
2529 .B "showmounts"
2530 This parameter will make casper to show on "/" the ro filesystems (mostly compressed) on /casper. This is not enabled by default because could lead to problems by applications like "mono" which store binary paths on installation.
2531 .TP
2532@@ -66,9 +69,18 @@
2533 .BI "{preseed/file|file}=" FILE
2534 A path to a file present on the rootfs could be used to preseed debconf database.
2535 .TP
2536+.B preseed/allow-network=true
2537+Bring up the network while running
2538+.BR preseed/early_command .
2539+.TP
2540 .BI "package/question=" VALUE
2541 All debian installed packages could be preseeded from command-line that way, beware of blanks spaces, they will interfere with parsing, use a preseed file in this case.
2542 .TP
2543+.BI "uuid=" UUID
2544+Check that the discovered medium matches
2545+.I UUID
2546+rather than the default UUID embedded in the initramfs.
2547+.TP
2548 .BI ignore_uuid
2549 Do not check that any UUID embedded in the initramfs matches the discovered medium.
2550 .B casper
2551
2552=== added directory 'debian/source'
2553=== added file 'debian/source/format'
2554--- debian/source/format 1970-01-01 00:00:00 +0000
2555+++ debian/source/format 2012-04-23 12:22:18 +0000
2556@@ -0,0 +1,1 @@
2557+3.0 (native)
2558
2559=== modified file 'hooks/casper'
2560--- hooks/casper 2009-05-23 22:30:56 +0000
2561+++ hooks/casper 2012-04-23 12:22:18 +0000
2562@@ -20,6 +20,7 @@
2563
2564 manual_add_modules unionfs
2565 manual_add_modules aufs
2566+manual_add_modules overlayfs
2567
2568 # unionfs-fuse, if available
2569 if [ -x /usr/bin/unionfs-fuse ]; then
2570@@ -33,10 +34,11 @@
2571 mkdir -p ${DESTDIR}/lib/casper
2572 copy_exec /usr/share/casper/casper-reconfigure /bin
2573 copy_exec /usr/share/casper/casper-preseed /bin
2574+copy_exec /usr/share/casper/casper-set-selections /bin
2575
2576-mkdir -p ${DESTDIR}/lib/udev
2577+mkdir -p ${DESTDIR}/lib/udev/rules.d
2578+cp -p /lib/udev/rules.d/60-cdrom_id.rules ${DESTDIR}/lib/udev/rules.d/
2579 copy_exec /lib/udev/cdrom_id /lib/udev
2580-copy_exec /lib/udev/path_id /lib/udev
2581 copy_exec /usr/bin/eject /bin
2582
2583 # cifs boot
2584@@ -55,6 +57,7 @@
2585 manual_add_modules vfat
2586 manual_add_modules ext3
2587 manual_add_modules ext4
2588+manual_add_modules btrfs
2589 # needed for vfat. :-/
2590 manual_add_modules nls_cp437
2591 manual_add_modules nls_utf8
2592
2593=== modified file 'scripts/casper'
2594--- scripts/casper 2009-10-06 12:07:52 +0000
2595+++ scripts/casper 2012-04-23 12:22:18 +0000
2596@@ -6,6 +6,7 @@
2597
2598 mountpoint=/cdrom
2599 LIVE_MEDIA_PATH=casper
2600+[ -f /conf/uuid.conf ] && UUID="$(cat /conf/uuid.conf)"
2601
2602 root_persistence="casper-rw"
2603 home_persistence="home-rw"
2604@@ -38,24 +39,32 @@
2605 export PERSISTENT="Yes" ;;
2606 nopersistent)
2607 export PERSISTENT="" ;;
2608+ persistent-path=*)
2609+ export PERSISTENT_PATH="${x#persistent-path=}" ;;
2610 union=*)
2611 export UNIONFS="${x#union=}";;
2612- ip*)
2613+ ip=*)
2614 STATICIP=${x#ip=}
2615 if [ "${STATICIP}" = "" ]; then
2616 STATICIP="frommedia"
2617 fi
2618 export STATICIP ;;
2619+ uuid=*)
2620+ UUID=${x#uuid=} ;;
2621 ignore_uuid)
2622- IGNORE_UUID="Yes" ;;
2623+ UUID="" ;;
2624 live-media-path=*)
2625 LIVE_MEDIA_PATH="${x#live-media-path=}"
2626 export LIVE_MEDIA_PATH
2627 echo "export LIVE_MEDIA_PATH=\"$LIVE_MEDIA_PATH\"" >> /etc/casper.conf ;;
2628+ toram)
2629+ export TORAM="Yes" ;;
2630+ todisk=*)
2631+ export TODISK="${x#todisk=}" ;;
2632 esac
2633 done
2634 if [ "${UNIONFS}" = "" ]; then
2635- export UNIONFS="aufs"
2636+ export UNIONFS="DEFAULT"
2637 fi
2638 }
2639
2640@@ -72,15 +81,14 @@
2641 }
2642
2643 matches_uuid() {
2644- if [ "$IGNORE_UUID" ] || [ ! -e /conf/uuid.conf ]; then
2645+ if [ -z "$UUID" ]; then
2646 return 0
2647 fi
2648 path="$1"
2649- uuid="$(cat /conf/uuid.conf)"
2650 for try_uuid_file in "$path/.disk/casper-uuid"*; do
2651 [ -e "$try_uuid_file" ] || continue
2652 try_uuid="$(cat "$try_uuid_file")"
2653- if [ "$uuid" = "$try_uuid" ]; then
2654+ if [ "$UUID" = "$try_uuid" ]; then
2655 return 0
2656 fi
2657 done
2658@@ -125,7 +133,7 @@
2659
2660 is_nice_device() {
2661 sysfs_path="${1#/sys}"
2662- if /lib/udev/path_id "${sysfs_path}" | grep -E -q "ID_PATH=(usb|pci-[^-]*-(ide|scsi|usb)|platform-orion-ehci|platform-mmc|platform-mxsdhci)"; then
2663+ if /sbin/udevadm test-builtin path_id "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|sas|scsi|usb|virtio)|platform-sata_mv|platform-orion-ehci|platform-mmc|platform-mxsdhci|platform-omap_hsmmc|platform-sdhci-tegra)"; then
2664 return 0
2665 fi
2666 if echo ${sysfs_path} | grep -q "^/block/dm-"; then
2667@@ -143,7 +151,7 @@
2668
2669 if [ "${copytodev}" = "ram" ]; then
2670 # copying to ram:
2671- freespace=$( expr $(awk '/MemFree/{print $2}' /proc/meminfo) + $( cat /proc/meminfo | grep Cached | head -n 1 | awk '/Cached/{print $2}' - ) )
2672+ freespace=$(awk '/^MemFree:/{f=$2} /^Cached:/{c=$2} END{print f+c}' /proc/meminfo)
2673 mount_options="-o size=${size}k"
2674 free_string="memory"
2675 fstype="tmpfs"
2676@@ -169,7 +177,10 @@
2677 mkdir "${copyto}"
2678 echo "mount -t ${fstype} ${mount_options} ${dev} ${copyto}"
2679 mount -t "${fstype}" ${mount_options} "${dev}" "${copyto}"
2680- cp -a ${copyfrom}/* ${copyto} # "cp -a" from busybox also copies hidden files
2681+ cp -a ${copyfrom}/* ${copyto}
2682+ if [ -e ${copyfrom}/.disk ]; then
2683+ cp -a ${copyfrom}/.disk ${copyto}
2684+ fi
2685 umount ${copyfrom}
2686 mount -r -o move ${copyto} ${copyfrom}
2687 rmdir ${copyto}
2688@@ -184,7 +195,8 @@
2689 /sbin/udevadm trigger
2690 /sbin/udevadm settle
2691
2692- ipconfig ${DEVICE} /tmp/net-${DEVICE}.conf | tee /netboot.config
2693+ configure_networking
2694+ export DEVICE
2695
2696 if [ "${NFSROOT}" = "auto" ]; then
2697 NFSROOT=${ROOTSERVER}:${ROOTPATH}
2698@@ -255,7 +267,7 @@
2699 todev=$(cat /proc/mounts | grep -s " $(base_path ${todir}) " | awk '{print $1}' )
2700 freespace=$(df -k | grep -s ${todev} | awk '{print $4}')
2701 else
2702- freespace=$( expr $(awk '/MemFree/{print $2}' /proc/meminfo) + $( cat /proc/meminfo | grep Cached | head -n 1 | awk '/Cached/{print $2}' - ))
2703+ freespace=$(awk '/^MemFree:/{f=$2} /^Cached:/{c=$2} END{print f+c}' /proc/meminfo)
2704 fi
2705
2706 tomount="/mnt/tmpsnap"
2707@@ -355,15 +367,23 @@
2708 image_directory="$1"
2709 rootmnt="$2"
2710
2711- case ${UNIONFS} in
2712- aufs|unionfs)
2713- modprobe "${MP_QUIET}" -b ${UNIONFS} || true
2714- if ! cut -f2 /proc/filesystems | grep -q "^${UNIONFS}\$" && \
2715- [ -x /bin/unionfs-fuse ]; then
2716- UNIONFS="unionfs-fuse"
2717- fi
2718- ;;
2719- esac
2720+ if [ "${UNIONFS}" = 'DEFAULT' ]; then
2721+ for union in 'overlayfs' 'aufs' 'unionfs'
2722+ do
2723+ modprobe "${MP_QUIET}" -b ${union} || true
2724+ if cut -f2 /proc/filesystems | grep -q "^${union}\$"; then
2725+ UNIONFS="${union}"
2726+ break
2727+ fi
2728+ done
2729+ fi
2730+ if [ "${UNIONFS}" = 'DEFAULT' -a -x /bin/unionfs-fuse ]; then
2731+ UNIONFS="unionfs-fuse"
2732+ fi
2733+ # If all else fails fall back to aufs.
2734+ if [ "${UNIONFS}" = 'DEFAULT' ]; then
2735+ UNIONFS='aufs'
2736+ fi
2737
2738 # run-init can't deal with images in a subdir, but we're going to
2739 # move all of these away before it runs anyway. No, we're not,
2740@@ -375,9 +395,7 @@
2741 # Let's just mount the read-only file systems first
2742 rofsstring=""
2743 rofslist=""
2744- if [ "${NETBOOT}" = "nfs" ] ; then
2745- roopt="nfsro" # work around a bug in nfs-unionfs locking
2746- elif [ "${UNIONFS}" = "aufs" ]; then
2747+ if [ "${UNIONFS}" = "aufs" ]; then
2748 roopt="rr"
2749 elif [ "${UNIONFS}" = "unionfs-fuse" ]; then
2750 roopt="RO"
2751@@ -431,9 +449,29 @@
2752 mkdir -p /dev/.initramfs/varrun
2753 pidof unionfs-fuse >> /dev/.initramfs/varrun/sendsigs.omit || true
2754 ;;
2755- *)
2756+ aufs|unionfs)
2757 mount -t ${UNIONFS} -o noatime,dirs=/cow=rw:$rofsstring ${UNIONFS} "$rootmnt" || panic "${UNIONFS} mount failed"
2758 ;;
2759+ overlayfs)
2760+ # Mount the layers pairwise from the bottom onto rootmnt,
2761+ # for the second and later layers rootmnt forms the lower layer.
2762+ mounts=""
2763+ for mount in /cow $rofslist
2764+ do
2765+ mounts="$mount $mounts"
2766+ done
2767+ lower=""
2768+ for mount in $mounts
2769+ do
2770+ if [ "$lower" = "" ]; then
2771+ lower="$mount"
2772+ continue
2773+ fi
2774+ mount -t overlayfs -o "upperdir=$mount,lowerdir=$lower" \
2775+ "$mount" "$rootmnt"
2776+ lower="$rootmnt"
2777+ done
2778+ ;;
2779 esac
2780
2781 # Adding other custom mounts
2782@@ -516,7 +554,7 @@
2783 mount -t ${fstype} -o ro,noatime "${devname}" $mountpoint || continue
2784 [ -n "$devuid" ] && echo "$devuid" >> $tried
2785 if is_casper_path $mountpoint && \
2786- ([ "$skip_uuid_check" ] || matches_uuid $mountpoint); then
2787+ ([ "$skip_uuid_check" ] || [ "$UUID" = "$devuid" ] || matches_uuid $mountpoint); then
2788 echo $mountpoint
2789 return 0
2790 else
2791@@ -545,7 +583,7 @@
2792 fi
2793 fi
2794 # or do the scan of block devices
2795- for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|fd)"); do
2796+ for sysblock in $(echo /sys/block/* | tr ' ' '\n' | egrep -v "/(loop|ram|fd)"); do
2797 devname=$(sys2dev "${sysblock}")
2798 [ -e "$devname" ] || continue
2799 fstype=$(get_fstype "${devname}")
2800@@ -562,7 +600,8 @@
2801 elif [ "${fstype}" = "squashfs" -o \
2802 "${fstype}" = "ext4" -o \
2803 "${fstype}" = "ext3" -o \
2804- "${fstype}" = "ext2" ]; then
2805+ "${fstype}" = "ext2" -o \
2806+ "${fstype}" = "btrfs" ]; then
2807 # This is an ugly hack situation, the block device has
2808 # an image directly on it. It's hopefully
2809 # casper, so take it and run with it.
2810@@ -645,12 +684,53 @@
2811
2812 log_end_msg
2813
2814+ # Allow to override USERNAME and HOST based on media information
2815+ # make it skipable by setting FLAVOUR= in casper.conf
2816+ if [ -f /cdrom/.disk/info ] && [ -z "$FLAVOUR" ]; then
2817+ FLAVOUR="$(cut -d' ' -f1 "/cdrom/.disk/info" 2>/dev/null | tr '[A-Z]' '[a-z]')" || FLAVOUR=
2818+ if [ -n "$FLAVOUR" ]; then
2819+ HOST=$FLAVOUR
2820+ USERNAME=$FLAVOUR
2821+ export HOST USERNAME
2822+ sed -i "s,USERNAME=.*,USERNAME=\"$FLAVOUR\",g; s,HOST=.*,HOST=\"$FLAVOUR\",g" /etc/casper.conf
2823+ fi
2824+ fi
2825+
2826 # unionfs-fuse needs /dev to be bind-mounted for the duration of
2827 # casper-bottom; udev's init script will take care of things after that
2828 if [ "${UNIONFS}" = unionfs-fuse ]; then
2829 mount -n -o bind /dev "${rootmnt}/dev"
2830 fi
2831
2832+ # Open up two fifo's fd's for debconf-communicate to use. Speeds up
2833+ # the Casper process considerably.
2834+ log_begin_msg "Creating debconf-communicate fifo mechanism"
2835+ mkfifo /tmp/debconf-in.fifo
2836+ mkfifo /tmp/debconf-out.fifo
2837+
2838+ # Make the template database read-only, so that passthrough debconf
2839+ # instances can write to it directly; otherwise templates are only
2840+ # passed through when necessary. Use temporary config databases as
2841+ # well; we'll copy their contents back at the end.
2842+ DEBCONF_TMPDIR="$(chroot /root mktemp -dt debconf.XXXXXX)"
2843+ cp -a /root/var/cache/debconf/config.dat "/root$DEBCONF_TMPDIR/"
2844+ cp -a /root/var/cache/debconf/passwords.dat "/root$DEBCONF_TMPDIR/"
2845+ sed "s,^Filename: /var/cache/debconf/\(config\|passwords\).dat$,Filename: $DEBCONF_TMPDIR/\1.dat,; /^Name: templatedb/a\
2846+Readonly: true" /root/etc/debconf.conf >"/root$DEBCONF_TMPDIR/debconf.conf"
2847+
2848+ DEBCONF_SYSTEMRC="$DEBCONF_TMPDIR/debconf.conf" chroot /root debconf-communicate -fnoninteractive casper > /tmp/debconf-out.fifo < /tmp/debconf-in.fifo &
2849+ debconfpid="$!"
2850+
2851+ if [ ! -p /tmp/debconf-in.fifo ] || [ ! -p /tmp/debconf-out.fifo ]; then
2852+ log_warning_msg "failed to setup debconf-communicate channel"
2853+ fi
2854+ log_end_msg
2855+
2856+ # Order matters!
2857+ # These file descriptors must stay open until we're finished with
2858+ # debconf-communicate.
2859+ exec 4</tmp/debconf-out.fifo 3>/tmp/debconf-in.fifo
2860+
2861 maybe_break casper-bottom
2862 [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/casper-bottom"
2863
2864@@ -661,6 +741,21 @@
2865 umount "${rootmnt}/dev"
2866 fi
2867
2868+ # Close the fd's associated with debconf-communicate.
2869+ exec 3>&- 4<&-
2870+ rm -f /tmp/debconf-in.fifo
2871+ rm -f /tmp/debconf-out.fifo
2872+ wait $debconfpid
2873+
2874+ # Copy config database changes back to the master files.
2875+ chroot /root debconf-copydb tmpdb config \
2876+ --config=Name:tmpdb --config=Driver:File \
2877+ --config="Filename:$DEBCONF_TMPDIR/config.dat"
2878+ chroot /root debconf-copydb tmpdb passwords \
2879+ --config=Name:tmpdb --config=Driver:File \
2880+ --config="Filename:$DEBCONF_TMPDIR/passwords.dat"
2881+ rm -rf "$DEBCONF_TMPDIR"
2882+
2883 exec 1>&6 6>&-
2884 exec 2>&7 7>&-
2885 kill "$tailpid"
2886
2887=== modified file 'scripts/casper-bottom/05mountpoints'
2888--- scripts/casper-bottom/05mountpoints 2010-01-05 16:54:40 +0000
2889+++ scripts/casper-bottom/05mountpoints 2012-04-23 12:22:18 +0000
2890@@ -24,4 +24,8 @@
2891 mkdir -p /root/cdrom
2892 mount -n -o move /cdrom /root/cdrom
2893
2894+# temporary hack for LP#727783
2895+mkdir -p /root/media
2896+ln -s /cdrom /root/media/cdrom
2897+
2898 log_end_msg
2899
2900=== added file 'scripts/casper-bottom/07remove_oem_config'
2901--- scripts/casper-bottom/07remove_oem_config 1970-01-01 00:00:00 +0000
2902+++ scripts/casper-bottom/07remove_oem_config 2012-04-23 12:22:18 +0000
2903@@ -0,0 +1,32 @@
2904+#!/bin/sh
2905+
2906+PREREQ=""
2907+DESCRIPTION="Removing oem-config if installed..."
2908+
2909+prereqs()
2910+{
2911+ echo "$PREREQ"
2912+}
2913+
2914+case $1 in
2915+# get pre-requisites
2916+prereqs)
2917+ prereqs
2918+ exit 0
2919+ ;;
2920+esac
2921+
2922+. /scripts/casper-functions
2923+
2924+# Only do this on ARM
2925+if ! uname -m | grep -q arm; then exit 0; fi
2926+
2927+log_begin_msg "$DESCRIPTION"
2928+
2929+# if oem-config is installed, we need to remove it to remove the desktop
2930+# file diversion, and to remove the OEM icons from showing up before we
2931+# install the image.
2932+
2933+chroot /root apt-get -y --purge remove oem-config </dev/null || true
2934+
2935+log_end_msg
2936
2937=== removed file 'scripts/casper-bottom/10adduser'
2938--- scripts/casper-bottom/10adduser 2010-01-05 16:54:40 +0000
2939+++ scripts/casper-bottom/10adduser 1970-01-01 00:00:00 +0000
2940@@ -1,111 +0,0 @@
2941-#!/bin/sh
2942-
2943-PREREQ=""
2944-DESCRIPTION="Adding live session user..."
2945-
2946-prereqs()
2947-{
2948- echo "$PREREQ"
2949-}
2950-
2951-case $1 in
2952-# get pre-requisites
2953-prereqs)
2954- prereqs
2955- exit 0
2956- ;;
2957-esac
2958-
2959-. /scripts/casper-functions
2960-
2961-log_begin_msg "$DESCRIPTION"
2962-
2963-# U6aMy0wojraho is just a blank password
2964-chroot /root debconf-communicate -fnoninteractive casper > /dev/null <<EOF
2965-set passwd/root-password-crypted *
2966-set passwd/user-password-crypted U6aMy0wojraho
2967-set passwd/user-fullname $USERFULLNAME
2968-set passwd/username $USERNAME
2969-set passwd/user-uid 999
2970-EOF
2971-
2972-chroot /root /usr/lib/user-setup/user-setup-apply > /dev/null
2973-
2974-# Clear out debconf database again to avoid confusing ubiquity later.
2975-chroot /root debconf-communicate -fnoninteractive casper > /dev/null <<EOF
2976-set passwd/root-password-crypted
2977-set passwd/user-password-crypted
2978-set passwd/user-fullname
2979-set passwd/username
2980-set passwd/user-uid
2981-EOF
2982-
2983-if [ -f /root/etc/sudoers ]; then
2984- if [ "${BUILD_SYSTEM}" = "Ubuntu" ]; then
2985- if grep -q '^%admin' /root/etc/sudoers; then
2986- sed -i -e '/^%admin/s/(ALL) ALL$/(ALL) NOPASSWD: ALL/' /root/etc/sudoers
2987- else
2988- echo '%admin ALL=(ALL) NOPASSWD: ALL' >> /root/etc/sudoers
2989- fi
2990- elif [ "${BUILD_SYSTEM}" = "Debian" ]; then
2991- echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /root/etc/sudoers
2992- fi
2993-fi
2994-
2995-# XXX - awful hack to stop xscreensaver locking the screen (#7150)
2996-echo 'RUNNING_UNDER_GDM="yes"' >> /root/etc/environment
2997-
2998-RELEASE="$(cut -d' ' -f1-2 /root/cdrom/.disk/info 2>/dev/null)" || RELEASE=""
2999-for file in /usr/share/applications/ubiquity-gtkui.desktop /usr/share/applications/kde4/ubiquity-kdeui.desktop; do
3000- if [ -f "/root/$file" ]; then
3001- sed -i "s/RELEASE/$RELEASE/" "/root$file"
3002- chroot /root install -d -o $USERNAME -g $USERNAME /home/$USERNAME/Desktop
3003- chroot /root install -D -o $USERNAME -g $USERNAME $file /home/$USERNAME/Desktop/$(basename "$file")
3004- break
3005- fi
3006-done
3007-
3008-if [ -L /root/home/$USERNAME/Examples ]; then
3009- chroot /root install -o $USERNAME -g $USERNAME -d /home/$USERNAME/Desktop/
3010- mv /root/home/$USERNAME/Examples /root/home/$USERNAME/Desktop/
3011-fi
3012-
3013-if [ -f /root/home/$USERNAME/examples.desktop ]; then
3014- chroot /root install -o $USERNAME -g $USERNAME -d /home/$USERNAME/Desktop/
3015- mv /root/home/$USERNAME/examples.desktop /root/home/$USERNAME/Desktop/
3016-fi
3017-
3018-#Kubuntu
3019-if [ -f "/root/usr/bin/plasma" ]; then
3020- if [ -f "/root/usr/share/kde4/apps/khelpcenter/plugins/kubuntu/about-kubuntu.desktop" ]; then
3021- chroot /root install -d -o $USERNAME -g $USERNAME /home/$USERNAME/Desktop
3022- chroot /root install -D -o $USERNAME -g $USERNAME /usr/share/kde4/apps/khelpcenter/plugins/kubuntu/about-kubuntu.desktop /home/$USERNAME/Desktop/about-kubuntu.desktop
3023- fi
3024-fi
3025-
3026-#Ubuntu MID wants to be installed with --automatic
3027-if [ -f "/root/usr/share/ubuntu-mid-default-settings/mid-gui-start" ]; then
3028- if [ -f "/root/usr/share/applications/ubiquity-gtkui.desktop" ]; then
3029- sed -i 's/--desktop/--automatic --desktop/' "/root/usr/share/applications/ubiquity-gtkui.desktop"
3030- fi
3031-fi
3032-
3033-#Ubuntu MID uses kourou, and the ubiquity icon should be easy to find
3034-if [ -f "/root/usr/lib/hildon-desktop/kourou.py" ]; then
3035- if [ -f "/root/etc/xdg/menus/home.menu" ]; then
3036- sed -i '/<\/Include>/i\ <Filename>ubiquity-gtkui.desktop</Filename>' "/root/etc/xdg/menus/home.menu"
3037- fi
3038-fi
3039-
3040-#Mythbuntu
3041-if [ -d "/root/usr/share/mythbuntu" ]; then
3042- if [ -f "/root/usr/share/applications/mythbuntu-live-frontend.desktop" ]; then
3043- chroot /root install -d -o $USERNAME -g $USERNAME /home/$USERNAME/Desktop
3044- chroot /root install -D -o $USERNAME -g $USERNAME /usr/share/applications/mythbuntu-live-frontend.desktop /home/$USERNAME/Desktop/mythbuntu-live-frontend.desktop
3045- fi
3046- if [ -f "/root/etc/xdg/mythbuntu/xfce4/mcs_settings/desktop.xml" ]; then
3047- sed -i "s/<\/mcs/\t<option\ name=\"showremovable\"\ type=\"int\"\ value=\"0\"\/>\n<\/mcs/" /root/etc/xdg/mythbuntu/xfce4/mcs_settings/desktop.xml
3048- fi
3049-fi
3050-
3051-log_end_msg
3052
3053=== modified file 'scripts/casper-bottom/14locales'
3054--- scripts/casper-bottom/14locales 2010-01-05 16:54:40 +0000
3055+++ scripts/casper-bottom/14locales 2012-04-23 12:22:18 +0000
3056@@ -20,15 +20,9 @@
3057
3058 log_begin_msg "$DESCRIPTION"
3059
3060-if [ -e /root/etc/default/locale ]; then
3061- grep_file=/root/etc/default/locale
3062-elif [ -e /root/etc/environment ]; then # Old locales policy
3063- grep_file=/root/etc/environment
3064-fi
3065-
3066-if [ -n "${grep_file}" ]; then
3067+if [ -f /root/rofs/etc/default/locale ]; then
3068 # use rootfs configured locale
3069- locale=$(grep -s 'LANG=' ${grep_file} | sed s/'LANG='// | tr -d '"' )
3070+ locale=$(grep -s 'LANG=' /root/rofs/etc/default/locale | sed s/'LANG='// | tr -d '"' )
3071 fi
3072
3073 # commandline
3074@@ -58,8 +52,7 @@
3075
3076 if [ "${set_locale}" ]; then
3077 LANG=$(grep "^${locale}" /root/usr/share/i18n/SUPPORTED | grep UTF-8 |sed -e 's, .*,,' -e q)
3078- printf 'LANG="%s"\n' "${LANG}" >> /root/etc/default/locale
3079- printf 'LANG="%s"\n' "${LANG}" >> /root/etc/environment
3080+ printf 'LANG="%s"\n' "${LANG}" > /root/etc/default/locale
3081 printf '%s UTF-8\n' "${LANG}" > /root/etc/locale.gen
3082 chroot /root /usr/sbin/locale-gen "${LANG}"
3083 fi
3084
3085=== modified file 'scripts/casper-bottom/15autologin'
3086--- scripts/casper-bottom/15autologin 2010-01-05 16:54:40 +0000
3087+++ scripts/casper-bottom/15autologin 2012-04-23 12:22:18 +0000
3088@@ -20,16 +20,24 @@
3089
3090 log_begin_msg "$DESCRIPTION"
3091
3092-if [ -d /root/etc/gdm ] && [ ! -e /root/etc/gdm/custom.conf ]; then
3093+if [ -d /root/etc/gdm ]; then
3094 # Configure GDM autologin
3095- cat > /root/etc/gdm/custom.conf <<EOF
3096-[daemon]
3097-AutomaticLoginEnable=true
3098-AutomaticLogin=$USERNAME
3099-TimedLoginEnable=true
3100-TimedLogin=$USERNAME
3101-TimedLoginDelay=10
3102-EOF
3103+ GDMCustomFile=/root/etc/gdm/custom.conf
3104+ AutologinParameters="AutomaticLoginEnable=true\n\
3105+AutomaticLogin=$USERNAME\n\
3106+TimedLoginEnable=true\n\
3107+TimedLogin=$USERNAME\n\
3108+TimedLoginDelay=10"
3109+
3110+ # Prevent from updating if parameters already present (persistent usb key)
3111+ if ! `grep -qs 'AutomaticLoginEnable' $GDMCustomFile` ; then
3112+ if ! `grep -qs '\[daemon\]' $GDMCustomFile` ; then
3113+ echo '[daemon]' >> $GDMCustomFile
3114+ fi
3115+ sed -i "s/\[daemon\]/\[daemon\]\n$AutologinParameters/" $GDMCustomFile
3116+ printf "[com.canonical.indicator.session]\nsuppress-logout-menuitem=true\n" >> /root/usr/share/glib-2.0/schemas/casper.gschema.override
3117+ chroot /root glib-compile-schemas /usr/share/glib-2.0/schemas/
3118+ fi
3119 fi
3120
3121 if [ -f /root/etc/kde4/kdm/kdmrc ]; then
3122@@ -41,4 +49,45 @@
3123 /root/etc/kde4/kdm/kdmrc
3124 fi
3125
3126+if [ -f /root/etc/lxdm/lxdm.conf ]; then
3127+ # Configure LXDM autologin with LXDE session
3128+ sed -i -r \
3129+ -e "s/^# autologin=dgod/autologin=$USERNAME/" \
3130+ -e "s/^# session/session/" \
3131+ -e "s/startlxde/startlubuntu/" \
3132+ /root/etc/lxdm/lxdm.conf
3133+fi
3134+
3135+if [ -f /root/etc/xdg/lubuntu/lxdm/lxdm.conf ]; then
3136+ # Configure LXDM autologin with Lubuntu session
3137+ sed -i -r \
3138+ -e "s/^# autologin=dgod/autologin=$USERNAME/" \
3139+ -e "s/^# session/session/" \
3140+ -e "s/startlxde/startlubuntu/" \
3141+ /root/etc/xdg/lubuntu/lxdm/lxdm.conf
3142+fi
3143+
3144+if [ -d /root/etc/lightdm ]; then
3145+ # Configure LightDM autologin
3146+ LightDMCustomFile=/root/etc/lightdm/lightdm.conf
3147+ AutologinParameters="allow-guest=false\n\
3148+autologin-guest=false\n\
3149+autologin-user=$USERNAME\n\
3150+autologin-user-timeout=0\n\
3151+autologin-session=lightdm-autologin"
3152+
3153+ # Prevent from updating if parameters already present (persistent usb key)
3154+ if ! `grep -qs '^autologin-user' $LightDMCustomFile` ; then
3155+ if ! `grep -qs '\[SeatDefaults\]' $LightDMCustomFile` ; then
3156+ echo '[SeatDefaults]' >> $LightDMCustomFile
3157+ fi
3158+ sed -i "s/\[SeatDefaults\]/\[SeatDefaults\]\n$AutologinParameters/" $LightDMCustomFile
3159+ fi
3160+
3161+ # LightDM on kubuntu-active wants to start ubuntu.desktop, workaround here for now jriddell 2012-03-15
3162+ if [ -e /root/usr/share/xsessions/plasma-active.desktop ]; then
3163+ cp /root/usr/share/xsessions/plasma-active.desktop /root/usr/share/xsessions/ubuntu.desktop
3164+ fi
3165+fi
3166+
3167 log_end_msg
3168
3169=== modified file 'scripts/casper-bottom/19keyboard'
3170--- scripts/casper-bottom/19keyboard 2010-01-05 16:54:40 +0000
3171+++ scripts/casper-bottom/19keyboard 2012-04-23 12:22:18 +0000
3172@@ -48,6 +48,24 @@
3173 console-setup/modelcode\?=*)
3174 csmodel=${x#console-setup/modelcode\?=}
3175 ;;
3176+ keyboard-configuration/layoutcode=*)
3177+ cslayout=${x#keyboard-configuration/layoutcode=}
3178+ ;;
3179+ keyboard-configuration/layoutcode\?=*)
3180+ cslayout=${x#keyboard-configuration/layoutcode\?=}
3181+ ;;
3182+ keyboard-configuration/variantcode=*)
3183+ csvariant=${x#keyboard-configuration/variantcode=}
3184+ ;;
3185+ keyboard-configuration/variantcode\?=*)
3186+ csvariant=${x#keyboard-configuration/variantcode\?=}
3187+ ;;
3188+ keyboard-configuration/modelcode=*)
3189+ csmodel=${x#keyboard-configuration/modelcode=}
3190+ ;;
3191+ keyboard-configuration/modelcode\?=*)
3192+ csmodel=${x#keyboard-configuration/modelcode\?=}
3193+ ;;
3194 esac
3195 done
3196
3197@@ -151,35 +169,52 @@
3198 fi
3199 }
3200
3201-if [ -x /root/bin/setupcon ] && [ -f /root/etc/default/console-setup ]; then
3202+PREFIX=
3203+CONFIGFILE=
3204+if [ -f /root/etc/default/keyboard ]; then
3205+ PREFIX=keyboard-configuration
3206+ CONFIGFILE=/etc/default/keyboard
3207+elif [ -f /root/etc/default/console-setup ]; then
3208+ PREFIX=console-setup
3209+ CONFIGFILE=/etc/default/console-setup
3210+fi
3211+
3212+# Reset the config for persistent medias
3213+if [ -f /cow$CONFIGFILE ]; then
3214+ echo "Resetting $CONFIGFILE"
3215+ cp /root/rofs$CONFIGFILE /root$CONFIGFILE
3216+fi
3217+
3218+if [ -x /root/bin/setupcon ] && [ "$PREFIX" ] && [ "$CONFIGFILE" ]; then
3219 if [ "$cslayout" ]; then
3220 csoptions=
3221 adjust_console_setup
3222
3223 chroot /root sed -i "s/^XKBLAYOUT=.*/XKBLAYOUT=\"$cslayout\"/" \
3224- /etc/default/console-setup
3225+ "$CONFIGFILE"
3226 if [ "$csvariant" ]; then
3227 chroot /root sed -i "s/^XKBVARIANT=.*/XKBVARIANT=\"$csvariant\"/" \
3228- /etc/default/console-setup
3229+ "$CONFIGFILE"
3230 else
3231- casper-preseed /root console-setup/variantcode '' false
3232+ casper-preseed /root "$PREFIX/variantcode" '' false
3233 fi
3234 if [ "$csmodel" ]; then
3235 chroot /root sed -i "s/^XKBMODEL=.*/XKBMODEL=\"$csmodel\"/" \
3236- /etc/default/console-setup
3237+ "$CONFIGFILE"
3238 else
3239- casper-preseed /root console-setup/modelcode '' false
3240+ casper-preseed /root "$PREFIX/modelcode" '' false
3241 fi
3242 if [ "$csoptions" ]; then
3243 chroot /root sed -i "s/^XKBOPTIONS=.*/XKBOPTIONS=\"$csoptions\"/" \
3244- /etc/default/console-setup
3245+ "$CONFIGFILE"
3246 fi
3247 else
3248- casper-preseed /root console-setup/layoutcode '' false
3249- casper-preseed /root console-setup/variantcode '' false
3250- casper-preseed /root console-setup/modelcode '' false
3251+ casper-preseed /root "$PREFIX/layoutcode" '' false
3252+ casper-preseed /root "$PREFIX/variantcode" '' false
3253+ casper-preseed /root "$PREFIX/modelcode" '' false
3254 fi
3255- casper-preseed /root console-setup/optionscode '' false
3256+ casper-preseed /root "$PREFIX/optionscode" '' false
3257+ # prefix remains console-setup even with keyboard-configuration
3258 casper-preseed /root console-setup/codesetcode '' false
3259
3260 if [ -f /root/etc/init.d/usplash ]; then
3261
3262=== modified file 'scripts/casper-bottom/22gnome_panel_data'
3263--- scripts/casper-bottom/22gnome_panel_data 2010-01-05 16:54:40 +0000
3264+++ scripts/casper-bottom/22gnome_panel_data 2012-04-23 12:22:18 +0000
3265@@ -20,15 +20,10 @@
3266
3267 log_begin_msg "$DESCRIPTION"
3268
3269-if [ -x /root/usr/sbin/laptop-detect ]; then
3270- if chroot /root laptop-detect; then
3271- casper-reconfigure /root gnome-panel-data
3272- fi
3273-fi
3274-
3275 panel_version=$(chroot /root /usr/bin/dpkg-query -W --showformat='${Version}' gnome-panel-data 2>/dev/null) || panel_version=""
3276 if [ -n "$panel_version" ]; then
3277- chroot /root sudo -u "$USERNAME" gconftool-2 -s -t bool /apps/panel/global/disable_lock_screen true
3278+ printf "[org.gnome.desktop.lockdown]\ndisable-lock-screen=true\n" >> /root/usr/share/glib-2.0/schemas/casper.gschema.override
3279+ chroot /root glib-compile-schemas /usr/share/glib-2.0/schemas/
3280 fi
3281
3282 log_end_msg
3283
3284=== modified file 'scripts/casper-bottom/22screensaver'
3285--- scripts/casper-bottom/22screensaver 2010-01-05 16:54:40 +0000
3286+++ scripts/casper-bottom/22screensaver 2012-04-23 12:22:18 +0000
3287@@ -22,9 +22,8 @@
3288
3289 gnome_screensaver_version=$(chroot /root dpkg-query -W --showformat='${Version}' gnome-screensaver 2>/dev/null) || gnome_screensaver_version=""
3290 if [ -n "$gnome_screensaver_version" ]; then
3291- # Support legacy gconf value
3292- chroot /root sudo -u "$USERNAME" gconftool-2 -t bool -s /apps/gnome-screensaver/lock false
3293- chroot /root sudo -u "$USERNAME" gconftool-2 -t bool -s /apps/gnome-screensaver/lock_enabled false
3294+ printf "[org.gnome.desktop.screensaver]\nlock-enabled=false\n" >> /root/usr/share/glib-2.0/schemas/casper.gschema.override
3295+ chroot /root glib-compile-schemas /usr/share/glib-2.0/schemas/
3296 fi
3297
3298 if [ -d /root/usr/share/kubuntu-default-settings/kde-profile/default/share/config ]; then
3299
3300=== modified file 'scripts/casper-bottom/22sslcert'
3301--- scripts/casper-bottom/22sslcert 2010-01-05 16:54:40 +0000
3302+++ scripts/casper-bottom/22sslcert 2012-04-23 12:22:18 +0000
3303@@ -17,6 +17,7 @@
3304 esac
3305
3306 . /scripts/casper-functions
3307+load_confmodule
3308
3309 log_begin_msg "$DESCRIPTION"
3310
3311
3312=== modified file 'scripts/casper-bottom/23networking'
3313--- scripts/casper-bottom/23networking 2010-01-05 16:54:40 +0000
3314+++ scripts/casper-bottom/23networking 2012-04-23 12:22:18 +0000
3315@@ -73,27 +73,44 @@
3316 EOF
3317 done
3318 fi
3319- if [ ! -f /root/etc/resolv.conf -a -f /netboot.config ] ; then
3320- # create a resolv.conf if it is not present
3321- cp /netboot.config /root/var/log/netboot.config
3322- rc_search=$(cat netboot.config | awk '/domain/{print $3}')
3323- rc_server0=$(cat netboot.config | awk '/dns0/{print $5}')
3324- rc_server1=$(cat netboot.config | awk '/dns0/{print $8}')
3325- rc_server0="nameserver ${rc_server0}"
3326- if [ "${rc_server1}" = "0.0.0.0" ]; then
3327- rc_server1=""
3328- else
3329- rc_server1="nameserver ${rc_server1}"
3330- fi
3331- cat > /root/etc/resolv.conf <<EOF
3332+
3333+ if [ -n "${NETBOOT}" ] && [ -x /root/usr/sbin/NetworkManager ]; then
3334+ # Disable Network Manager on netboot to avoid loosing connectivity to the media
3335+ echo "manual" > /root/etc/init/network-manager.override
3336+ fi
3337+
3338+ if [ ! -f /root/etc/resolv.conf ] || [ -z "$(cat /root/etc/resolv.conf)" ]; then
3339+ if [ -n "${DEVICE}" ] && [ -e /tmp/net-"${DEVICE}".conf ]; then
3340+ # create a resolv.conf if it is not present
3341+ cp /tmp/net-"${DEVICE}".conf /root/var/log/netboot.config
3342+ #ipconfig quotes DNSDOMAIN, quotes need to be removed for a correct resolv.conf
3343+ rc_search="$(sed -n "s/^DNSDOMAIN='\(.*\)'/\1/p" /tmp/net-"${DEVICE}".conf)"
3344+ #search might contain multiple entries but domain should only have one.
3345+ rc_domain="$(sed -n "s/^DNSDOMAIN='\([^ ]*\).*'/\1/p" /tmp/net-"${DEVICE}".conf)"
3346+ rc_server0="$(sed -n "s/^IPV4DNS0='\(.*\)'/\1/p" /tmp/net-"${DEVICE}".conf)"
3347+ rc_server1="$(sed -n "s/^IPV4DNS1='\(.*\)'/\1/p" /tmp/net-"${DEVICE}".conf)"
3348+
3349+ # Deal with resolvconf
3350+ # Writing to /run instead or /root/run as /sbin/init will move /run
3351+ # to /root/run a bit later on
3352+ if [ -x /root/sbin/resolvconf ] && [ -L /root/etc/resolv.conf ]; then
3353+ mkdir -p /run/resolvconf/interface/
3354+ resolv=/run/resolvconf/interface/casper
3355+ else
3356+ resolv=/root/etc/resolv.conf
3357+ fi
3358+
3359+ cat > $resolv <<EOF
3360 # /etc/resolv.conf
3361 # Autogenerated by casper
3362-search ${rc_search}
3363-domain ${rc_search}
3364-${rc_server0}
3365-${rc_server1}
3366 EOF
3367- cat /root/etc/resolv.conf >> /root/var/log/netboot.config
3368+ [ -n "$rc_search" ] && echo "search ${rc_search}" >> $resolv
3369+ [ -n "$rc_domain" ] && echo "domain ${rc_domain}" >> $resolv
3370+ [ -n "$rc_server0" ] && [ "$rc_server0" != "0.0.0.0" ] && echo "nameserver $rc_server0" >> $resolv
3371+ [ -n "$rc_server1" ] && [ "$rc_server1" != "0.0.0.0" ] && echo "nameserver $rc_server1" >> $resolv
3372+
3373+ cat $resolv >> /root/var/log/netboot.config
3374+ fi
3375 fi
3376 fi
3377
3378
3379=== modified file 'scripts/casper-bottom/24preseed'
3380--- scripts/casper-bottom/24preseed 2010-01-20 23:33:29 +0000
3381+++ scripts/casper-bottom/24preseed 2012-04-23 12:22:18 +0000
3382@@ -17,13 +17,40 @@
3383 esac
3384
3385 . /scripts/casper-functions
3386+load_confmodule
3387
3388 log_begin_msg "$DESCRIPTION"
3389
3390 if [ -e /preseed.cfg ]; then
3391- chroot /root debconf-set-selections < /preseed.cfg
3392+ casper-set-selections /preseed.cfg
3393 fi
3394
3395+network_started=
3396+
3397+start_network () {
3398+ [ -z "$network_started" ] || return
3399+ [ -z "$NETBOOT" ] || return
3400+
3401+ mount -n -o bind /sys /root/sys
3402+ mount -n -o bind /proc /root/proc
3403+ mount -n -o bind /dev /root/dev
3404+ mkdir -p /root/var/run/network
3405+ # Close inherited fd's to prevent debconf-communicate from
3406+ # continuing to run post-casper.
3407+ chroot /root dhclient eth0 3>&- 4<&-
3408+
3409+ network_started=1
3410+}
3411+
3412+stop_network () {
3413+ [ "$network_started" ] || return
3414+
3415+ chroot /root ifconfig eth0 down
3416+ umount /root/sys
3417+ umount /root/proc
3418+ umount /root/dev
3419+}
3420+
3421 locations=
3422 for x in $(cat /proc/cmdline); do
3423 case $x in
3424@@ -35,16 +62,8 @@
3425 ;;
3426 url=*)
3427 url_location="${x#url=}"
3428- mount -n -o bind /sys /root/sys
3429- mount -n -o bind /proc /root/proc
3430- mount -n -o bind /dev /root/dev
3431- mkdir -p /root/var/run/network
3432- [ "$NETBOOT" ] || chroot /root dhclient eth0
3433+ start_network
3434 chroot /root wget -P /tmp "$url_location"
3435- [ "$NETBOOT" ] || chroot /root ifconfig eth0 down
3436- umount /root/sys
3437- umount /root/proc
3438- umount /root/dev
3439 locations="/tmp/$(basename "$url_location") $locations"
3440 ;;
3441 */*\?=*)
3442@@ -57,8 +76,9 @@
3443 value="${x#*=}"
3444 casper-preseed /root "$question" "$value"
3445 ;;
3446- locale=*)
3447+ debian-installer/locale=*|locale=*)
3448 value="${x#*=}"
3449+ value="$(grep "^$value" /root/usr/share/i18n/SUPPORTED | grep UTF-8 | sed -e 's, .*,,' -e q)"
3450 casper-preseed /root debian-installer/locale "$value"
3451 ;;
3452 esac
3453@@ -66,16 +86,22 @@
3454
3455 if [ "$locations" ]; then
3456 for item in $locations; do
3457- chroot /root debconf-set-selections < "/root$item"
3458+ casper-set-selections "/root$item"
3459 done
3460 fi
3461
3462-reply="$(echo "GET preseed/early_command" | chroot /root debconf-communicate -fnoninteractive casper)"
3463-if [ "${reply#0 }" != "$reply" ]; then
3464- reply="${reply#0 }"
3465- sh -c "$reply"
3466+if db_get preseed/early_command && [ "$RET" ]; then
3467+ EARLY="$RET"
3468+ if db_get preseed/allow-network && [ "$RET" = true ]; then
3469+ start_network
3470+ fi
3471+ DEBIAN_HAS_FRONTEND= DEBCONF_REDIR= \
3472+ DEBIAN_FRONTEND=noninteractive \
3473+ sh -c "$EARLY"
3474 fi
3475
3476+stop_network
3477+
3478 # Clear out debconf database backup files to save memory.
3479 rm -f /root/var/cache/debconf/*.dat-old
3480
3481
3482=== added file 'scripts/casper-bottom/25adduser'
3483--- scripts/casper-bottom/25adduser 1970-01-01 00:00:00 +0000
3484+++ scripts/casper-bottom/25adduser 2012-04-23 12:22:18 +0000
3485@@ -0,0 +1,125 @@
3486+#!/bin/sh
3487+
3488+PREREQ=""
3489+DESCRIPTION="Adding live session user..."
3490+
3491+prereqs()
3492+{
3493+ echo "$PREREQ"
3494+}
3495+
3496+case $1 in
3497+# get pre-requisites
3498+prereqs)
3499+ prereqs
3500+ exit 0
3501+ ;;
3502+esac
3503+
3504+. /scripts/casper-functions
3505+load_confmodule
3506+
3507+log_begin_msg "$DESCRIPTION"
3508+
3509+debconf_backup () {
3510+ local question backup
3511+ for question; do
3512+ backup="$question-casper-backup"
3513+ db_register debian-installer/dummy "$backup"
3514+ db_get "$question"
3515+ db_set "$backup" "$RET"
3516+ db_fget "$question" seen
3517+ db_fset "$backup" seen "$RET"
3518+ done
3519+}
3520+
3521+debconf_restore () {
3522+ local question backup
3523+ for question; do
3524+ backup="$question-casper-backup"
3525+ db_get "$backup"
3526+ db_set "$question" "$RET"
3527+ db_fget "$backup" seen
3528+ db_fset "$question" seen "$RET"
3529+ db_unregister "$backup"
3530+ done
3531+}
3532+
3533+debconf_backup \
3534+ passwd/root-password-crypted \
3535+ passwd/root-password passwd/root-password-again \
3536+ passwd/user-password-crypted \
3537+ passwd/user-password passwd/user-password-again \
3538+ passwd/user-fullname passwd/username passwd/user-uid
3539+
3540+# U6aMy0wojraho is just a blank password
3541+db_set passwd/root-password-crypted '*'
3542+db_set passwd/user-password-crypted U6aMy0wojraho
3543+db_set passwd/user-fullname "$USERFULLNAME"
3544+db_set passwd/username "$USERNAME"
3545+db_set passwd/user-uid 999
3546+
3547+chroot /root /usr/lib/user-setup/user-setup-apply > /dev/null
3548+
3549+# Clear out debconf database again to avoid confusing ubiquity later.
3550+debconf_restore \
3551+ passwd/root-password-crypted \
3552+ passwd/root-password passwd/root-password-again \
3553+ passwd/user-password-crypted \
3554+ passwd/user-password passwd/user-password-again \
3555+ passwd/user-fullname passwd/username passwd/user-uid
3556+
3557+if [ -f /root/etc/sudoers ]; then
3558+ echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /root/etc/sudoers
3559+fi
3560+
3561+# XXX - awful hack to stop xscreensaver locking the screen (#7150)
3562+echo 'RUNNING_UNDER_GDM="yes"' >> /root/etc/environment
3563+
3564+LTS="$(cut -d' ' -f3 /root/cdrom/.disk/info 2>/dev/null)" || LTS=
3565+RELEASE="$(cut -d' ' -f1-2 /root/cdrom/.disk/info 2>/dev/null)" || RELEASE=
3566+if [ "$LTS" = "LTS" ] && [ -n "$RELEASE" ]; then
3567+ RELEASE="$RELEASE LTS"
3568+fi
3569+for file in /usr/share/applications/ubiquity-gtkui.desktop /usr/share/applications/kde4/ubiquity-kdeui.desktop; do
3570+ if [ -f "/root/$file" ]; then
3571+ sed -i "s/RELEASE/$RELEASE/" "/root$file"
3572+ chroot /root install -d -o $USERNAME -g $USERNAME /home/$USERNAME/Desktop
3573+ chroot /root install -D -o $USERNAME -g $USERNAME $file /home/$USERNAME/Desktop/$(basename "$file")
3574+ break
3575+ fi
3576+done
3577+
3578+if [ -L /root/home/$USERNAME/Examples ]; then
3579+ chroot /root install -o $USERNAME -g $USERNAME -d /home/$USERNAME/Desktop/
3580+ mv /root/home/$USERNAME/Examples /root/home/$USERNAME/Desktop/
3581+fi
3582+
3583+if [ -f /root/home/$USERNAME/examples.desktop ]; then
3584+ chroot /root install -o $USERNAME -g $USERNAME -d /home/$USERNAME/Desktop/
3585+ mv /root/home/$USERNAME/examples.desktop /root/home/$USERNAME/Desktop/
3586+fi
3587+
3588+#Kubuntu
3589+if [ -f "/root/usr/bin/plasma" ]; then
3590+ if [ -f "/root/usr/share/kde4/apps/khelpcenter/plugins/kubuntu/about-kubuntu.desktop" ]; then
3591+ chroot /root install -d -o $USERNAME -g $USERNAME /home/$USERNAME/Desktop
3592+ chroot /root install -D -o $USERNAME -g $USERNAME /usr/share/kde4/apps/khelpcenter/plugins/kubuntu/about-kubuntu.desktop /home/$USERNAME/Desktop/about-kubuntu.desktop
3593+ fi
3594+fi
3595+
3596+#Ubuntu MID wants to be installed with --automatic
3597+if [ -f "/root/usr/share/ubuntu-mid-default-settings/mid-gui-start" ]; then
3598+ if [ -f "/root/usr/share/applications/ubiquity-gtkui.desktop" ]; then
3599+ sed -i 's/--desktop/--automatic --desktop/' "/root/usr/share/applications/ubiquity-gtkui.desktop"
3600+ fi
3601+fi
3602+
3603+#Ubuntu MID uses kourou, and the ubiquity icon should be easy to find
3604+if [ -f "/root/usr/lib/hildon-desktop/kourou.py" ]; then
3605+ if [ -f "/root/etc/xdg/menus/home.menu" ]; then
3606+ sed -i '/<\/Include>/i\ <Filename>ubiquity-gtkui.desktop</Filename>' "/root/etc/xdg/menus/home.menu"
3607+ fi
3608+fi
3609+
3610+log_end_msg
3611
3612=== modified file 'scripts/casper-bottom/25configure_init'
3613--- scripts/casper-bottom/25configure_init 2010-01-05 16:54:40 +0000
3614+++ scripts/casper-bottom/25configure_init 2012-04-23 12:22:18 +0000
3615@@ -54,7 +54,7 @@
3616 rm -f /root/etc/rc?.d/[SK]??postfix
3617
3618 # Avoid clobbering the user's clock
3619-rm -f /root/etc/rc?.d/K??hwclock.sh
3620+rm -f /root/etc/rc?.d/K??hwclock.sh /root/etc/init/hwclock-save.conf
3621
3622 # Disable readahead since it doesn't play well with squashfs + unionfs
3623 # use chmod instead of mv to not trigger unionfs bugs.
3624@@ -65,7 +65,7 @@
3625 # Disable ureadahead too since we don't ship a pack file for it anyway, so
3626 # all we'll end up doing is profiling the live CD boot. ureadahead also
3627 # breaks partman occasionally by reading from its synchronisation FIFOs.
3628-rm -f /root/etc/init/ureadahead.conf
3629+rm -f /root/etc/init/ureadahead*.conf
3630
3631 log_end_msg
3632
3633
3634=== added file 'scripts/casper-bottom/26disable_user_menu'
3635--- scripts/casper-bottom/26disable_user_menu 1970-01-01 00:00:00 +0000
3636+++ scripts/casper-bottom/26disable_user_menu 2012-04-23 12:22:18 +0000
3637@@ -0,0 +1,29 @@
3638+#!/bin/sh
3639+
3640+PREREQ=""
3641+DESCRIPTION="Disabling user menu..."
3642+
3643+prereqs()
3644+{
3645+ echo "$PREREQ"
3646+}
3647+
3648+case $1 in
3649+# get pre-requisites
3650+prereqs)
3651+ prereqs
3652+ exit 0
3653+ ;;
3654+esac
3655+
3656+. /scripts/casper-functions
3657+
3658+log_begin_msg "$DESCRIPTION"
3659+
3660+indicator_session_version=$(chroot /root dpkg-query -W --showformat='${Version}' indicator-session 2>/dev/null) || indicator_session_version=""
3661+if [ -n "$indicator_session_version" ]; then
3662+ printf "[com.canonical.indicator.session]\nuser-show-menu=false\n" >> /root/usr/share/glib-2.0/schemas/casper.gschema.override
3663+ chroot /root glib-compile-schemas /usr/share/glib-2.0/schemas/
3664+fi
3665+
3666+log_end_msg
3667
3668=== modified file 'scripts/casper-bottom/30accessibility'
3669--- scripts/casper-bottom/30accessibility 2010-01-05 16:54:40 +0000
3670+++ scripts/casper-bottom/30accessibility 2012-04-23 12:22:18 +0000
3671@@ -1,172 +1,52 @@
3672 #!/bin/sh
3673-# If you change this, please also change the copy in ubiquity-hooks/30accessibility.
3674+# If you are looking to change accessibility profile settings, plesae look in
3675+# bin/casper-a11y-enable.
3676
3677 PREREQ=""
3678 DESCRIPTION="Configuring accessibility options..."
3679
3680 prereqs()
3681 {
3682- echo "$PREREQ"
3683+ echo "$PREREQ"
3684 }
3685
3686 case $1 in
3687 # get pre-requisites
3688-prereqs)
3689- prereqs
3690- exit 0
3691- ;;
3692+ prereqs)
3693+ prereqs
3694+ exit 0
3695+ ;;
3696 esac
3697
3698 . /scripts/casper-functions
3699
3700 log_begin_msg "$DESCRIPTION"
3701
3702-gconf_version=$(chroot /root /usr/bin/dpkg-query -W --showformat='${Version}' gconf2 2>/dev/null) || gconf_version=""
3703-
3704-gct() {
3705- if [ "$gconf_version" ]; then
3706- chroot /root sudo -u "$USERNAME" gconftool-2 "$@"
3707- fi
3708-}
3709-
3710-kderc_addtoprefixes() {
3711- if [ -e "/root/etc/kde4rc" ]; then
3712- sed -i "s|\\(prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/\\)|\\1,$1|" /root/etc/kde4rc
3713- fi
3714-}
3715-
3716-# Code to remove an applet from the default panel setup
3717-# This is rather hacky, but I can't think of a one or two line regular
3718-# expression to do this any more efficiently. Patches welcome.
3719-# In addition, setting these via gconf also doesn't work for some reason.
3720-remove_applet()
3721-{
3722- local line_no prior_line next_line
3723-
3724- line_no=$(grep -n "<string>$1</string>" /root/usr/share/gconf/defaults/05_panel-default-setup.entries | cut -f 1 -d :)
3725- [ "$line_no" ] || return
3726- prior_line=$((line_no-1))
3727- next_line=$((line_no+1))
3728- sed -i -n "${prior_line},${next_line}!p" /root/usr/share/gconf/defaults/05_panel-default-setup.entries
3729- chroot /root update-gconf-defaults
3730-}
3731-
3732 for x in $(cat /proc/cmdline); do
3733- case $x in
3734- # Lesser Visual Impairment
3735- access=v1)
3736- gct -s -t string /desktop/gnome/interface/gtk_theme HighContrastLargePrint
3737- gct -s -t string /desktop/gnome/interface/icon_theme HighContrast
3738- gct -s -t string /desktop/gnome/interface/monospace_font_name "monospace 18"
3739- gct -s -t string /desktop/gnome/interface/font_name "sans 18"
3740- gct -s -t string /apps/metacity/general/theme Atlanta
3741- gct -s -t string /desktop/gnome/background/picture_filename ""
3742- gct -s -t string /desktop/gnome/background/picture_options none
3743- gct -s -t string /desktop/gnome/background/primary_color \#666666
3744- gct -s -t string /desktop/gnome/background/secondary_color \#7F7F7F
3745- gct -s -t string /desktop/gnome/background/color_shading_type solid
3746- gct -s -t int /desktop/gnome/peripherals/mouse/cursor_size 48
3747- gct -s -t string /desktop/gnome/peripherals/mouse/cursor_theme whiteglass
3748-
3749- kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/
3750- if [ -d /root/usr/share/xubuntu-default-settings/accessibility ]; then
3751- cp -a /root/usr/share/xubuntu-default-settings/accessibility/* /root/etc/xdg/
3752- fi
3753- ;;
3754- # Moderate Visual Impairment
3755- access=v2)
3756- gct -s -t bool /desktop/gnome/interface/accessibility true
3757- gct -s -t bool /desktop/gnome/applications/at/visual/startup true
3758- gct -s -t string /desktop/gnome/applications/at/visual/exec orca
3759- if [ -x /root/usr/bin/orca ]; then
3760- mkdir -p /root/home/$USERNAME/.orca
3761- echo "import orca.settings" >> /root/home/$USERNAME/.orca/user-settings.py
3762- echo "orca.settings.enableSpeech = False" >> /root/home/$USERNAME/.orca/user-settings.py
3763- echo "orca.settings.enableMagnifier = True" >> /root/home/$USERNAME/.orca/user-settings.py
3764- chroot /root chown -R $USERNAME.$USERNAME /home/$USERNAME/.orca
3765- fi
3766- gct -s -t bool /apps/gksu/disable-grab true
3767- gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
3768- sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /root/etc/sudoers
3769- kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/,/usr/share/kubuntu-default-settings/kde-profile/moderate-visual-impairment/
3770- ;;
3771- # Blindness
3772- access=v3)
3773- gct -s -t bool /desktop/gnome/interface/accessibility true
3774- gct -s -t bool /apps/gksu/disable-grab true
3775- gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
3776- gct -s -t bool /desktop/gnome/applications/at/visual/startup true
3777- gct -s -t string /desktop/gnome/applications/at/visual/exec orca
3778- remove_applet fast_user_switch
3779- if [ -x /root/usr/bin/pulse-session ]; then
3780- mkdir -p /root/var/lib/pulseaudio
3781- touch /root/var/lib/pulseaudio/pulse_a11y_nostart
3782- chroot /root chown root.root /var/lib/pulseaudio/pulse_a11y_nostart
3783- mkdir -p /root/home/$USERNAME/.pulse
3784- echo "autospawn = no" > /root/home/$USERNAME/.pulse/client.conf
3785- chroot /root chown -R $USERNAME.$USERNAME /home/$USERNAME/.pulse
3786- fi
3787- sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /root/etc/sudoers
3788- if [ -x /root/usr/bin/orca ]; then
3789- mkdir -p /root/home/$USERNAME/.orca
3790- chroot /root chown -R $USERNAME.$USERNAME /home/$USERNAME/.orca
3791- fi
3792- ;;
3793- # Braille
3794- braille=ask)
3795- gct -s -t bool /desktop/gnome/interface/accessibility true
3796- gct -s -t bool /desktop/gnome/applications/at/visual/startup true
3797- gct -s -t string /desktop/gnome/applications/at/visual/exec orca
3798- if [ -x /root/usr/bin/orca ]; then
3799- mkdir -p /root/home/$USERNAME/.orca
3800- echo "import orca.settings" >> /root/home/$USERNAME/.orca/user-settings.py
3801- echo "orca.settings.enableSpeech = False" >> /root/home/$USERNAME/.orca/user-settings.py
3802- echo "orca.settings.enableBraille = True" >> /root/home/$USERNAME/.orca/user-settings.py
3803- chroot /root chown -R $USERNAME.$USERNAME /home/$USERNAME/.orca
3804- fi
3805- gct -s -t bool /apps/gksu/disable-grab true
3806- gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
3807- remove_applet fast_user_switch
3808- sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /root/etc/sudoers
3809- if [ -x /root/usr/bin/pulse-session ]; then
3810- mkdir -p /root/var/lib/pulseaudio
3811- touch /root/var/lib/pulseaudio/pulse_a11y_nostart
3812- chroot /root chown root.root /var/lib/pulseaudio/pulse_a11y_nostart
3813- mkdir -p /root/home/$USERNAME/.pulse
3814- echo "autospawn = no" > /root/home/$USERNAME/.pulse/client.conf
3815- chroot /root chown -R $USERNAME.$USERNAME /home/$USERNAME/.pulse
3816- fi
3817- ;;
3818- # Minor Motor Difficulties
3819- access=m1)
3820- gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true
3821- gct -s -t bool /desktop/gnome/accessibility/keyboard/mousekeys_enable true
3822- gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true
3823- gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep true
3824- gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
3825- gct -s -t bool /desktop/gnome/peripherals/keyboard/repeat true
3826- gct -s -t int /desktop/gnome/peripherals/keyboard/delay 700
3827- gct -s -t int /desktop/gnome/peripherals/keyboard/rate 10
3828- gct -s -t bool /apps/gksu/disable-grab true
3829- kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/
3830- if [ -e /root/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then
3831- sed -i 's/0/1/' /root/etc/xdg/xfce4/mcs_settings/keyboard.xml
3832- fi
3833- ;;
3834- # Motor Difficulties - pointing devices
3835- access=m2)
3836- gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true
3837- gct -s -t bool /desktop/gnome/interface/accessibility true
3838- gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true
3839- gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep false
3840- gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
3841- gct -s -t bool /desktop/gnome/applications/at/mobility/startup true
3842- gct -s -t string /desktop/gnome/applications/at/mobility/exec onboard
3843-
3844- kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/,/usr/share/kubuntu-default-settings/kde-profile/motor-difficulties-pointing-devices/
3845- if [ -e /root/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then
3846- sed -i '/Sticky/ s/0/1/' /root/etc/xdg/xfce4/mcs_settings/keyboard.xml
3847- fi
3848+ case $x in
3849+ # Lesser Visual Impairment
3850+ access=v1)
3851+ /root/usr/bin/casper-a11y-enable -initramfs -user="$USERNAME" -chroot=/root -script high-contrast
3852+ ;;
3853+ # Moderate Visual Impairment
3854+ access=v2)
3855+ /root/usr/bin/casper-a11y-enable -initramfs -user="$USERNAME" -chroot=/root -script magnifier
3856+ ;;
3857+ # Blindness
3858+ access=v3)
3859+ /root/usr/bin/casper-a11y-enable -initramfs -user="$USERNAME" -chroot=/root -script blindness
3860+ ;;
3861+ # Braille
3862+ braille=ask)
3863+ /root/usr/bin/casper-a11y-enable -initramfs -user="$USERNAME" -chroot=/root -script braille
3864+ ;;
3865+ # Minor Motor Difficulties
3866+ access=m1)
3867+ /root/usr/bin/casper-a11y-enable -initramfs -user="$USERNAME" -chroot=/root -script keyboard-modifiers
3868+ ;;
3869+ # Motor Difficulties - pointing devices
3870+ access=m2)
3871+ /root/usr/bin/casper-a11y-enable -initramfs -user="$USERNAME" -chroot=/root -script onscreen-keyboard
3872 ;;
3873 esac
3874 done
3875
3876=== modified file 'scripts/casper-bottom/31disable_update_notifier'
3877--- scripts/casper-bottom/31disable_update_notifier 2010-01-05 16:54:40 +0000
3878+++ scripts/casper-bottom/31disable_update_notifier 2012-04-23 12:22:18 +0000
3879@@ -31,4 +31,12 @@
3880 # 'apt-get update' equivalent, so we disable it entirely.
3881 rm -f /root/usr/share/autostart/adept_notifier_auto.desktop
3882
3883+# Upgrading the live CD to new releases is probably not a great plan.
3884+chroot /root dpkg-divert --add --rename --quiet \
3885+ /usr/lib/update-manager/check-new-release
3886+ln -sf /bin/true /root/usr/lib/update-manager/check-new-release
3887+chroot /root dpkg-divert --add --rename --quiet \
3888+ /usr/lib/update-manager/check-new-release-gtk
3889+ln -sf /bin/true /root/usr/lib/update-manager/check-new-release-gtk
3890+
3891 log_end_msg
3892
3893=== modified file 'scripts/casper-bottom/32disable_hibernation'
3894--- scripts/casper-bottom/32disable_hibernation 2010-01-05 16:54:40 +0000
3895+++ scripts/casper-bottom/32disable_hibernation 2012-04-23 12:22:18 +0000
3896@@ -20,15 +20,11 @@
3897
3898 log_begin_msg "$DESCRIPTION"
3899
3900-
3901-gpm_version=$(chroot /root /usr/bin/dpkg-query -W --showformat='${Version}' gnome-power-manager 2>/dev/null) || panel_version=""
3902-if [ -n "$gpm_version" ]; then
3903-# casper-reconfigure /root gnome-power-manager
3904- chroot /root sudo -u "$USERNAME" gconftool-2 -s -t bool /apps/gnome-power-manager/general/can_hibernate false
3905-fi
3906-
3907-if [ -d /root/usr/share/kubuntu-default-settings/kde-profile/default/share/config ]; then
3908- echo "disableHibernate=1" >> /root/usr/share/kubuntu-default-settings/kde-profile/default/share/config/guidance-power-managerrc
3909-fi
3910+cat <<EOF > /root/var/lib/polkit-1/localauthority/50-local.d/disable-hibernate.pkla
3911+[Disable hibernate in live system]
3912+Identity=unix-user:*
3913+Action=org.freedesktop.upower.hibernate
3914+ResultActive=no
3915+EOF
3916
3917 log_end_msg
3918
3919=== modified file 'scripts/casper-bottom/33enable_apport_crashes'
3920--- scripts/casper-bottom/33enable_apport_crashes 2010-01-05 16:54:40 +0000
3921+++ scripts/casper-bottom/33enable_apport_crashes 2012-04-23 12:22:18 +0000
3922@@ -20,8 +20,12 @@
3923
3924 log_begin_msg "$DESCRIPTION"
3925
3926-if [ -e /root/etc/default/apport ]; then
3927+# During development releases apport is enabled, no need to change anything;
3928+# for released versions, enable it only for Ubiquity (LP #593606)
3929+if grep -q 'enabled=0' /root/etc/default/apport; then
3930 sed -i 's/enabled=0/enabled=1/' /root/etc/default/apport
3931+ mkdir -p /root/etc/apport/whitelist.d/
3932+ echo "/usr/lib/ubiquity/bin/ubiquity" > /root/etc/apport/whitelist.d/ubiquity
3933 fi
3934
3935 log_end_msg
3936
3937=== added file 'scripts/casper-bottom/34disable_kde_services.OTHER'
3938--- scripts/casper-bottom/34disable_kde_services.OTHER 1970-01-01 00:00:00 +0000
3939+++ scripts/casper-bottom/34disable_kde_services.OTHER 2012-04-23 12:22:18 +0000
3940@@ -0,0 +1,36 @@
3941+#! /bin/sh
3942+
3943+PREREQ=""
3944+DESCRIPTION="Disabling unnecessary KDE services..."
3945+
3946+prereqs()
3947+{
3948+ echo "$PREREQ"
3949+}
3950+
3951+case $1 in
3952+# get pre-requisites
3953+prereqs)
3954+ prereqs
3955+ exit 0
3956+ ;;
3957+esac
3958+
3959+. /scripts/casper-functions
3960+
3961+log_begin_msg "$DESCRIPTION"
3962+
3963+rm -f /root/usr/share/autostart/kab2kabc.desktop
3964+rm -f /root/usr/share/autostart/kaddressbookmigrator.desktop
3965+rm -f /root/usr/share/autostart/korgac.desktop
3966+rm -f /root/usr/share/autostart/printer-applet.desktop
3967+rm -f /root/usr/share/autostart/nepomukserver.desktop
3968+rm -f /root/usr/share/kde4/services/kwalletd.desktop
3969+rm -f /root/usr/share/kde4/services/kded/kpackagekitd.desktop
3970+if [ -z "${PERSISTENT}" ]; then
3971+ rm -f /root/usr/share/kde4/services/kded/freespacenotifier.desktop
3972+fi
3973+rm -f /root/usr/share/kde4/services/plasma-runner-contacts.desktop # starts akonadi
3974+rm -f /root/usr/share/kde4/services/plasma-dataengine-calendar.desktop # starts akonadi
3975+
3976+log_end_msg
3977
3978=== removed file 'scripts/casper-bottom/37kubuntu_netbook_installer_link'
3979--- scripts/casper-bottom/37kubuntu_netbook_installer_link 2010-01-05 16:54:40 +0000
3980+++ scripts/casper-bottom/37kubuntu_netbook_installer_link 1970-01-01 00:00:00 +0000
3981@@ -1,28 +0,0 @@
3982-#! /bin/sh
3983-
3984-PREREQ=""
3985-DESCRIPTION="Adding installer to Kubuntu Netbook favourites..."
3986-
3987-prereqs()
3988-{
3989- echo "$PREREQ"
3990-}
3991-
3992-case $1 in
3993-# get pre-requisites
3994-prereqs)
3995- prereqs
3996- exit 0
3997- ;;
3998-esac
3999-
4000-. /scripts/casper-functions
4001-
4002-log_begin_msg "$DESCRIPTION"
4003-
4004-if [ -e "/root/usr/share/kubuntu-netbook-default-settings/share/config/moved_plasma-netbook-appletsrc" ]; then
4005- mv /root/usr/share/kubuntu-netbook-default-settings/share/config/moved_plasma-netbook-appletsrc \
4006- /root/usr/share/kubuntu-netbook-default-settings/share/config/plasma-netbook-appletsrc
4007-fi
4008-
4009-log_end_msg
4010
4011=== modified file 'scripts/casper-bottom/40install_driver_updates'
4012--- scripts/casper-bottom/40install_driver_updates 2010-01-05 16:54:40 +0000
4013+++ scripts/casper-bottom/40install_driver_updates 2012-04-23 12:22:18 +0000
4014@@ -34,7 +34,13 @@
4015 for deb in "/root$install_dir"/*; do
4016 [ -f "$deb" ] || continue
4017 debbase="${deb##*/}"
4018- if ! chroot /root dpkg -i "$install_dir/$debbase"; then
4019+ DEBIAN_HAS_FRONTEND= DEBCONF_REDIR= \
4020+ DEBIAN_FRONTEND=noninteractive \
4021+ chroot /root dpkg -i "$install_dir/$debbase"
4022+ ret=$?
4023+ if [ $ret != 0 ]; then
4024+ DEBIAN_HAS_FRONTEND= DEBCONF_REDIR= \
4025+ DEBIAN_FRONTEND=noninteractive \
4026 chroot /root dpkg -P "${debbase%%_*}"
4027 fi
4028 done
4029
4030=== modified file 'scripts/casper-bottom/41apt_cdrom'
4031--- scripts/casper-bottom/41apt_cdrom 2010-01-05 16:54:40 +0000
4032+++ scripts/casper-bottom/41apt_cdrom 2012-04-23 12:22:18 +0000
4033@@ -18,4 +18,16 @@
4034
4035 . /scripts/casper-functions
4036
4037-chroot /root apt-cdrom -m add
4038+log_begin_msg "$DESCRIPTION"
4039+
4040+mount -n -o bind /sys /root/sys
4041+mount -n -o bind /proc /root/proc
4042+mount -n -o bind /dev /root/dev
4043+chroot /root apt-cdrom -o Acquire::cdrom::mount=/cdrom \
4044+ -o Dir::Media::MountPath=/cdrom \
4045+ -o Acquire::cdrom::AutoDetect=false -m add
4046+umount /root/dev
4047+umount /root/proc
4048+umount /root/sys
4049+
4050+log_end_msg
4051
4052=== removed file 'scripts/casper-bottom/42disable_apparmor'
4053--- scripts/casper-bottom/42disable_apparmor 2010-01-05 16:54:40 +0000
4054+++ scripts/casper-bottom/42disable_apparmor 1970-01-01 00:00:00 +0000
4055@@ -1,26 +0,0 @@
4056-#!/bin/sh
4057-# workaround for AppArmor bug #131976
4058-
4059-PREREQ=""
4060-DESCRIPTION="Disabling AppArmor (does not work with stacked file systems)..."
4061-
4062-prereqs()
4063-{
4064- echo "$PREREQ"
4065-}
4066-
4067-case $1 in
4068-# get pre-requisites
4069-prereqs)
4070- prereqs
4071- exit 0
4072- ;;
4073-esac
4074-
4075-. /scripts/casper-functions
4076-
4077-log_begin_msg "$DESCRIPTION"
4078-
4079-chroot /root update-rc.d -f apparmor remove
4080-
4081-log_end_msg
4082
4083=== modified file 'scripts/casper-bottom/43disable_updateinitramfs'
4084--- scripts/casper-bottom/43disable_updateinitramfs 2010-01-05 16:54:40 +0000
4085+++ scripts/casper-bottom/43disable_updateinitramfs 2012-04-23 12:22:18 +0000
4086@@ -27,13 +27,8 @@
4087 if [ -w /root/cdrom ] && \
4088 # rw is guaranteed to be first.
4089 grep -q ' /root/cdrom rw[, ]' /proc/self/mountinfo; then
4090- cat > /root/usr/sbin/update-initramfs <<'EOF'
4091-#! /bin/sh
4092-update-initramfs.distrib "$@"
4093-cp /initrd.img /cdrom/casper/initrd.gz
4094-cp /vmlinuz /cdrom/casper/vmlinuz
4095-exit 0
4096-EOF
4097+ ln -s /usr/share/casper/casper-update-initramfs \
4098+ /root/usr/sbin/update-initramfs
4099 else
4100 cat > /root/usr/sbin/update-initramfs <<EOF
4101 #! /bin/sh
4102
4103=== modified file 'scripts/casper-bottom/44pk_allow_ubuntu'
4104--- scripts/casper-bottom/44pk_allow_ubuntu 2010-01-05 16:54:40 +0000
4105+++ scripts/casper-bottom/44pk_allow_ubuntu 2012-04-23 12:22:18 +0000
4106@@ -1,7 +1,7 @@
4107 #!/bin/sh
4108
4109 PREREQ=""
4110-DESCRIPTION="Grant administrative PolicyKit pivilieges to default user..."
4111+DESCRIPTION="Grant administrative PolicyKit privileges to default user..."
4112
4113 prereqs()
4114 {
4115@@ -21,27 +21,6 @@
4116 log_begin_msg "$DESCRIPTION"
4117
4118 # configure PolicyKit in live session
4119-mkdir -p /root/etc/PolicyKit
4120-cat << EOF > /root/etc/PolicyKit/PolicyKit.conf
4121-<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
4122-
4123-<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
4124-"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">
4125-
4126-<!-- See the manual page PolicyKit.conf(5) for file format -->
4127-
4128-<config version="0.1">
4129- <match user="root">
4130- <return result="yes"/>
4131- </match>
4132- <!-- don't ask password for user in live session -->
4133- <match user="$USERNAME">
4134- <return result="yes"/>
4135- </match>
4136- <define_admin_auth group="admin"/>
4137-</config>
4138-EOF
4139-
4140 mkdir -p /root/var/lib/polkit-1/localauthority/10-vendor.d
4141 cat << EOF > /root/var/lib/polkit-1/localauthority/10-vendor.d/10-live-cd.pkla
4142 # Policy to allow the livecd user to bypass policykit
4143@@ -49,7 +28,7 @@
4144 Identity=unix-user:$USERNAME
4145 Action=*
4146 ResultAny=no
4147-ResultInactive=no
4148+ResultInactive=yes
4149 ResultActive=yes
4150 EOF
4151
4152
4153=== removed file 'scripts/casper-bottom/45disable_guest_account'
4154--- scripts/casper-bottom/45disable_guest_account 2010-01-05 16:54:40 +0000
4155+++ scripts/casper-bottom/45disable_guest_account 1970-01-01 00:00:00 +0000
4156@@ -1,25 +0,0 @@
4157-#!/bin/sh
4158-
4159-PREREQ=""
4160-DESCRIPTION="Disabling gdm guest session functionality..."
4161-
4162-prereqs()
4163-{
4164- echo "$PREREQ"
4165-}
4166-
4167-case $1 in
4168-# get pre-requisites
4169-prereqs)
4170- prereqs
4171- exit 0
4172- ;;
4173-esac
4174-
4175-. /scripts/casper-functions
4176-
4177-log_begin_msg "$DESCRIPTION"
4178-
4179-chroot /root dpkg -P gdm-guest-session || true
4180-
4181-log_end_msg
4182
4183=== added file 'scripts/casper-bottom/45jackd2'
4184--- scripts/casper-bottom/45jackd2 1970-01-01 00:00:00 +0000
4185+++ scripts/casper-bottom/45jackd2 2012-04-23 12:22:18 +0000
4186@@ -0,0 +1,33 @@
4187+#!/bin/sh
4188+
4189+PREREQ=""
4190+DESCRIPTION="Configuring jackd2..."
4191+
4192+prereqs()
4193+{
4194+ echo "$PREREQ"
4195+}
4196+
4197+case $1 in
4198+# get pre-requisites
4199+prereqs)
4200+ prereqs
4201+ exit 0
4202+ ;;
4203+esac
4204+
4205+. /scripts/casper-functions
4206+
4207+log_begin_msg "$DESCRIPTION"
4208+
4209+if fgrep -qs jackd/tweak_rt_limits /tmp/casper-preseed.log; then
4210+ # So far this has only been set in casper's environment. Copy it
4211+ # over to the master files early so that dpkg-reconfigure in /root
4212+ # can see it.
4213+ fgrep jackd/tweak_rt_limits /tmp/casper-preseed.log | \
4214+ chroot /root debconf-set-selections
4215+
4216+ casper-reconfigure /root jackd2
4217+fi
4218+
4219+log_end_msg
4220
4221=== removed file 'scripts/casper-bottom/47unr_ubiquity'
4222--- scripts/casper-bottom/47unr_ubiquity 2010-01-05 16:54:40 +0000
4223+++ scripts/casper-bottom/47unr_ubiquity 1970-01-01 00:00:00 +0000
4224@@ -1,39 +0,0 @@
4225-#!/bin/sh
4226-
4227-PREREQ=""
4228-DESCRIPTION="Set ubiquity favourite for UNR..."
4229-
4230-prereqs()
4231-{
4232- echo "$PREREQ"
4233-}
4234-
4235-case $1 in
4236-# get pre-requisites
4237-prereqs)
4238- prereqs
4239- exit 0
4240- ;;
4241-esac
4242-
4243-. /scripts/casper-functions
4244-
4245-log_begin_msg "$DESCRIPTION"
4246-
4247-gconf_version=$(chroot /root /usr/bin/dpkg-query -W --showformat='${Version}' gconf2 2>/dev/null) || gconf_version=""
4248-
4249-gct() {
4250- if [ "$gconf_version" ]; then
4251- chroot /root sudo -u "$USERNAME" gconftool-2 "$@"
4252- fi
4253-}
4254-
4255-if ! gct -g /apps/netbook-launcher/favorites/favorites_list | grep -q ubiquity; then
4256- gct -s -t string /apps/netbook-launcher/favorites/ubiquity/type application
4257- gct -s -t string /apps/netbook-launcher/favorites/ubiquity/desktop_file /usr/share/applications/ubiquity-gtkui.desktop
4258- favs=$(gct -g /apps/netbook-launcher/favorites/favorites_list)
4259- gct -s -t list --list-type=string /apps/netbook-launcher/favorites/favorites_list $(echo "$favs" | sed -e 's/]$/,ubiquity]/')
4260-fi
4261-
4262-log_end_msg
4263-
4264
4265=== removed file 'scripts/casper-bottom/48enable_kubuntu_netbook'
4266--- scripts/casper-bottom/48enable_kubuntu_netbook 2010-01-27 13:56:03 +0000
4267+++ scripts/casper-bottom/48enable_kubuntu_netbook 1970-01-01 00:00:00 +0000
4268@@ -1,27 +0,0 @@
4269-#! /bin/sh
4270-
4271-PREREQ=""
4272-DESCRIPTION="Enabling Plasma Netbook workspace if appropriate..."
4273-
4274-prereqs()
4275-{
4276- echo "$PREREQ"
4277-}
4278-
4279-case $1 in
4280-# get pre-requisites
4281-prereqs)
4282- prereqs
4283- exit 0
4284- ;;
4285-esac
4286-
4287-. /scripts/casper-functions
4288-
4289-log_begin_msg "$DESCRIPTION"
4290-
4291-if [ -e "/root/usr/share/autostart/plasma-netbook.desktop" ]; then
4292- sed -i "s,Hidden=true,," /root/usr/share/autostart/plasma-netbook.desktop
4293-fi
4294-
4295-log_end_msg
4296
4297=== added file 'scripts/casper-bottom/48kubuntu_disable_restart_notifications'
4298--- scripts/casper-bottom/48kubuntu_disable_restart_notifications 1970-01-01 00:00:00 +0000
4299+++ scripts/casper-bottom/48kubuntu_disable_restart_notifications 2012-04-23 12:22:18 +0000
4300@@ -0,0 +1,5 @@
4301+#! /bin/sh
4302+
4303+if [ -d /root/usr/share/kubuntu-default-settings/ ]; then
4304+ echo "[Event]\nhideRestartNotifier=true" >> /root/usr/share/kubuntu-default-settings/kde4-profile/default/share/config/notificationhelper
4305+fi
4306
4307=== added file 'scripts/casper-bottom/49kubuntu_mobile_session'
4308--- scripts/casper-bottom/49kubuntu_mobile_session 1970-01-01 00:00:00 +0000
4309+++ scripts/casper-bottom/49kubuntu_mobile_session 2012-04-23 12:22:18 +0000
4310@@ -0,0 +1,5 @@
4311+#! /bin/sh
4312+
4313+if [ -d /root/usr/share/kubuntu-mobile-default-settings/ ]; then
4314+ cp /root/usr/share/kubuntu-mobile-default-settings/share/nodm /root/etc/default/nodm
4315+fi
4316
4317=== added file 'scripts/casper-bottom/50ubiquity-bluetooth-agent'
4318--- scripts/casper-bottom/50ubiquity-bluetooth-agent 1970-01-01 00:00:00 +0000
4319+++ scripts/casper-bottom/50ubiquity-bluetooth-agent 2012-04-23 12:22:18 +0000
4320@@ -0,0 +1,8 @@
4321+#!/bin/sh
4322+
4323+if [ -f /root/usr/bin/ubiquity-bluetooth-agent ] &&
4324+ [ -f /root/usr/bin/bluetooth-applet ] &&
4325+ [ ! -L /root/usr/bin/bluetooth-applet ]; then
4326+ chroot /root dpkg-divert --package casper --divert /usr/bin/bluetooth-applet.orig --rename /usr/bin/bluetooth-applet
4327+ ln -s ubiquity-bluetooth-agent /root/usr/bin/bluetooth-applet
4328+fi
4329
4330=== modified file 'scripts/casper-functions'
4331--- scripts/casper-functions 2008-09-18 23:39:20 +0000
4332+++ scripts/casper-functions 2012-04-23 12:22:18 +0000
4333@@ -4,7 +4,10 @@
4334 # Print a message and wait for enter
4335 log_wait_msg()
4336 {
4337- if [ -x /sbin/usplash_write ]; then
4338+ if [ -x /bin/plymouth ] && plymouth --ping; then
4339+ plymouth message --text="$@"
4340+ plymouth watch-keystroke | read nunya
4341+ elif [ -x /sbin/usplash_write ]; then
4342 /sbin/usplash_write "INPUTENTER $@"
4343 read nunya < /dev/.initramfs/usplash_outfifo
4344 fi
4345@@ -39,3 +42,14 @@
4346 echo "C"
4347 fi
4348 }
4349+
4350+load_confmodule() {
4351+ # Only do this once.
4352+ if [ -z "$DEBCONF_REDIR" ]; then
4353+ exec <&4
4354+ export DEBIAN_HAS_FRONTEND=1
4355+ export DEBCONF_REDIR=1
4356+ fi
4357+
4358+ . /root/usr/share/debconf/confmodule
4359+}
4360
4361=== modified file 'scripts/casper-helpers'
4362--- scripts/casper-helpers 2009-05-12 12:30:01 +0000
4363+++ scripts/casper-helpers 2012-04-23 12:22:18 +0000
4364@@ -31,7 +31,7 @@
4365 # FIXME: do something better like the scan of supported filesystems
4366 fstype="${1}"
4367 case ${fstype} in
4368- vfat|iso9660|udf|ext2|ext3|ext4|ntfs)
4369+ vfat|iso9660|udf|ext2|ext3|ext4|btrfs|ntfs)
4370 return 0
4371 ;;
4372 esac
4373@@ -164,6 +164,9 @@
4374 fi
4375 }
4376
4377+# Returns 0 on success
4378+# panics if remount- or bind-mount fails
4379+# returns 1 on failure otherwise
4380 try_mount ()
4381 {
4382 dev="${1}"
4383@@ -171,19 +174,39 @@
4384 opts="${3}"
4385
4386 if where_is_mounted ${dev} > /dev/null; then
4387- if [ "${opts}" != "ro" ]; then
4388- mount -o remount,"${opts}" ${dev} $(where_is_mounted ${dev}) || panic "Remounting failed"
4389- fi
4390+ if [ "${opts}" != "ro" ]; then
4391+ mount -o remount,"${opts}" ${dev} $(where_is_mounted ${dev}) || panic "Remounting failed"
4392+ return 0
4393+ fi
4394 mount -o bind $(where_is_mounted ${dev}) ${mountp} || panic "Cannot bind-mount"
4395+ return 0
4396 else
4397- mount -t $(get_fstype "${dev}") -o "${opts}" "${dev}" "${mountp}" || panic "Cannot mount ${dev} on ${mountp}"
4398+ mount -t $(get_fstype "${dev}") -o "${opts}" "${dev}" "${mountp}"
4399+ ret=$?
4400+ if [ $ret -ne 0 ]; then
4401+ log_warning_msg "Cannot mount ${dev} on ${mountp}"
4402+ return 1
4403+ fi
4404+ return 0
4405 fi
4406 }
4407
4408 find_cow_device() {
4409 pers_label="${1}"
4410 cow_backing="/${pers_label}-backing"
4411+
4412+ if [ -z "${PERSISTENT_PATH}" ]; then
4413+ pers_fpath=${pers_label}
4414+ else
4415+ pers_fpath=${PERSISTENT_PATH}/${pers_label}
4416+ fi
4417+
4418 for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop); do
4419+ # do not ever probe floppies, probing nonexistant ones delays the boot to half an hour and longer
4420+ n=${sysblock##*/}
4421+ if [ "${n#fd}" != "$n" ]; then
4422+ continue
4423+ fi
4424 for dev in $(subdevices "${sysblock}"); do
4425 devname=$(sys2dev "${dev}")
4426 if [ "$(/sbin/blkid -s LABEL -o value $devname 2>/dev/null)" = "${pers_label}" ]; then
4427@@ -195,12 +218,13 @@
4428 # where filesystems are in use by hibernated operating systems.
4429 elif [ "$(get_fstype ${devname})" = "vfat" ]; then
4430 mkdir -p "${cow_backing}"
4431- try_mount "${devname}" "${cow_backing}" "rw"
4432- if [ -e "${cow_backing}/${pers_label}" ]; then
4433- echo $(setup_loop "${cow_backing}/${pers_label}" "loop" "/sys/block/loop*")
4434+ try_mount "${devname}" "${cow_backing}" "rw" || continue
4435+ cow_backing_mp=$(where_is_mounted "${devname}")
4436+ if [ -e "${cow_backing_mp}/${pers_fpath}" ]; then
4437+ echo $(setup_loop "${cow_backing_mp}/${pers_fpath}" "loop" "/sys/block/loop*")
4438 return 0
4439 else
4440- umount ${cow_backing}
4441+ umount ${cow_backing_mp}
4442 fi
4443 fi
4444 done
4445@@ -219,7 +243,7 @@
4446 devfstype="$(get_fstype ${devname})"
4447 if [ "${devfstype}" = "vfat" ] || [ "${devfstype}" = "ext2" ] ; then # FIXME: all supported block devices should be scanned
4448 mkdir -p "${snap_backing}"
4449- try_mount "${devname}" "${snap_backing}" "ro"
4450+ try_mount "${devname}" "${snap_backing}" "ro" || continue
4451 for filename in ${filenames}; do
4452 if [ -e "${snap_backing}/${filename}" ]; then
4453 echo "${devname} ${snap_backing} ${filename}"
4454
4455=== modified file 'scripts/casper-premount/10driver_updates'
4456--- scripts/casper-premount/10driver_updates 2010-01-05 16:54:40 +0000
4457+++ scripts/casper-premount/10driver_updates 2012-04-23 12:22:18 +0000
4458@@ -42,7 +42,7 @@
4459
4460 is_nice_device() {
4461 sysfs_path="${1#/sys}"
4462- if /lib/udev/path_id "${sysfs_path}" | grep -E -q "ID_PATH=(usb|pci-[^-]*-(ide|scsi|usb))"; then
4463+ if /sbin/udevadm test-builtin path_id "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|scsi|usb))"; then
4464 return 0
4465 fi
4466 return 1
4467
4468=== modified file 'ubiquity-hooks/30accessibility'
4469--- ubiquity-hooks/30accessibility 2009-10-13 21:25:53 +0000
4470+++ ubiquity-hooks/30accessibility 2012-04-23 12:22:18 +0000
4471@@ -1,5 +1,6 @@
4472 #!/bin/sh
4473-# If you change this, please also change the copy in scripts/casper-bottom/30accessibility.
4474+# If you are looking to change accessibility profile settings, plesae look in
4475+# bin/casper-a11y-enable.
4476
4477 . /usr/share/debconf/confmodule
4478 . /etc/casper.conf
4479@@ -9,171 +10,87 @@
4480 db_get passwd/username
4481 TARGET_USERNAME="$RET"
4482
4483-gct() {
4484- chroot /target sudo -u "$TARGET_USERNAME" gconftool-2 "$@"
4485-}
4486-
4487-kderc_addtoprefixes() {
4488- if [ -e "/target/etc/kde4rc" ]; then
4489- sed -i "s|\\(prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/\\)|\\1,$1|" /target/etc/kde4rc
4490- fi
4491-}
4492-
4493-# Code to remove an applet from the default panel setup
4494-# This is rather hacky, but I can't think of a one or two line regular
4495-# expression to do this any more efficiently. Patches welcome.
4496-# In addition, setting these via gconf also doesn't work for some reason.
4497-remove_applet()
4498+copy_orca_config()
4499 {
4500- local line_no prior_line next_line
4501-
4502- line_no=$(grep -n "<string>$1</string>" /target/usr/share/gconf/defaults/05_panel-default-setup.entries | cut -f 1 -d :)
4503- [ "$line_no" ] || return
4504- prior_line=$((line_no-1))
4505- next_line=$((line_no+1))
4506- sed -i -n "${prior_line},${next_line}!p" /target/usr/share/gconf/defaults/05_panel-default-setup.entries
4507- chroot /target update-gconf-defaults
4508+ if [ -f /home/$USERNAME/.local/share/orca/user-settings.conf ]; then
4509+ mkdir -p /target/home/$TARGET_USERNAME/.local/share
4510+ mkdir -p /target/var/lib/lightdm/.local/share
4511+ cp -r /home/$USERNAME/.local/share/orca /target/home/$TARGET_USERNAME/.local/share
4512+ cp -r /home/$USERNAME/.local/share/orca /target/var/lib/lightdm/.local/share
4513+ chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.local
4514+ chroot /target chown -R lightdm.lightdm /var/lib/lightdm/.local
4515+ chmod 755 /target/home/$TARGET_USERNAME/.local/share/orca
4516+ chmod 755 /target/var/lib/lightdm/.local/share/orca
4517+ fi
4518 }
4519
4520 for x in $(cat /proc/cmdline); do
4521- case $x in
4522- # Lesser Visual Impairment
4523- access=v1)
4524- gct -s -t string /desktop/gnome/interface/gtk_theme HighContrastLargePrint
4525- gct -s -t string /desktop/gnome/interface/icon_theme HighContrast
4526- gct -s -t string /desktop/gnome/interface/monospace_font_name "monospace 18"
4527- gct -s -t string /desktop/gnome/interface/font_name "sans 18"
4528- gct -s -t string /apps/metacity/general/theme Atlanta
4529- gct -s -t string /desktop/gnome/background/picture_filename ""
4530- gct -s -t string /desktop/gnome/background/picture_options none
4531- gct -s -t string /desktop/gnome/background/primary_color \#666666
4532- gct -s -t string /desktop/gnome/background/secondary_color \#7F7F7F
4533- gct -s -t string /desktop/gnome/background/color_shading_type solid
4534- gct -s -t int /desktop/gnome/peripherals/mouse/cursor_size 48
4535- gct -s -t string /desktop/gnome/peripherals/mouse/cursor_theme whiteglass
4536- kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/
4537- if [ -d /target/usr/share/xubuntu-default-settings/accessibility ]; then
4538- cp -a /target/usr/share/xubuntu-default-settings/accessibility/* /target/etc/xdg/
4539- fi
4540- ;;
4541- # Moderate Visual Impairment
4542- access=v2)
4543- gct -s -t bool /desktop/gnome/interface/accessibility true
4544- gct -s -t bool /apps/gksu/disable-grab true
4545- gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
4546- gct -s -t bool /desktop/gnome/applications/at/visual/startup true
4547- gct -s -t string /desktop/gnome/applications/at/visual/exec orca
4548-
4549- if [ -d /usr/share/xubuntu-default-settings ]; then
4550- apt-install gnome-orca gnome-mag
4551- fi
4552-
4553- if [ -x /target/usr/bin/orca ]; then
4554- if [ -f /home/$USERNAME/.orca/user-settings.py ]; then
4555- cp -r /home/$USERNAME/.orca /target/home/$TARGET_USERNAME/
4556- chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
4557- else
4558- mkdir -p /target/home/$TARGET_USERNAME/.orca
4559- echo "import orca.settings" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
4560- echo "orca.settings.enableSpeech = True" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
4561- echo "orca.settings.enableMagnifier = True" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
4562- chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
4563- fi
4564- fi
4565- sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /target/etc/sudoers
4566-
4567- kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/,/usr/share/kubuntu-default-settings/kde-profile/moderate-visual-impairment/
4568- ;;
4569- # Blindness
4570- access=v3)
4571- gct -s -t bool /desktop/gnome/interface/accessibility true
4572- gct -s -t bool /apps/gksu/disable-grab true
4573- gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
4574- gct -s -t bool /desktop/gnome/applications/at/visual/startup true
4575- gct -s -t string /desktop/gnome/applications/at/visual/exec orca
4576- remove_applet fast_user_switch
4577- if [ -x /target/usr/bin/pulse-session ]; then
4578- mkdir -p /target/var/lib/pulseaudio
4579- touch /target/var/lib/pulseaudio/pulse_a11y_nostart
4580- chroot /target chown root.root /var/lib/pulseaudio/pulse_a11y_nostart
4581- mkdir -p /target/home/$TARGET_USERNAME/.pulse
4582- echo "autospawn = no" > /target/home/$TARGET_USERNAME/.pulse/client.conf
4583- chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.pulse
4584- fi
4585- sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /target/etc/sudoers
4586- if [ -x /target/usr/bin/orca ]; then
4587- if [ -f /home/$USERNAME/.orca/user-settings.py ]; then
4588- cp -r /home/$USERNAME/.orca /target/home/$TARGET_USERNAME/
4589- chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
4590- else
4591- mkdir -p /target/home/$TARGET_USERNAME/.orca
4592- chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
4593- fi
4594- fi
4595-
4596- if [ -d /usr/share/xubuntu-default-settings ]; then
4597- apt-install gnome-orca
4598- fi
4599- ;;
4600- # Braille
4601- braille=ask)
4602- gct -s -t bool /desktop/gnome/interface/accessibility true
4603- gct -s -t bool /desktop/gnome/applications/at/visual/startup true
4604- gct -s -t string /desktop/gnome/applications/at/visual/exec orca
4605- if [ -x /target/usr/bin/orca ]; then
4606- if [ -f /home/$USERNAME/.orca/user-settings.py ]; then
4607- cp -r /home/$USERNAME/.orca /target/home/$TARGET_USERNAME/
4608- chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
4609- else
4610- mkdir -p /target/home/$TARGET_USERNAME/.orca
4611- echo "import orca.settings" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
4612- echo "orca.settings.enableSpeech = False" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
4613- echo "orca.settings.enableBraille = True" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
4614- chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
4615- fi
4616- fi
4617- gct -s -t bool /apps/gksu/disable-grab true
4618- gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
4619- remove_applet fast_user_switch
4620- sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /target/etc/sudoers
4621- if [ -x /target/usr/bin/pulse-session ]; then
4622- mkdir -p /target/var/lib/pulseaudio
4623- touch /target/var/lib/pulseaudio/pulse_a11y_nostart
4624- chroot /target chown root.root /var/lib/pulseaudio/pulse_a11y_nostart
4625- mkdir -p /target/home/$TARGET_USERNAME/.pulse
4626- echo "autospawn = no" > /target/home/$TARGET_USERNAME/.pulse/client.conf
4627- chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.pulse
4628- fi
4629- ;;
4630- # Minor Motor Difficulties
4631- access=m1)
4632- gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true
4633- gct -s -t bool /desktop/gnome/accessibility/keyboard/mousekeys_enable true
4634- gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true
4635- gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep true
4636- gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
4637- gct -s -t bool /desktop/gnome/peripherals/keyboard/repeat true
4638- gct -s -t int /desktop/gnome/peripherals/keyboard/delay 700
4639- gct -s -t int /desktop/gnome/peripherals/keyboard/rate 10
4640- gct -s -t bool /apps/gksu/disable-grab true
4641- kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/
4642- if [ -e /target/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then
4643- sed -i 's/0/1/' /target/etc/xdg/xfce4/mcs_settings/keyboard.xml
4644- fi
4645- ;;
4646- # Motor Difficulties - pointing devices
4647- access=m2)
4648- gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true
4649- gct -s -t bool /desktop/gnome/interface/accessibility true
4650- gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true
4651- gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep false
4652- gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
4653- gct -s -t bool /desktop/gnome/applications/at/mobility/startup true
4654- gct -s -t string /desktop/gnome/applications/at/mobility/exec onboard
4655- kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/,/usr/share/kubuntu-default-settings/kde-profile/motor-difficulties-pointing-devices/
4656- if [ -e /target/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then
4657- sed -i '/Sticky/ s/0/1/' /target/etc/xdg/xfce4/mcs_settings/keyboard.xml
4658- fi
4659+ case $x in
4660+ # Lesser Visual Impairment
4661+ access=v1)
4662+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script high-contrast
4663+ exit
4664+ ;;
4665+ # Moderate Visual Impairment
4666+ access=v2)
4667+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script magnifier
4668+ exit
4669+ ;;
4670+ # Blindness
4671+ access=v3)
4672+ copy_orca_config
4673+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script blindness
4674+ exit
4675+ ;;
4676+ # Braille
4677+ braille=ask)
4678+ copy_orca_config
4679+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script braille
4680+ exit
4681+ ;;
4682+ # Minor Motor Difficulties
4683+ access=m1)
4684+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script keyboard-modifiers
4685+ exit
4686+ ;;
4687+ # Motor Difficulties - pointing devices
4688+ access=m2)
4689+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script onscreen-keyboard
4690+ exit
4691 ;;
4692 esac
4693 done
4694+
4695+if [ -z "$UBIQUITY_A11Y_PROFILE" ] && [ -f /tmp/casper-a11y.conf ]; then
4696+ . /tmp/casper-a11y.conf
4697+fi
4698+
4699+case "$UBIQUITY_A11Y_PROFILE" in
4700+ # Lesser Visual Impairment
4701+ high-contrast)
4702+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script high-contrast
4703+ ;;
4704+ # Moderate Visual Impairment
4705+ magnifier)
4706+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script magnifier
4707+ ;;
4708+ # Blindness
4709+ screen-reader)
4710+ copy_orca_config
4711+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script blindness
4712+ ;;
4713+ # Braille
4714+ braille)
4715+ copy_orca_config
4716+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script braille
4717+ ;;
4718+ # Minor Motor Difficulties
4719+ keyboard-modifiers)
4720+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script keyboard-modifiers
4721+ ;;
4722+ # Motor Difficulties - pointing devices
4723+ onscreen-keyboard)
4724+ /usr/bin/casper-a11y-enable -login -user="$TARGET_USERNAME" -chroot=/target -script onscreen-keyboard
4725+ ;;
4726+esac
4727+
4728
4729=== added file 'ubiquity-hooks/45jackd2'
4730--- ubiquity-hooks/45jackd2 1970-01-01 00:00:00 +0000
4731+++ ubiquity-hooks/45jackd2 2012-04-23 12:22:18 +0000
4732@@ -0,0 +1,18 @@
4733+#!/bin/sh
4734+set -e
4735+
4736+. /usr/share/debconf/confmodule
4737+
4738+if db_get jackd/tweak_rt_limits; then
4739+ # Using DEBCONF_DB_REPLACE is a hack to force configdb to be
4740+ # read-only, which debconf-copydb doesn't currently arrange for
4741+ # itself.
4742+ DEBCONF_DB_REPLACE=configdb debconf-copydb configdb targetdb \
4743+ -p jackd/tweak_rt_limits \
4744+ --config=Name:targetdb --config=Driver:File \
4745+ --config=Mode:0644 \
4746+ --config=Filename:/target/var/cache/debconf/config.dat
4747+ casper-reconfigure /target jackd2
4748+fi
4749+
4750+exit 0
4751
4752=== removed file 'ubiquity-hooks/48enable_kubuntu_netbook'
4753--- ubiquity-hooks/48enable_kubuntu_netbook 2010-01-27 14:01:22 +0000
4754+++ ubiquity-hooks/48enable_kubuntu_netbook 1970-01-01 00:00:00 +0000
4755@@ -1,8 +0,0 @@
4756-#! /bin/sh
4757-set -e
4758-
4759-if [ -e "/target/usr/share/autostart/plasma-netbook.desktop" ]; then
4760- sed -i "s,Hidden=true,," /target/usr/share/autostart/plasma-netbook.desktop
4761-fi
4762-
4763-exit 0
4764
4765=== added file 'ubiquity-hooks/49kubuntu_gnome_icon_cache'
4766--- ubiquity-hooks/49kubuntu_gnome_icon_cache 1970-01-01 00:00:00 +0000
4767+++ ubiquity-hooks/49kubuntu_gnome_icon_cache 2012-04-23 12:22:18 +0000
4768@@ -0,0 +1,11 @@
4769+#! /bin/sh
4770+set -e
4771+
4772+# livecd-rootfs deletes the Gnome icon cache for Kubuntu CDs to save space, recreate it here
4773+
4774+if [ -e "/target/usr/share/kubuntu-default-settings/" ] && [ -e "/target/usr/bin/gtk-update-icon-cache" ]; then
4775+ chroot /target gtk-update-icon-cache /usr/share/icons/hicolor
4776+ chroot /target gtk-update-icon-cache /usr/share/icons/oxygen
4777+fi
4778+
4779+exit 0

Subscribers

People subscribed via source and target branches