ubiquity: fix ubiquity-dm erroring out due gsettings

This commit is contained in:
Ark74 2025-05-31 21:34:56 -06:00
parent 1ba4ce84e1
commit e9172f3598
6 changed files with 30 additions and 12 deletions

View file

@ -0,0 +1,185 @@
--- a/d-i/source/grub-installer/grub-installer 2023-03-30 01:19:52.000000000 -0400
+++ b/d-i/source/grub-installer/grub-installer 2024-01-31 16:58:52.789037161 -0500
@@ -266,7 +266,7 @@
esac
}
-# by-id mapping copied from grub-pc.postinst.
+# by-id mapping copied from grub-pc-bin.postinst.
cached_available_ids=
available_ids()
@@ -492,12 +492,12 @@
# This point can't be reached (yet). See debian/isinstallable.
grub_package="grub-efi"
else
- grub_package="grub-pc"
+ grub_package="grub-pc-bin"
fi
;;
i386/efi|amd64/efi)
if [ -f /var/lib/partman/ignore_uefi ]; then
- grub_package="grub-pc"
+ grub_package="grub-pc-bin"
else
grub_package="grub-efi-amd64-signed"
if [ ! -d /target/boot/efi ]; then
@@ -505,13 +505,13 @@
# believed this to be unnecessary, perhaps because we're
# installing on a pre-existing MBR partition table or
# perhaps because there's a BIOS Boot Partition. In either
- # case, the right answer is to fall back to grub-pc.
- grub_package="grub-pc"
+ # case, the right answer is to fall back to grub-pc-bin.
+ grub_package="grub-pc-bin"
fi
fi
;;
i386/*|amd64/*)
- grub_package="grub-pc"
+ grub_package="grub-pc-bin"
;;
powerpc/*)
grub_package="grub-ieee1275"
@@ -524,7 +524,7 @@
grub_package="grub-yeeloong"
;;
*)
- grub_package="grub-pc"
+ grub_package="grub-pc-bin"
esac
case $ARCH:$grub_package in
@@ -622,12 +622,12 @@
(! db_get debian-installer/splash || [ "$RET" = true ]); then
defopt_params=${defopt_params:+$defopt_params }splash
fi
-if [ "$grub_package" = grub-pc ]; then
+if [ "$grub_package" = grub-pc-bin ]; then
# Empty this for now to stop it being asked. We'll fix this up later.
# (quoting to deconfuse vim)
$chroot $ROOT 'debconf-set-selections' <<EOF
-$grub_package grub-pc/install_devices multiselect
-$grub_package grub-pc/install_devices_empty boolean true
+$grub_package grub-pc-bin/install_devices multiselect
+$grub_package grub-pc-bin/install_devices_empty boolean true
EOF
fi
@@ -640,7 +640,7 @@
# we need to purge them first to support users who try grub2 and then switch
# to grub legacy, or vice-versa
case "$grub_package" in
- grub-pc)
+ grub-pc-bin)
log-output -t grub-installer $chroot $ROOT dpkg -P grub-efi grub-efi-amd64 grub-efi-ia32-bin grub-efi-ia32
;;
grub-efi)
@@ -648,33 +648,7 @@
;;
esac
-exit_code=0
-inst_package=$grub_package
-case "$grub_package" in
- *)
- # Will pull in os-prober based on global setting for Recommends
- apt-install $grub_package || exit_code=$?
- case $grub_package in
- *-signed)
- apt-install shim-signed || true
- apt-install grub-pc || true
- ;;
- esac
- ;;
-esac
-
-if [ $exit_code -ne 0 ] ; then
- db_progress STOP
- info "Calling 'apt-install $inst_package' failed"
- db_subst grub-installer/apt-install-failed GRUB "$inst_package"
- db_input critical grub-installer/apt-install-failed || true
- if ! db_go; then
- exit 10 # back up to menu
- fi
- exit 1
-fi
-
-grub_debian_version="$($chroot $ROOT dpkg-query -W -f '${Version}' $inst_package)"
+grub_debian_version="$($chroot $ROOT dpkg-query -W -f '${Version}' grub-common)"
db_progress STEP 1
db_progress INFO grub-installer/progress/step_os-probe
@@ -783,7 +757,7 @@
hybrid="$RET"
fi
case $ARCH:$grub_package in
- *:grub|*:grub-pc|sparc:grub-ieee1275)
+ *:grub|*:grub-pc-bin|sparc:grub-ieee1275)
if [ "$grub_version" = grub2 ] && \
([ "$frtype" = mdadm ] || [ "$frtype" = multipath ]); then
# Check whether any of the RAIDed devices is a partition, and if so
@@ -857,7 +831,7 @@
# Let's trust grub-mkdevicemap to select the most suitable ones
# and correctly handle systems with no /dev/disk/by-id.
# Use disk id string as a shortcut way to describe it.
- # FIXME switch to grub-pc's far more elegant disk_descriptions()
+ # FIXME switch to grub-pc-bin's far more elegant disk_descriptions()
dev_list=
dev_descr=
devices="$($chroot $ROOT grub-mkdevicemap --no-floppy -m - | cut -f2)"
@@ -1095,7 +1069,7 @@
CODE=0
case $ARCH:$grub_package in
- *:grub|*:grub-pc|*:grub-efi*|sparc:grub-ieee1275|ppc64el/*:grub-ieee1275)
+ *:grub|*:grub-pc-bin|*:grub-efi*|sparc:grub-ieee1275|ppc64el/*:grub-ieee1275)
info "Running $chroot $ROOT grub-install $grub_install_params \"$bootdev\""
log-output -t grub-installer $chroot $ROOT grub-install $grub_install_params "$bootdev" || CODE=$?
;;
@@ -1108,7 +1082,7 @@
info "grub-install ran successfully"
else
case $ARCH:$grub_package in
- *:grub|*:grub-pc|*:grub-efi*|sparc:grub-ieee1275|ppc64el/*:grub-ieee1275)
+ *:grub|*:grub-pc-bin|*:grub-efi*|sparc:grub-ieee1275|ppc64el/*:grub-ieee1275)
error "Running 'grub-install $grub_install_params \"$bootdev\"' failed."
;;
*)
@@ -1177,8 +1151,8 @@
}
make_active_partition () {
- if [ "$grub_package" != "grub-pc" ]; then
- # only do this for grub-pc since on EFI $bootdev is a dummy argument
+ if [ "$grub_package" != "grub-pc-bin" ]; then
+ # only do this for grub-pc-bin since on EFI $bootdev is a dummy argument
# and looking for a partition table on the wrong or non existing disk
# crashes the installer LP:#1303790
return
@@ -1245,12 +1219,12 @@
make_active_partition
fi
-if [ "$grub_package" = "grub-pc" ]; then
+if [ "$grub_package" = "grub-pc-bin" ]; then
# Do the same thing on upgrades.
$chroot $ROOT 'debconf-set-selections' <<EOF
-$grub_package grub-pc/install_devices multiselect $(devices_to_ids $bootdevs)
-$grub_package grub-pc/install_devices_empty boolean false
-$grub_package grub-pc/install_devices_empty seen false
+$grub_package grub-pc-bin/install_devices multiselect $(devices_to_ids $bootdevs)
+$grub_package grub-pc-bin/install_devices_empty boolean false
+$grub_package grub-pc-bin/install_devices_empty seen false
EOF
fi
@@ -1443,7 +1417,7 @@
) >$ROOT/boot/grub/$menu_file.new
mv $ROOT/boot/grub/$menu_file.new $ROOT/boot/grub/$menu_file
;;
- grub-pc|grub-efi*)
+ grub-pc-bin|grub-efi*)
if grep -q "^GRUB_TERMINAL=" $ROOT/etc/default/grub; then
sed -i $ROOT/etc/default/grub -e "s/^\(GRUB_TERMINAL\)=.*/\1=serial/g"
else

