Merge lp:~juliank/ubuntu-release-upgrader/valid-release into lp:ubuntu-release-upgrader

Proposed by Julian Andres Klode
Status: Merged
Approved by: Julian Andres Klode
Approved revision: 3096
Merged at revision: 3095
Proposed branch: lp:~juliank/ubuntu-release-upgrader/valid-release
Merge into: lp:ubuntu-release-upgrader
Diff against target: 75 lines (+19/-2)
4 files modified
DistUpgrade/DistUpgradeController.py (+2/-0)
debian/changelog (+3/-0)
tests/data-sources-list-test/sources.list.obsolete_mirror (+1/-0)
tests/test_sources_list.py (+13/-2)
To merge this branch: bzr merge lp:~juliank/ubuntu-release-upgrader/valid-release
Reviewer Review Type Date Requested Status
Jean-Baptiste Lallement (community) Approve
Ubuntu Core Development Team Pending
Review via email: mp+336761@code.launchpad.net

Description of the change

+ * DistUpgradeController.py: Only add a new entry for previously
+ unknown mirrors if the new entries distro is a valid release.
+ (LP: #1744722)

To post a comment you must log in.
3096. By Julian Andres Klode

Add test case for bug #1744722

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

LGTM. I also verified that with the sources.list files provided in bug 1744722 the bug is fixed. I tried to add various erroneous entries and sources.list is valid after rewrite. Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'DistUpgrade/DistUpgradeController.py'
2--- DistUpgrade/DistUpgradeController.py 2018-01-29 09:41:09 +0000
3+++ DistUpgrade/DistUpgradeController.py 2018-01-29 11:01:22 +0000
4@@ -730,6 +730,8 @@
5 if main_was_missing:
6 if entry.dist in fromDists:
7 entry.dist = toDists[fromDists.index(entry.dist)]
8+ if entry.dist not in toDists:
9+ continue # Unknown target, do not add this
10 # gather what components are enabled and are inconsistent
11 for d in ["%s" % self.toDist,
12 "%s-updates" % self.toDist,
13
14=== modified file 'debian/changelog'
15--- debian/changelog 2018-01-29 09:41:09 +0000
16+++ debian/changelog 2018-01-29 11:01:22 +0000
17@@ -5,6 +5,9 @@
18 Partition messages as suggested by Steve Langasek in LP 1695666.
19 * DistUpgradeFetcherKDE.py: Drop unneeded pyqtSlot, QUrl, breaks
20 pyflakes
21+ * DistUpgradeController.py: Only add a new entry for previously
22+ unknown mirrors if the new entries distro is a valid release.
23+ (LP: #1744722)
24
25 [ Po-Hsu Lin ]
26 * DistUpgrade/DistUpgradeController.py:
27
28=== modified file 'tests/data-sources-list-test/sources.list.obsolete_mirror'
29--- tests/data-sources-list-test/sources.list.obsolete_mirror 2015-11-17 17:30:05 +0000
30+++ tests/data-sources-list-test/sources.list.obsolete_mirror 2018-01-29 11:01:22 +0000
31@@ -8,3 +8,4 @@
32 deb-src http://mirror.mcs.anl.gov/ubuntu feisty-updates main restricted universe multiverse
33 ##deb-src http://mirror.mcs.anl.gov/ubuntu feisty-proposed main restricted universe multiverse
34 deb-src http://mirror.mcs.anl.gov/ubuntu feisty-security main restricted universe multiverse
35+deb https://example.com/3rd-party/deb/ stable main
36
37=== modified file 'tests/test_sources_list.py'
38--- tests/test_sources_list.py 2016-01-13 19:33:14 +0000
39+++ tests/test_sources_list.py 2018-01-29 11:01:22 +0000
40@@ -148,7 +148,7 @@
41
42 # now test the result
43 #print(open(os.path.join(self.testdir,"sources.list")).read())
44- self._verifySources("""
45+ self._verifySources2Way("""
46 # main repo
47 # deb http://mirror.mcs.anl.gov/ubuntu gutsy main restricted universe multiverse # disabled on upgrade to gutsy
48 # deb http://mirror.mcs.anl.gov/ubuntu gutsy-updates main restricted universe multiverse # disabled on upgrade to gutsy
49@@ -158,6 +158,7 @@
50 # deb-src http://mirror.mcs.anl.gov/ubuntu gutsy-updates main restricted universe multiverse # disabled on upgrade to gutsy
51 ##deb-src http://mirror.mcs.anl.gov/ubuntu feisty-proposed main restricted universe multiverse
52 # deb-src http://mirror.mcs.anl.gov/ubuntu gutsy-security main restricted universe multiverse # disabled on upgrade to gutsy
53+# deb https://example.com/3rd-party/deb/ stable main # disabled on upgrade to gutsy
54 deb http://archive.ubuntu.com/ubuntu/ gutsy main
55 deb http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse # auto generated by ubuntu-release-upgrader
56 deb http://archive.ubuntu.com/ubuntu gutsy-updates main restricted universe multiverse # auto generated by ubuntu-release-upgrader
57@@ -571,7 +572,17 @@
58 "expected entry '%s' in sources.list missing. got:\n'''%s'''" %
59 (l, sources_list))
60
61-
62+ def _verifySources2Way(self, expected):
63+ self._verifySources(expected)
64+ sources_file = apt_pkg.config.find_file("Dir::Etc::sourcelist")
65+ with open(sources_file) as f:
66+ sources_list = f.read()
67+ for l in sources_list.split("\n"):
68+ self.assertTrue(
69+ l in expected.split("\n"),
70+ "unexpected entry '%s' in sources.list. got:\n'''%s'''" %
71+ (l, sources_list))
72+
73 if __name__ == "__main__":
74 import sys
75 for e in sys.argv:

Subscribers

People subscribed via source and target branches