Merge ubiquity:start-installing-after-ubi-timezone into ubiquity:master

Proposed by Iain Lane
Status: Merged
Approved by: Łukasz Zemczak
Approved revision: 65b314a456291312958cbfc36c17019d85ecb4d1
Merged at revision: c5f9de130f482e4c2b713743337db7309d0b759b
Proposed branch: ubiquity:start-installing-after-ubi-timezone
Merge into: ubiquity:master
Diff against target: 86 lines (+40/-6)
2 files modified
ubiquity/frontend/gtk_ui.py (+20/-3)
ubiquity/frontend/kde_ui.py (+20/-3)
Reviewer Review Type Date Requested Status
Łukasz Zemczak Approve
Review via email: mp+356676@code.launchpad.net

Description of the change

This is intended to fix https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1797579

I'd like review and independent testing, particularly of the new parallel db thing.

If possible it'd be good to get this into cosmic.

To post a comment you must log in.
Revision history for this message
Iain Lane (laney) wrote :

Feel free to (force) push fixes to this branch and merge/upload - I probably won't be around much this weekend.

Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Ok, tested this on both Ubuntu and Kubuntu installs and it seems to work as expected (my pl locale was properly set at the end and the right language-packs and firefox-locale- packages left on disk). I am not 100% sure of the parallel db parts since I don't have much context about those, but they *do* make some sense here.

We should just SHIP IT.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/ubiquity/frontend/gtk_ui.py b/ubiquity/frontend/gtk_ui.py
2index 88608ea..ccebf2a 100644
3--- a/ubiquity/frontend/gtk_ui.py
4+++ b/ubiquity/frontend/gtk_ui.py
5@@ -239,6 +239,7 @@ class Wizard(BaseFrontend):
6 self.finished_installing = False
7 self.finished_pages = False
8 self.parallel_db = None
9+ self.parallel_db_install = None
10 self.timeout_id = None
11 self.screen_reader = False
12 self.orca_process = None
13@@ -1673,11 +1674,27 @@ class Wizard(BaseFrontend):
14 dbfilter = partman_commit.PartmanCommit(self, db=self.parallel_db)
15 dbfilter.start(auto_process=True)
16
17- # FIXME OH DEAR LORD. Use isinstance.
18- elif finished_step == 'ubiquity.components.partman_commit':
19- dbfilter = install.Install(self, db=self.parallel_db)
20+ elif finished_step == 'ubi-timezone':
21+ # Flush changes to the database so that when the parallel db
22+ # starts, it does so with the most recent changes.
23+ self.stop_debconf()
24+ self.start_debconf()
25+ from ubiquity.debconfcommunicator import DebconfCommunicator
26+ if self.parallel_db_install is not None:
27+ # we're coming back through again.
28+ self.parallel_db_install.shutdown()
29+ env = os.environ.copy()
30+ # debconf-apt-progress, start_debconf()
31+ env['DEBCONF_DB_REPLACE'] = 'configdb'
32+ env['DEBCONF_DB_OVERRIDE'] = 'Pipe{infd:none outfd:none}'
33+ self.parallel_db_install = DebconfCommunicator('ubiquity',
34+ cloexec=True,
35+ env=env)
36+ # Start the actual install
37+ dbfilter = install.Install(self, db=self.parallel_db_install)
38 dbfilter.start(auto_process=True)
39
40+ # FIXME OH DEAR LORD. Use isinstance.
41 elif finished_step == 'ubiquity.components.install':
42 self.finished_installing = True
43 if self.finished_pages:
44diff --git a/ubiquity/frontend/kde_ui.py b/ubiquity/frontend/kde_ui.py
45index 2b2c6fc..ca211b7 100644
46--- a/ubiquity/frontend/kde_ui.py
47+++ b/ubiquity/frontend/kde_ui.py
48@@ -309,6 +309,7 @@ class Wizard(BaseFrontend):
49 self.finished_installing = False
50 self.finished_pages = False
51 self.parallel_db = None
52+ self.parallel_db_install = None
53
54 self.set_busy_cursor(True)
55
56@@ -1316,11 +1317,27 @@ class Wizard(BaseFrontend):
57 dbfilter = partman_commit.PartmanCommit(self, db=self.parallel_db)
58 dbfilter.start(auto_process=True)
59
60- # FIXME OH DEAR LORD. Use isinstance.
61- elif finished_step == 'ubiquity.components.partman_commit':
62- dbfilter = install.Install(self, db=self.parallel_db)
63+ elif finished_step == 'ubi-timezone':
64+ # Flush changes to the database so that when the parallel db
65+ # starts, it does so with the most recent changes.
66+ self.stop_debconf()
67+ self.start_debconf()
68+ from ubiquity.debconfcommunicator import DebconfCommunicator
69+ if self.parallel_db_install is not None:
70+ # we're coming back through again.
71+ self.parallel_db_install.shutdown()
72+ env = os.environ.copy()
73+ # debconf-apt-progress, start_debconf()
74+ env['DEBCONF_DB_REPLACE'] = 'configdb'
75+ env['DEBCONF_DB_OVERRIDE'] = 'Pipe{infd:none outfd:none}'
76+ self.parallel_db_install = DebconfCommunicator('ubiquity',
77+ cloexec=True,
78+ env=env)
79+ # Start the actual install
80+ dbfilter = install.Install(self, db=self.parallel_db_install)
81 dbfilter.start(auto_process=True)
82
83+ # FIXME OH DEAR LORD. Use isinstance.
84 elif finished_step == 'ubiquity.components.install':
85 self.finished_installing = True
86 if self.finished_pages:

Subscribers

People subscribed via source and target branches