View file

@ -0,0 +1,16 @@
diff --git a/ubiquity/plugins/ubi-partman.py b/ubiquity/plugins/ubi-partman.py
index fc3f8c2a9e..c441f59cad 100644
--- a/ubiquity/plugins/ubi-partman.py
+++ b/ubiquity/plugins/ubi-partman.py
@@ -3421,6 +3421,11 @@ class Page(plugin.Plugin):
elif question.startswith('partman/confirm'):
description = self.extended_description(question)
+ self.preseed(question, 'true', seen=False)
+ self.succeeded = True
+ self.done = True
+ return True
+
if hasattr(self.ui, "use_zfs"):
if (self.ui.use_zfs.get_active() and self.ui.use_device.get_active()):
description = self.update_zfs_description(self.extended_description(question))

View file

@ -0,0 +1,119 @@
diff -ru source.orig/gui/gtk/stepKeyboardConf.ui source/gui/gtk/stepKeyboardConf.ui
--- source.orig/gui/gtk/stepKeyboardConf.ui 2021-11-22 14:53:55.012805275 -0500
+++ source/gui/gtk/stepKeyboardConf.ui 2021-11-24 12:10:59.192658305 -0500
@@ -30,6 +30,7 @@
<property name="can_focus">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Choose your keyboard layout:</property>
+ <property name="mnemonic_widget">keyboardlayoutview</property>
</object>
<packing>
<property name="expand">False</property>
diff -ru source.orig/gui/gtk/stepPartAuto.ui source/gui/gtk/stepPartAuto.ui
--- source.orig/gui/gtk/stepPartAuto.ui 2021-11-22 14:53:55.056804575 -0500
+++ source/gui/gtk/stepPartAuto.ui 2021-11-24 14:24:32.143372256 -0500
@@ -32,6 +32,7 @@
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Select drive:</property>
+ <property name="mnemonic-widget">part_auto_select_drive</property>
</object>
<packing>
<property name="expand">False</property>
@@ -70,6 +71,7 @@
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Allocate drive space by dragging the divider below:</property>
+ <property name="mnemonic-widget">partition_container</property>
</object>
<packing>
<property name="expand">False</property>
diff -ru source.orig/gui/gtk/stepPartCrypto.ui source/gui/gtk/stepPartCrypto.ui
--- source.orig/gui/gtk/stepPartCrypto.ui 2021-11-22 14:53:55.024805085 -0500
+++ source/gui/gtk/stepPartCrypto.ui 2021-11-24 13:19:36.312346350 -0500
@@ -34,6 +34,7 @@
<property name="justify">right</property>
<property name="single-line-mode">True</property>
<property name="xalign">1</property>
+ <property name="mnemonic-widget">verified_password</property>
</object>
<packing>
<property name="left-attach">0</property>
@@ -48,6 +49,7 @@
<property name="justify">right</property>
<property name="single-line-mode">True</property>
<property name="xalign">1</property>
+ <property name="mnemonic-widget">password</property>
</object>
<packing>
<property name="left-attach">0</property>
@@ -64,6 +66,7 @@
<property name="width-chars">92</property>
<property name="max-width-chars">92</property>
<property name="xalign">0</property>
+ <property name="mnemonic-widget">password_grid</property>
</object>
<packing>
<property name="left-attach">0</property>
@@ -385,6 +388,7 @@
<property name="justify">right</property>
<property name="single-line-mode">True</property>
<property name="xalign">1</property>
+ <property name="mnemonic-widget">recovery_key</property>
</object>
<packing>
<property name="left-attach">0</property>
@@ -399,6 +403,7 @@
<property name="justify">right</property>
<property name="single-line-mode">True</property>
<property name="xalign">1</property>
+ <property name="mnemonic-widget">verified_recovery_key</property>
</object>
<packing>
<property name="left-attach">0</property>
diff -ru source.orig/gui/gtk/stepUserInfo.ui source/gui/gtk/stepUserInfo.ui
--- source.orig/gui/gtk/stepUserInfo.ui 2021-11-22 14:53:55.036804893 -0500
+++ source/gui/gtk/stepUserInfo.ui 2021-11-24 13:46:34.074704783 -0500
@@ -38,6 +38,7 @@
<property name="can_focus">False</property>
<property name="label" translatable="yes">Your name:</property>
<property name="xalign">1</property>
+ <property name="mnemonic-widget">fullname</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -51,6 +52,7 @@
<property name="label" translatable="yes">Pick a username:</property>
<property name="justify">right</property>
<property name="xalign">1</property>
+ <property name="mnemonic-widget">username</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -64,6 +66,7 @@
<property name="label" translatable="yes">Choose a password:</property>
<property name="justify">right</property>
<property name="xalign">1</property>
+ <property name="mnemonic-widget">password</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -77,6 +80,7 @@
<property name="label" translatable="yes">Confirm your password:</property>
<property name="justify">right</property>
<property name="xalign">1</property>
+ <property name="mnemonic-widget">verified_password</property>
</object>
<packing>
<property name="left_attach">0</property>
diff -ru source.orig/gui/gtk/stepWireless.ui source/gui/gtk/stepWireless.ui
--- source.orig/gui/gtk/stepWireless.ui 2021-11-22 14:53:55.044804767 -0500
+++ source/gui/gtk/stepWireless.ui 2021-11-24 13:43:24.397688300 -0500
@@ -16,6 +16,7 @@
<property name="label" translatable="yes">Connecting this computer to a wi-fi network helps with</property>
<property name="wrap">True</property>
<property name="max-width-chars">50</property>
+ <property name="mnemonic-widget">no_wireless</property>
</object>
<packing>
<property name="expand">False</property>

View file

@ -0,0 +1,29 @@
diff --git a/debian/ubiquity.templates b/debian/ubiquity.templates
index 8b459bf..4f66e46 100644
--- a/debian/ubiquity.templates
+++ b/debian/ubiquity.templates
@@ -335,11 +335,19 @@ _Description: Installer crashed
Template: ubiquity/text/crash_text_label
Type: text
_Description:
- We're sorry; the installer crashed. After you close this window, we'll
- allow you to file a bug report using the integrated bug reporting tool.
- This will gather information about your system and your installation
- process. The details will be sent to our bug tracker and a developer
- will attend to the problem as soon as possible.
+ We're sorry; the installer crashed. Please open an issue at
+ <a href="https://gitlab.trisquel.org/groups/trisquel/-/issues">
+ Trisquel's bug tracker</a> with as much details as posible to follow
+ up by the development team.
+ .
+ The suggested directory to gather information is /var/log, specially:
+ .
+ syslog,
+ dmesg,
+ installer,
+ partman
+ .
+ Thank you for your collaboration.
Template: ubiquity/text/a11y_high_contrast
Type: text

View file

@ -0,0 +1,21 @@
# Present in first alpha Ecne ISO.
diff --git a/bin/ubiquity-dm b/bin/ubiquity-dm
index 67ffdb27..ea14e068 100755
--- a/bin/ubiquity-dm
+++ b/bin/ubiquity-dm
@@ -505,9 +505,11 @@ EndSection
gsettings_keys.append(
('org.gnome.settings-daemon.plugins.background',
'active', 'false'))
- gsettings_keys.remove(
- ('org.gnome.desktop.wm.preferences', 'num-workspaces',
- '1'))
+ # Prevent error out if settings aren't there
+ key = ('org.gnome.desktop.wm.preferences', 'num-workspaces', '1')
+ if key in gsettings_keys:
+ gsettings_keys.remove(key)
+
os.environ['XDG_SESSION_TYPE'] = 'x11'
if (osextras.find_on_path('gnome-shell')):