Merge lp:~jibel/ubuntu-cdimage/support_for_multilayer into lp:ubuntu-cdimage

Proposed by Jean-Baptiste Lallement
Status: Superseded
Proposed branch: lp:~jibel/ubuntu-cdimage/support_for_multilayer
Merge into: lp:ubuntu-cdimage
Diff against target: 4981 lines (+655/-1610) (has conflicts)
25 files modified
bin/cron.daily (+1/-1)
bin/cron.dvd (+1/-16)
bin/daily-checks (+0/-14)
bin/find-live-filesystem (+1/-1)
bin/make-metalink (+1/-1)
bin/rebuild-requests (+1/-2)
etc/config (+0/-5)
etc/crontab (+1/-1)
etc/default-arches (+21/-89)
etc/livefs-launchpad (+4/-8)
etc/purge-days (+4/-3)
etc/qa-products (+1/-11)
lib/cdimage/build.py (+27/-93)
lib/cdimage/germinate.py (+59/-204)
lib/cdimage/livefs.py (+77/-194)
lib/cdimage/project.py (+0/-10)
lib/cdimage/tests/test_build.py (+93/-133)
lib/cdimage/tests/test_build_id.py (+2/-2)
lib/cdimage/tests/test_check_installable.py (+8/-8)
lib/cdimage/tests/test_config.py (+0/-6)
lib/cdimage/tests/test_germinate.py (+71/-201)
lib/cdimage/tests/test_livefs.py (+84/-198)
lib/cdimage/tests/test_mirror.py (+0/-4)
lib/cdimage/tests/test_tree.py (+145/-205)
lib/cdimage/tree.py (+53/-200)
Text conflict in etc/purge-days
To merge this branch: bzr merge lp:~jibel/ubuntu-cdimage/support_for_multilayer
Reviewer Review Type Date Requested Status
Steve Langasek Needs Fixing
Review via email: mp+359512@code.launchpad.net

This proposal has been superseded by a proposal from 2019-03-07.

Commit message

Adds support for multilayer images

* Made artefacts download generic: Don't hardcode artefact names and ensure they can be matched via regexp, on launchpad or local directory build.
* Fixed test suite
* Removed obsolete edubuntu server-squashfs test (LP: #1154601)
* Ensure we are still compatible with tests using a local server and with a local build.
* Add new ubuntu:canary subproject in automated builds

Extract from the discussion with cjwatson about these changes:
"""""
didrocks hey cjwatson! jibel and I have a question on ubuntu-cdimage: as with the new layered images we are building, we might not know in advance the squashfs, size, manifest files. We want to avoid to hardcode more filenames that already exists. In livefs.py, there are basically 2 code paths to download assets. One is using LP API (and so, can list all artefacts attached to a specific build) and the other
didrocks one is just for filesystem + http:// download. We thought to match against regexp, which works in the LP case and for filesystem (via os.listdir()). However, tests are failing as they are using http mock server. I wonder if in production, only the LP path is took. If so, can we just detect "http" for tests and either create a manifest that we download or rely on hardcoded filenames?
cjwatson As far as I know it's only ever the LP path in production, indeed
didrocks so, do you think special casing tests, like not using the regexp for them, is fine?
cjwatson Yeah, I think so
didrocks perfect! Thanks a lot cjwatson :)
cjwatson The http:// case may even be legacy - not sure
didrocks yeah, sounds like it, but we preferred asking you directly :)
cjwatson Obviously for good software engineering reasons keeping special cases for tests to a minimum is a good idea, but creating a sort of meta-manifest doesn't seem unreasonable, maybe with a fallback if it doesn't exist
didrocks yeah, the best would be ofc to rewrite the tests to mock LP
didrocks but I think that's out of our current scope :)
"""""

To post a comment you must log in.
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

Rebased on trunk, could you please review? Thanks

1772. By Adam Conrad

Update bionic to 18.04.2

1773. By Adam Conrad

Fix line-lengths in bin/daily-checks with more pleasant wrapping.

1774. By Adam Conrad

Drop i386 from default arches for "*" and "dvd", as lubuntu was the last: https://lists.ubuntu.com/archives/ubuntu-release/2018-December/004664.html

1775. By Steve Langasek

Merge lp:~vorlon/ubuntu-cdimage/lp.1731122

1776. By Steve Langasek

Merge lp:~sil2100/ubuntu-cdimage/add_raspi3

1777. By Steve Langasek

Merge lp:~sil2100/ubuntu-cdimage/latest-unique_key

1778. By Łukasz Zemczak

Enable raspi3 builds in default-arches since bionic+

1779. By Łukasz Zemczak

Add the pi3-arm64 variant to core18 images we're building.

1780. By Adam Conrad

Use server-ship-live on bionic as well.

1781. By Steve Langasek

Make make-web-indices work again for source ISO publication

1782. By Adam Conrad

Fix headers on ubuntu-core HTML pages.

1783. By Łukasz Zemczak

Update xenial to 16.04.6

1784. By Łukasz Zemczak

xenial: PROPOSED=0

1785. By Łukasz Zemczak

Switch ubuntu-gnome's seeds from bzr to git.

1786. By Steve Langasek

Merge lp:~xubuntu-dev/ubuntu-cdimage/bionic_image_size

1787. By Steve Langasek

Update test to match

1788. By Steve Langasek

Prune information about obsolete releases.

The code has never dropped support for any historic Ubuntu releases. After
30+ releases, this makes the code quite cumbersome, and we know we will
never be re-releasing images for any releases that have reached end-of-life.
Instead of leaving hard-to-read code everywhere, trim all references to
releases that have reached end of life; if someone needs the old stuff, they
can always consult the VCS history for reference.

As of today, supported releases means:
 - precise (still ESM supported)
 - trusty
 - xenial
 - bionic
 - cosmic
 - disco

older releases, and interim non-LTS releases, are dropped.

1789. By Steve Langasek

More pruning; this drops support for the historical 'winfoss' item, last
used by edubuntu in hardy.

1790. By Steve Langasek

More pruning; this drops the 'tocd3' and 'tocd3.1' projects, which are purely
historical (2005).

1791. By Steve Langasek

More pruning; includes dropping the 'umenu' downloadable, only used in hardy
and intrepid

1792. By Steve Langasek

Further pruning. Includes dropping the lpia arch, and the ubuntu-mid product
which was lpia-only.

1793. By Steve Langasek

Further pruning. Drops ubuntu-headless project, which was possibly never
released but is certainly obsolete since ~10.04.

1794. By Steve Langasek

Further pruning. Drops ubuntu-netbook project, obsolete since 11.04.

1795. By Steve Langasek

Further pruning; now pruned up to oneiric

1796. By Steve Langasek

Further pruning; includes dropping ubuntu-desktop-next, which was only built
from vivid to wily

1797. By Steve Langasek

Purge vivid; includes dropping ubuntu-touch-custom which was vivid-only

1798. By Steve Langasek

Prune wily (no-op), zesty, artful

1799. By Steve Langasek

drop ubuntu-pd, which was only for vivid

1800. By Steve Langasek

drop kubuntu-plasma5, which was utopic/vivid only

1801. By Steve Langasek

Drop jeos support, obsolete since intrepid

1802. By Steve Langasek

Drop moblin-remix, which stopped being built some time before 12.04

Revision history for this message
Steve Langasek (vorlon) :
review: Needs Fixing
1803. By Jean-Baptiste Lallement

Merged support for multi-layer images

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

Thanks for the review!

We just rebased on your cleanup branch to avoid adapating tests and code that are going to be removed soon. All your comments should hopefully now be addressed :)

1804. By Jean-Baptiste Lallement

* Removed dead code
* Fixed PEP8 warning
* Updated tests to match the code removal and use the LP code path
* Added negative test to download from remote URL

1805. By Jean-Baptiste Lallement

Fixed linter errors

1806. By Jean-Baptiste Lallement

Factorized download_live_items_* tests and removed duplicated tests
Added test for filtering several artefacts by suffix
Added test for downloading several artefacts

1807. By Jean-Baptiste Lallement

Removed all the references to server-squashfs

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/cron.daily'
2--- bin/cron.daily 2015-10-26 11:06:11 +0000
3+++ bin/cron.daily 2019-03-07 16:20:18 +0000
4@@ -39,7 +39,7 @@
5 series = config["DIST"]
6 if project == "edubuntu":
7 config["CDIMAGE_ADDON"] = "1"
8- elif (project == "ubuntu-server" and series >= "quantal" and
9+ elif (project == "ubuntu-server" and series >= "trusty" and
10 not config["CDIMAGE_NO_SQUASHFS_BASE"]):
11 config["CDIMAGE_SQUASHFS_BASE"] = "1"
12 if not build_image_set(config, options):
13
14=== modified file 'bin/cron.dvd'
15--- bin/cron.dvd 2015-10-26 11:06:11 +0000
16+++ bin/cron.dvd 2019-03-07 16:20:18 +0000
17@@ -35,22 +35,7 @@
18 options, _ = parser.parse_args()
19 config = Config(IMAGE_TYPE="dvd")
20 project = config.project
21- series = config["DIST"]
22- if project == "edubuntu":
23- # Edubuntu lucid and onwards: DVD is live-only
24- if series <= "karmic":
25- config["CDIMAGE_INSTALL"] = "1"
26- elif project == "ubuntu":
27- # Ubuntu oneiric and onwards: DVD is live-only
28- if series <= "natty":
29- config["CDIMAGE_INSTALL"] = "1"
30- elif project == "ubuntustudio":
31- # Ubuntu Studio precise and onwards: DVD is live-only
32- # (Actually, it didn't exist before then anyway, but we check this
33- # just for documentation's sake.)
34- if series <= "oneiric":
35- config["CDIMAGE_INSTALL"] = "1"
36- else:
37+ if project not in ("edubuntu", "ubuntu", "ubuntustudio"):
38 config["CDIMAGE_INSTALL"] = "1"
39 config["CDIMAGE_LIVE"] = "1"
40 config["CDIMAGE_DVD"] = "1"
41
42=== modified file 'bin/daily-checks'
43--- bin/daily-checks 2018-12-18 19:27:24 +0000
44+++ bin/daily-checks 2019-03-07 16:20:18 +0000
45@@ -83,20 +83,10 @@
46 def project_title(project):
47 if project == 'ubuntu-server':
48 return 'Ubuntu Server'
49- elif project == 'jeos':
50- return 'Ubuntu JeOS'
51 elif project == 'ubuntustudio':
52 return 'Ubuntu Studio'
53- elif project == 'ubuntu-netbook':
54- return 'Ubuntu Netbook'
55- elif project == 'ubuntu-headless':
56- return 'Ubuntu Headless'
57 elif project == 'kubuntu-active':
58 return 'Kubuntu Active'
59- elif project == 'kubuntu-plasma5':
60- return 'Kubuntu Plasma 5'
61- elif project == 'ubuntu-moblin-remix':
62- return 'Ubuntu Moblin Remix'
63 else:
64 return project.title()
65
66@@ -237,17 +227,13 @@
67
68 projects = (
69 'ubuntu',
70- 'ubuntu-desktop-next',
71 'ubuntu-server',
72 'kubuntu',
73 'edubuntu',
74 'xubuntu',
75 'ubuntustudio',
76- 'ubuntu-netbook',
77 'kubuntu-netbook',
78- 'ubuntu-moblin-remix',
79 'kubuntu-active',
80- 'kubuntu-plasma5',
81 'mythbuntu',
82 'lubuntu',
83 'lubuntu-next',
84
85=== modified file 'bin/find-live-filesystem'
86--- bin/find-live-filesystem 2018-02-23 13:03:40 +0000
87+++ bin/find-live-filesystem 2019-03-07 16:20:18 +0000
88@@ -33,7 +33,7 @@
89 parser = OptionParser(
90 "%prog ARCH cloop|squashfs|kernel|kernel-efi-signed|initrd|bootimg|"
91 "manifest|manifest-desktop|manifest-remove|manifest-minimal-remove|"
92- "disk1.img.xz|img.xz|size|winfoss|wubi|umenu|usb-creator|"
93+ "disk1.img.xz|img.xz|size|wubi|usb-creator|"
94 "ltsp-squashfs|ext2|ext3|ext4|rootfs.tar.gz|custom.tar.gz|"
95 "device.tar.gz|tar.xz|iso")
96 _, args = parser.parse_args()
97
98=== modified file 'bin/make-metalink'
99--- bin/make-metalink 2015-10-26 11:06:11 +0000
100+++ bin/make-metalink 2019-03-07 16:20:18 +0000
101@@ -32,7 +32,7 @@
102 parser = OptionParser(
103 "%prog DIRECTORY VERSION STATUS\n"
104 " e.g.: %prog " + config.root +
105- "/www/full/daily-live/20130327 raring daily")
106+ "/www/full/daily-live/20130327 bionic daily")
107 _, args = parser.parse_args()
108 if len(args) < 1:
109 parser.error("need directory")
110
111=== modified file 'bin/rebuild-requests'
112--- bin/rebuild-requests 2018-10-30 13:23:58 +0000
113+++ bin/rebuild-requests 2019-03-07 16:20:18 +0000
114@@ -134,8 +134,7 @@
115 env['SUBPROJECT'] = sub_project
116
117 if (project == "ubuntu-touch" and
118- args[0] in ("vivid", "wily", "xenial", "yakkety", "zesty",
119- "artful", "bionic", "cosmic", "disco")):
120+ args[0] in ("xenial", "bionic", "cosmic", "disco")):
121 env['EXTRA_PPAS'] = \
122 "ci-train-ppa-service/stable-phone-overlay:1001"
123 env['PROPOSED'] = "0"
124
125=== modified file 'etc/config'
126--- etc/config 2019-03-01 15:42:09 +0000
127+++ etc/config 2019-03-07 16:20:18 +0000
128@@ -15,11 +15,6 @@
129 PROJECT="${PROJECT:-ubuntu}"
130 CAPPROJECT="${CAPPROJECT:-Ubuntu}"
131 IMAGE_FORMAT=${IMAGE_FORMAT:-iso}
132-case $PROJECT in
133- ubuntu-mid)
134- IMAGE_FORMAT=${IMAGE_FORMAT:-vfat}
135- ;;
136-esac
137 export IMAGE_FORMAT
138 DIST="${DIST:-disco}"
139
140
141=== modified file 'etc/crontab'
142--- etc/crontab 2018-10-30 13:23:58 +0000
143+++ etc/crontab 2019-03-07 16:20:18 +0000
144@@ -21,7 +21,7 @@
145 20 15 * * * DIST=bionic for-project ubuntu-budgie cron.daily-live --live
146 26 2 * * * DIST=bionic for-project ubuntu-mate cron.daily-live --live
147 # regular disco daily builds
148-31 7 * * * for-project ubuntu cron.daily-live --live
149+31 7 * * * for-project ubuntu cron.daily-live --live; SUBPROJECT=canary for-project ubuntu cron.daily-live --live
150 14 5 * * * for-project kubuntu cron.daily-live --live
151 50 1 * * * for-project xubuntu cron.daily-live --live
152 29 6 * * * for-project ubuntu-server cron.daily --live; for-project ubuntu-server cron.daily-preinstalled --live; SUBPROJECT=live for-project ubuntu-server cron.daily-live --live
153
154=== modified file 'etc/default-arches'
155--- etc/default-arches 2019-02-07 15:42:49 +0000
156+++ etc/default-arches 2019-03-07 16:20:18 +0000
157@@ -3,69 +3,35 @@
158
159 * source * i386
160
161-ubuntu-touch daily-preinstalled saucy armhf
162-ubuntu-touch daily-preinstalled trusty-wily armhf i386
163+ubuntu-touch daily-preinstalled trusty armhf i386
164 ubuntu-touch daily-preinstalled xenial- armhf i386 arm64
165-ubuntu-touch daily-preinstalled ubuntu-rtm/* armhf i386
166-
167-ubuntu-touch-custom daily-preinstalled trusty- armhf i386
168-
169-ubuntu daily-preinstalled oneiric armel+ac100 armel+mx5 armel+omap armel+omap4
170-ubuntu daily-preinstalled raring armhf+nexus7
171-lubuntu daily-preinstalled quantal-saucy armhf+ac100
172-
173-* daily-preinstalled maverick-oneiric armel+omap armel+omap4
174-ubuntu-server daily-preinstalled quantal armhf+omap4
175-
176-edubuntu dvd quantal- amd64 i386
177-edubuntu-dvd dvd quantal- amd64 i386
178-
179-ubuntu-base daily oneiric amd64 armel i386
180+
181+edubuntu dvd trusty- amd64 i386
182+edubuntu-dvd dvd trusty- amd64 i386
183+
184 ubuntu-base daily precise amd64 armhf i386
185-ubuntu-base daily quantal-raring amd64 armhf i386 powerpc
186-ubuntu-base daily saucy amd64 arm64 armhf i386 powerpc
187-ubuntu-base daily trusty-wily amd64 arm64 armhf i386 powerpc ppc64el
188-ubuntu-base daily xenial-yakkety amd64 arm64 armhf i386 powerpc ppc64el s390x
189-ubuntu-base daily zesty- amd64 arm64 armhf i386 ppc64el s390x
190-ubuntu-core-system-image daily-preinstalled utopic amd64 armhf i386
191-ubuntu-core-system-image daily-preinstalled vivid-wily amd64 arm64 armhf i386
192+ubuntu-base daily trusty amd64 arm64 armhf i386 powerpc ppc64el
193+ubuntu-base daily xenial amd64 arm64 armhf i386 powerpc ppc64el s390x
194+ubuntu-base daily bionic- amd64 arm64 armhf i386 ppc64el s390x
195 ubuntu-core-system-image daily-preinstalled xenial- amd64 arm64 armhf i386 ppc64el s390x
196 ubuntu-core daily-live xenial-cosmic amd64 arm64+snapdragon armhf+cm3 armhf+raspi2 armhf+raspi3 i386
197 ubuntu-core daily-live disco- amd64 arm64+snapdragon armhf+cm3 armhf+raspi2 armhf+raspi3 arm64+raspi3 i386
198
199-jeos * * i386
200-
201-kubuntu daily-live feisty-intrepid amd64 i386 ia64 powerpc
202-kubuntu daily-live jaunty amd64 armel i386 ia64 powerpc
203-kubuntu daily-live karmic amd64 armel+dove armel+imx51 i386 ia64 powerpc
204-kubuntu daily-live lucid amd64 i386 ia64 powerpc
205 kubuntu daily-live precise amd64 i386
206 kubuntu daily-live trusty amd64 amd64+mac i386
207-kubuntu daily-live utopic-bionic amd64 i386
208+kubuntu daily-live xenial-bionic amd64 i386
209 kubuntu daily-live cosmic- amd64
210
211 kubuntu-active * * i386
212
213-kubuntu-plasma5 daily-live utopic- amd64 i386
214-
215-mythbuntu * warty-edgy amd64 i386 powerpc
216 mythbuntu * * amd64 i386
217
218-ubuntu daily karmic amd64 armel+dove armel+imx51 i386 ia64 lpia powerpc powerpc+ps3 sparc
219 ubuntu daily precise amd64 amd64+mac i386
220
221-ubuntu daily-live feisty-intrepid amd64 i386 ia64 powerpc powerpc+ps3
222-ubuntu daily-live jaunty amd64 armel i386 ia64 powerpc powerpc+ps3
223-ubuntu daily-live karmic amd64 armel+dove armel+imx51 i386 ia64 powerpc powerpc+ps3
224-ubuntu daily-live lucid amd64 i386 ia64 powerpc powerpc+ps3
225 ubuntu daily-live precise amd64 amd64+mac i386
226-ubuntu daily-live quantal amd64 amd64+mac armhf+omap4 i386 powerpc
227-ubuntu daily-live raring-trusty amd64 amd64+mac i386
228-ubuntu daily-live utopic-zesty amd64 i386
229-ubuntu daily-live artful- amd64
230-
231-ubuntu-desktop-next * -vivid amd64 i386 armhf
232-ubuntu-desktop-next-system-image daily-preinstalled wily- amd64 i386 armhf
233+ubuntu daily-live trusty amd64 amd64+mac i386
234+ubuntu daily-live xenial amd64 i386
235+ubuntu daily-live bionic- amd64
236
237 ubuntu-gnome * * amd64 i386
238
239@@ -75,65 +41,31 @@
240 ubuntu-mate * -bionic amd64 i386
241 ubuntu-mate * cosmic- amd64
242
243-ubuntu-mid * * lpia
244-
245-ubuntu-moblin-remix * * i386
246-
247-ubuntu-netbook daily-live lucid armel+imx51 armel+dove armel+omap i386
248-ubuntu-netbook daily-live maverick armel+dove i386
249-
250-ubuntu-server daily-preinstalled xenial-artful armhf+raspi2
251+ubuntu-server daily-preinstalled xenial armhf+raspi2
252 ubuntu-server daily-preinstalled bionic- armhf+raspi2 armhf+raspi3 arm64+raspi3
253-ubuntu-server * intrepid amd64 hppa i386 ia64 powerpc powerpc+ps3 sparc
254-ubuntu-server * jaunty amd64 armel hppa i386 ia64 powerpc powerpc+ps3 sparc
255-ubuntu-server * karmic-lucid amd64 armel+dove armel+imx51 armel+omap i386 ia64 powerpc powerpc+ps3 sparc
256-ubuntu-server * maverick amd64 amd64+mac armel+dove armel+omap armel+omap4 i386 powerpc powerpc+ps3
257-ubuntu-server * natty-oneiric amd64 amd64+mac armel+dove armel+omap armel+omap4 i386 powerpc
258 ubuntu-server * precise amd64 i386
259-ubuntu-server * quantal-saucy amd64 amd64+mac armhf+omap armhf+omap4 i386 powerpc
260 ubuntu-server * trusty amd64 amd64+mac i386 powerpc ppc64el
261-ubuntu-server * utopic-wily amd64 i386 powerpc ppc64el
262-ubuntu-server * xenial-yakkety amd64 arm64 i386 powerpc ppc64el s390x
263-ubuntu-server * zesty-artful amd64 arm64 i386 ppc64el s390x
264+ubuntu-server * xenial amd64 arm64 i386 powerpc ppc64el s390x
265 ubuntu-server * bionic- amd64 arm64 ppc64el s390x
266
267-ubuntu-server-live * artful-cosmic amd64 arm64 ppc64el
268+ubuntu-server-live * bionic-cosmic amd64 arm64 ppc64el
269 ubuntu-server-live * disco- amd64 arm64 ppc64el s390x
270
271 ubuntu-wubi * * amd64 i386
272
273-ubuntu-zh_CN * maverick-natty i386
274-ubuntu-zh_CN * oneiric- amd64 i386
275+ubuntu-zh_CN * precise- amd64 i386
276 ubuntukylin * -bionic amd64 i386
277 ubuntukylin * cosmic- amd64
278
279-ubuntustudio * warty-edgy amd64 i386 powerpc
280-ubuntustudio * feisty-bionic amd64 i386
281+ubuntustudio * precise-bionic amd64 i386
282 ubuntustudio * cosmic- amd64
283
284-xubuntu daily-live jaunty armel powerpc powerpc+ps3
285-xubuntu daily-live karmic armel+dove armel+imx51 powerpc powerpc+ps3
286-
287-xubuntu * feisty-maverick amd64 i386 powerpc powerpc+ps3
288-xubuntu * natty-cosmic amd64 i386
289+xubuntu * precise-cosmic amd64 i386
290 xubuntu * disco- amd64
291
292-* daily-live gutsy-intrepid amd64 i386 ia64 powerpc powerpc+ps3 sparc
293-* daily-live jaunty amd64 armel i386 ia64 powerpc powerpc+ps3 sparc
294-* daily-live karmic amd64 i386 ia64 powerpc powerpc+ps3 sparc
295-
296-* dvd warty-edgy amd64 i386 powerpc
297-* dvd feisty-cosmic amd64 i386
298+* dvd precise-cosmic amd64 i386
299 * dvd * amd64
300
301-* * warty-dapper amd64 hppa i386 ia64 powerpc sparc
302-* * edgy amd64 i386 ia64 powerpc sparc
303-* * feisty amd64 i386 ia64 powerpc powerpc+ps3 sparc
304-* * gutsy-hardy amd64 hppa i386 ia64 powerpc powerpc+ps3 sparc
305-* * intrepid-jaunty amd64 hppa i386 ia64 lpia powerpc powerpc+ps3 sparc
306-* * karmic amd64 i386 ia64 lpia powerpc powerpc+ps3 sparc
307-* * lucid amd64 i386 ia64 powerpc powerpc+ps3 sparc
308-* * maverick amd64 amd64+mac i386 powerpc powerpc+ps3
309-* * natty-trusty amd64 amd64+mac i386 powerpc
310-* * utopic-cosmic amd64 i386
311+* * precise-trusty amd64 amd64+mac i386 powerpc
312+* * xenial-cosmic amd64 i386
313 * * * amd64
314
315=== modified file 'etc/livefs-launchpad'
316--- etc/livefs-launchpad 2017-05-16 16:10:49 +0000
317+++ etc/livefs-launchpad 2019-03-07 16:20:18 +0000
318@@ -3,15 +3,13 @@
319 # Like etc/default-arches, "PROJECT" is in fact PROJECT[-SUBPROJECT][-LOCALE].
320
321 ubuntu daily-live * * ubuntu-cdimage/ubuntu
322-ubuntu-desktop-next daily-live -vivid * ubuntu-cdimage/ubuntu-desktop-next
323-ubuntu-desktop-next-system-image daily-preinstalled wily- * ubuntu-cdimage/ubuntu-desktop-next
324+ubuntu-canary daily-live * * ubuntu-cdimage/ubuntu-canary
325 kubuntu daily-live * * ubuntu-cdimage/kubuntu
326-kubuntu-plasma5 daily-live * * ubuntu-cdimage/kubuntu-plasma5
327 edubuntu dvd * * ubuntu-cdimage/edubuntu
328 xubuntu daily-live * * ubuntu-cdimage/xubuntu
329-ubuntu-server daily quantal- * ubuntu-cdimage/ubuntu-server
330+ubuntu-server daily trusty- * ubuntu-cdimage/ubuntu-server
331 ubuntu-server daily-preinstalled xenial- * ubuntu-cdimage/cpc
332-ubuntu-server-live daily-live zesty- * ubuntu-cdimage/ubuntu-server-live
333+ubuntu-server-live daily-live bionic- * ubuntu-cdimage/ubuntu-server-live
334 ubuntustudio dvd * * ubuntu-cdimage/ubuntustudio
335 mythbuntu daily-live * * ubuntu-cdimage/mythbuntu
336 lubuntu-next daily-live * * ubuntu-cdimage/lubuntu-next
337@@ -27,8 +25,6 @@
338 ubuntu-budgie daily-live * * ubuntu-cdimage/ubuntu-budgie
339 ubuntu-touch daily-preinstalled ubuntu-rtm/* * ubuntu-cdimage/ubuntu-touch
340 ubuntu-touch daily-preinstalled trusty- * ubuntu-cdimage/ubuntu-touch
341-ubuntu-touch-custom daily-preinstalled vivid- * ubuntu-cdimage/ubuntu-touch-custom
342-ubuntu-pd daily-preinstalled * * ubuntu-cdimage/ubuntu-pd
343 ubuntu dvd -precise * ubuntu-cdimage/ubuntu-dvd
344 ubuntu-wubi wubi * * ubuntu-cdimage/ubuntu-wubi
345-ubuntu-zh_CN daily-live -raring * ubuntu-cdimage/ubuntu-zh-cn
346+ubuntu-zh_CN daily-live -precise * ubuntu-cdimage/ubuntu-zh-cn
347
348=== modified file 'etc/purge-days'
349--- etc/purge-days 2018-10-26 11:55:31 +0000
350+++ etc/purge-days 2019-03-07 16:20:18 +0000
351@@ -3,14 +3,15 @@
352 daily-preinstalled 1
353 # Purge images older than 2 days => keep the most recent build.
354 dvd 2
355+<<<<<<< TREE
356 # Only purge TheOpenCDv3 images manually.
357 tocd3/daily-live 0
358 # Ubuntu Core images are not purged per age
359+=======
360+# Only purge ubuntu-core images manually.
361+>>>>>>> MERGE-SOURCE
362 ubuntu-core 0
363-ubuntu-mid 3
364-ubuntu-netbook 3
365 ubuntu-touch 7
366-ubuntu-touch-custom 7
367 source 1
368 wubi 1
369 ubuntu-zh_CN 3
370
371=== modified file 'etc/qa-products'
372--- etc/qa-products 2018-11-28 15:52:36 +0000
373+++ etc/qa-products 2019-03-07 16:20:18 +0000
374@@ -11,8 +11,6 @@
375 Kubuntu Desktop armhf+omap4 kubuntu daily-live desktop armhf+omap4 iso
376 Kubuntu Desktop i386 kubuntu daily-live desktop i386 iso
377 Kubuntu Desktop powerpc kubuntu daily-live desktop powerpc iso
378-Kubuntu Plasma 5 Desktop amd64 kubuntu-plasma5 daily-live desktop amd64 iso
379-Kubuntu Plasma 5 Desktop i386 kubuntu-plasma5 daily-live desktop i386 iso
380
381 # Lubuntu
382 Lubuntu Alternate amd64 lubuntu daily alternate amd64 iso
383@@ -47,17 +45,13 @@
384
385 # Ubuntu Desktop
386 Ubuntu Desktop amd64 ubuntu daily-live desktop amd64 iso
387+Ubuntu Desktop (Canary) amd64 ubuntu daily-live/canary desktop amd64 iso
388 Ubuntu Desktop amd64+mac ubuntu daily-live desktop amd64+mac iso
389 Ubuntu Desktop armhf+omap4 ubuntu daily-live desktop armhf+omap4 iso
390 Ubuntu Desktop i386 ubuntu daily-live desktop i386 iso
391 Ubuntu Desktop powerpc ubuntu daily-live desktop powerpc iso
392 Ubuntu Desktop Preinstalled armhf+nexus7 ubuntu daily-preinstalled preinstalled-desktop armhf+nexus7 iso
393
394-# Ubuntu Desktop Next
395-Ubuntu Desktop (Unity 8) armhf ubuntu-desktop-next/system-image daily-preinstalled preinstalled-desktop-next armhf iso
396-Ubuntu Desktop (Unity 8) amd64 ubuntu-desktop-next/system-image daily-preinstalled preinstalled-desktop-next amd64 iso
397-Ubuntu Desktop (Unity 8) i386 ubuntu-desktop-next/system-image daily-preinstalled preinstalled-desktop-next i386 iso
398-
399 # Ubuntu GNOME
400 Ubuntu GNOME Desktop amd64 ubuntu-gnome daily-live desktop amd64 iso
401 Ubuntu GNOME Desktop i386 ubuntu-gnome daily-live desktop i386 iso
402@@ -97,10 +91,6 @@
403 Ubuntu Touch armhf ubuntu-touch daily-preinstalled preinstalled-touch armhf iso
404 Ubuntu Touch i386 ubuntu-touch daily-preinstalled preinstalled-touch i386 iso
405
406-# Ubuntu Touch Custom
407-Ubuntu Touch Custom armhf ubuntu-touch-custom daily-preinstalled preinstalled-touch armhf iso
408-Ubuntu Touch Custom i386 ubuntu-touch-custom daily-preinstalled preinstalled-touch i386 iso
409-
410 # Ubuntu Kylin
411 Ubuntu Kylin Desktop amd64 ubuntukylin daily-live desktop amd64 iso
412 Ubuntu Kylin Desktop i386 ubuntukylin daily-live desktop i386 iso
413
414=== modified file 'lib/cdimage/build.py'
415--- lib/cdimage/build.py 2018-01-09 01:47:28 +0000
416+++ lib/cdimage/build.py 2019-03-07 16:20:18 +0000
417@@ -80,17 +80,14 @@
418 if project == "gobuntu":
419 config["CDIMAGE_ONLYFREE"] = "1"
420 elif project == "edubuntu":
421- if series >= "karmic":
422- config["CDIMAGE_UNSUPPORTED"] = "1"
423+ config["CDIMAGE_UNSUPPORTED"] = "1"
424 elif project == "xubuntu":
425- if series >= "hardy":
426- config["CDIMAGE_UNSUPPORTED"] = "1"
427+ config["CDIMAGE_UNSUPPORTED"] = "1"
428 elif project == "kubuntu":
429- if series >= "quantal":
430+ if series >= "trusty":
431 config["CDIMAGE_UNSUPPORTED"] = "1"
432 elif project in (
433 "kubuntu-active",
434- "kubuntu-plasma5",
435 "ubuntustudio",
436 "mythbuntu",
437 "lubuntu",
438@@ -98,8 +95,6 @@
439 "ubuntu-gnome",
440 "ubuntu-budgie",
441 "ubuntu-mate",
442- "ubuntu-moblin-remix",
443- "ubuntu-mid",
444 ):
445 config["CDIMAGE_UNSUPPORTED"] = "1"
446
447@@ -363,66 +358,23 @@
448 "UBUNTU_DEFAULTS_LOCALE='%s' not currently supported!" % locale)
449
450 series = config["DIST"]
451- if series < "oneiric":
452- # Original hack: repack an existing image.
453- iso = config["ISO"]
454- if not iso:
455- raise Exception(
456- "Pass ISO=<path to Ubuntu image> in the environment.")
457-
458- scratch = os.path.join(
459- config.root, "scratch", "ubuntu-chinese-edition", series.name)
460- bsdtar_tree = os.path.join(scratch, "bsdtar-tree")
461-
462- log_marker("Unpacking")
463- if os.path.isdir(bsdtar_tree):
464- subprocess.check_call(["chmod", "-R", "+w", bsdtar_tree])
465- osextras.mkemptydir(bsdtar_tree)
466- subprocess.check_call(["bsdtar", "-xf", iso, "-C", bsdtar_tree])
467- subprocess.check_call(["chmod", "-R", "+w", bsdtar_tree])
468-
469- log_marker("Transforming (robots in disguise)")
470- with open(os.path.join(bsdtar_tree, "isolinux", "lang"), "w") as lang:
471- print(locale, file=lang)
472- subprocess.call([
473- "mkisofs",
474- "-r", "-V", "Ubuntu Chinese %s i386" % series.version,
475- "-o", os.path.join(scratch, os.path.basename(iso)),
476- "-cache-inodes", "-J", "-l",
477- "-b", "isolinux/isolinux.bin", "-c", "isolinux/boot.cat",
478- "-no-emul-boot", "-boot-load-size", "4", "-boot-info-table",
479- bsdtar_tree,
480- ])
481-
482- iso_prefix = iso.rsplit(".", 1)[0]
483- scratch_prefix = os.path.join(
484- scratch, os.path.basename(iso).rsplit(".", 1)[0])
485-
486- for ext in "list", "manifest":
487- if os.path.exists("%s.%s" % (iso_prefix, ext)):
488- shutil.copy2(
489- "%s.%s" % (iso_prefix, ext),
490- "%s.%s" % (scratch_prefix, ext))
491- else:
492- osextras.unlink_force("%s.%s" % (scratch_prefix, ext))
493- else:
494- log_marker("Downloading live filesystem images")
495- download_live_filesystems(config)
496- scratch = live_output_directory(config)
497- for entry in os.listdir(scratch):
498- if "." in entry:
499- os.rename(
500- os.path.join(scratch, entry),
501- os.path.join(scratch, "%s-desktop-%s" % (series, entry)))
502- pi_makelist = os.path.join(
503- config.root, "debian-cd", "tools", "pi-makelist")
504- for entry in os.listdir(scratch):
505- if entry.endswith(".iso"):
506- entry_path = os.path.join(scratch, entry)
507- list_path = "%s.list" % entry_path.rsplit(".", 1)[0]
508- with open(list_path, "w") as list_file:
509- subprocess.check_call(
510- [pi_makelist, entry_path], stdout=list_file)
511+ log_marker("Downloading live filesystem images")
512+ download_live_filesystems(config)
513+ scratch = live_output_directory(config)
514+ for entry in os.listdir(scratch):
515+ if "." in entry:
516+ os.rename(
517+ os.path.join(scratch, entry),
518+ os.path.join(scratch, "%s-desktop-%s" % (series, entry)))
519+ pi_makelist = os.path.join(
520+ config.root, "debian-cd", "tools", "pi-makelist")
521+ for entry in os.listdir(scratch):
522+ if entry.endswith(".iso"):
523+ entry_path = os.path.join(scratch, entry)
524+ list_path = "%s.list" % entry_path.rsplit(".", 1)[0]
525+ with open(list_path, "w") as list_file:
526+ subprocess.check_call(
527+ [pi_makelist, entry_path], stdout=list_file)
528
529
530 def add_android_support(config, arch, output_dir):
531@@ -506,9 +458,8 @@
532 "%s.model-assertion" % live_prefix,
533 "%s.model-assertion" % output_prefix)
534
535- if (config.project in ("ubuntu-base", "ubuntu-touch",
536- "ubuntu-touch-custom") or
537- (config.project in ("ubuntu-desktop-next", "ubuntu-core") and
538+ if (config.project in ("ubuntu-base", "ubuntu-touch") or
539+ (config.project == "ubuntu-core" and
540 config.subproject == "system-image")):
541 log_marker("Copying images to debian-cd output directory")
542 scratch_dir = os.path.join(
543@@ -528,26 +479,16 @@
544 elif config.project == "ubuntu-base":
545 output_prefix = os.path.join(
546 output_dir, "%s-base-%s" % (config.series, arch))
547- elif config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
548+ elif config.project == "ubuntu-touch":
549 output_prefix = os.path.join(
550 output_dir,
551 "%s-preinstalled-touch-%s" % (config.series, arch))
552- elif config.project == "ubuntu-desktop-next":
553- if config.image_type == "daily-preinstalled":
554- output_prefix = os.path.join(
555- output_dir,
556- "%s-preinstalled-desktop-next-%s" %
557- (config.series, arch))
558- else:
559- output_prefix = os.path.join(
560- output_dir, "%s-desktop-next-%s" %
561- (config.series, arch))
562 shutil.copy2(rootfs, "%s.raw" % output_prefix)
563 with open("%s.type" % output_prefix, "w") as f:
564 print("tar archive", file=f)
565 shutil.copy2(
566 "%s.manifest" % live_prefix, "%s.manifest" % output_prefix)
567- if config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
568+ if config.project == "ubuntu-touch":
569 osextras.link_force(
570 "%s.raw" % output_prefix, "%s.tar.gz" % output_prefix)
571 add_android_support(config, arch, output_dir)
572@@ -555,7 +496,7 @@
573 if os.path.exists(custom):
574 shutil.copy2(
575 custom, "%s.custom.tar.gz" % output_prefix)
576- if config.project in ("ubuntu-core", "ubuntu-desktop-next"):
577+ if config.project == "ubuntu-core":
578 for dev in ("azure.device", "device", "raspi2.device",
579 "plano.device"):
580 device = "%s.%s.tar.gz" % (live_prefix, dev)
581@@ -571,10 +512,7 @@
582
583
584 def _debootstrap_script(config):
585- if config["DIST"] <= "gutsy":
586- return "usr/lib/debootstrap/scripts/%s" % config.series
587- else:
588- return "usr/share/debootstrap/scripts/%s" % config.series
589+ return "usr/share/debootstrap/scripts/%s" % config.series
590
591
592 def extract_debootstrap(config):
593@@ -710,15 +648,11 @@
594 def is_live_fs_only(config):
595 live_fs_only = False
596 if config.project in (
597- "livecd-base", "ubuntu-base", "ubuntu-core", "ubuntu-touch",
598- "ubuntu-touch-custom"):
599+ "livecd-base", "ubuntu-base", "ubuntu-core", "ubuntu-touch"):
600 live_fs_only = True
601 elif (config.project == "ubuntu-server" and
602 config.image_type == "daily-preinstalled"):
603 live_fs_only = True
604- elif (config.project == "ubuntu-desktop-next" and
605- config.subproject == "system-image"):
606- live_fs_only = True
607 elif config.subproject == "wubi":
608 live_fs_only = True
609 return live_fs_only
610
611=== modified file 'lib/cdimage/germinate.py'
612--- lib/cdimage/germinate.py 2019-02-22 10:32:26 +0000
613+++ lib/cdimage/germinate.py 2019-03-07 16:20:18 +0000
614@@ -72,20 +72,14 @@
615 gitpattern = "https://git.launchpad.net/~%s/ubuntu-seeds/+git/"
616 series = self.config["DIST"]
617 sources = [gitpattern % "ubuntu-core-dev"]
618- if project in ("kubuntu", "kubuntu-active", "kubuntu-plasma5"):
619- if series >= "oneiric":
620- sources.insert(0, bzrpattern % "kubuntu-dev")
621- else:
622- sources.insert(0, bzrpattern % "ubuntu-core-dev")
623+ if project in ("kubuntu", "kubuntu-active"):
624+ sources.insert(0, bzrpattern % "kubuntu-dev")
625 elif project == "ubuntustudio":
626 sources.insert(0, gitpattern % "ubuntustudio-dev")
627 elif project == "mythbuntu":
628 sources.insert(0, bzrpattern % "mythbuntu-dev")
629 elif project == "xubuntu":
630- if series >= "intrepid":
631- sources.insert(0, gitpattern % "xubuntu-dev")
632- else:
633- sources.insert(0, bzrpattern % "ubuntu-core-dev")
634+ sources.insert(0, gitpattern % "xubuntu-dev")
635 elif project in ("lubuntu", "lubuntu-next"):
636 sources.insert(0, gitpattern % "lubuntu-dev")
637 elif project == "ubuntu-gnome":
638@@ -94,10 +88,8 @@
639 sources.insert(0, bzrpattern % "ubuntubudgie-dev")
640 elif project == "ubuntu-mate":
641 sources.insert(0, bzrpattern % "ubuntu-mate-dev")
642- elif project == "ubuntu-moblin-remix":
643- sources.insert(0, bzrpattern % "moblin")
644 elif project == "ubuntukylin":
645- if series >= "utopic":
646+ if series >= "xenial":
647 sources.insert(0, gitpattern % "ubuntukylin-members")
648 else:
649 sources.insert(0, bzrpattern % "ubuntu-core-dev")
650@@ -138,24 +130,13 @@
651 return [pattern % self.config.series for pattern in dist_patterns]
652
653 def seed_dist(self, project):
654- if (project in ("ubuntu-server", "jeos") and
655- self.config.series != "breezy"):
656+ if project == "ubuntu-server":
657 return "ubuntu.%s" % self.config.series
658 elif project == "ubuntukylin":
659- if self.config["DIST"] >= "utopic":
660+ if self.config["DIST"] >= "xenial":
661 return "ubuntukylin.%s" % self.config.series
662 else:
663 return "ubuntu.%s" % self.config.series
664- elif project == "ubuntu-mid":
665- return "mobile.%s" % self.config.series
666- elif project == "ubuntu-netbook":
667- return "netbook.%s" % self.config.series
668- elif project == "ubuntu-headless":
669- return "ubuntu.%s" % self.config.series
670- elif project == "ubuntu-moblin-remix":
671- return "moblin.%s" % self.config.series
672- elif project == "ubuntu-desktop-next":
673- return "ubuntu-touch.%s" % self.config.series
674 elif project == "lubuntu-next":
675 return "lubuntu.%s" % self.config.series
676 else:
677@@ -218,24 +199,6 @@
678 shutil.copy2(
679 os.path.join(arch_output_dir, "structure"), output_structure)
680
681- if self.config.series == "breezy":
682- # Unfortunately, we now need a second germinate run to figure
683- # out the dependencies of language packs and the like.
684- extras = []
685- with open(os.path.join(
686- arch_output_dir, "ship.acsets"), "w") as ship_acsets:
687- output = GerminateOutput(self.config, output_structure)
688- for pkg in output.seed_packages(arch, "ship.seed"):
689- extras.append("desktop/%s" % pkg)
690- print(pkg, file=ship_acsets)
691- if extras:
692- logger.info(
693- "Re-germinating for %s/%s language pack dependencies ..." %
694- (self.config.series, arch))
695- command.extend(["--seed-packages", ",".join(extras)])
696- proxy_check_call(
697- self.config, "germinate", command, cwd=arch_output_dir)
698-
699 def germinate_project(self, project):
700 osextras.mkemptydir(self.output_dir(project))
701
702@@ -314,17 +277,10 @@
703 ship = "ship-addon"
704 in_squashfs = None
705 if project == "ubuntu-server":
706- if series <= "breezy":
707- pass
708- elif series <= "dapper":
709- ship = "server"
710- else:
711- ship = "server-ship"
712+ ship = "server-ship"
713 in_squashfs = ["minimal"]
714 elif project == "kubuntu-active":
715 ship = "active-ship"
716- elif project == "jeos":
717- ship = "jeos"
718 seeds = self._inheritance(ship)
719 if (self.config["CDIMAGE_SQUASHFS_BASE"] and
720 in_squashfs is not None):
721@@ -333,55 +289,33 @@
722 for seed in seeds:
723 yield seed
724 if self.config["CDIMAGE_DVD"]:
725- if series >= "edgy":
726- # TODO cjwatson 2007-04-18: hideous hack to fix DVD tasks
727- yield "dns-server"
728- yield "lamp-server"
729+ # TODO cjwatson 2007-04-18: hideous hack to fix DVD tasks
730+ yield "dns-server"
731+ yield "lamp-server"
732 elif mode == "installer":
733 if self.config["CDIMAGE_INSTALL_BASE"]:
734 yield "installer"
735- if self.config["CDIMAGE_LIVE"]:
736- if series >= "hoary" and series <= "breezy":
737- yield "casper"
738 elif mode == "debootstrap":
739- if series <= "hoary":
740- yield "base"
741- elif series <= "feisty":
742- yield "minimal"
743- else:
744- yield "required"
745- yield "minimal"
746+ yield "required"
747+ yield "minimal"
748 elif mode == "base":
749- if series <= "hoary":
750- yield "base"
751- elif series <= "breezy":
752- yield "minimal"
753- yield "standard"
754- elif series <= "feisty":
755- yield "boot"
756- yield "minimal"
757- yield "standard"
758- else:
759- yield "boot"
760- yield "required"
761- yield "minimal"
762- yield "standard"
763+ yield "boot"
764+ yield "required"
765+ yield "minimal"
766+ yield "standard"
767 elif mode == "ship-live":
768 if project == "kubuntu-active":
769 yield "ship-active-live"
770- elif (project == "lubuntu" and series >= "artful"
771- and series <= "bionic"):
772+ elif project == "lubuntu" and series == "bionic":
773 yield "ship-live-gtk"
774 yield "ship-live-share"
775- elif (project == "lubuntu-next" and series >= "artful"
776- and series <= "bionic"):
777+ elif project == "lubuntu-next" and series == "bionic":
778 yield "ship-live-qt"
779 yield "ship-live-share"
780 elif project == "ubuntu-server" and series >= "bionic":
781 yield "server-ship-live"
782 else:
783- if series >= "dapper":
784- yield "ship-live"
785+ yield "ship-live"
786 elif mode == "addon":
787 ship = self._inheritance("ship")
788 ship_addon = self._inheritance("ship-addon")
789@@ -389,29 +323,22 @@
790 if seed not in ship:
791 yield seed
792 elif mode == "dvd":
793- if series <= "gutsy":
794- for seed in self._inheritance("supported"):
795- yield seed
796- elif series <= "karmic":
797+ if project == "edubuntu":
798+ # no inheritance; most of this goes on the live filesystem
799+ yield "dvd"
800+ yield "ship-live"
801+ elif project == "ubuntu":
802+ # no inheritance; most of this goes on the live filesystem
803+ yield "usb-langsupport"
804+ yield "usb-ship-live"
805+ elif project == "ubuntustudio":
806+ # no inheritance; most of this goes on the live filesystem
807+ yield "dvd"
808+ if series >= "bionic":
809+ yield "ship-live"
810+ else:
811 for seed in self._inheritance("dvd"):
812 yield seed
813- else:
814- if project == "edubuntu":
815- # no inheritance; most of this goes on the live filesystem
816- yield "dvd"
817- yield "ship-live"
818- elif project == "ubuntu" and series >= "oneiric":
819- # no inheritance; most of this goes on the live filesystem
820- yield "usb-langsupport"
821- yield "usb-ship-live"
822- elif project == "ubuntustudio" and series >= "precise":
823- # no inheritance; most of this goes on the live filesystem
824- yield "dvd"
825- if series >= "artful":
826- yield "ship-live"
827- else:
828- for seed in self._inheritance("dvd"):
829- yield seed
830
831 def seed_path(self, arch, seed):
832 return os.path.join(self.directory, arch, seed)
833@@ -492,24 +419,6 @@
834 if package == "bootstrap-base":
835 package = "live-installer"
836
837- # germinate doesn't yet support subarchitecture specifications
838- # (and it's not entirely clear what they would mean if it did),
839- # so we need to hack the boot and installer seeds a bit for
840- # powerpc+ps3 (only gutsy).
841- if self.config.series == "gutsy" and arch == "powerpc+ps3":
842- if seed in installer_seeds:
843- if "-powerpc-di" in package:
844- continue
845- package = package.replace("-powerpc64-smp-di", "-cell-di")
846- if seed == "boot":
847- if package.startswith("linux-restricted-modules"):
848- continue
849- if package.startswith("linux-ubuntu-modules"):
850- continue
851- if package.endswith("-powerpc"):
852- continue
853- package = package.replace("-powerpc64-smp", "-cell")
854-
855 # For precise, some flavours use a different kernel on i386.
856 # germinate doesn't currently support this without duplicating
857 # the entire boot and installer seeds, so we hack them instead.
858@@ -523,7 +432,7 @@
859 yield package
860
861 def installer_initrds(self, cpuarch):
862- if cpuarch in ("amd64", "i386", "lpia"):
863+ if cpuarch in ("amd64", "i386"):
864 return ["cdrom/initrd.gz", "netboot/netboot.tar.gz"]
865 elif cpuarch == "hppa":
866 return ["cdrom/2.6/initrd.gz", "netboot/2.6/boot.img"]
867@@ -567,16 +476,15 @@
868
869 def common_initrd_packages(self, arch):
870 initrd_packages_sets = []
871- if self.config["DIST"] >= "jaunty":
872- # Remove installer packages that are in both the cdrom and
873- # netboot initrds; there's no point duplicating these.
874- cpuarch = arch.split("+")[0]
875- initrds = self.installer_initrds(cpuarch)
876- subarches = self.installer_subarches(cpuarch)
877- for initrd in initrds:
878- for subarch in subarches:
879- initrd_packages_sets.append(self.initrd_packages(
880- "%s/%s" % (subarch, initrd), cpuarch))
881+ # Remove installer packages that are in both the cdrom and
882+ # netboot initrds; there's no point duplicating these.
883+ cpuarch = arch.split("+")[0]
884+ initrds = self.installer_initrds(cpuarch)
885+ subarches = self.installer_subarches(cpuarch)
886+ for initrd in initrds:
887+ for subarch in subarches:
888+ initrd_packages_sets.append(self.initrd_packages(
889+ "%s/%s" % (subarch, initrd), cpuarch))
890 if initrd_packages_sets:
891 return set.intersection(*initrd_packages_sets)
892 else:
893@@ -584,7 +492,7 @@
894
895 def task_project(self, project):
896 # ubuntu-server really wants ubuntu-* tasks.
897- if project in ("ubuntu-server", "jeos"):
898+ if project == "ubuntu-server":
899 return "ubuntu"
900 else:
901 return project
902@@ -607,55 +515,24 @@
903 return headers
904
905 def seed_task_mapping(self, project, arch):
906- series = self.config["DIST"]
907 task_project = self.task_project(project)
908 for seed in self.list_seeds("all"):
909- if series <= "dapper":
910- # Tasks implemented by hand.
911- if seed in ("boot", "required", "server-ship"):
912- continue
913- elif seed == "server" and project != "edubuntu":
914- continue
915- elif seed == "ship" and series >= "dapper":
916- continue
917-
918- if seed in (
919- "base", "minimal", "standard", "desktop", "server", "ship",
920- ):
921- task = "%s-%s" % (task_project, seed)
922- else:
923- task = seed
924- input_seeds = [seed]
925- elif series <= "gutsy":
926- # Tasks implemented via tasksel, but without Task-Seeds;
927- # hacks required for seed/task mapping.
928- if seed == "required":
929- task = "minimal"
930- else:
931- task = seed
932- headers = self.task_headers(arch, seed)
933- if not headers:
934- continue
935- if "per-derivative" in headers:
936+ # Tasks implemented via tasksel, with Task-Seeds to indicate
937+ # task/seed mapping.
938+ task = seed
939+ headers = self.task_headers(arch, seed)
940+ if not headers:
941+ continue
942+ input_seeds = [seed] + headers.get("seeds", "").split()
943+ if "per-derivative" in headers:
944+ # Edubuntu is odd; it's structured as an add-on to
945+ # Ubuntu, so sometimes we need to create ubuntu-* tasks.
946+ # At the moment I don't see a better approach than
947+ # hardcoding the task names.
948+ if project == "edubuntu" and task in ("desktop", "live"):
949+ task = "ubuntu-%s" % task
950+ else:
951 task = "%s-%s" % (task_project, task)
952- input_seeds = [seed]
953- else:
954- # Tasks implemented via tasksel, with Task-Seeds to indicate
955- # task/seed mapping.
956- task = seed
957- headers = self.task_headers(arch, seed)
958- if not headers:
959- continue
960- input_seeds = [seed] + headers.get("seeds", "").split()
961- if "per-derivative" in headers:
962- # Edubuntu is odd; it's structured as an add-on to
963- # Ubuntu, so sometimes we need to create ubuntu-* tasks.
964- # At the moment I don't see a better approach than
965- # hardcoding the task names.
966- if project == "edubuntu" and task in ("desktop", "live"):
967- task = "ubuntu-%s" % task
968- else:
969- task = "%s-%s" % (task_project, task)
970
971 yield input_seeds, task
972
973@@ -664,7 +541,6 @@
974 master_project = "source"
975 else:
976 master_project = project
977- series = self.config["DIST"]
978 output_dir = self.tasks_output_dir(master_project)
979 osextras.ensuredir(output_dir)
980
981@@ -706,27 +582,6 @@
982 print(
983 "%s Task %s" % (pkg, ", ".join(tasknames)),
984 file=override)
985- if series == "breezy":
986- # In breezy, also generate Archive-Copier-Set headers for
987- # sets of packages that archive-copier needs to know to copy
988- # but that shouldn't appear as tasks in aptitude et al.
989- ship_acsets_path = self.seed_path(arch, "ship.acsets")
990- all_acsets = defaultdict(list)
991- try:
992- with open(ship_acsets_path) as ship_acsets:
993- for acset in ship_acsets:
994- acset = acset.rstrip("\n")
995- for package in self.seed_packages(arch, acset):
996- all_acsets[package].append(acset)
997- except IOError as e:
998- if e.errno != errno.ENOENT:
999- raise
1000- for pkg, acsetnames in sorted(all_acsets.items()):
1001- print(
1002- "%s Archive-Copier-Set %s" % (
1003- pkg, ", ".join(acsetnames)),
1004- file=override)
1005-
1006 # Help debian-cd to get priorities in sync with the current base
1007 # system, so that debootstrap >= 0.3.1 can work out the correct
1008 # set of packages to install.
1009
1010=== modified file 'lib/cdimage/livefs.py'
1011--- lib/cdimage/livefs.py 2018-12-12 20:29:20 +0000
1012+++ lib/cdimage/livefs.py 2019-03-07 16:20:18 +0000
1013@@ -34,7 +34,7 @@
1014 from urllib2 import URLError, unquote, urlopen
1015
1016 from cdimage import osextras, sign
1017-from cdimage.config import Series, Touch
1018+from cdimage.config import Touch
1019 from cdimage.launchpad import get_launchpad
1020 from cdimage.log import logger
1021 from cdimage.mail import get_notify_addresses, send_mail
1022@@ -121,14 +121,11 @@
1023 elif subarch in ("ac100", "nexus7"):
1024 options.extend(["-f", "plain"])
1025
1026- if (config.project in ("ubuntu-base", "ubuntu-core", "ubuntu-touch",
1027- "ubuntu-touch-custom") or
1028- (config.project == "ubuntu-desktop-next" and
1029- config.subproject == "system-image")):
1030+ if config.project in ("ubuntu-base", "ubuntu-core", "ubuntu-touch"):
1031 options.extend(["-f", "plain"])
1032
1033 if config.subproject == "wubi":
1034- if config["DIST"] >= "quantal":
1035+ if config["DIST"] >= "trusty":
1036 # TODO: Turn this back on once Wubi's resize2fs supports it.
1037 # options.extend(["-f", "ext4"])
1038 options.extend(["-f", "ext3"])
1039@@ -140,14 +137,9 @@
1040
1041 def live_project(config, arch):
1042 project = config.project
1043- series = config["DIST"]
1044
1045 if project == "livecd-base":
1046 liveproject = "base"
1047- elif project == "tocd3.1":
1048- liveproject = "tocd"
1049- elif project == "ubuntu-touch-custom":
1050- liveproject = "ubuntu-touch"
1051 elif (project == "ubuntu-server" and
1052 config.image_type == "daily-preinstalled"):
1053 liveproject = "ubuntu-cpc"
1054@@ -155,13 +147,9 @@
1055 liveproject = project
1056
1057 cpuarch, subarch = split_arch(arch)
1058- if cpuarch == "lpia" and series <= "hardy":
1059- liveproject = "%s-lpia" % liveproject
1060
1061 if config["CDIMAGE_DVD"]:
1062- if ((project in ("ubuntu", "kubuntu") and series >= "hardy") or
1063- (project == "edubuntu" and series >= "karmic") or
1064- (project == "ubuntustudio" and series >= "precise")):
1065+ if project in ("ubuntu", "kubuntu", "edubuntu", "ubuntustudio"):
1066 liveproject += "-dvd"
1067
1068 return liveproject
1069@@ -176,8 +164,7 @@
1070
1071 if config["UBUNTU_DEFAULTS_LOCALE"]:
1072 command.extend(["-u", config["UBUNTU_DEFAULTS_LOCALE"]])
1073- elif config["DIST"] >= "oneiric":
1074- command.append("-l")
1075+ command.append("-l")
1076
1077 command.extend(live_build_options(config, arch))
1078
1079@@ -482,28 +469,19 @@
1080 series = config["DIST"]
1081
1082 if cpuarch == "amd64":
1083- if series <= "dapper":
1084- return ["amd64-generic"]
1085- elif series <= "oneiric":
1086+ if project == "ubuntustudio":
1087+ return ["lowlatency"]
1088+ else:
1089 return ["generic"]
1090- else:
1091- if project == "ubuntustudio":
1092- return ["lowlatency"]
1093- else:
1094- return ["generic"]
1095 elif cpuarch == "arm64":
1096 return ["generic"]
1097 elif cpuarch == "armel":
1098- if series == "jaunty":
1099- # We don't have any fallback flavour on armel.
1100- return ["imx51"]
1101+ if subarch == "mx5":
1102+ return ["linaro-lt-mx5"]
1103 else:
1104- if subarch == "mx5":
1105- return ["linaro-lt-mx5"]
1106- else:
1107- # Assume one kernel flavour for each subarch named like the
1108- # subarch.
1109- return [subarch]
1110+ # Assume one kernel flavour for each subarch named like the
1111+ # subarch.
1112+ return [subarch]
1113 elif cpuarch == "armhf":
1114 if subarch == "mx5":
1115 return ["linaro-lt-mx5"]
1116@@ -512,11 +490,7 @@
1117 elif cpuarch == "hppa":
1118 return ["hppa32", "hppa64"]
1119 elif cpuarch == "i386":
1120- if series <= "dapper":
1121- return ["i386"]
1122- elif series <= "oneiric":
1123- return ["generic"]
1124- elif series <= "precise":
1125+ if series <= "precise":
1126 if project in ("ubuntu", "edubuntu", "mythbuntu"):
1127 # lts-quantal
1128 return ["generic"]
1129@@ -533,20 +507,9 @@
1130 else:
1131 return ["generic"]
1132 elif cpuarch == "ia64":
1133- if series <= "dapper":
1134- return ["itanium-smp", "mckinley-smp"]
1135- elif series <= "jaunty":
1136- return ["itanium", "mckinley"]
1137- else:
1138- return ["ia64"]
1139- elif cpuarch == "lpia":
1140- return ["lpia"]
1141+ return ["ia64"]
1142 elif cpuarch == "powerpc":
1143- if subarch == "ps3" and series <= "gutsy":
1144- return ["cell"]
1145- elif series <= "oneiric":
1146- return ["powerpc", "powerpc64-smp"]
1147- elif series <= "xenial":
1148+ if series <= "xenial":
1149 return ["powerpc-smp", "powerpc64-smp"]
1150 else:
1151 return ["powerpc-smp", "generic"]
1152@@ -561,61 +524,6 @@
1153 "No live filesystem source known for %s" % arch)
1154
1155
1156-def live_item_path_winfoss(config, arch):
1157- # This is a mess of special cases. Fortunately it is now only of
1158- # historical interest.
1159- cpuarch, subarch = split_arch(arch)
1160- project = config.project
1161- series = config["DIST"]
1162-
1163- if series == "warty" or cpuarch not in ("amd64", "i386"):
1164- return
1165-
1166- maitri = "http://maitri.ubuntu.com/theopencd"
1167- henrik = "http://people.canonical.com/~henrik/winfoss"
1168-
1169- if project == "ubuntu":
1170- if series == "hoary":
1171- if cpuarch == "i386":
1172- yield "%s/ubuntu/winfoss/latest/Hoary-WinFOSS.tgz" % maitri
1173- elif cpuarch == "amd64":
1174- yield ("%s/ubuntu/amd64/latest/"
1175- "Hoary-WinFOSS-amd64.tgz" % maitri)
1176- elif series == "breezy":
1177- yield "%s/winfoss/ubuntu/current/Ubuntu-WinFOSS-5.10.tgz" % maitri
1178- elif series >= "dapper" and series <= "karmic":
1179- if series > "gutsy":
1180- series = Series.find_by_name("gutsy")
1181- yield "%s/%s/ubuntu/current/ubuntu-winfoss-%s.tar.gz" % (
1182- henrik, series, series.version)
1183- elif project == "kubuntu":
1184- if series == "hoary" and cpuarch == "i386":
1185- yield ("%s/kubuntu/winfoss/latest/"
1186- "Kubuntu-WinFOSS-i386.tgz" % maitri)
1187- elif series == "breezy":
1188- if cpuarch == "i386":
1189- yield ("%s/winfoss/kubuntu/current/"
1190- "Kubuntu-WinFOSS-5.10.tgz" % maitri)
1191- elif cpuarch == "amd64":
1192- yield ("%s/winfoss/kubuntu-AMD/current/"
1193- "Kubuntu-WinFOSS-5.10-AMD.tgz" % maitri)
1194- elif series >= "dapper" and series <= "karmic":
1195- if series > "gutsy":
1196- series = Series.find_by_name("gutsy")
1197- yield "%s/%s/kubuntu/current/kubuntu-winfoss-%s.tar.gz" % (
1198- henrik, series, series.version)
1199- elif project == "edubuntu":
1200- if series >= "feisty" and series <= "karmic":
1201- if series > "gutsy":
1202- series = Series.find_by_name("gutsy")
1203- yield "%s/%s/edubuntu/current/edubuntu-winfoss-%s.tar.gz" % (
1204- henrik, series, series.version)
1205- elif project == "tocd3" and cpuarch == "i386":
1206- yield "%s/tocd3/fsm/TOCD3.tgz" % maitri
1207- elif project == "tocd3.1" and cpuarch == "i386":
1208- yield "%s/winfoss/tocd3.1/current/TOCD-31.tgz" % maitri
1209-
1210-
1211 def live_item_paths(config, arch, item):
1212 if item == "ltsp-squashfs" and arch == "amd64":
1213 # use i386 LTSP image on amd64 too
1214@@ -630,22 +538,31 @@
1215 liveproject_subarch = liveproject
1216
1217 lp, lp_livefs = get_lp_livefs(config, arch)
1218+ uris = []
1219+ root = ""
1220 if lp_livefs is not None:
1221 lp_kwargs = live_build_lp_kwargs(config, lp, lp_livefs, arch)
1222 lp_build = lp_livefs.getLatestBuild(
1223 lp_kwargs["distro_arch_series"],
1224 unique_key=lp_kwargs.get("unique_key"))
1225- lp_urls = list(lp_build.getFileUrls())
1226-
1227- def urls_for(base):
1228- for url in lp_urls:
1229- if unquote(os.path.basename(url)) == base:
1230- yield url
1231+ uris = list(lp_build.getFileUrls())
1232 else:
1233 root = livecd_base(config, arch)
1234+ try:
1235+ uris = [ os.path.join(root, u) for u in os.listdir(root) ]
1236+ except OSError:
1237+ # fallback to exact given uri (for http://) in url_for as we can't
1238+ # list content.
1239+ pass
1240
1241- def urls_for(base):
1242- yield "%s/%s" % (root, base)
1243+ def urls_for(base, item):
1244+ if uris:
1245+ for uri in uris:
1246+ filename = unquote(os.path.basename(uri))
1247+ if filename.startswith(base + '.') and filename.endswith('.' + item):
1248+ yield uri
1249+ else:
1250+ yield os.path.join(root, base + '.' + item)
1251
1252 if item in (
1253 "cloop", "squashfs", "manifest", "manifest-desktop", "manifest-remove",
1254@@ -653,27 +570,22 @@
1255 "rootfs.tar.gz", "custom.tar.gz", "device.tar.gz",
1256 "azure.device.tar.gz", "raspi2.device.tar.gz", "plano.device.tar.gz",
1257 "tar.xz", "iso", "os.snap", "kernel.snap", "disk1.img.xz",
1258- "dragonboard.kernel.snap", "raspi2.kernel.snap", "installer.squashfs",
1259- "maas-rack.squashfs", "maas-region.squashfs",
1260+ "dragonboard.kernel.snap", "raspi2.kernel.snap",
1261 "img.xz", "model-assertion"
1262 ):
1263- if project == "tocd3":
1264- # auto-purged - reverting to plan B
1265- yield "/home/cjwatson/tocd3/livecd.tocd3.%s" % item
1266- elif project == "ubuntu" and series == "breezy":
1267- # auto-purged - reverting to plan B
1268- yield "/home/cjwatson/breezy-live/ubuntu/livecd.%s.%s" % (
1269- arch, item)
1270- elif item == "ext4" and arch == "armhf+nexus7":
1271+ if item == "ext4" and arch == "armhf+nexus7":
1272 for url in urls_for(
1273- "livecd.%s.%s-nexus7" % (liveproject_subarch, item)):
1274+ "livecd." + liveproject_subarch, item + "-nexus7"):
1275 yield url
1276 elif item == "disk1.img.xz":
1277 for url in urls_for(
1278- "livecd.%s.%s" % (liveproject, item)):
1279+ "livecd." + liveproject, item):
1280 yield url
1281 else:
1282- for url in urls_for("livecd.%s.%s" % (liveproject_subarch, item)):
1283+ for url in urls_for("livecd."+ liveproject_subarch, item):
1284+ # filter out redundant artefacts
1285+ if url.endswith("modules.squashfs"):
1286+ continue
1287 yield url
1288 elif item in (
1289 "kernel", "initrd", "bootimg", "modules.squashfs"
1290@@ -681,8 +593,7 @@
1291 our_flavours = flavours(config, arch)
1292 our_flavours.extend(["%s-hwe" % (f,) for f in our_flavours])
1293 for flavour in our_flavours:
1294- base = "livecd.%s.%s-%s" % (liveproject_subarch, item, flavour)
1295- for url in urls_for(base):
1296+ for url in urls_for("livecd." + liveproject_subarch, item + "-" + flavour):
1297 yield url
1298 elif item in (
1299 "boot-%s+%s.img" % (target.ubuntu_arch, target.subarch)
1300@@ -695,35 +606,30 @@
1301 for target in Touch.list_targets_by_ubuntu_arch(arch)
1302 ):
1303 for flavour in flavours(config, arch):
1304- base = "livecd.%s.%s" % (liveproject_subarch, item)
1305- for url in urls_for(base):
1306+ for url in urls_for("livecd." + liveproject_subarch, item):
1307 yield url
1308 elif item == "kernel-efi-signed":
1309 if series >= "precise" and arch == "amd64":
1310 for flavour in flavours(config, arch):
1311- base = "livecd.%s.kernel-%s.efi.signed" % (
1312- liveproject_subarch, flavour)
1313- for url in urls_for(base):
1314+ for url in urls_for("livecd." + liveproject_subarch,
1315+ "kernel-" + flavour + ".efi.signed"):
1316 yield url
1317- elif item == "winfoss":
1318- for path in live_item_path_winfoss(config, arch):
1319- yield path
1320 elif item == "wubi":
1321- if (project != "xubuntu" and arch in ("amd64", "i386") and
1322- series >= "gutsy"):
1323+ if (project != "xubuntu" and arch in ("amd64", "i386")):
1324 yield ("http://people.canonical.com/~ubuntu-archive/wubi/%s/"
1325 "stable" % series)
1326- elif item == "umenu":
1327- if arch in ("amd64", "i386") and series == "hardy":
1328- yield "http://people.canonical.com/~evand/umenu/stable"
1329 elif item == "usb-creator":
1330 if arch in ("amd64", "i386"):
1331 yield ("http://people.canonical.com/~evand/usb-creator/%s/"
1332 "stable" % series)
1333 elif item == "ltsp-squashfs":
1334 if arch in ("amd64", "i386"):
1335- for url in urls_for("livecd.%s-ltsp.squashfs" % liveproject):
1336+ for url in urls_for("livecd." + liveproject + "-ltsp", "squashfs"):
1337 yield url
1338+ # generic artefacts we always download
1339+ elif item.endswith("squashfs") or item.endswith("manifest") or item.endswith("size"):
1340+ for url in urls_for("livecd." + liveproject_subarch, item):
1341+ yield url
1342 else:
1343 raise UnknownLiveItem("Unknown live filesystem item '%s'" % item)
1344
1345@@ -824,29 +730,31 @@
1346 found = True
1347 except osextras.FetchError:
1348 pass
1349- elif item in ("wubi", "umenu", "usb-creator"):
1350+ elif item in ("wubi", "usb-creator"):
1351 target = os.path.join(output_dir, "%s.%s.exe" % (arch, item))
1352 try:
1353 osextras.fetch(config, urls[0], target)
1354 found = True
1355 except osextras.FetchError:
1356 pass
1357- elif item == "winfoss":
1358- target = os.path.join(output_dir, "%s.%s.tgz" % (arch, item))
1359- try:
1360- osextras.fetch(config, urls[0], target)
1361- found = True
1362- except osextras.FetchError:
1363- pass
1364 else:
1365- target = os.path.join(output_dir, "%s.%s" % (arch, item))
1366- try:
1367- osextras.fetch(config, urls[0], target)
1368- if item in ["squashfs", "server-squashfs"]:
1369- sign.sign_cdimage(config, target)
1370- found = True
1371- except osextras.FetchError:
1372- pass
1373+ for url in urls:
1374+ # server-squashfs isn't the suffix of the downloadable item.
1375+ # prefer a special case over removing suffix + reinjecting item
1376+ # when suffix != item
1377+ if item == "server-squashfs":
1378+ target = os.path.join(output_dir, "%s.%s" % (arch, item))
1379+ # strip livecd.<PROJECT> and replace by arch
1380+ else:
1381+ filename = unquote(os.path.basename(url)).split('.', 2)[-1]
1382+ target = os.path.join(output_dir, "%s.%s" % (arch, filename))
1383+ try:
1384+ osextras.fetch(config, url, target)
1385+ if target.endswith("squashfs"):
1386+ sign.sign_cdimage(config, target)
1387+ found = True
1388+ except osextras.FetchError:
1389+ pass
1390 return found
1391
1392
1393@@ -909,9 +817,6 @@
1394 elif download_live_items(config, arch, "cloop"):
1395 got_image = True
1396 elif download_live_items(config, arch, "squashfs"):
1397- download_live_items(config, arch, "installer.squashfs")
1398- download_live_items(config, arch, "maas-rack.squashfs")
1399- download_live_items(config, arch, "maas-region.squashfs")
1400 download_live_items(config, arch, "modules.squashfs")
1401 got_image = True
1402 elif download_live_items(config, arch, "rootfs.tar.gz"):
1403@@ -920,8 +825,7 @@
1404 got_image = True
1405 else:
1406 continue
1407- if (series >= "dapper" and
1408- project != "ubuntu-base" and
1409+ if (project != "ubuntu-base" and
1410 not config["CDIMAGE_SQUASHFS_BASE"] and
1411 config.subproject != "wubi"):
1412 download_live_items(config, arch, "kernel")
1413@@ -943,21 +847,9 @@
1414
1415 if (project not in ("livecd-base", "ubuntu-base", "ubuntu-core",
1416 "kubuntu-active") and
1417- (project != "ubuntu-desktop-next" or
1418- config.subproject == "system-image") and
1419 (project != "edubuntu" or series >= "precise") and
1420- (project != "ubuntukylin" or series < "utopic")):
1421- if series <= "feisty":
1422- pass
1423- elif series <= "intrepid":
1424- if config["CDIMAGE_DVD"] != "1":
1425- download_live_items(config, arch, "wubi")
1426- download_live_items(config, arch, "umenu")
1427- umenu_path = os.path.join(
1428- output_dir, "%s.umenu.exe" % arch)
1429- if os.path.exists(umenu_path):
1430- write_autorun(config, arch, "umenu.exe", "Install")
1431- elif series <= "vivid":
1432+ (project != "ubuntukylin" or series <= "trusty")):
1433+ if series <= "trusty":
1434 # TODO: We still have to do something about not
1435 # including Wubi on the DVDs.
1436 download_live_items(config, arch, "wubi")
1437@@ -976,19 +868,15 @@
1438 "Install %s" % autorun_project)
1439
1440 if project not in ("livecd-base", "ubuntu-base", "ubuntu-core",
1441- "ubuntu-desktop-next", "edubuntu"):
1442- if (project in ("kubuntu-active", "ubuntu-netbook",
1443- "ubuntu-moblin-remix") or
1444- config["CDIMAGE_DVD"] or
1445- series >= "maverick"):
1446- download_live_items(config, arch, "usb-creator")
1447+ "edubuntu"):
1448+ download_live_items(config, arch, "usb-creator")
1449 if project == "ubuntu-core" and config["CDIMAGE_LIVE"]:
1450 download_live_items(config, arch, "model-assertion")
1451
1452 if not got_image:
1453 raise NoFilesystemImages("No filesystem images found.")
1454
1455- if config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
1456+ if config.project == "ubuntu-touch":
1457 for arch in config.arches:
1458 for abootimg in (
1459 "boot-%s+%s.img" % (target.ubuntu_arch, target.subarch)
1460@@ -1013,7 +901,7 @@
1461 )
1462 download_live_items(config, arch, "custom.tar.gz")
1463
1464- if config.project in ("ubuntu-core", "ubuntu-desktop-next"):
1465+ if config.project == "ubuntu-core":
1466 for arch in config.arches:
1467 download_live_items(config, arch, "device.tar.gz")
1468
1469@@ -1031,12 +919,7 @@
1470 if arch == "arm64":
1471 download_live_items(config, arch, "dragonboard.kernel.snap")
1472
1473- if (project == "edubuntu" and config["CDIMAGE_INSTALL"] and
1474- series <= "hardy"):
1475- for cpuarch in config.cpuarches:
1476- download_live_items(config, arch, "winfoss")
1477-
1478- if project == "edubuntu" and config["CDIMAGE_DVD"] and series >= "lucid":
1479+ if project == "edubuntu" and config["CDIMAGE_DVD"]:
1480 for arch in config.arches:
1481 if arch in ("amd64", "i386"):
1482 # TODO: Disabled for raring (LP: #1154601)
1483
1484=== modified file 'lib/cdimage/project.py'
1485--- lib/cdimage/project.py 2017-05-01 02:22:20 +0000
1486+++ lib/cdimage/project.py 2019-03-07 16:20:18 +0000
1487@@ -29,19 +29,13 @@
1488 # values of 25 - (length of longest relevant architecture name).
1489 project_map = {
1490 "ubuntu": "Ubuntu",
1491- "ubuntu-desktop-next": "Ubuntu-Desktop-Next",
1492 "ubuntu-zh_CN": "Ubuntu Chinese Edition",
1493 "kubuntu": "Kubuntu",
1494 "kubuntu-active": "Kubuntu-Active",
1495- "kubuntu-plasma5": "Kubuntu-Plasma-5",
1496 "edubuntu": "Edubuntu",
1497 "xubuntu": "Xubuntu",
1498 "gobuntu": "Gobuntu",
1499 "ubuntu-server": "Ubuntu-Server",
1500- "jeos": "Ubuntu-JeOS",
1501- "ubuntu-mid": "Ubuntu-MID",
1502- "ubuntu-netbook": "Ubuntu-Netbook",
1503- "ubuntu-headless": "Ubuntu-Headless",
1504 "ubuntustudio": "Ubuntu-Studio",
1505 "mythbuntu": "Mythbuntu",
1506 "lubuntu": "Lubuntu",
1507@@ -50,15 +44,11 @@
1508 "ubuntu-gnome": "Ubuntu-GNOME",
1509 "ubuntu-budgie": "Ubuntu-Budgie",
1510 "ubuntu-mate": "Ubuntu-MATE",
1511- "ubuntu-moblin-remix": "Ubuntu-Moblin-Remix",
1512 "livecd-base": "LiveCD-Base",
1513 "ubuntu-core": "Ubuntu Core",
1514 "ubuntu-base": "Ubuntu-Base",
1515 "ubuntu-touch-preview": "Ubuntu Touch Preview",
1516 "ubuntu-touch": "Ubuntu Touch",
1517- "ubuntu-touch-custom": "Ubuntu Touch Custom Build",
1518- "tocd3": "TheOpenCDv3",
1519- "tocd3.1": "TheOpenCDv3.1",
1520 }
1521
1522
1523
1524=== modified file 'lib/cdimage/tests/test_build.py'
1525--- lib/cdimage/tests/test_build.py 2018-01-09 01:47:28 +0000
1526+++ lib/cdimage/tests/test_build.py 2019-03-07 16:20:18 +0000
1527@@ -74,7 +74,7 @@
1528 super(TestUpdateLocalIndices, self).setUp()
1529 self.config = Config(read=False)
1530 self.config.root = self.use_temp_dir()
1531- self.config["DIST"] = "raring"
1532+ self.config["DIST"] = "trusty"
1533 self.config["CPUARCHES"] = "i386"
1534 self.packages = os.path.join(self.temp_dir, "local", "packages")
1535 self.database = os.path.join(self.temp_dir, "local", "database")
1536@@ -118,45 +118,45 @@
1537 expected_command, cwd=self.packages)
1538
1539 self.assertCountEqual([
1540- "raring_local_binary-i386.list",
1541- "raring_local_debian-installer_binary-i386.list",
1542+ "trusty_local_binary-i386.list",
1543+ "trusty_local_debian-installer_binary-i386.list",
1544 ], os.listdir(self.dists))
1545 with open(os.path.join(
1546- self.dists, "raring_local_binary-i386.list")) as f:
1547+ self.dists, "trusty_local_binary-i386.list")) as f:
1548 self.assertCountEqual([
1549 "pool/local/f/fake/fake_1_i386.deb",
1550 "pool/local/f/fake/fake-nf_1_all.deb",
1551 ], f.read().splitlines())
1552 with open(os.path.join(
1553 self.dists,
1554- "raring_local_debian-installer_binary-i386.list")) as f:
1555+ "trusty_local_debian-installer_binary-i386.list")) as f:
1556 self.assertCountEqual([
1557 "pool/local/f/fake/fake-udeb_1_i386.udeb",
1558 "pool/local/f/fake/fake-udeb-indep_1_all.udeb",
1559 ], f.read().splitlines())
1560
1561 self.assertCountEqual([
1562- "override.raring.local.i386",
1563- "override.raring.local.debian-installer.i386",
1564+ "override.trusty.local.i386",
1565+ "override.trusty.local.debian-installer.i386",
1566 ], os.listdir(self.indices))
1567 with open(os.path.join(
1568- self.indices, "override.raring.local.i386")) as f:
1569+ self.indices, "override.trusty.local.i386")) as f:
1570 self.assertCountEqual([
1571 "fake\toptional\tlocal/misc",
1572 "fake-nf\textra\tlocal/admin",
1573 ], f.read().splitlines())
1574 with open(os.path.join(
1575 self.indices,
1576- "override.raring.local.debian-installer.i386")) as f:
1577+ "override.trusty.local.debian-installer.i386")) as f:
1578 self.assertCountEqual([
1579 "fake-udeb\toptional\tlocal/debian-installer",
1580 "fake-udeb-indep\textra\tlocal/debian-installer",
1581 ], f.read().splitlines())
1582
1583 self.assertTrue(os.path.exists(os.path.join(
1584- self.packages, "dists", "raring", "local", "binary-i386")))
1585+ self.packages, "dists", "trusty", "local", "binary-i386")))
1586 self.assertTrue(os.path.exists(os.path.join(
1587- self.packages, "dists", "raring", "local", "debian-installer",
1588+ self.packages, "dists", "trusty", "local", "debian-installer",
1589 "binary-i386")))
1590
1591
1592@@ -189,23 +189,23 @@
1593 raise osextras.FetchError
1594
1595 mock_fetch.side_effect = fetch_side_effect
1596- self.config["DIST"] = "oneiric"
1597+ self.config["DIST"] = "precise"
1598 self.config["ARCHES"] = "i386"
1599 build_ubuntu_defaults_locale(self.config)
1600 output_dir = os.path.join(
1601- self.temp_dir, "scratch", "ubuntu-zh_CN", "oneiric", "daily-live",
1602+ self.temp_dir, "scratch", "ubuntu-zh_CN", "precise", "daily-live",
1603 "live")
1604 self.assertTrue(os.path.isdir(output_dir))
1605 self.assertCountEqual([
1606- "oneiric-desktop-i386.iso",
1607- "oneiric-desktop-i386.list",
1608- "oneiric-desktop-i386.manifest",
1609- "oneiric-desktop-i386.manifest-remove",
1610- "oneiric-desktop-i386.size",
1611+ "precise-desktop-i386.iso",
1612+ "precise-desktop-i386.list",
1613+ "precise-desktop-i386.manifest",
1614+ "precise-desktop-i386.manifest-remove",
1615+ "precise-desktop-i386.size",
1616 ], os.listdir(output_dir))
1617 mock_check_call.assert_called_once_with([
1618 os.path.join(self.temp_dir, "debian-cd", "tools", "pi-makelist"),
1619- os.path.join(output_dir, "oneiric-desktop-i386.iso"),
1620+ os.path.join(output_dir, "precise-desktop-i386.iso"),
1621 ], stdout=mock.ANY)
1622
1623
1624@@ -243,7 +243,7 @@
1625 mock_fetch.side_effect = fetch_side_effect
1626 mock_sign.side_effect = sign_side_effect
1627 self.config["PROJECT"] = "livecd-base"
1628- self.config["DIST"] = "raring"
1629+ self.config["DIST"] = "trusty"
1630 self.config["IMAGE_TYPE"] = "livecd-base"
1631 self.config["ARCHES"] = "i386"
1632 self.capture_logging()
1633@@ -253,7 +253,7 @@
1634 self.epoch_date,
1635 ])
1636 live_dir = os.path.join(
1637- self.temp_dir, "scratch", "livecd-base", "raring", "livecd-base",
1638+ self.temp_dir, "scratch", "livecd-base", "trusty", "livecd-base",
1639 "live")
1640 self.assertTrue(os.path.isdir(live_dir))
1641 self.assertCountEqual(
1642@@ -271,7 +271,7 @@
1643
1644 mock_fetch.side_effect = fetch_side_effect
1645 self.config["PROJECT"] = "ubuntu-base"
1646- self.config["DIST"] = "raring"
1647+ self.config["DIST"] = "trusty"
1648 self.config["IMAGE_TYPE"] = "daily"
1649 self.config["ARCHES"] = "i386"
1650 self.capture_logging()
1651@@ -283,15 +283,15 @@
1652 self.epoch_date,
1653 ])
1654 output_dir = os.path.join(
1655- self.temp_dir, "scratch", "ubuntu-base", "raring", "daily",
1656+ self.temp_dir, "scratch", "ubuntu-base", "trusty", "daily",
1657 "debian-cd", "i386")
1658 self.assertTrue(os.path.isdir(output_dir))
1659 self.assertCountEqual([
1660- "raring-base-i386.manifest",
1661- "raring-base-i386.raw",
1662- "raring-base-i386.type",
1663+ "trusty-base-i386.manifest",
1664+ "trusty-base-i386.raw",
1665+ "trusty-base-i386.type",
1666 ], os.listdir(output_dir))
1667- with open(os.path.join(output_dir, "raring-base-i386.type")) as f:
1668+ with open(os.path.join(output_dir, "trusty-base-i386.type")) as f:
1669 self.assertEqual("tar archive\n", f.read())
1670
1671 @mock.patch("cdimage.osextras.fetch")
1672@@ -376,7 +376,7 @@
1673 mock_fetch.side_effect = fetch_side_effect
1674 self.config["CDIMAGE_PREINSTALLED"] = "1"
1675 self.config["PROJECT"] = project
1676- self.config["DIST"] = "saucy"
1677+ self.config["DIST"] = "trusty"
1678 self.config["IMAGE_TYPE"] = "daily-preinstalled"
1679 self.config["ARCHES"] = "armhf"
1680 self.capture_logging()
1681@@ -388,34 +388,34 @@
1682 self.epoch_date,
1683 ])
1684 output_dir = os.path.join(
1685- self.temp_dir, "scratch", project, "saucy",
1686+ self.temp_dir, "scratch", project, "trusty",
1687 "daily-preinstalled", "debian-cd", "armhf")
1688 self.assertTrue(os.path.isdir(output_dir))
1689- touch_files = ["saucy-preinstalled-boot-%s+%s.img" % (
1690+ touch_files = ["trusty-preinstalled-boot-%s+%s.img" % (
1691 touch_target.ubuntu_arch, touch_target.subarch)
1692 for touch_target in Touch.list_targets_by_ubuntu_arch("armhf")]
1693- touch_files.extend(["saucy-preinstalled-recovery-%s+%s.img" % (
1694+ touch_files.extend(["trusty-preinstalled-recovery-%s+%s.img" % (
1695 touch_target.android_arch, touch_target.subarch)
1696 for touch_target in Touch.list_targets_by_ubuntu_arch("armhf")])
1697- touch_files.extend(["saucy-preinstalled-system-%s+%s.img" % (
1698+ touch_files.extend(["trusty-preinstalled-system-%s+%s.img" % (
1699 touch_target.android_arch, touch_target.subarch)
1700 for touch_target in Touch.list_targets_by_ubuntu_arch("armhf")])
1701 touch_files.extend([
1702- "saucy-preinstalled-touch-armhf.manifest",
1703- "saucy-preinstalled-touch-armhf.raw",
1704- "saucy-preinstalled-touch-armhf.type",
1705- "saucy-preinstalled-touch-armhf.tar.gz",
1706- "saucy-preinstalled-touch-armhf.custom.tar.gz",
1707+ "trusty-preinstalled-touch-armhf.manifest",
1708+ "trusty-preinstalled-touch-armhf.raw",
1709+ "trusty-preinstalled-touch-armhf.type",
1710+ "trusty-preinstalled-touch-armhf.tar.gz",
1711+ "trusty-preinstalled-touch-armhf.custom.tar.gz",
1712 ])
1713 self.assertCountEqual(touch_files, os.listdir(output_dir))
1714 with open(os.path.join(
1715- output_dir, "saucy-preinstalled-touch-armhf.type")
1716+ output_dir, "trusty-preinstalled-touch-armhf.type")
1717 ) as f:
1718 self.assertEqual("tar archive\n", f.read())
1719 for touch_target in Touch.list_targets_by_ubuntu_arch("armhf"):
1720- system_img = "saucy-preinstalled-system-%s+%s.img" % (
1721+ system_img = "trusty-preinstalled-system-%s+%s.img" % (
1722 touch_target.android_arch, touch_target.subarch)
1723- recovery_img = "saucy-preinstalled-recovery-%s+%s.img" % (
1724+ recovery_img = "trusty-preinstalled-recovery-%s+%s.img" % (
1725 touch_target.android_arch, touch_target.subarch)
1726 self.assertTrue(os.path.exists(
1727 os.path.join(output_dir, system_img)))
1728@@ -425,41 +425,6 @@
1729 def test_ubuntu_touch(self):
1730 self._perform_ubuntu_touch_testing("ubuntu-touch")
1731
1732- def test_ubuntu_touch_custom(self):
1733- self._perform_ubuntu_touch_testing("ubuntu-touch-custom")
1734-
1735- @mock.patch("cdimage.osextras.fetch")
1736- def test_ubuntu_desktop_next_system_image(self, mock_fetch):
1737- def fetch_side_effect(config, source, target):
1738- if (target.endswith(".manifest") or
1739- target.endswith(".rootfs.tar.gz")):
1740- touch(target)
1741- else:
1742- raise osextras.FetchError
1743-
1744- mock_fetch.side_effect = fetch_side_effect
1745- self.config["PROJECT"] = "ubuntu-desktop-next"
1746- self.config["SUBPROJECT"] = "system-image"
1747- self.config["DIST"] = "utopic"
1748- self.config["IMAGE_TYPE"] = "daily"
1749- self.config["ARCHES"] = "i386"
1750- self.capture_logging()
1751- build_livecd_base(self.config)
1752- self.assertLogEqual([
1753- "===== Downloading live filesystem images =====",
1754- self.epoch_date,
1755- "===== Copying images to debian-cd output directory =====",
1756- self.epoch_date,
1757- ])
1758- output_dir = os.path.join(
1759- self.temp_dir, "scratch", "ubuntu-desktop-next", "utopic", "daily",
1760- "live")
1761- self.assertTrue(os.path.isdir(output_dir))
1762- self.assertCountEqual([
1763- "i386.manifest",
1764- "i386.rootfs.tar.gz",
1765- ], os.listdir(output_dir))
1766-
1767
1768 class TestExtractDebootstrap(TestCase):
1769 def setUp(self):
1770@@ -469,27 +434,27 @@
1771
1772 def test_debootstrap_script(self):
1773 for series, script in (
1774- ("gutsy", "usr/lib/debootstrap/scripts/gutsy"),
1775- ("hardy", "usr/share/debootstrap/scripts/hardy"),
1776+ ("precise", "usr/share/debootstrap/scripts/precise"),
1777+ ("bionic", "usr/share/debootstrap/scripts/bionic"),
1778 ):
1779 self.config["DIST"] = series
1780 self.assertEqual(script, _debootstrap_script(self.config))
1781
1782 def test_extract_debootstrap(self):
1783 self.config["PROJECT"] = "ubuntu"
1784- self.config["DIST"] = "raring"
1785+ self.config["DIST"] = "trusty"
1786 self.config["IMAGE_TYPE"] = "daily"
1787 self.config["ARCHES"] = "amd64+mac"
1788 mirror_dir = os.path.join(self.temp_dir, "ftp")
1789 packages_path = os.path.join(
1790- mirror_dir, "dists", "raring", "main", "debian-installer",
1791+ mirror_dir, "dists", "trusty", "main", "debian-installer",
1792 "binary-amd64", "Packages.gz")
1793 udeb_path = os.path.join(
1794 mirror_dir, "pool", "main", "d", "debootstrap",
1795 "debootstrap-udeb_1_all.udeb")
1796 self.make_deb(
1797 udeb_path, "debian-installer", "extra",
1798- files={"/usr/share/debootstrap/scripts/raring": b"sentinel"})
1799+ files={"/usr/share/debootstrap/scripts/trusty": b"sentinel"})
1800 os.makedirs(os.path.dirname(packages_path))
1801 with gzip.GzipFile(packages_path, "wb") as packages:
1802 ftparchive = subprocess.Popen(
1803@@ -500,8 +465,8 @@
1804 self.assertEqual(0, ftparchive.returncode)
1805 extract_debootstrap(self.config)
1806 output_path = os.path.join(
1807- self.temp_dir, "scratch", "ubuntu", "raring", "daily",
1808- "debootstrap", "raring-amd64+mac")
1809+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily",
1810+ "debootstrap", "trusty-amd64+mac")
1811 self.assertTrue(os.path.exists(output_path))
1812 with open(output_path, "rb") as output:
1813 self.assertEqual(b"sentinel", output.read())
1814@@ -523,10 +488,10 @@
1815 @mock.patch("cdimage.osextras.unlink_force")
1816 def test_lock_build_image_set(self, mock_unlink_force, mock_check_call):
1817 self.config["PROJECT"] = "ubuntu"
1818- self.config["DIST"] = "raring"
1819+ self.config["DIST"] = "trusty"
1820 self.config["IMAGE_TYPE"] = "daily"
1821 expected_lock_path = os.path.join(
1822- self.temp_dir, "etc", ".lock-build-image-set-ubuntu-raring-daily")
1823+ self.temp_dir, "etc", ".lock-build-image-set-ubuntu-trusty-daily")
1824 self.assertFalse(os.path.exists(expected_lock_path))
1825 with lock_build_image_set(self.config):
1826 mock_check_call.assert_called_once_with([
1827@@ -539,12 +504,12 @@
1828 def test_lock_build_image_set_chinese(self, mock_unlink_force,
1829 mock_check_call):
1830 self.config["PROJECT"] = "ubuntu"
1831- self.config["DIST"] = "raring"
1832+ self.config["DIST"] = "trusty"
1833 self.config["IMAGE_TYPE"] = "daily"
1834 self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN"
1835 expected_lock_path = os.path.join(
1836 self.temp_dir, "etc",
1837- ".lock-build-image-set-ubuntu-chinese-edition-raring-daily")
1838+ ".lock-build-image-set-ubuntu-chinese-edition-trusty-daily")
1839 self.assertFalse(os.path.exists(expected_lock_path))
1840 with lock_build_image_set(self.config):
1841 mock_check_call.assert_called_once_with([
1842@@ -554,25 +519,20 @@
1843
1844 def test_configure_onlyfree_unsupported(self):
1845 for project, series, onlyfree, unsupported in (
1846- ("ubuntu", "raring", False, False),
1847+ ("ubuntu", "trusty", False, False),
1848 ("gobuntu", "hardy", True, False),
1849- ("edubuntu", "jaunty", False, False),
1850- ("edubuntu", "karmic", False, True),
1851- ("xubuntu", "gutsy", False, False),
1852- ("xubuntu", "hardy", False, True),
1853+ ("edubuntu", "precise", False, True),
1854+ ("xubuntu", "precise", False, True),
1855 ("kubuntu", "precise", False, False),
1856- ("kubuntu", "quantal", False, True),
1857- ("kubuntu-active", "raring", False, True),
1858- ("kubuntu-plasma5", "utopic", False, True),
1859- ("ubuntustudio", "raring", False, True),
1860- ("mythbuntu", "raring", False, True),
1861- ("lubuntu", "raring", False, True),
1862- ("ubuntukylin", "raring", False, True),
1863- ("ubuntu-gnome", "raring", False, True),
1864- ("ubuntu-budgie", "zesty", False, True),
1865- ("ubuntu-mate", "vivid", False, True),
1866- ("ubuntu-moblin-remix", "raring", False, True),
1867- ("ubuntu-desktop-next", "utopic", False, False),
1868+ ("kubuntu", "trusty", False, True),
1869+ ("kubuntu-active", "trusty", False, True),
1870+ ("ubuntustudio", "trusty", False, True),
1871+ ("mythbuntu", "trusty", False, True),
1872+ ("lubuntu", "trusty", False, True),
1873+ ("ubuntukylin", "trusty", False, True),
1874+ ("ubuntu-gnome", "trusty", False, True),
1875+ ("ubuntu-budgie", "bionic", False, True),
1876+ ("ubuntu-mate", "xenial", False, True),
1877 ):
1878 config = Config(read=False)
1879 config["PROJECT"] = project
1880@@ -605,7 +565,7 @@
1881
1882 def test_open_log_writes_log(self):
1883 self.config["PROJECT"] = "ubuntu"
1884- self.config["DIST"] = "raring"
1885+ self.config["DIST"] = "trusty"
1886 self.config["IMAGE_TYPE"] = "daily"
1887 self.config["CDIMAGE_DATE"] = "20130224"
1888 pid = os.fork()
1889@@ -620,7 +580,7 @@
1890 else: # parent
1891 self.wait_for_pid(pid, 0)
1892 expected_log_path = os.path.join(
1893- self.temp_dir, "log", "ubuntu", "raring", "daily-20130224.log")
1894+ self.temp_dir, "log", "ubuntu", "trusty", "daily-20130224.log")
1895 self.assertTrue(os.path.exists(expected_log_path))
1896 with open(expected_log_path) as log:
1897 self.assertEqual([
1898@@ -631,7 +591,7 @@
1899
1900 def test_open_log_chinese(self):
1901 self.config["PROJECT"] = "ubuntu"
1902- self.config["DIST"] = "raring"
1903+ self.config["DIST"] = "trusty"
1904 self.config["IMAGE_TYPE"] = "daily"
1905 self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN"
1906 self.config["CDIMAGE_DATE"] = "20130224"
1907@@ -647,7 +607,7 @@
1908 else: # parent
1909 self.wait_for_pid(pid, 0)
1910 expected_log_path = os.path.join(
1911- self.temp_dir, "log", "ubuntu-chinese-edition", "raring",
1912+ self.temp_dir, "log", "ubuntu-chinese-edition", "trusty",
1913 "daily-20130224.log")
1914 self.assertTrue(os.path.exists(expected_log_path))
1915 with open(expected_log_path) as log:
1916@@ -880,7 +840,7 @@
1917 ["make", "-C", os.path.dirname(path)])
1918
1919 def test_configure_splash(self):
1920- data_dir = os.path.join(self.temp_dir, "debian-cd", "data", "raring")
1921+ data_dir = os.path.join(self.temp_dir, "debian-cd", "data", "trusty")
1922 for key, extension in (
1923 ("SPLASHRLE", "rle"),
1924 ("GFXSPLASH", "pcx"),
1925@@ -890,7 +850,7 @@
1926 config = Config(read=False)
1927 config.root = self.temp_dir
1928 config["PROJECT"] = "kubuntu"
1929- config["DIST"] = "raring"
1930+ config["DIST"] = "trusty"
1931 path = os.path.join(
1932 data_dir, "%s.%s" % (
1933 "kubuntu" if project_specific else "splash",
1934@@ -941,10 +901,10 @@
1935
1936 def test_fix_permissions(self):
1937 self.config["PROJECT"] = "ubuntu"
1938- self.config["DIST"] = "raring"
1939+ self.config["DIST"] = "trusty"
1940 self.config["IMAGE_TYPE"] = "daily"
1941 scratch_dir = os.path.join(
1942- self.temp_dir, "scratch", "ubuntu", "raring", "daily")
1943+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily")
1944 subdir = os.path.join(scratch_dir, "x")
1945 dir_one = os.path.join(subdir, "1")
1946 file_two = os.path.join(subdir, "2")
1947@@ -978,14 +938,14 @@
1948
1949 @mock.patch("cdimage.build.send_mail")
1950 def test_notify_failure_no_recipients(self, mock_send_mail):
1951- self.config["DIST"] = "raring"
1952+ self.config["DIST"] = "trusty"
1953 notify_failure(self.config, None)
1954 self.assertEqual(0, mock_send_mail.call_count)
1955
1956 @mock.patch("cdimage.build.send_mail")
1957 def test_notify_failure_no_log(self, mock_send_mail):
1958 self.config["PROJECT"] = "ubuntu"
1959- self.config["DIST"] = "raring"
1960+ self.config["DIST"] = "trusty"
1961 self.config["IMAGE_TYPE"] = "daily"
1962 self.config["CDIMAGE_DATE"] = "20130225"
1963 path = os.path.join(self.temp_dir, "production", "notify-addresses")
1964@@ -993,13 +953,13 @@
1965 print("ALL\tfoo@example.org", file=notify_addresses)
1966 notify_failure(self.config, None)
1967 mock_send_mail.assert_called_once_with(
1968- "CD image ubuntu/raring/daily failed to build on 20130225",
1969+ "CD image ubuntu/trusty/daily failed to build on 20130225",
1970 "build-image-set", ["foo@example.org"], "")
1971
1972 @mock.patch("cdimage.build.send_mail")
1973 def test_notify_failure_log(self, mock_send_mail):
1974 self.config["PROJECT"] = "ubuntu"
1975- self.config["DIST"] = "raring"
1976+ self.config["DIST"] = "trusty"
1977 self.config["IMAGE_TYPE"] = "daily"
1978 self.config["CDIMAGE_DATE"] = "20130225"
1979 path = os.path.join(self.temp_dir, "production", "notify-addresses")
1980@@ -1010,14 +970,14 @@
1981 print("Log", file=log)
1982 notify_failure(self.config, log_path)
1983 mock_send_mail.assert_called_once_with(
1984- "CD image ubuntu/raring/daily failed to build on 20130225",
1985+ "CD image ubuntu/trusty/daily failed to build on 20130225",
1986 "build-image-set", ["foo@example.org"], mock.ANY)
1987 self.assertEqual(log_path, mock_send_mail.call_args[0][3].name)
1988
1989 @mock.patch("cdimage.build.send_mail")
1990 def test_notify_failure_chinese(self, mock_send_mail):
1991 self.config["PROJECT"] = "ubuntu"
1992- self.config["DIST"] = "raring"
1993+ self.config["DIST"] = "trusty"
1994 self.config["IMAGE_TYPE"] = "daily"
1995 self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN"
1996 self.config["CDIMAGE_DATE"] = "20130225"
1997@@ -1029,7 +989,7 @@
1998 print("Log", file=log)
1999 notify_failure(self.config, log_path)
2000 mock_send_mail.assert_called_once_with(
2001- "CD image ubuntu-chinese-edition/raring/daily failed to build on "
2002+ "CD image ubuntu-chinese-edition/trusty/daily failed to build on "
2003 "20130225",
2004 "build-image-set", ["foo@example.org"], mock.ANY)
2005 self.assertEqual(log_path, mock_send_mail.call_args[0][3].name)
2006@@ -1055,14 +1015,14 @@
2007 def test_build_image_set_locked_notifies_on_failure(
2008 self, mock_send_mail, mock_sync_local_mirror, *args):
2009 self.config["PROJECT"] = "ubuntu"
2010- self.config["DIST"] = "raring"
2011+ self.config["DIST"] = "trusty"
2012 self.config["IMAGE_TYPE"] = "daily"
2013 self.config["CDIMAGE_DATE"] = "20130225"
2014 path = os.path.join(self.temp_dir, "production", "notify-addresses")
2015 with mkfile(path, "w") as notify_addresses:
2016 print("ALL\tfoo@example.org", file=notify_addresses)
2017 log_path = os.path.join(
2018- self.temp_dir, "log", "ubuntu", "raring", "daily-20130225.log")
2019+ self.temp_dir, "log", "ubuntu", "trusty", "daily-20130225.log")
2020 os.makedirs(os.path.join(self.temp_dir, "etc"))
2021
2022 def force_failure(*args):
2023@@ -1113,7 +1073,7 @@
2024 mock_tracker_set_rebuild_status, mock_call):
2025 self.config["PROJECT"] = "ubuntu"
2026 self.config["CAPPROJECT"] = "Ubuntu"
2027- self.config["DIST"] = "raring"
2028+ self.config["DIST"] = "trusty"
2029 self.config["IMAGE_TYPE"] = "daily"
2030 self.config["ARCHES"] = "amd64 i386"
2031 self.config["CPUARCHES"] = "amd64 i386"
2032@@ -1127,8 +1087,8 @@
2033 touch(germinate_path)
2034 os.chmod(germinate_path, 0o755)
2035 germinate_output = os.path.join(
2036- self.temp_dir, "scratch", "ubuntu", "raring", "daily", "germinate")
2037- log_dir = os.path.join(self.temp_dir, "log", "ubuntu", "raring")
2038+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily", "germinate")
2039+ log_dir = os.path.join(self.temp_dir, "log", "ubuntu", "trusty")
2040
2041 def side_effect(command, *args, **kwargs):
2042 if command[0] == germinate_path:
2043@@ -1150,8 +1110,8 @@
2044 germinate_path,
2045 "--seed-source", mock.ANY,
2046 "--mirror", "file://%s/" % germinate_output,
2047- "--seed-dist", "ubuntu.raring",
2048- "--dist", "raring,raring-security,raring-updates",
2049+ "--seed-dist", "ubuntu.trusty",
2050+ "--dist", "trusty,trusty-security,trusty-updates",
2051 "--arch", arch,
2052 "--components", "main",
2053 "--no-rdepends",
2054@@ -1204,8 +1164,8 @@
2055 DATE
2056 ===== Germinating =====
2057 DATE
2058- Germinating for raring/amd64 ...
2059- Germinating for raring/i386 ...
2060+ Germinating for trusty/amd64 ...
2061+ Germinating for trusty/i386 ...
2062 ===== Generating new task lists =====
2063 DATE
2064 ===== Checking for other task changes =====
2065@@ -1226,10 +1186,10 @@
2066 "cdimage.build.build_image_set_locked", side_effect=KeyboardInterrupt)
2067 def test_build_image_set_interrupted(self, *args):
2068 self.config["PROJECT"] = "ubuntu"
2069- self.config["DIST"] = "raring"
2070+ self.config["DIST"] = "trusty"
2071 self.config["IMAGE_TYPE"] = "daily"
2072 lock_path = os.path.join(
2073- self.temp_dir, "etc", ".lock-build-image-set-ubuntu-raring-daily")
2074+ self.temp_dir, "etc", ".lock-build-image-set-ubuntu-trusty-daily")
2075 multipidfile_path = os.path.join(
2076 self.temp_dir, "etc", ".build-image-set-pids")
2077 os.makedirs(os.path.dirname(lock_path))
2078@@ -1241,10 +1201,10 @@
2079 @mock.patch("cdimage.build.build_image_set_locked")
2080 def test_build_image_set_terminated(self, mock_build_image_set_locked):
2081 self.config["PROJECT"] = "ubuntu"
2082- self.config["DIST"] = "raring"
2083+ self.config["DIST"] = "trusty"
2084 self.config["IMAGE_TYPE"] = "daily"
2085 lock_path = os.path.join(
2086- self.temp_dir, "etc", ".lock-build-image-set-ubuntu-raring-daily")
2087+ self.temp_dir, "etc", ".lock-build-image-set-ubuntu-trusty-daily")
2088 multipidfile_path = os.path.join(
2089 self.temp_dir, "etc", ".build-image-set-pids")
2090 os.makedirs(os.path.dirname(lock_path))
2091@@ -1264,10 +1224,10 @@
2092 @mock.patch("cdimage.build.build_image_set_locked")
2093 def test_build_image_set(self, mock_build_image_set_locked):
2094 self.config["PROJECT"] = "ubuntu"
2095- self.config["DIST"] = "raring"
2096+ self.config["DIST"] = "trusty"
2097 self.config["IMAGE_TYPE"] = "daily"
2098 lock_path = os.path.join(
2099- self.temp_dir, "etc", ".lock-build-image-set-ubuntu-raring-daily")
2100+ self.temp_dir, "etc", ".lock-build-image-set-ubuntu-trusty-daily")
2101 multipidfile_path = os.path.join(
2102 self.temp_dir, "etc", ".build-image-set-pids")
2103 os.makedirs(os.path.dirname(lock_path))
2104
2105=== modified file 'lib/cdimage/tests/test_build_id.py'
2106--- lib/cdimage/tests/test_build_id.py 2014-07-17 17:12:16 +0000
2107+++ lib/cdimage/tests/test_build_id.py 2019-03-07 16:20:18 +0000
2108@@ -66,12 +66,12 @@
2109 config = Config(read=False)
2110 config.root = self.use_temp_dir()
2111 config["PROJECT"] = "ubuntu"
2112- config["DIST"] = "raring"
2113+ config["DIST"] = "trusty"
2114 config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN"
2115 os.mkdir(os.path.join(self.temp_dir, "etc"))
2116 stamp = os.path.join(
2117 config.root, "etc",
2118- ".next-build-suffix-ubuntu-chinese-edition-raring-daily")
2119+ ".next-build-suffix-ubuntu-chinese-edition-trusty-daily")
2120 self.assertFalse(os.path.exists(stamp))
2121 self.assertEqual("20130225", next_build_id(config, ""))
2122 with open(stamp) as stamp_file:
2123
2124=== modified file 'lib/cdimage/tests/test_check_installable.py'
2125--- lib/cdimage/tests/test_check_installable.py 2017-08-27 06:42:48 +0000
2126+++ lib/cdimage/tests/test_check_installable.py 2019-03-07 16:20:18 +0000
2127@@ -41,7 +41,7 @@
2128 self.config["PROJECT"] = "ubuntu"
2129 self.config["CAPPROJECT"] = "Ubuntu"
2130 self.config["IMAGE_TYPE"] = "daily"
2131- self.config["DIST"] = "warty"
2132+ self.config["DIST"] = "precise"
2133 self.config["ARCHES"] = "i386"
2134
2135 def test_dirs(self):
2136@@ -49,29 +49,29 @@
2137 self.assertEqual(os.path.join(self.config.root, "britney"), britney)
2138 self.assertEqual(
2139 os.path.join(
2140- self.config.root, "scratch", "ubuntu", "warty", "daily",
2141+ self.config.root, "scratch", "ubuntu", "precise", "daily",
2142 "tmp"),
2143 image_top)
2144 self.assertEqual(
2145 os.path.join(
2146- self.config.root, "scratch", "ubuntu", "warty", "daily",
2147+ self.config.root, "scratch", "ubuntu", "precise", "daily",
2148 "live"),
2149 live)
2150 self.assertEqual(
2151- os.path.join(britney, "data", "ubuntu", "daily", "warty"), data)
2152+ os.path.join(britney, "data", "ubuntu", "daily", "precise"), data)
2153
2154 def test_prepare_no_packages(self):
2155 _, _, _, data = _check_installable_dirs(self.config)
2156 self.capture_logging()
2157 _prepare_check_installable(self.config)
2158- self.assertLogEqual(["No Packages.gz for warty/i386; not checking"])
2159+ self.assertLogEqual(["No Packages.gz for precise/i386; not checking"])
2160 self.assertEqual(["Sources"], os.listdir(data))
2161 self.assertEqual(0, os.stat(os.path.join(data, "Sources")).st_size)
2162
2163 def test_prepare_with_packages(self):
2164 _, image_top, _, data = _check_installable_dirs(self.config)
2165 packages_gz = os.path.join(
2166- image_top, "warty-i386", "CD1", "dists", "warty", "main",
2167+ image_top, "precise-i386", "CD1", "dists", "precise", "main",
2168 "binary-i386", "Packages.gz")
2169 os.makedirs(os.path.dirname(packages_gz))
2170 packages_gz_file = gzip.open(packages_gz, "wb")
2171@@ -125,5 +125,5 @@
2172 "timeout", "30",
2173 os.path.join(britney, "rptprobs.sh"), data,
2174 os.path.join(
2175- britney, "report", "ubuntu", "daily", "warty_probs.html"),
2176- "Ubuntu warty"], command)
2177+ britney, "report", "ubuntu", "daily", "precise_probs.html"),
2178+ "Ubuntu precise"], command)
2179
2180=== modified file 'lib/cdimage/tests/test_config.py'
2181--- lib/cdimage/tests/test_config.py 2018-10-30 13:23:58 +0000
2182+++ lib/cdimage/tests/test_config.py 2019-03-07 16:20:18 +0000
2183@@ -295,12 +295,6 @@
2184 self.assertEqual(None, config.core_series)
2185 config["DIST"] = "xenial"
2186 self.assertEqual("16", config.core_series)
2187- config["DIST"] = "yakkety"
2188- self.assertEqual("16", config.core_series)
2189- config["DIST"] = "zesty"
2190- self.assertEqual("16", config.core_series)
2191- config["DIST"] = "artful"
2192- self.assertEqual("16", config.core_series)
2193 config["DIST"] = "bionic"
2194 self.assertEqual("18", config.core_series)
2195 config["DIST"] = "cosmic"
2196
2197=== modified file 'lib/cdimage/tests/test_germinate.py'
2198--- lib/cdimage/tests/test_germinate.py 2019-02-22 10:32:26 +0000
2199+++ lib/cdimage/tests/test_germinate.py 2019-03-07 16:20:18 +0000
2200@@ -68,10 +68,10 @@
2201
2202 def test_output_dir(self):
2203 self.config.root = "/cdimage"
2204- self.config["DIST"] = "raring"
2205+ self.config["DIST"] = "bionic"
2206 self.config["IMAGE_TYPE"] = "daily"
2207 self.assertEqual(
2208- "/cdimage/scratch/ubuntu/raring/daily/germinate",
2209+ "/cdimage/scratch/ubuntu/bionic/daily/germinate",
2210 self.germination.output_dir("ubuntu"))
2211
2212 def test_seed_sources_local_seeds(self):
2213@@ -82,18 +82,11 @@
2214
2215 def test_seed_sources_bzr(self):
2216 for project, series, owners in (
2217- ("kubuntu", "natty", ["ubuntu-core-dev"]),
2218- ("kubuntu", "oneiric", ["kubuntu-dev"]),
2219- ("kubuntu-active", "natty", ["ubuntu-core-dev"]),
2220- ("kubuntu-active", "oneiric", ["kubuntu-dev"]),
2221- ("kubuntu-plasma5", "utopic", ["kubuntu-dev"]),
2222- ("mythbuntu", "raring", ["mythbuntu-dev"]),
2223- ("xubuntu", "hardy", ["ubuntu-core-dev"]),
2224- ("ubuntu-budgie", "zesty",
2225- ["ubuntubudgie-dev"]),
2226- ("ubuntu-mate", "vivid",
2227- ["ubuntu-mate-dev"]),
2228- ("ubuntu-moblin-remix", "hardy", ["moblin"]),
2229+ ("kubuntu", "precise", ["kubuntu-dev"]),
2230+ ("kubuntu-active", "precise", ["kubuntu-dev"]),
2231+ ("mythbuntu", "trusty", ["mythbuntu-dev"]),
2232+ ("ubuntu-budgie", "bionic", ["ubuntubudgie-dev"]),
2233+ ("ubuntu-mate", "xenial", ["ubuntu-mate-dev"]),
2234 ("ubuntukylin", "trusty", ["ubuntu-core-dev"]),
2235 ):
2236 self.config["DIST"] = series
2237@@ -106,14 +99,14 @@
2238 self.assertEqual(sources, self.germination.seed_sources(project))
2239
2240 for project, series, owners in (
2241- ("ubuntu", "raring", ["ubuntu-core-dev"]),
2242- ("lubuntu", "raring", ["lubuntu-dev", "ubuntu-core-dev"]),
2243- ("xubuntu", "intrepid", ["xubuntu-dev", "ubuntu-core-dev"]),
2244- ("ubuntu-gnome", "raring",
2245+ ("ubuntu", "trusty", ["ubuntu-core-dev"]),
2246+ ("lubuntu", "trusty", ["lubuntu-dev", "ubuntu-core-dev"]),
2247+ ("xubuntu", "precise", ["xubuntu-dev", "ubuntu-core-dev"]),
2248+ ("ubuntu-gnome", "trusty",
2249 ["ubuntu-gnome-dev", "ubuntu-core-dev"]),
2250- ("ubuntukylin", "utopic",
2251+ ("ubuntukylin", "xenial",
2252 ["ubuntukylin-members", "ubuntu-core-dev"]),
2253- ("ubuntustudio", "raring",
2254+ ("ubuntustudio", "trusty",
2255 ["ubuntustudio-dev", "ubuntu-core-dev"]),
2256 ):
2257 self.config["DIST"] = series
2258@@ -124,7 +117,7 @@
2259
2260 def test_seed_sources_non_bzr(self):
2261 self.germination = Germination(self.config, prefer_vcs=False)
2262- self.config["DIST"] = "raring"
2263+ self.config["DIST"] = "trusty"
2264 self.assertEqual(
2265 ["http://people.canonical.com/~ubuntu-archive/seeds/"],
2266 self.germination.seed_sources("ubuntu"))
2267@@ -141,22 +134,22 @@
2268
2269 def test_make_index(self):
2270 self.config.root = self.use_temp_dir()
2271- self.config["DIST"] = "raring"
2272+ self.config["DIST"] = "trusty"
2273 self.config["IMAGE_TYPE"] = "daily"
2274 files = []
2275 for component in "main", "restricted", "universe", "multiverse":
2276 source_dir = os.path.join(
2277- self.temp_dir, "ftp", "dists", "raring", component, "source")
2278+ self.temp_dir, "ftp", "dists", "trusty", component, "source")
2279 os.makedirs(source_dir)
2280 with gzip.GzipFile(
2281 os.path.join(source_dir, "Sources.gz"), "wb") as sources:
2282 sources.write(component.encode("UTF-8"))
2283 sources.write(b"\n")
2284- files.append("dists/raring/%s/source/Sources.gz" % component)
2285+ files.append("dists/trusty/%s/source/Sources.gz" % component)
2286 self.germination.make_index("ubuntu", "i386", files[0], files)
2287 output_file = os.path.join(
2288- self.temp_dir, "scratch", "ubuntu", "raring", "daily", "germinate",
2289- "dists", "raring", "main", "source", "Sources.gz")
2290+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily", "germinate",
2291+ "dists", "trusty", "main", "source", "Sources.gz")
2292 self.assertTrue(os.path.exists(output_file))
2293 with gzip.GzipFile(output_file, "rb") as output_sources:
2294 self.assertEqual(
2295@@ -179,27 +172,19 @@
2296 ], self.germination.germinate_dists)
2297
2298 def test_germinate_dists_no_proposed(self):
2299- self.config["DIST"] = "raring"
2300+ self.config["DIST"] = "trusty"
2301 self.assertEqual([
2302- "raring",
2303- "raring-security",
2304- "raring-updates",
2305+ "trusty",
2306+ "trusty-security",
2307+ "trusty-updates",
2308 ], self.germination.germinate_dists)
2309
2310 def test_seed_dist(self):
2311 for project, series, seed_dist in (
2312- ("ubuntu", "raring", "ubuntu.raring"),
2313- ("ubuntu-server", "breezy", "ubuntu-server.breezy"),
2314- ("ubuntu-server", "raring", "ubuntu.raring"),
2315- ("jeos", "breezy", "jeos.breezy"),
2316- ("jeos", "hardy", "ubuntu.hardy"),
2317- ("ubuntukylin", "raring", "ubuntu.raring"),
2318- ("ubuntukylin", "utopic", "ubuntukylin.utopic"),
2319- ("ubuntu-mid", "hardy", "mobile.hardy"),
2320- ("ubuntu-netbook", "maverick", "netbook.maverick"),
2321- ("ubuntu-headless", "lucid", "ubuntu.lucid"),
2322- ("ubuntu-moblin-remix", "hardy", "moblin.hardy"),
2323- ("ubuntu-desktop-next", "utopic", "ubuntu-touch.utopic"),
2324+ ("ubuntu", "trusty", "ubuntu.trusty"),
2325+ ("ubuntu-server", "trusty", "ubuntu.trusty"),
2326+ ("ubuntukylin", "trusty", "ubuntu.trusty"),
2327+ ("ubuntukylin", "xenial", "ubuntukylin.xenial"),
2328 ):
2329 self.config["DIST"] = series
2330 self.assertEqual(seed_dist, self.germination.seed_dist(project))
2331@@ -224,13 +209,13 @@
2332 self.temp_dir, "germinate", "bin", "germinate")
2333 touch(germinate_path)
2334 os.chmod(germinate_path, 0o755)
2335- self.config["DIST"] = "raring"
2336+ self.config["DIST"] = "trusty"
2337 self.config["IMAGE_TYPE"] = "daily"
2338
2339- output_dir = "%s/scratch/ubuntu/raring/daily/germinate" % self.temp_dir
2340+ output_dir = "%s/scratch/ubuntu/trusty/daily/germinate" % self.temp_dir
2341 expected_files = []
2342
2343- for dist in "raring", "raring-security", "raring-updates":
2344+ for dist in "trusty", "trusty-security", "trusty-updates":
2345 for suffix in (
2346 "binary-amd64/Packages.gz",
2347 "source/Sources.gz",
2348@@ -257,8 +242,8 @@
2349 "--seed-source",
2350 "https://git.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/+git/",
2351 "--mirror", "file://%s/" % output_dir,
2352- "--seed-dist", "ubuntu.raring",
2353- "--dist", "raring,raring-security,raring-updates",
2354+ "--seed-dist", "ubuntu.trusty",
2355+ "--dist", "trusty,trusty-security,trusty-updates",
2356 "--arch", "amd64",
2357 "--components", "main",
2358 "--no-rdepends",
2359@@ -272,19 +257,19 @@
2360 @mock.patch("cdimage.germinate.Germination.germinate_arch")
2361 def test_germinate_project(self, mock_germinate_arch):
2362 self.config.root = self.use_temp_dir()
2363- self.config["DIST"] = "raring"
2364+ self.config["DIST"] = "trusty"
2365 self.config["ARCHES"] = "amd64 i386"
2366 self.config["IMAGE_TYPE"] = "daily"
2367 self.capture_logging()
2368 self.germination.germinate_project("ubuntu")
2369 self.assertTrue(os.path.isdir(os.path.join(
2370- self.temp_dir, "scratch", "ubuntu", "raring", "daily",
2371+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily",
2372 "germinate")))
2373 mock_germinate_arch.assert_has_calls(
2374 [mock.call("ubuntu", "amd64"), mock.call("ubuntu", "i386")])
2375 self.assertLogEqual([
2376- "Germinating for raring/amd64 ...",
2377- "Germinating for raring/i386 ...",
2378+ "Germinating for trusty/amd64 ...",
2379+ "Germinating for trusty/i386 ...",
2380 ])
2381
2382 @mock.patch("cdimage.germinate.Germination.germinate_project")
2383@@ -367,45 +352,6 @@
2384 ["usb-ship-live", ["usb-langsupport"]],
2385 ])
2386
2387- def write_ubuntu_hoary_structure(self):
2388- """Write the Ubuntu 5.04 STRUCTURE file."""
2389- self.write_structure([
2390- ["base", []],
2391- ["desktop", ["base"]],
2392- ["ship", ["base", "desktop"]],
2393- ["live", ["base", "desktop"]],
2394- ["installer", []],
2395- ["casper", []],
2396- ["supported", ["base", "desktop", "ship", "live"]],
2397- ])
2398-
2399- def write_ubuntu_breezy_structure(self):
2400- """Write the Ubuntu 5.10 STRUCTURE file."""
2401- self.write_structure([
2402- ["minimal", []],
2403- ["standard", ["minimal"]],
2404- ["desktop", ["minimal", "standard"]],
2405- ["ship", ["minimal", "standard", "desktop"]],
2406- ["live", ["minimal", "standard", "desktop"]],
2407- ["installer", []],
2408- ["casper", []],
2409- ["supported", ["minimal", "standard", "desktop", "ship", "live"]],
2410- ])
2411-
2412- def write_ubuntu_dapper_structure(self):
2413- """Write a reduced version of the Ubuntu 6.06 LTS STRUCTURE file."""
2414- self.write_structure([
2415- ["minimal", []],
2416- ["boot", []],
2417- ["standard", ["minimal"]],
2418- ["desktop", ["minimal", "standard"]],
2419- ["server", ["boot", "minimal", "standard"]],
2420- ["ship", ["boot", "minimal", "standard", "desktop"]],
2421- ["live", ["minimal", "standard", "desktop"]],
2422- ["ship-live", ["boot", "minimal", "standard", "desktop", "live"]],
2423- ["installer", []],
2424- ])
2425-
2426 def write_kubuntu_structure(self):
2427 """Write a reduced version of the Kubuntu STRUCTURE file.
2428
2429@@ -471,7 +417,7 @@
2430 self.write_ubuntu_structure()
2431 output = GerminateOutput(self.config, self.temp_dir)
2432 self.config["PROJECT"] = "ubuntu"
2433- self.config["DIST"] = "raring"
2434+ self.config["DIST"] = "trusty"
2435 expected = [
2436 "boot", "installer", "required", "minimal", "standard",
2437 "desktop-common", "desktop", "d-i-requirements", "ship",
2438@@ -487,16 +433,6 @@
2439 self.config["PROJECT"] = "ubuntu-server"
2440 expected = [
2441 "boot", "installer", "required", "minimal", "standard",
2442- "desktop-common", "desktop", "d-i-requirements", "ship",
2443- ]
2444- for series in all_series[:3]:
2445- self.config["DIST"] = series
2446- self.assertEqual(expected, list(output.list_seeds("tasks")))
2447- expected = ["required", "minimal", "standard", "server"]
2448- self.config["DIST"] = all_series[3]
2449- self.assertEqual(expected, list(output.list_seeds("tasks")))
2450- expected = [
2451- "boot", "installer", "required", "minimal", "standard",
2452 "dns-server", "lamp-server", "openssh-server", "print-server",
2453 "samba-server", "postgresql-server", "mail-server", "server",
2454 "tomcat-server", "virt-host", "d-i-requirements", "server-ship",
2455@@ -509,7 +445,7 @@
2456 self.write_ubuntu_structure()
2457 output = GerminateOutput(self.config, self.temp_dir)
2458 self.config["PROJECT"] = "ubuntu-server"
2459- self.config["DIST"] = "raring"
2460+ self.config["DIST"] = "trusty"
2461 self.config["CDIMAGE_SQUASHFS_BASE"] = "1"
2462 expected = [
2463 "boot", "installer", "standard", "dns-server", "lamp-server",
2464@@ -523,7 +459,7 @@
2465 self.write_kubuntu_structure()
2466 output = GerminateOutput(self.config, self.temp_dir)
2467 self.config["PROJECT"] = "kubuntu-active"
2468- self.config["DIST"] = "raring"
2469+ self.config["DIST"] = "trusty"
2470 expected = [
2471 "boot", "installer", "required", "minimal", "standard",
2472 "desktop-common", "desktop", "d-i-requirements", "ship",
2473@@ -531,44 +467,17 @@
2474 ]
2475 self.assertEqual(expected, list(output.list_seeds("tasks")))
2476
2477- def test_list_seeds_tasks_jeos(self):
2478- self.write_structure([
2479- ["required", []],
2480- ["minimal", ["required"]],
2481- ["jeos", ["minimal"]],
2482- ])
2483- output = GerminateOutput(self.config, self.temp_dir)
2484- self.config["PROJECT"] = "jeos"
2485- self.assertEqual(
2486- ["required", "minimal", "jeos"], list(output.list_seeds("tasks")))
2487-
2488 def test_list_seeds_installer(self):
2489- self.write_ubuntu_breezy_structure()
2490 self.write_structure([["installer", []], ["casper", []]])
2491 output = GerminateOutput(self.config, self.temp_dir)
2492 self.config["CDIMAGE_INSTALL_BASE"] = "1"
2493 self.assertEqual(["installer"], list(output.list_seeds("installer")))
2494 del self.config["CDIMAGE_INSTALL_BASE"]
2495 self.config["CDIMAGE_LIVE"] = "1"
2496- self.config["DIST"] = "hoary"
2497- self.assertEqual(["casper"], list(output.list_seeds("installer")))
2498- self.config["DIST"] = "breezy"
2499- self.assertEqual(["casper"], list(output.list_seeds("installer")))
2500- self.config["DIST"] = "dapper"
2501+ self.config["DIST"] = "precise"
2502 self.assertEqual([], list(output.list_seeds("installer")))
2503
2504 def test_list_seeds_debootstrap(self):
2505- self.write_ubuntu_hoary_structure()
2506- output = GerminateOutput(self.config, self.temp_dir)
2507- for series in all_series[:2]:
2508- self.config["DIST"] = series
2509- self.assertEqual(["base"], list(output.list_seeds("debootstrap")))
2510- self.write_ubuntu_breezy_structure()
2511- output = GerminateOutput(self.config, self.temp_dir)
2512- for series in all_series[2:6]:
2513- self.config["DIST"] = series
2514- self.assertEqual(
2515- ["minimal"], list(output.list_seeds("debootstrap")))
2516 self.write_ubuntu_structure()
2517 output = GerminateOutput(self.config, self.temp_dir)
2518 for series in all_series[6:]:
2519@@ -578,23 +487,6 @@
2520 list(output.list_seeds("debootstrap")))
2521
2522 def test_list_seeds_base(self):
2523- self.write_ubuntu_hoary_structure()
2524- output = GerminateOutput(self.config, self.temp_dir)
2525- for series in all_series[:2]:
2526- self.config["DIST"] = series
2527- self.assertEqual(["base"], list(output.list_seeds("base")))
2528- self.write_ubuntu_breezy_structure()
2529- output = GerminateOutput(self.config, self.temp_dir)
2530- self.config["DIST"] = all_series[2]
2531- self.assertEqual(
2532- ["minimal", "standard"], list(output.list_seeds("base")))
2533- self.write_ubuntu_dapper_structure()
2534- output = GerminateOutput(self.config, self.temp_dir)
2535- for series in all_series[3:6]:
2536- self.config["DIST"] = series
2537- self.assertEqual(
2538- ["boot", "minimal", "standard"],
2539- list(output.list_seeds("base")))
2540 self.write_ubuntu_structure()
2541 output = GerminateOutput(self.config, self.temp_dir)
2542 for series in all_series[6:]:
2543@@ -615,7 +507,7 @@
2544 def write_seed_output(self, arch, seed, packages):
2545 """Write a simplified Germinate output file, enough for testing."""
2546 with mkfile(os.path.join(self.temp_dir, arch, seed)) as f:
2547- why = "Ubuntu.Raring %s seed" % seed
2548+ why = "Ubuntu.Trusty %s seed" % seed
2549 pkg_len = max(len("Package"), max(map(len, packages)))
2550 src_len = max(len("Source"), max(map(len, packages)))
2551 why_len = len(why)
2552@@ -660,20 +552,20 @@
2553 "usb-ship-live",
2554 ], list(output.master_seeds()))
2555
2556- def test_master_seeds_dvd_ubuntu_raring(self):
2557+ def test_master_seeds_dvd_ubuntu_trusty(self):
2558 self.write_ubuntu_structure()
2559 output = GerminateOutput(self.config, self.temp_dir)
2560 self.config["PROJECT"] = "ubuntu"
2561- self.config["DIST"] = "raring"
2562+ self.config["DIST"] = "trusty"
2563 self.config["CDIMAGE_DVD"] = "1"
2564 self.assertEqual(
2565 ["usb-langsupport", "usb-ship-live"], list(output.master_seeds()))
2566
2567- def test_master_seeds_install_ubuntu_raring(self):
2568+ def test_master_seeds_install_ubuntu_trusty(self):
2569 self.write_ubuntu_structure()
2570 output = GerminateOutput(self.config, self.temp_dir)
2571 self.config["PROJECT"] = "ubuntu"
2572- self.config["DIST"] = "raring"
2573+ self.config["DIST"] = "trusty"
2574 self.config["CDIMAGE_INSTALL"] = "1"
2575 self.config["CDIMAGE_INSTALL_BASE"] = "1"
2576 self.assertEqual([
2577@@ -681,11 +573,11 @@
2578 "desktop-common", "desktop", "d-i-requirements", "ship",
2579 ], list(output.master_seeds()))
2580
2581- def test_master_seeds_live_ubuntu_raring(self):
2582+ def test_master_seeds_live_ubuntu_trusty(self):
2583 self.write_ubuntu_structure()
2584 output = GerminateOutput(self.config, self.temp_dir)
2585 self.config["PROJECT"] = "ubuntu"
2586- self.config["DIST"] = "raring"
2587+ self.config["DIST"] = "trusty"
2588 self.config["CDIMAGE_INSTALL_BASE"] = "1"
2589 self.config["CDIMAGE_LIVE"] = "1"
2590 self.assertEqual([
2591@@ -701,11 +593,11 @@
2592
2593 self.write_ubuntu_structure()
2594 output = GerminateOutput(self.config, self.temp_dir)
2595- self.config["DIST"] = "raring"
2596+ self.config["DIST"] = "trusty"
2597 mock_master_seeds.side_effect = side_effect
2598 self.assertEqual([
2599- "#include <ubuntu/raring/required>",
2600- "#include <ubuntu/raring/minimal>",
2601+ "#include <ubuntu/trusty/required>",
2602+ "#include <ubuntu/trusty/minimal>",
2603 ], list(output.master_task_entries("ubuntu")))
2604
2605 @mock.patch(
2606@@ -713,18 +605,18 @@
2607 def test_master_task_entries_no_seeds(self, mock_master_seeds):
2608 self.write_ubuntu_structure()
2609 output = GerminateOutput(self.config, self.temp_dir)
2610- self.config["DIST"] = "raring"
2611+ self.config["DIST"] = "trusty"
2612 self.assertRaises(
2613 NoMasterSeeds, list, output.master_task_entries("ubuntu"))
2614
2615 def test_tasks_output_dir(self):
2616 self.write_ubuntu_structure()
2617 output = GerminateOutput(self.config, self.temp_dir)
2618- self.config["DIST"] = "raring"
2619+ self.config["DIST"] = "trusty"
2620 self.config["IMAGE_TYPE"] = "daily"
2621 self.assertEqual(
2622 os.path.join(
2623- self.temp_dir, "scratch", "ubuntu", "raring", "daily",
2624+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily",
2625 "tasks"),
2626 output.tasks_output_dir("ubuntu"))
2627
2628@@ -753,7 +645,7 @@
2629 def test_task_packages_squashfs(self):
2630 self.write_ubuntu_structure()
2631 self.config["PROJECT"] = "ubuntu-server"
2632- self.config["DIST"] = "raring"
2633+ self.config["DIST"] = "trusty"
2634 self.write_seed_output(
2635 "i386", "installer", ["base-installer", "bootstrap-base"])
2636 output = GerminateOutput(self.config, self.temp_dir)
2637@@ -765,26 +657,6 @@
2638 ["base-installer", "live-installer"],
2639 list(output.task_packages("i386", "installer", "installer")))
2640
2641- def test_task_packages_gutsy_ps3_hack(self):
2642- self.write_structure([["boot", []], ["installer", []]])
2643- self.write_seed_output(
2644- "powerpc+ps3", "boot", ["linux-image-2.6.22-14-powerpc64-smp"])
2645- self.write_seed_output(
2646- "powerpc+ps3", "installer", [
2647- "block-modules-2.6.22-14-powerpc-di",
2648- "block-modules-2.6.22-14-powerpc64-smp-di",
2649- ])
2650- self.config["DIST"] = "gutsy"
2651- self.config["CDIMAGE_INSTALL_BASE"] = "1"
2652- output = GerminateOutput(self.config, self.temp_dir)
2653- self.assertEqual(
2654- ["linux-image-2.6.22-14-cell"],
2655- list(output.task_packages("powerpc+ps3", "boot", "boot")))
2656- self.assertEqual(
2657- ["block-modules-2.6.22-14-cell-di"],
2658- list(output.task_packages(
2659- "powerpc+ps3", "installer", "installer")))
2660-
2661 def test_task_packages_precise_kernels(self):
2662 self.write_structure([["boot", []], ["installer", []]])
2663 self.write_seed_output(
2664@@ -812,7 +684,7 @@
2665 def test_initrd_packages(self):
2666 self.write_ubuntu_structure()
2667 manifest_path = os.path.join(
2668- self.temp_dir, "ftp", "dists", "raring", "main", "installer-i386",
2669+ self.temp_dir, "ftp", "dists", "trusty", "main", "installer-i386",
2670 "current", "images", "MANIFEST.udebs")
2671 with mkfile(manifest_path) as manifest:
2672 print(dedent("""\
2673@@ -822,7 +694,7 @@
2674 netboot/netboot.tar.gz
2675 \tdownload-installer 1.32ubuntu1 all
2676 \tnet-retriever 1.32ubuntu1 i386"""), file=manifest)
2677- self.config["DIST"] = "raring"
2678+ self.config["DIST"] = "trusty"
2679 output = GerminateOutput(self.config, self.temp_dir)
2680 self.assertEqual(
2681 set(["anna", "cdrom-detect"]),
2682@@ -835,7 +707,7 @@
2683 def test_common_initrd_packages(self):
2684 self.write_ubuntu_structure()
2685 manifest_path = os.path.join(
2686- self.temp_dir, "ftp", "dists", "raring", "main", "installer-i386",
2687+ self.temp_dir, "ftp", "dists", "trusty", "main", "installer-i386",
2688 "current", "images", "MANIFEST.udebs")
2689 with mkfile(manifest_path) as manifest:
2690 print(dedent("""\
2691@@ -845,7 +717,7 @@
2692 netboot/netboot.tar.gz
2693 \tanna 1.45ubuntu1 i386
2694 \tnet-retriever 1.32ubuntu1 i386"""), file=manifest)
2695- self.config["DIST"] = "raring"
2696+ self.config["DIST"] = "trusty"
2697 output = GerminateOutput(self.config, self.temp_dir)
2698 self.assertEqual(set(["anna"]), output.common_initrd_packages("i386"))
2699
2700@@ -870,8 +742,6 @@
2701 self.assertEqual(expected, output.task_headers("i386", "desktop"))
2702 self.assertEqual({}, output.task_headers("i386", "missing"))
2703
2704- # TODO: seed_task_mapping <= gutsy untested
2705-
2706 def test_seed_task_mapping(self):
2707 self.write_ubuntu_structure()
2708 seed_dir = os.path.join(self.temp_dir, "i386")
2709@@ -881,7 +751,7 @@
2710 print(dedent("""\
2711 Task-Per-Derivative: 1
2712 Task-Seeds: desktop-common"""), file=seedtext)
2713- self.config["DIST"] = "raring"
2714+ self.config["DIST"] = "trusty"
2715 output = GerminateOutput(self.config, self.temp_dir)
2716 expected = [
2717 (["standard"], "standard"),
2718@@ -906,14 +776,14 @@
2719 print("Task-Per-Derivative: 1", file=seedtext)
2720 with mkfile(os.path.join(seed_dir, "live.seedtext")) as seedtext:
2721 print("Task-Per-Derivative: 1", file=seedtext)
2722- self.config["DIST"] = "raring"
2723+ self.config["DIST"] = "trusty"
2724 self.config["ARCHES"] = "amd64 i386"
2725 self.config["IMAGE_TYPE"] = "daily-live"
2726 self.config["CDIMAGE_LIVE"] = "1"
2727 output = GerminateOutput(self.config, self.temp_dir)
2728 output.write_tasks_project("ubuntu")
2729 output_dir = os.path.join(
2730- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live",
2731+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live",
2732 "tasks")
2733 self.assertCountEqual([
2734 "required", "minimal", "desktop", "live",
2735@@ -990,7 +860,7 @@
2736 with open(os.path.join(output_dir, "important.i386")) as f:
2737 self.assertEqual("adduser-i386\nbase-files-i386\n", f.read())
2738 with open(os.path.join(output_dir, "MASTER")) as f:
2739- self.assertEqual("#include <ubuntu/raring/ship-live>\n", f.read())
2740+ self.assertEqual("#include <ubuntu/trusty/ship-live>\n", f.read())
2741
2742 # TODO: write_tasks untested
2743
2744@@ -998,10 +868,10 @@
2745 def test_diff_tasks(self, mock_call):
2746 self.write_ubuntu_structure()
2747 self.config["PROJECT"] = "ubuntu"
2748- self.config["DIST"] = "raring"
2749+ self.config["DIST"] = "trusty"
2750 self.config["IMAGE_TYPE"] = "daily-live"
2751 output_dir = os.path.join(
2752- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live",
2753+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live",
2754 "tasks")
2755 touch(os.path.join(output_dir, "required"))
2756 touch(os.path.join(output_dir, "minimal"))
2757@@ -1026,10 +896,10 @@
2758 def test_update_tasks_no_mail(self, mock_diff_tasks):
2759 self.write_ubuntu_structure()
2760 self.config["PROJECT"] = "ubuntu"
2761- self.config["DIST"] = "raring"
2762+ self.config["DIST"] = "trusty"
2763 self.config["IMAGE_TYPE"] = "daily-live"
2764 output_dir = os.path.join(
2765- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live",
2766+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live",
2767 "tasks")
2768 touch(os.path.join(output_dir, "required"))
2769 touch(os.path.join(output_dir, "minimal"))
2770@@ -1039,7 +909,7 @@
2771 ["required", "minimal"],
2772 os.listdir(os.path.join(
2773 self.temp_dir, "debian-cd", "tasks", "auto", "daily-live",
2774- "ubuntu", "raring")))
2775+ "ubuntu", "trusty")))
2776 self.assertCountEqual(
2777 ["required", "minimal"], os.listdir("%s-previous" % output_dir))
2778
2779@@ -1048,7 +918,7 @@
2780 def test_update_tasks_no_recipients(self, mock_diff_tasks, mock_send_mail):
2781 self.write_ubuntu_structure()
2782 self.config["PROJECT"] = "ubuntu"
2783- self.config["DIST"] = "raring"
2784+ self.config["DIST"] = "trusty"
2785 self.config["IMAGE_TYPE"] = "daily-live"
2786 output = GerminateOutput(self.config, self.temp_dir)
2787 os.makedirs(output.tasks_output_dir("ubuntu"))
2788@@ -1093,10 +963,10 @@
2789 self.write_ubuntu_structure()
2790 self.config["PROJECT"] = "ubuntu"
2791 self.config["CAPPROJECT"] = "Ubuntu"
2792- self.config["DIST"] = "raring"
2793+ self.config["DIST"] = "trusty"
2794 self.config["IMAGE_TYPE"] = "daily-live"
2795 output_dir = os.path.join(
2796- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live",
2797+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live",
2798 "tasks")
2799 touch(os.path.join(output_dir, "required"))
2800 touch(os.path.join(output_dir, "minimal"))
2801@@ -1114,7 +984,7 @@
2802 with open(os.path.join(self.temp_dir, "mail")) as mail:
2803 self.assertEqual(dedent("""\
2804 To: foo@example.org
2805- Subject: Task changes for Ubuntu daily-live/raring on 20130319
2806+ Subject: Task changes for Ubuntu daily-live/trusty on 20130319
2807 X-Generated-By: update-tasks
2808
2809 --- minimal
2810
2811=== modified file 'lib/cdimage/tests/test_livefs.py'
2812--- lib/cdimage/tests/test_livefs.py 2018-12-12 20:29:20 +0000
2813+++ lib/cdimage/tests/test_livefs.py 2019-03-07 16:20:18 +0000
2814@@ -173,48 +173,26 @@
2815 def test_project_livecd_base(self):
2816 self.assertProjectEqual("base", "livecd-base", "dapper")
2817
2818- def test_project_tocd3_1(self):
2819- self.assertProjectEqual("tocd", "tocd3.1", "breezy")
2820-
2821- def test_project_ubuntu_touch_custom(self):
2822- self.assertProjectEqual("ubuntu-touch", "ubuntu-touch-custom", "vivid")
2823-
2824 def test_ubuntu_dvd(self):
2825- for series in all_series[:7]:
2826- self.assertProjectEqual(
2827- "ubuntu", "ubuntu", series, cdimage_dvd="1")
2828 for series in all_series[7:]:
2829 self.assertProjectEqual(
2830 "ubuntu-dvd", "ubuntu", series, cdimage_dvd="1")
2831
2832 def test_kubuntu_dvd(self):
2833- for series in all_series[:7]:
2834- self.assertProjectEqual(
2835- "kubuntu", "kubuntu", series, cdimage_dvd="1")
2836 for series in all_series[7:]:
2837 self.assertProjectEqual(
2838 "kubuntu-dvd", "kubuntu", series, cdimage_dvd="1")
2839
2840 def test_edubuntu_dvd(self):
2841- for series in all_series[:10]:
2842- self.assertProjectEqual(
2843- "edubuntu", "edubuntu", series, cdimage_dvd="1")
2844 for series in all_series[10:]:
2845 self.assertProjectEqual(
2846 "edubuntu-dvd", "edubuntu", series, cdimage_dvd="1")
2847
2848 def test_ubuntustudio_dvd(self):
2849- for series in all_series[:15]:
2850- self.assertProjectEqual(
2851- "ubuntustudio", "ubuntustudio", series, cdimage_dvd="1")
2852 for series in all_series[15:]:
2853 self.assertProjectEqual(
2854 "ubuntustudio-dvd", "ubuntustudio", series, cdimage_dvd="1")
2855
2856- def test_lpia(self):
2857- self.assertProjectEqual("ubuntu-lpia", "ubuntu", "hardy", arch="lpia")
2858- self.assertProjectEqual("ubuntu", "ubuntu", "intrepid", arch="lpia")
2859-
2860
2861 def make_livefs_production_config(config):
2862 config_path = os.path.join(config.root, "production", "livefs-builders")
2863@@ -233,8 +211,6 @@
2864 *\t\t*\t\thppa\t\t\tcastilla.buildd
2865 *\t\t*\t\ti386\t\t\tcardamom.buildd
2866 *\t\t*\t\tia64\t\t\tweddell.buildd
2867- *\t\t-hardy\t\tlpia\t\t\tcardamom.buildd
2868- *\t\t*\t\tlpia\t\t\tconcordia.buildd
2869 *\t\t*\t\tpowerpc\t\t\troyal.buildd
2870 *\t\t*\t\tppc64el\t\t\tfisher01.buildd
2871 *\t\t*\t\tsparc\t\t\tvivies.buildd
2872@@ -297,12 +273,6 @@
2873 for series in all_series:
2874 self.assertBuilderEqual("weddell.buildd", "ia64", series)
2875
2876- def test_lpia(self):
2877- for series in all_series[:8]:
2878- self.assertBuilderEqual("cardamom.buildd", "lpia", series)
2879- for series in all_series[8:]:
2880- self.assertBuilderEqual("concordia.buildd", "lpia", series)
2881-
2882 def test_powerpc(self):
2883 for series in all_series:
2884 self.assertBuilderEqual("royal.buildd", "powerpc", series)
2885@@ -364,16 +334,11 @@
2886 self.assertEqual(
2887 ["-f", "plain"], live_build_options(self.config, "armhf"))
2888
2889- def test_ubuntu_touch_custom(self):
2890- self.config["PROJECT"] = "ubuntu-touch-custom"
2891- self.assertEqual(
2892- ["-f", "plain"], live_build_options(self.config, "armhf"))
2893-
2894 def test_wubi(self):
2895 self.config["SUBPROJECT"] = "wubi"
2896 for series, fstype in (
2897 ("precise", "ext3"),
2898- ("quantal", "ext3"), # ext4
2899+ ("trusty", "ext3"), # ext4
2900 ):
2901 self.config["DIST"] = series
2902 self.assertEqual(
2903@@ -405,10 +370,10 @@
2904
2905 def test_basic(self):
2906 self.config["PROJECT"] = "ubuntu"
2907- self.config["DIST"] = "raring"
2908+ self.config["DIST"] = "trusty"
2909 expected = self.base_expected + [
2910 "buildd@cardamom.buildd", "/home/buildd/bin/BuildLiveCD",
2911- "-l", "-A", "i386", "-d", "raring", "ubuntu",
2912+ "-l", "-A", "i386", "-d", "trusty", "ubuntu",
2913 ]
2914 self.assertEqual(expected, live_build_command(self.config, "i386"))
2915
2916@@ -417,8 +382,8 @@
2917 self.assertCommandContains(["-u", "zh_CN"], "i386")
2918
2919 def test_pre_live_build(self):
2920- self.config["DIST"] = "natty"
2921- self.assertNotIn("-l", live_build_command(self.config, "i386"))
2922+ self.config["DIST"] = "precise"
2923+ self.assertIn("-l", live_build_command(self.config, "i386"))
2924
2925 @mock.patch(
2926 "cdimage.livefs.live_build_options", return_value=["-f", "plain"])
2927@@ -506,21 +471,21 @@
2928 def test_live_build_notify_failure_no_log(self, mock_send_mail, *args):
2929 self.config.root = self.use_temp_dir()
2930 self.config["PROJECT"] = "ubuntu"
2931- self.config["DIST"] = "raring"
2932+ self.config["DIST"] = "trusty"
2933 self.config["IMAGE_TYPE"] = "daily"
2934 path = os.path.join(self.temp_dir, "production", "notify-addresses")
2935 with mkfile(path) as notify_addresses:
2936 print("ALL\tfoo@example.org", file=notify_addresses)
2937 live_build_notify_failure(self.config, "i386")
2938 mock_send_mail.assert_called_once_with(
2939- "LiveFS ubuntu/raring/i386 failed to build on 20130315",
2940+ "LiveFS ubuntu/trusty/i386 failed to build on 20130315",
2941 "buildlive", ["foo@example.org"], b"")
2942
2943 @mock.patch("time.strftime", return_value="20130315")
2944 @mock.patch("cdimage.livefs.send_mail")
2945 def test_live_build_notify_failure_log(self, mock_send_mail, *args):
2946 self.config["PROJECT"] = "kubuntu"
2947- self.config["DIST"] = "raring"
2948+ self.config["DIST"] = "trusty"
2949 self.config["IMAGE_TYPE"] = "daily"
2950 path = os.path.join(self.temp_dir, "production", "notify-addresses")
2951 with mkfile(path) as notify_addresses:
2952@@ -529,10 +494,10 @@
2953 with mock.patch("cdimage.livefs.urlopen", mock_urlopen_obj):
2954 live_build_notify_failure(self.config, "armhf+omap4")
2955 mock_urlopen_obj.assert_called_once_with(
2956- "http://kishi00.buildd/~buildd/LiveCD/raring/kubuntu-omap4/latest/"
2957+ "http://kishi00.buildd/~buildd/LiveCD/trusty/kubuntu-omap4/latest/"
2958 "livecd-armhf.out", timeout=30)
2959 mock_send_mail.assert_called_once_with(
2960- "LiveFS kubuntu-omap4/raring/armhf+omap4 failed to build on "
2961+ "LiveFS kubuntu-omap4/trusty/armhf+omap4 failed to build on "
2962 "20130315",
2963 "buildlive", ["foo@example.org"], b"Log data\n")
2964
2965@@ -542,7 +507,7 @@
2966 @mock.patch("cdimage.livefs.send_mail")
2967 def test_run_live_builds_notifies_on_failure(self, mock_send_mail, *args):
2968 self.config["PROJECT"] = "ubuntu"
2969- self.config["DIST"] = "raring"
2970+ self.config["DIST"] = "trusty"
2971 self.config["IMAGE_TYPE"] = "daily"
2972 self.config["ARCHES"] = "amd64 i386"
2973 path = os.path.join(self.temp_dir, "production", "notify-addresses")
2974@@ -563,10 +528,10 @@
2975 ], self.captured_log_messages())
2976 mock_send_mail.assert_has_calls([
2977 mock.call(
2978- "LiveFS ubuntu/raring/amd64 failed to build on 20130315",
2979+ "LiveFS ubuntu/trusty/amd64 failed to build on 20130315",
2980 "buildlive", ["foo@example.org"], b"Log data\n"),
2981 mock.call(
2982- "LiveFS ubuntu/raring/i386 failed to build on 20130315",
2983+ "LiveFS ubuntu/trusty/i386 failed to build on 20130315",
2984 "buildlive", ["foo@example.org"], b"Log data\n"),
2985 ], any_order=True)
2986
2987@@ -577,7 +542,7 @@
2988 def test_run_live_builds(self, mock_live_build_notify_failure, mock_popen,
2989 mock_tracker_set_rebuild_status, *args):
2990 self.config["PROJECT"] = "ubuntu"
2991- self.config["DIST"] = "raring"
2992+ self.config["DIST"] = "trusty"
2993 self.config["IMAGE_TYPE"] = "daily"
2994 self.config["ARCHES"] = "amd64 i386"
2995 self.capture_logging()
2996@@ -605,12 +570,12 @@
2997 mock.call(
2998 expected_command_base + [
2999 "buildd@kapok.buildd", "/home/buildd/bin/BuildLiveCD",
3000- "-l", "-A", "amd64", "-d", "raring", "ubuntu",
3001+ "-l", "-A", "amd64", "-d", "trusty", "ubuntu",
3002 ]),
3003 mock.call(
3004 expected_command_base + [
3005 "buildd@cardamom.buildd", "/home/buildd/bin/BuildLiveCD",
3006- "-l", "-A", "i386", "-d", "raring", "ubuntu",
3007+ "-l", "-A", "i386", "-d", "trusty", "ubuntu",
3008 ])
3009 ])
3010 self.assertEqual(0, mock_live_build_notify_failure.call_count)
3011@@ -622,7 +587,7 @@
3012 mock_live_build_notify_failure,
3013 mock_popen, *args):
3014 self.config["PROJECT"] = "ubuntu"
3015- self.config["DIST"] = "raring"
3016+ self.config["DIST"] = "trusty"
3017 self.config["IMAGE_TYPE"] = "daily"
3018 self.config["ARCHES"] = "amd64 amd64+mac"
3019 self.capture_logging()
3020@@ -632,7 +597,7 @@
3021 "ssh", "-n", "-o", "StrictHostKeyChecking=no",
3022 "-o", "BatchMode=yes",
3023 "buildd@kapok.buildd", "/home/buildd/bin/BuildLiveCD",
3024- "-l", "-A", "amd64", "-d", "raring", "ubuntu",
3025+ "-l", "-A", "amd64", "-d", "trusty", "ubuntu",
3026 ]
3027 mock_popen.assert_called_once_with(expected_command)
3028 self.assertEqual(0, mock_live_build_notify_failure.call_count)
3029@@ -643,7 +608,7 @@
3030 @mock.patch("cdimage.livefs.send_mail")
3031 def test_run_live_builds_partial_success(self, mock_send_mail, *args):
3032 self.config["PROJECT"] = "ubuntu"
3033- self.config["DIST"] = "raring"
3034+ self.config["DIST"] = "trusty"
3035 self.config["IMAGE_TYPE"] = "daily"
3036 self.config["ARCHES"] = "amd64 i386"
3037 path = os.path.join(self.temp_dir, "production", "notify-addresses")
3038@@ -677,17 +642,17 @@
3039 mock.call(
3040 expected_command_base + [
3041 "buildd@kapok.buildd", "/home/buildd/bin/BuildLiveCD",
3042- "-l", "-A", "amd64", "-d", "raring", "ubuntu",
3043+ "-l", "-A", "amd64", "-d", "trusty", "ubuntu",
3044 ]),
3045 mock.call(
3046 expected_command_base + [
3047 "buildd@cardamom.buildd",
3048 "/home/buildd/bin/BuildLiveCD",
3049- "-l", "-A", "i386", "-d", "raring", "ubuntu",
3050+ "-l", "-A", "i386", "-d", "trusty", "ubuntu",
3051 ]),
3052 ])
3053 mock_send_mail.assert_called_once_with(
3054- "LiveFS ubuntu/raring/i386 failed to build on 20130315",
3055+ "LiveFS ubuntu/trusty/i386 failed to build on 20130315",
3056 "buildlive", ["foo@example.org"], b"Log data\n")
3057
3058 @skipUnless(launchpad_available, "launchpadlib not available")
3059@@ -702,7 +667,7 @@
3060 mock_tracker_set_rebuild_status, mock_sleep,
3061 *args):
3062 self.config["PROJECT"] = "ubuntu"
3063- self.config["DIST"] = "utopic"
3064+ self.config["DIST"] = "xenial"
3065 self.config["IMAGE_TYPE"] = "daily"
3066 self.config["ARCHES"] = "amd64 i386"
3067 osextras.unlink_force(os.path.join(
3068@@ -737,13 +702,13 @@
3069 lp = get_launchpad()
3070 owner = lp.people["ubuntu-cdimage"]
3071 ubuntu = lp.distributions["ubuntu"]
3072- utopic = ubuntu.getSeries(name_or_version="utopic")
3073+ xenial = ubuntu.getSeries(name_or_version="xenial")
3074 dases = [
3075- utopic.getDistroArchSeries(archtag)
3076+ xenial.getDistroArchSeries(archtag)
3077 for archtag in ("amd64", "i386")]
3078 self.assertEqual(2, len(dases))
3079 livefs = lp.livefses.getByName(
3080- owner=owner, distro_series=utopic, name="ubuntu-desktop")
3081+ owner=owner, distro_series=xenial, name="ubuntu-desktop")
3082 builds = [
3083 livefs.getLatestBuild(distro_arch_series=das) for das in dases]
3084 self.assertEqual(2, len(builds))
3085@@ -844,7 +809,7 @@
3086
3087 def test_livecd_override(self):
3088 self.assertBaseEqual(
3089- "ftp://blah/quantal/ubuntu/current", "i386", "ubuntu", "quantal",
3090+ "ftp://blah/trusty/ubuntu/current", "i386", "ubuntu", "trusty",
3091 livecd="ftp://blah")
3092
3093 def test_subproject(self):
3094@@ -861,11 +826,11 @@
3095
3096 def test_subarch(self):
3097 self.assertBaseEqual(
3098- self.base("royal.buildd", "ubuntu-ps3", "gutsy"),
3099- "powerpc+ps3", "ubuntu", "gutsy")
3100+ self.base("royal.buildd", "ubuntu-ps3", "precise"),
3101+ "powerpc+ps3", "ubuntu", "precise")
3102 self.assertBaseEqual(
3103- self.base("celbalrai.buildd", "ubuntu-server-omap", "oneiric"),
3104- "armel+omap", "ubuntu-server", "oneiric")
3105+ self.base("celbalrai.buildd", "ubuntu-server-omap", "precise"),
3106+ "armel+omap", "ubuntu-server", "precise")
3107
3108 def test_ubuntu_defaults_locale(self):
3109 for series in all_series:
3110@@ -882,9 +847,6 @@
3111 self.assertEqual(expected.split(), flavours(config, arch))
3112
3113 def test_amd64(self):
3114- for series in all_series[:4]:
3115- self.assertFlavoursEqual(
3116- "amd64-generic", "amd64", "ubuntu", series)
3117 for series in all_series[4:]:
3118 self.assertFlavoursEqual(
3119 "generic", "amd64", "ubuntu", series)
3120@@ -893,12 +855,11 @@
3121 "lowlatency", "amd64", "ubuntustudio", series)
3122
3123 def test_armel(self):
3124- self.assertFlavoursEqual("imx51", "armel+imx51", "ubuntu", "jaunty")
3125- self.assertFlavoursEqual("imx51", "armel+omap", "ubuntu", "jaunty")
3126 for series in all_series[10:]:
3127 self.assertFlavoursEqual(
3128 "linaro-lt-mx5", "armel+mx5", "ubuntu", series)
3129 self.assertFlavoursEqual("omap", "armel+omap", "ubuntu", series)
3130+ self.assertFlavoursEqual("imx51", "armel+imx51", "ubuntu", series)
3131
3132 def test_armhf(self):
3133 for series in all_series:
3134@@ -911,11 +872,8 @@
3135 self.assertFlavoursEqual("hppa32 hppa64", "hppa", "ubuntu", series)
3136
3137 def test_i386(self):
3138- for series in all_series[:4]:
3139- self.assertFlavoursEqual("i386", "i386", "ubuntu", series)
3140- for series in all_series[4:15] + all_series[17:]:
3141+ for series in all_series[4:]:
3142 self.assertFlavoursEqual("generic", "i386", "ubuntu", series)
3143- self.assertFlavoursEqual("generic", "i386", "ubuntu", "precise")
3144 for series in all_series[4:]:
3145 self.assertFlavoursEqual("generic", "i386", "xubuntu", series)
3146 self.assertFlavoursEqual("generic", "i386", "lubuntu", series)
3147@@ -926,33 +884,18 @@
3148 "lowlatency", "i386", "ubuntustudio", series)
3149
3150 def test_ia64(self):
3151- for series in all_series[:4]:
3152- self.assertFlavoursEqual(
3153- "itanium-smp mckinley-smp", "ia64", "ubuntu", series)
3154- for series in all_series[4:10]:
3155- self.assertFlavoursEqual(
3156- "itanium mckinley", "ia64", "ubuntu", series)
3157 for series in all_series[10:]:
3158 self.assertFlavoursEqual("ia64", "ia64", "ubuntu", series)
3159
3160- def test_lpia(self):
3161- for series in all_series:
3162- self.assertFlavoursEqual("lpia", "lpia", "ubuntu", series)
3163-
3164 def test_powerpc(self):
3165- for series in all_series[:15]:
3166- self.assertFlavoursEqual(
3167- "powerpc powerpc64-smp", "powerpc", "ubuntu", series)
3168 for series in all_series[15:24]:
3169 self.assertFlavoursEqual(
3170 "powerpc-smp powerpc64-smp", "powerpc", "ubuntu", series)
3171 for series in all_series[24:]:
3172 self.assertFlavoursEqual(
3173 "powerpc-smp generic", "powerpc", "ubuntu", series)
3174- self.assertFlavoursEqual("cell", "powerpc+ps3", "ubuntu", "gutsy")
3175- for series in all_series[7:15]:
3176- self.assertFlavoursEqual(
3177- "powerpc powerpc64-smp", "powerpc+ps3", "ubuntu", "hardy")
3178+ self.assertFlavoursEqual(
3179+ "powerpc-smp powerpc64-smp", "powerpc+ps3", "ubuntu", "precise")
3180
3181 def test_ppc64el(self):
3182 for series in all_series:
3183@@ -985,20 +928,6 @@
3184 self.config["DIST"] = series
3185 self.assertEqual([], list(live_item_paths(self.config, arch, item)))
3186
3187- def test_tocd3_fallback(self):
3188- for item in ("cloop", "manifest"):
3189- self.assertPathsEqual(
3190- ["/home/cjwatson/tocd3/livecd.tocd3.%s" % item],
3191- "i386", item, "tocd3", "hoary")
3192-
3193- def test_ubuntu_breezy_fallback(self):
3194- for item in ("cloop", "manifest"):
3195- for arch in ("amd64", "i386", "powerpc"):
3196- self.assertPathsEqual(
3197- ["/home/cjwatson/breezy-live/ubuntu/livecd.%s.%s" %
3198- (arch, item)],
3199- arch, item, "ubuntu", "breezy")
3200-
3201 def test_desktop_items(self):
3202 for item in (
3203 "cloop", "squashfs", "manifest", "manifest-desktop",
3204@@ -1019,14 +948,14 @@
3205 def test_imgxz(self):
3206 for item in ("img.xz", "model-assertion"):
3207 self.assertPathsEqual(
3208- ["http://kapok.buildd/~buildd/LiveCD/artful/ubuntu-core/"
3209+ ["http://kapok.buildd/~buildd/LiveCD/xenial/ubuntu-core/"
3210 "current/livecd.ubuntu-core.%s" % item],
3211- "amd64", item, "ubuntu-core", "artful")
3212+ "amd64", item, "ubuntu-core", "xenial")
3213 self.assertPathsEqual(
3214- ["http://kishi00.buildd/~buildd/LiveCD/artful/"
3215+ ["http://kishi00.buildd/~buildd/LiveCD/xenial/"
3216 "ubuntu-core-raspi2/current/"
3217 "livecd.ubuntu-core-raspi2.%s" % item],
3218- "armhf+raspi2", item, "ubuntu-core", "artful")
3219+ "armhf+raspi2", item, "ubuntu-core", "xenial")
3220
3221 def test_kernel_items(self):
3222 for item in ("kernel", "initrd", "bootimg"):
3223@@ -1035,14 +964,14 @@
3224 ["%s/livecd.kubuntu.%s-generic" % (root, item),
3225 "%s/livecd.kubuntu.%s-generic-hwe" % (root, item)],
3226 "amd64", item, "kubuntu", "precise")
3227- root = ("http://royal.buildd/~buildd/LiveCD/hardy/ubuntu-ps3/"
3228+ root = ("http://royal.buildd/~buildd/LiveCD/precise/ubuntu-ps3/"
3229 "current")
3230 self.assertPathsEqual(
3231- ["%s/livecd.ubuntu-ps3.%s-powerpc" % (root, item),
3232+ ["%s/livecd.ubuntu-ps3.%s-powerpc-smp" % (root, item),
3233 "%s/livecd.ubuntu-ps3.%s-powerpc64-smp" % (root, item),
3234- "%s/livecd.ubuntu-ps3.%s-powerpc-hwe" % (root, item),
3235+ "%s/livecd.ubuntu-ps3.%s-powerpc-smp-hwe" % (root, item),
3236 "%s/livecd.ubuntu-ps3.%s-powerpc64-smp-hwe" % (root, item)],
3237- "powerpc+ps3", item, "ubuntu", "hardy")
3238+ "powerpc+ps3", item, "ubuntu", "precise")
3239
3240 def test_kernel_efi_signed(self):
3241 self.assertNoPaths("i386", "kernel-efi-signed", "ubuntu", "quantal")
3242@@ -1056,21 +985,7 @@
3243 ["%s/livecd.ubuntu.kernel-generic.efi.signed" % root],
3244 "amd64", "kernel-efi-signed", "ubuntu", "quantal")
3245
3246- # TODO: Since this is only of historical interest, we only test a small
3247- # number of cases at the moment.
3248- def test_winfoss(self):
3249- self.assertNoPaths("i386", "winfoss", "ubuntu", "warty")
3250- self.assertNoPaths("powerpc", "winfoss", "ubuntu", "hardy")
3251- self.assertPathsEqual(
3252- ["http://people.canonical.com/~henrik/winfoss/gutsy/"
3253- "ubuntu/current/ubuntu-winfoss-7.10.tar.gz"],
3254- "i386", "winfoss", "ubuntu", "karmic")
3255- self.assertNoPaths("i386", "winfoss", "ubuntu", "precise")
3256-
3257 def test_wubi(self):
3258- for series in all_series[:6]:
3259- self.assertNoPaths("amd64", "wubi", "ubuntu", series)
3260- self.assertNoPaths("i386", "wubi", "ubuntu", series)
3261 for series in all_series[6:]:
3262 path = ("http://people.canonical.com/~ubuntu-archive/wubi/%s/"
3263 "stable" % series)
3264@@ -1079,15 +994,6 @@
3265 self.assertNoPaths("i386", "wubi", "xubuntu", "precise")
3266 self.assertNoPaths("powerpc", "wubi", "ubuntu", "precise")
3267
3268- def test_umenu(self):
3269- for series in all_series[:7] + all_series[8:]:
3270- self.assertNoPaths("amd64", "umenu", "ubuntu", series)
3271- self.assertNoPaths("i386", "umenu", "ubuntu", series)
3272- path = "http://people.canonical.com/~evand/umenu/stable"
3273- self.assertPathsEqual([path], "amd64", "umenu", "ubuntu", "hardy")
3274- self.assertPathsEqual([path], "i386", "umenu", "ubuntu", "hardy")
3275- self.assertNoPaths("powerpc", "umenu", "ubuntu", "hardy")
3276-
3277 def test_usb_creator(self):
3278 for series in all_series:
3279 path = ("http://people.canonical.com/~evand/usb-creator/%s/"
3280@@ -1118,49 +1024,50 @@
3281
3282 def test_live_output_directory(self):
3283 self.config["PROJECT"] = "ubuntu"
3284- self.config["DIST"] = "raring"
3285+ self.config["DIST"] = "trusty"
3286 self.config["IMAGE_TYPE"] = "daily-live"
3287 expected = os.path.join(
3288- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live")
3289+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live")
3290 self.assertEqual(expected, live_output_directory(self.config))
3291 self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN"
3292 expected = os.path.join(
3293- self.temp_dir, "scratch", "ubuntu-zh_CN", "raring", "daily-live",
3294+ self.temp_dir, "scratch", "ubuntu-zh_CN", "trusty", "daily-live",
3295 "live")
3296 self.assertEqual(expected, live_output_directory(self.config))
3297
3298 @mock.patch("cdimage.osextras.fetch")
3299 def test_download_live_items_no_item(self, mock_fetch):
3300 self.config["PROJECT"] = "ubuntu"
3301- self.config["DIST"] = "raring"
3302+ self.config["DIST"] = "trusty"
3303 self.config["IMAGE_TYPE"] = "daily-live"
3304- self.assertFalse(download_live_items(self.config, "powerpc", "umenu"))
3305+ self.assertFalse(download_live_items(self.config, "powerpc",
3306+ "usb-creator"))
3307 self.assertEqual(0, mock_fetch.call_count)
3308
3309 @mock.patch("cdimage.osextras.fetch", side_effect=osextras.FetchError)
3310 def test_download_live_items_failed_fetch(self, mock_fetch):
3311 self.config["PROJECT"] = "ubuntu"
3312- self.config["DIST"] = "raring"
3313+ self.config["DIST"] = "trusty"
3314 self.config["IMAGE_TYPE"] = "daily-live"
3315 self.assertFalse(download_live_items(self.config, "i386", "squashfs"))
3316 mock_fetch.assert_called_once_with(
3317 self.config,
3318- "http://cardamom.buildd/~buildd/LiveCD/raring/ubuntu/current/"
3319+ "http://cardamom.buildd/~buildd/LiveCD/trusty/ubuntu/current/"
3320 "livecd.ubuntu.squashfs",
3321 os.path.join(
3322- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live",
3323+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live",
3324 "live", "i386.squashfs"))
3325
3326 @mock.patch("cdimage.osextras.fetch")
3327 def test_download_live_items_kernel(self, mock_fetch):
3328 self.config["PROJECT"] = "ubuntu"
3329- self.config["DIST"] = "quantal"
3330+ self.config["DIST"] = "trusty"
3331 self.config["IMAGE_TYPE"] = "daily-live"
3332 self.assertTrue(download_live_items(self.config, "powerpc", "kernel"))
3333- prefix = ("http://royal.buildd/~buildd/LiveCD/quantal/ubuntu/current/"
3334+ prefix = ("http://royal.buildd/~buildd/LiveCD/trusty/ubuntu/current/"
3335 "livecd.ubuntu.kernel-")
3336 target_dir = os.path.join(
3337- self.temp_dir, "scratch", "ubuntu", "quantal", "daily-live",
3338+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live",
3339 "live")
3340 mock_fetch.assert_has_calls([
3341 mock.call(
3342@@ -1204,15 +1111,15 @@
3343 @mock.patch("cdimage.osextras.fetch")
3344 def test_download_live_items_initrd(self, mock_fetch):
3345 self.config["PROJECT"] = "ubuntu"
3346- self.config["DIST"] = "raring"
3347+ self.config["DIST"] = "trusty"
3348 self.config["IMAGE_TYPE"] = "daily-live"
3349 self.assertTrue(download_live_items(self.config, "i386", "kernel"))
3350- prefix = ("http://cardamom.buildd/~buildd/LiveCD/raring/ubuntu/"
3351+ prefix = ("http://cardamom.buildd/~buildd/LiveCD/trusty/ubuntu/"
3352 "current/livecd.ubuntu.kernel-")
3353 calls = []
3354 for suffix in '', '-hwe':
3355 target_dir = os.path.join(
3356- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live",
3357+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live",
3358 "live")
3359 calls.append(
3360 mock.call(
3361@@ -1223,14 +1130,14 @@
3362 @mock.patch("cdimage.osextras.fetch")
3363 def test_download_live_items_kernel_efi_signed(self, mock_fetch):
3364 self.config["PROJECT"] = "ubuntu"
3365- self.config["DIST"] = "raring"
3366+ self.config["DIST"] = "trusty"
3367 self.config["IMAGE_TYPE"] = "daily-live"
3368 self.assertTrue(
3369 download_live_items(self.config, "amd64", "kernel-efi-signed"))
3370- prefix = ("http://kapok.buildd/~buildd/LiveCD/raring/ubuntu/"
3371+ prefix = ("http://kapok.buildd/~buildd/LiveCD/trusty/ubuntu/"
3372 "current/livecd.ubuntu.kernel-")
3373 target_dir = os.path.join(
3374- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live")
3375+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live")
3376 mock_fetch.assert_called_once_with(
3377 self.config, prefix + "generic.efi.signed",
3378 os.path.join(target_dir, "amd64.kernel-generic.efi.signed"))
3379@@ -1238,16 +1145,16 @@
3380 @mock.patch("cdimage.osextras.fetch")
3381 def test_download_live_items_bootimg(self, mock_fetch):
3382 self.config["PROJECT"] = "ubuntu"
3383- self.config["DIST"] = "raring"
3384+ self.config["DIST"] = "trusty"
3385 self.config["IMAGE_TYPE"] = "daily-preinstalled"
3386 self.assertTrue(
3387 download_live_items(self.config, "armhf+omap4", "bootimg"))
3388- url = ("http://kishi00.buildd/~buildd/LiveCD/raring/ubuntu-omap4/"
3389+ url = ("http://kishi00.buildd/~buildd/LiveCD/trusty/ubuntu-omap4/"
3390 "current/livecd.ubuntu-omap4.bootimg-omap4")
3391 calls = []
3392 for suffix in '', '-hwe':
3393 target_dir = os.path.join(
3394- self.temp_dir, "scratch", "ubuntu", "raring",
3395+ self.temp_dir, "scratch", "ubuntu", "trusty",
3396 "daily-preinstalled", "live")
3397 calls.append(
3398 mock.call(
3399@@ -1259,77 +1166,52 @@
3400 @mock.patch("cdimage.osextras.fetch")
3401 def test_download_live_items_wubi(self, mock_fetch):
3402 self.config["PROJECT"] = "ubuntu"
3403- self.config["DIST"] = "raring"
3404+ self.config["DIST"] = "trusty"
3405 self.config["IMAGE_TYPE"] = "daily-live"
3406 self.assertTrue(download_live_items(self.config, "i386", "wubi"))
3407- url = "http://people.canonical.com/~ubuntu-archive/wubi/raring/stable"
3408+ url = "http://people.canonical.com/~ubuntu-archive/wubi/trusty/stable"
3409 target_dir = os.path.join(
3410- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live")
3411+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live")
3412 mock_fetch.assert_called_once_with(
3413 self.config, url, os.path.join(target_dir, "i386.wubi.exe"))
3414
3415 @mock.patch("cdimage.osextras.fetch")
3416- def test_download_live_items_umenu(self, mock_fetch):
3417- self.config["PROJECT"] = "ubuntu"
3418- self.config["DIST"] = "hardy"
3419- self.config["IMAGE_TYPE"] = "daily-live"
3420- self.assertTrue(download_live_items(self.config, "i386", "umenu"))
3421- url = "http://people.canonical.com/~evand/umenu/stable"
3422- target_dir = os.path.join(
3423- self.temp_dir, "scratch", "ubuntu", "hardy", "daily-live", "live")
3424- mock_fetch.assert_called_once_with(
3425- self.config, url, os.path.join(target_dir, "i386.umenu.exe"))
3426-
3427- @mock.patch("cdimage.osextras.fetch")
3428 def test_download_live_items_usb_creator(self, mock_fetch):
3429 self.config["PROJECT"] = "ubuntu"
3430- self.config["DIST"] = "raring"
3431+ self.config["DIST"] = "trusty"
3432 self.config["IMAGE_TYPE"] = "daily-live"
3433 self.assertTrue(
3434 download_live_items(self.config, "i386", "usb-creator"))
3435- url = "http://people.canonical.com/~evand/usb-creator/raring/stable"
3436+ url = "http://people.canonical.com/~evand/usb-creator/trusty/stable"
3437 target_dir = os.path.join(
3438- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live")
3439+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live")
3440 mock_fetch.assert_called_once_with(
3441 self.config, url, os.path.join(target_dir, "i386.usb-creator.exe"))
3442
3443 @mock.patch("cdimage.osextras.fetch")
3444- def test_download_live_items_winfoss(self, mock_fetch):
3445- self.config["PROJECT"] = "ubuntu"
3446- self.config["DIST"] = "gutsy"
3447- self.config["IMAGE_TYPE"] = "daily-live"
3448- self.assertTrue(download_live_items(self.config, "i386", "winfoss"))
3449- url = ("http://people.canonical.com/~henrik/winfoss/gutsy/ubuntu/"
3450- "current/ubuntu-winfoss-7.10.tar.gz")
3451- target_dir = os.path.join(
3452- self.temp_dir, "scratch", "ubuntu", "gutsy", "daily-live", "live")
3453- mock_fetch.assert_called_once_with(
3454- self.config, url, os.path.join(target_dir, "i386.winfoss.tgz"))
3455-
3456- @mock.patch("cdimage.osextras.fetch")
3457 def test_download_live_items_squashfs(self, mock_fetch):
3458 self.config["PROJECT"] = "ubuntu"
3459- self.config["DIST"] = "raring"
3460+ self.config["DIST"] = "trusty"
3461 self.config["IMAGE_TYPE"] = "daily-live"
3462 self.assertTrue(download_live_items(self.config, "i386", "squashfs"))
3463- url = ("http://cardamom.buildd/~buildd/LiveCD/raring/ubuntu/"
3464+ url = ("http://cardamom.buildd/~buildd/LiveCD/trusty/ubuntu/"
3465 "current/livecd.ubuntu.squashfs")
3466 target_dir = os.path.join(
3467- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live")
3468+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live")
3469 mock_fetch.assert_called_once_with(
3470 self.config, url, os.path.join(target_dir, "i386.squashfs"))
3471
3472 @mock.patch("cdimage.osextras.fetch")
3473 def test_download_live_items_server_squashfs(self, mock_fetch):
3474 self.config["PROJECT"] = "edubuntu"
3475- self.config["DIST"] = "raring"
3476+ self.config["DIST"] = "trusty"
3477 self.config["IMAGE_TYPE"] = "dvd"
3478 self.assertTrue(
3479 download_live_items(self.config, "i386", "server-squashfs"))
3480- url = ("http://cardamom.buildd/~buildd/LiveCD/raring/ubuntu-server/"
3481+ url = ("http://cardamom.buildd/~buildd/LiveCD/trusty/ubuntu-server/"
3482 "current/livecd.ubuntu-server.squashfs")
3483 target_dir = os.path.join(
3484- self.temp_dir, "scratch", "edubuntu", "raring", "dvd", "live")
3485+ self.temp_dir, "scratch", "edubuntu", "trusty", "dvd", "live")
3486 mock_fetch.assert_called_once_with(
3487 self.config, url, os.path.join(target_dir, "i386.server-squashfs"))
3488
3489@@ -1364,6 +1246,10 @@
3490 self.assert_server_live_download_items(
3491 "bionic", "maas-region.squashfs", ["maas-region.squashfs"])
3492
3493+ def test_download_live_items_multi_layers_squashfs(self):
3494+ self.assert_server_live_download_items(
3495+ "disco", "minimal.standard.live.squashfs", ["minimal.standard.live.squashfs"])
3496+
3497 def test_download_live_server_boot_items(self):
3498 self.assert_server_live_download_items(
3499 "bionic", "kernel",
3500@@ -1377,10 +1263,10 @@
3501
3502 def test_write_autorun(self):
3503 self.config["PROJECT"] = "ubuntu"
3504- self.config["DIST"] = "raring"
3505+ self.config["DIST"] = "trusty"
3506 self.config["IMAGE_TYPE"] = "daily-live"
3507 output_dir = os.path.join(
3508- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live")
3509+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live")
3510 os.makedirs(output_dir)
3511 write_autorun(self.config, "i386", "wubi.exe", "Install Ubuntu")
3512 autorun_path = os.path.join(output_dir, "i386.autorun.inf")
3513@@ -1413,13 +1299,13 @@
3514
3515 mock_fetch.side_effect = fetch_side_effect
3516 self.config["PROJECT"] = "ubuntu"
3517- self.config["DIST"] = "raring"
3518+ self.config["DIST"] = "trusty"
3519 self.config["IMAGE_TYPE"] = "daily-live"
3520 self.config["ARCHES"] = "amd64 i386"
3521 self.config["CDIMAGE_LIVE"] = "1"
3522 download_live_filesystems(self.config)
3523 output_dir = os.path.join(
3524- self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live")
3525+ self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live")
3526 self.assertCountEqual([
3527 "amd64.autorun.inf",
3528 "amd64.initrd-generic",
3529
3530=== modified file 'lib/cdimage/tests/test_mirror.py'
3531--- lib/cdimage/tests/test_mirror.py 2015-12-08 13:17:26 +0000
3532+++ lib/cdimage/tests/test_mirror.py 2019-03-07 16:20:18 +0000
3533@@ -66,10 +66,6 @@
3534 for series in all_series:
3535 self.assertMirrorEqual("ftp", "i386", series)
3536
3537- def test_lpia(self):
3538- for series in all_series:
3539- self.assertMirrorEqual("ftp", "lpia", series)
3540-
3541 def test_powerpc(self):
3542 for series in all_series:
3543 self.assertMirrorEqual("ftp", "powerpc", series)
3544
3545=== modified file 'lib/cdimage/tests/test_tree.py'
3546--- lib/cdimage/tests/test_tree.py 2019-03-06 20:19:33 +0000
3547+++ lib/cdimage/tests/test_tree.py 2019-03-07 16:20:18 +0000
3548@@ -247,44 +247,26 @@
3549
3550 def test_publish_type(self):
3551 for image_type, project, dist, publish_type in (
3552- ("daily-preinstalled", "ubuntu-netbook", "precise",
3553- "preinstalled-netbook"),
3554- ("daily-preinstalled", "ubuntu-headless", "precise",
3555- "preinstalled-headless"),
3556 ("daily-preinstalled", "ubuntu-server", "precise",
3557 "preinstalled-server"),
3558 ("daily-preinstalled", "ubuntu-server", "xenial",
3559 "preinstalled-server"),
3560 ("daily-preinstalled", "ubuntu", "precise",
3561 "preinstalled-desktop"),
3562- ("daily-preinstalled", "ubuntu-touch", "saucy",
3563- "preinstalled-touch"),
3564- ("daily-preinstalled", "ubuntu-touch-custom", "vivid",
3565- "preinstalled-touch"),
3566- ("daily-live", "edubuntu", "edgy", "live"),
3567- ("daily-live", "edubuntu", "feisty", "desktop"),
3568- ("daily-live", "kubuntu-netbook", "lucid", "netbook"),
3569- ("daily-live", "kubuntu-plasma5", "utopic", "desktop"),
3570- ("daily-live", "ubuntu-mid", "lucid", "mid"),
3571- ("daily-live", "ubuntu-moblin-remix", "lucid", "moblin-remix"),
3572- ("daily-live", "ubuntu-netbook", "hardy", "netbook"),
3573- ("daily-live", "ubuntu-server", "hardy", "live-server"),
3574- ("daily-live", "ubuntu", "breezy", "live"),
3575- ("daily-live", "ubuntu", "dapper", "desktop"),
3576- ("daily-live", "ubuntu-zh_CN", "raring", "desktop"),
3577+ ("daily-preinstalled", "ubuntu-touch", "trusty",
3578+ "preinstalled-touch"),
3579+ ("daily-live", "edubuntu", "precise", "desktop"),
3580+ ("daily-live", "kubuntu-netbook", "precise", "netbook"),
3581+ ("daily-live", "ubuntu-server", "precise", "live-server"),
3582+ ("daily-live", "ubuntu", "precise", "desktop"),
3583+ ("daily-live", "ubuntu-zh_CN", "trusty", "desktop"),
3584 ("daily-live", "ubuntu-core", "xenial", "live-core"),
3585- ("ports_dvd", "ubuntu", "hardy", "dvd"),
3586- ("dvd", "kubuntu", "hardy", "dvd"),
3587- ("daily", "edubuntu", "edgy", "install"),
3588- ("daily", "edubuntu", "feisty", "server"),
3589- ("daily", "edubuntu", "gutsy", "server"),
3590- ("daily", "edubuntu", "hardy", "addon"),
3591- ("daily", "jeos", "hardy", "jeos"),
3592+ ("ports_dvd", "ubuntu", "precise", "dvd"),
3593+ ("dvd", "kubuntu", "precise", "dvd"),
3594+ ("daily", "edubuntu", "precise", "addon"),
3595 ("daily", "ubuntu-base", "precise", "base"),
3596- ("daily", "ubuntu-server", "breezy", "install"),
3597- ("daily", "ubuntu-server", "dapper", "server"),
3598- ("daily", "ubuntu", "breezy", "install"),
3599- ("daily", "ubuntu", "dapper", "alternate"),
3600+ ("daily", "ubuntu-server", "precise", "server"),
3601+ ("daily", "ubuntu", "precise", "alternate"),
3602 ):
3603 self.config["PROJECT"] = project
3604 self.config["DIST"] = dist
3605@@ -318,8 +300,6 @@
3606 for project, expected in (
3607 ("ubuntu", [assets + "/vanilla-framework-version-1.8.0.min.css"]),
3608 ("kubuntu", ["//releases.ubuntu.com/include/kubuntu.css"]),
3609- ("kubuntu-plasma5",
3610- ["//releases.ubuntu.com/include/kubuntu-plasma5.css"]),
3611 ("lubuntu",
3612 ["//cdimage.ubuntu.com/include/lubuntu/style.css"]),
3613 ("lubuntu-next",
3614@@ -330,7 +310,7 @@
3615 self.assertEqual(expected, publisher.cssincludes())
3616
3617 def test_cdtypestr(self):
3618- self.config["DIST"] = "quantal"
3619+ self.config["DIST"] = "trusty"
3620 publisher = Publisher(self.tree, "daily-live")
3621 self.assertEqual(
3622 "desktop image", publisher.cdtypestr("desktop", "iso"))
3623@@ -338,7 +318,7 @@
3624 def test_cdtypedesc_desktop(self):
3625 self.config["PROJECT"] = "ubuntu"
3626 self.config["CAPPROJECT"] = "Ubuntu"
3627- self.config["DIST"] = "quantal"
3628+ self.config["DIST"] = "trusty"
3629 publisher = Publisher(self.tree, "daily-live")
3630 desc = list(publisher.cdtypedesc("desktop", "iso"))
3631 self.assertEqual(
3632@@ -358,7 +338,7 @@
3633 def test_cdtypedesc_alternate(self):
3634 self.config["PROJECT"] = "ubuntu"
3635 self.config["CAPPROJECT"] = "Ubuntu"
3636- self.config["DIST"] = "quantal"
3637+ self.config["DIST"] = "trusty"
3638 publisher = Publisher(self.tree, "daily")
3639 desc = list(publisher.cdtypedesc("alternate", "iso"))
3640 self.assertEqual(
3641@@ -452,30 +432,30 @@
3642 def test_find_images(self):
3643 for name in (
3644 "MD5SUMS",
3645- "raring-desktop-amd64.iso", "raring-desktop-amd64.list",
3646- "raring-desktop-i386.iso", "raring-desktop-i386.list",
3647+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.list",
3648+ "trusty-desktop-i386.iso", "trusty-desktop-i386.list",
3649 ):
3650 touch(os.path.join(self.directory, name))
3651 publisher = Publisher(self.tree, "daily-live")
3652 self.assertCountEqual(
3653- ["raring-desktop-amd64.list", "raring-desktop-i386.list"],
3654- publisher.find_images(self.directory, "raring", "desktop"))
3655+ ["trusty-desktop-amd64.list", "trusty-desktop-i386.list"],
3656+ publisher.find_images(self.directory, "trusty", "desktop"))
3657
3658 def test_find_source_images(self):
3659 for name in (
3660 "MD5SUMS",
3661- "raring-src-1.iso", "raring-src-2.iso", "raring-src-3.iso",
3662+ "trusty-src-1.iso", "trusty-src-2.iso", "trusty-src-3.iso",
3663 ):
3664 touch(os.path.join(self.directory, name))
3665 publisher = Publisher(self.tree, "daily-live")
3666 self.assertEqual(
3667- [1, 2, 3], publisher.find_source_images(self.directory, "raring"))
3668+ [1, 2, 3], publisher.find_source_images(self.directory, "trusty"))
3669
3670 def test_find_any_with_extension(self):
3671 for name in (
3672 "MD5SUMS",
3673- "raring-desktop-amd64.iso", "raring-desktop-amd64.iso.torrent",
3674- "raring-desktop-i386.iso", "raring-desktop-i386.list",
3675+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.iso.torrent",
3676+ "trusty-desktop-i386.iso", "trusty-desktop-i386.list",
3677 ):
3678 touch(os.path.join(self.directory, name))
3679 publisher = Publisher(self.tree, "daily-live")
3680@@ -496,21 +476,21 @@
3681 # upgrading to XHTML so that we can use an XML parser.
3682 self.config["PROJECT"] = "ubuntu"
3683 self.config["CAPPROJECT"] = "Ubuntu"
3684- self.config["DIST"] = "raring"
3685+ self.config["DIST"] = "trusty"
3686 for name in (
3687 "MD5SUMS",
3688- "raring-desktop-amd64.iso", "raring-desktop-amd64.iso.zsync",
3689- "raring-desktop-i386.iso", "raring-desktop-i386.list",
3690+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.iso.zsync",
3691+ "trusty-desktop-i386.iso", "trusty-desktop-i386.list",
3692 ):
3693 touch(os.path.join(self.directory, name))
3694 publisher = Publisher(self.tree, "daily-live")
3695- publisher.make_web_indices(self.directory, "raring", status="daily")
3696+ publisher.make_web_indices(self.directory, "trusty", status="daily")
3697
3698 self.assertCountEqual([
3699 "HEADER.html", "FOOTER.html", ".htaccess",
3700 "MD5SUMS",
3701- "raring-desktop-amd64.iso", "raring-desktop-amd64.iso.zsync",
3702- "raring-desktop-i386.iso", "raring-desktop-i386.list",
3703+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.iso.zsync",
3704+ "trusty-desktop-i386.iso", "trusty-desktop-i386.list",
3705 ], os.listdir(self.directory))
3706
3707 header_path = os.path.join(self.directory, "HEADER.html")
3708@@ -533,13 +513,13 @@
3709 self.assertEqual(
3710 "AddDescription \"Desktop image for 64-bit PC (AMD64) "
3711 "computers (<a href=\\\"http://zsync.moria.org.uk/\\\">"
3712- "zsync</a> metafile)\" raring-desktop-amd64.iso.zsync\n"
3713+ "zsync</a> metafile)\" trusty-desktop-amd64.iso.zsync\n"
3714 "AddDescription \"Desktop image for 64-bit PC (AMD64) "
3715- "computers (standard download)\" raring-desktop-amd64.iso\n"
3716- "AddDescription \"Desktop image for 32-bit PC (i386) "
3717- "computers (standard download)\" raring-desktop-i386.iso\n"
3718- "AddDescription \"Desktop image for 32-bit PC (i386) "
3719- "computers (file listing)\" raring-desktop-i386.list\n"
3720+ "computers (standard download)\" trusty-desktop-amd64.iso\n"
3721+ "AddDescription \"Desktop image for 32-bit PC (i386) "
3722+ "computers (standard download)\" trusty-desktop-i386.iso\n"
3723+ "AddDescription \"Desktop image for 32-bit PC (i386) "
3724+ "computers (file listing)\" trusty-desktop-i386.list\n"
3725 "\n"
3726 "HeaderName HEADER.html\n"
3727 "ReadmeName FOOTER.html\n"
3728@@ -739,35 +719,24 @@
3729 ("edubuntu", None, "daily-preinstalled", "i386", 4700372992),
3730 ("edubuntu", None, "dvd", "i386", 4700372992),
3731 ("ubuntustudio", None, "dvd", "i386", 4700372992),
3732- ("ubuntu-mid", None, "daily-live", "i386", 1073741824),
3733- ("ubuntu-moblin-remix", None, "daily-live", "i386", 1073741824),
3734 ("kubuntu", "trusty", "daily-live", "i386", 1283457024),
3735 ("kubuntu", "xenial", "daily-live", "i386", 2000000000),
3736 ("kubuntu-active", "trusty", "daily-live", "i386", 1283457024),
3737 ("kubuntu-active", "xenial", "daily-live", "i386", 2000000000),
3738- ("kubuntu-plasma5", "trusty", "daily-live", "i386", 1283457024),
3739- ("kubuntu-plasma5", "xenial", "daily-live", "i386", 2000000000),
3740 ("ubuntu", None, "dvd", "i386", 4700372992),
3741 ("ubuntu", "precise", "daily-live", "i386", 736665600),
3742- ("ubuntu", "quantal", "daily-live", "i386", 801000000),
3743- ("ubuntu", "raring", "daily-live", "i386", 835000000),
3744- ("ubuntu", "raring", "daily-live", "powerpc", 850000000),
3745- ("ubuntu", "saucy", "daily-live", "i386", 950000000),
3746- ("ubuntu", "saucy", "daily-live", "powerpc", 950000000),
3747 ("ubuntu", "trusty", "daily-live", "i386", 1200000000),
3748 ("ubuntu", "trusty", "daily-live", "powerpc", 1200000000),
3749 ("ubuntu", "xenial", "daily-live", "i386", 2000000000),
3750- ("xubuntu", "quantal", "daily-live", "i386", 736665600),
3751- ("xubuntu", "raring", "daily-live", "i386", 1073741824),
3752 ("xubuntu", "xenial", "daily-live", "i386", 2000000000),
3753- ("ubuntu-gnome", "saucy", "daily-live", "i386", 1073741824),
3754+ ("ubuntu-gnome", "trusty", "daily-live", "i386", 1073741824),
3755 ("ubuntu-gnome", "xenial", "daily-live", "i386", 2000000000),
3756- ("ubuntu-budgie", "zesty", "daily-live", "i386", 2000000000),
3757+ ("ubuntu-budgie", "bionic", "daily-live", "i386", 2000000000),
3758 ("ubuntu-mate", "trusty", "daily-live", "amd64", 1073741824),
3759 ("ubuntu-mate", "xenial", "daily-live", "amd64", 2000000000),
3760 ("ubuntu-server", "xenial", "daily", "amd64", 1073741824),
3761- ("ubuntu-server", "zesty", "daily", "amd64", 736665600),
3762- ("ubuntu-server", "zesty", "daily", "ppc64el", 1073741824),
3763+ ("ubuntu-server", "bionic", "daily", "amd64", 1073741824),
3764+ ("ubuntu-server", "bionic", "daily", "ppc64el", 1073741824),
3765 ):
3766 if dist is not None:
3767 self.config["DIST"] = dist
3768@@ -843,27 +812,21 @@
3769
3770 def test_jigdo_ports_powerpc(self):
3771 publisher = self.make_publisher("ubuntu", "daily")
3772- for series in all_series[:5]:
3773- publisher.config["DIST"] = series
3774- self.assertFalse(publisher.jigdo_ports("powerpc"))
3775 for series in all_series[5:]:
3776 publisher.config["DIST"] = series
3777 self.assertTrue(publisher.jigdo_ports("powerpc"))
3778
3779 def test_jigdo_ports_sparc(self):
3780 publisher = self.make_publisher("ubuntu", "daily")
3781- for series in all_series[:3] + all_series[7:]:
3782+ for series in all_series[7:]:
3783 publisher.config["DIST"] = series
3784 self.assertTrue(publisher.jigdo_ports("sparc"))
3785- for series in all_series[3:7]:
3786- publisher.config["DIST"] = series
3787- self.assertFalse(publisher.jigdo_ports("sparc"))
3788
3789 def test_jigdo_ports(self):
3790 publisher = self.make_publisher("ubuntu", "daily")
3791 for arch in ("amd64", "i386"):
3792 self.assertFalse(publisher.jigdo_ports(arch))
3793- for arch in ("armel", "armhf", "hppa", "ia64", "lpia", "ppc64el",
3794+ for arch in ("armel", "armhf", "hppa", "ia64", "ppc64el",
3795 "s390x"):
3796 self.assertTrue(publisher.jigdo_ports(arch))
3797
3798@@ -921,7 +884,7 @@
3799 return_value="img.xz")
3800 @mock.patch("cdimage.tree.zsyncmake")
3801 def test_publish_core_binary(self, mock_zsyncmake, *args):
3802- self.config["DIST"] = "artful"
3803+ self.config["DIST"] = "xenial"
3804 publisher = self.make_publisher("ubuntu-core", "daily-live")
3805 source_dir = publisher.image_output("amd64")
3806 touch(os.path.join(
3807@@ -1025,17 +988,17 @@
3808 os.readlink(os.path.join(publisher.publish_base, "current")))
3809
3810 def test_published_images(self):
3811- self.config["DIST"] = "raring"
3812+ self.config["DIST"] = "trusty"
3813 publisher = self.make_publisher("ubuntu", "daily-live")
3814 target_dir = os.path.join(publisher.publish_base, "20130321")
3815 for name in (
3816 "MD5SUMS",
3817- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3818- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
3819+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
3820+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
3821 ):
3822 touch(os.path.join(target_dir, name))
3823 self.assertEqual(
3824- set(["raring-desktop-amd64.iso", "raring-desktop-i386.iso"]),
3825+ set(["trusty-desktop-amd64.iso", "trusty-desktop-i386.iso"]),
3826 publisher.published_images("20130321"))
3827
3828 def test_published_core_images(self):
3829@@ -1057,12 +1020,12 @@
3830
3831 @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory")
3832 def test_mark_current_missing_to_single(self, mock_polish_directory):
3833- self.config["DIST"] = "raring"
3834+ self.config["DIST"] = "trusty"
3835 publisher = self.make_publisher("ubuntu", "daily-live")
3836 target_dir = os.path.join(publisher.publish_base, "20130321")
3837 for name in (
3838- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3839- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
3840+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
3841+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
3842 ):
3843 touch(os.path.join(target_dir, name))
3844 publisher.mark_current("20130321", ["amd64", "i386"])
3845@@ -1073,13 +1036,13 @@
3846
3847 @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory")
3848 def test_mark_current_missing_to_mixed(self, mock_polish_directory):
3849- self.config["DIST"] = "raring"
3850+ self.config["DIST"] = "trusty"
3851 publisher = self.make_publisher("ubuntu", "daily-live")
3852 target_dir = os.path.join(publisher.publish_base, "20130321")
3853 for name in (
3854 "MD5SUMS",
3855- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3856- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
3857+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
3858+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
3859 ):
3860 touch(os.path.join(target_dir, name))
3861 publisher.mark_current("20130321", ["amd64"])
3862@@ -1087,10 +1050,10 @@
3863 self.assertFalse(os.path.islink(publish_current))
3864 self.assertTrue(os.path.isdir(publish_current))
3865 self.assertCountEqual(
3866- ["raring-desktop-amd64.iso", "raring-desktop-amd64.manifest"],
3867+ ["trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest"],
3868 os.listdir(publish_current))
3869 for name in (
3870- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3871+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
3872 ):
3873 path = os.path.join(publish_current, name)
3874 self.assertTrue(os.path.islink(path))
3875@@ -1101,12 +1064,12 @@
3876
3877 @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory")
3878 def test_mark_current_single_to_single(self, mock_polish_directory):
3879- self.config["DIST"] = "raring"
3880+ self.config["DIST"] = "trusty"
3881 publisher = self.make_publisher("ubuntu", "daily-live")
3882 for date in "20130320", "20130321":
3883 for name in (
3884- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3885- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
3886+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
3887+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
3888 ):
3889 touch(os.path.join(publisher.publish_base, date, name))
3890 publish_current = os.path.join(publisher.publish_base, "current")
3891@@ -1118,13 +1081,13 @@
3892
3893 @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory")
3894 def test_mark_current_single_to_mixed(self, mock_polish_directory):
3895- self.config["DIST"] = "raring"
3896+ self.config["DIST"] = "trusty"
3897 publisher = self.make_publisher("ubuntu", "daily-live")
3898 for date in "20130320", "20130321":
3899 for name in (
3900 "MD5SUMS",
3901- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3902- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
3903+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
3904+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
3905 ):
3906 touch(os.path.join(publisher.publish_base, date, name))
3907 publish_current = os.path.join(publisher.publish_base, "current")
3908@@ -1133,13 +1096,13 @@
3909 self.assertFalse(os.path.islink(publish_current))
3910 self.assertTrue(os.path.isdir(publish_current))
3911 self.assertCountEqual([
3912- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3913- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
3914+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
3915+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
3916 ], os.listdir(publish_current))
3917 for date, arch in (("20130320", "i386"), ("20130321", "amd64")):
3918 for name in (
3919- "raring-desktop-%s.iso" % arch,
3920- "raring-desktop-%s.manifest" % arch,
3921+ "trusty-desktop-%s.iso" % arch,
3922+ "trusty-desktop-%s.manifest" % arch,
3923 ):
3924 path = os.path.join(publish_current, name)
3925 self.assertTrue(os.path.islink(path))
3926@@ -1153,21 +1116,21 @@
3927
3928 @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory")
3929 def test_mark_current_mixed_to_single(self, mock_polish_directory):
3930- self.config["DIST"] = "raring"
3931+ self.config["DIST"] = "trusty"
3932 publisher = self.make_publisher("ubuntu", "daily-live")
3933 for date in "20130320", "20130321":
3934 for name in (
3935 "MD5SUMS",
3936- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3937- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
3938+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
3939+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
3940 ):
3941 touch(os.path.join(publisher.publish_base, date, name))
3942 publish_current = os.path.join(publisher.publish_base, "current")
3943 osextras.ensuredir(publish_current)
3944 for date, arch in (("20130320", "i386"), ("20130321", "amd64")):
3945 for name in (
3946- "raring-desktop-%s.iso" % arch,
3947- "raring-desktop-%s.manifest" % arch,
3948+ "trusty-desktop-%s.iso" % arch,
3949+ "trusty-desktop-%s.manifest" % arch,
3950 ):
3951 os.symlink(
3952 os.path.join(os.pardir, date, name),
3953@@ -1179,25 +1142,25 @@
3954
3955 @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory")
3956 def test_mark_current_mixed_to_mixed(self, mock_polish_directory):
3957- self.config["DIST"] = "raring"
3958+ self.config["DIST"] = "trusty"
3959 publisher = self.make_publisher("ubuntu", "daily-live")
3960 for date in "20130320", "20130321":
3961 for name in (
3962 "MD5SUMS",
3963- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3964- "raring-desktop-amd64+mac.iso",
3965- "raring-desktop-amd64+mac.manifest",
3966- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
3967- "raring-desktop-powerpc.iso",
3968- "raring-desktop-powerpc.manifest",
3969+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
3970+ "trusty-desktop-amd64+mac.iso",
3971+ "trusty-desktop-amd64+mac.manifest",
3972+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
3973+ "trusty-desktop-powerpc.iso",
3974+ "trusty-desktop-powerpc.manifest",
3975 ):
3976 touch(os.path.join(publisher.publish_base, date, name))
3977 publish_current = os.path.join(publisher.publish_base, "current")
3978 osextras.ensuredir(publish_current)
3979 for date, arch in (("20130320", "i386"), ("20130321", "amd64")):
3980 for name in (
3981- "raring-desktop-%s.iso" % arch,
3982- "raring-desktop-%s.manifest" % arch,
3983+ "trusty-desktop-%s.iso" % arch,
3984+ "trusty-desktop-%s.manifest" % arch,
3985 ):
3986 os.symlink(
3987 os.path.join(os.pardir, date, name),
3988@@ -1206,12 +1169,12 @@
3989 self.assertFalse(os.path.islink(publish_current))
3990 self.assertTrue(os.path.isdir(publish_current))
3991 self.assertCountEqual([
3992- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3993- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
3994+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
3995+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
3996 ], os.listdir(publish_current))
3997 for name in (
3998- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
3999- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
4000+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
4001+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
4002 ):
4003 path = os.path.join(publish_current, name)
4004 self.assertTrue(os.path.islink(path))
4005@@ -1227,19 +1190,19 @@
4006 self.assertFalse(os.path.islink(publish_current))
4007 self.assertTrue(os.path.isdir(publish_current))
4008 self.assertCountEqual([
4009- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
4010- "raring-desktop-amd64+mac.iso",
4011- "raring-desktop-amd64+mac.manifest",
4012- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
4013- "raring-desktop-powerpc.iso", "raring-desktop-powerpc.manifest",
4014+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
4015+ "trusty-desktop-amd64+mac.iso",
4016+ "trusty-desktop-amd64+mac.manifest",
4017+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
4018+ "trusty-desktop-powerpc.iso", "trusty-desktop-powerpc.manifest",
4019 ], os.listdir(publish_current))
4020 for date, arch in (
4021 ("20130320", "amd64+mac"), ("20130320", "powerpc"),
4022 ("20130321", "amd64"), ("20130321", "i386"),
4023 ):
4024 for name in (
4025- "raring-desktop-%s.iso" % arch,
4026- "raring-desktop-%s.manifest" % arch,
4027+ "trusty-desktop-%s.iso" % arch,
4028+ "trusty-desktop-%s.manifest" % arch,
4029 ):
4030 path = os.path.join(publish_current, name)
4031 self.assertTrue(os.path.islink(path))
4032@@ -1257,8 +1220,8 @@
4033 publisher = self.make_publisher("ubuntu", "daily-live")
4034 old_target_dir = os.path.join(publisher.publish_base, "20130321")
4035 for name in (
4036- "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest",
4037- "raring-desktop-i386.iso", "raring-desktop-i386.manifest",
4038+ "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest",
4039+ "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest",
4040 ):
4041 touch(os.path.join(old_target_dir, name))
4042 target_dir = os.path.join(publisher.publish_base, "20130921")
4043@@ -1292,8 +1255,6 @@
4044 ("ubuntu", "daily-live", "desktop", "Ubuntu Desktop"),
4045 ("kubuntu", "daily-live", "desktop", "Kubuntu Desktop"),
4046 ("kubuntu-active", "daily-live", "desktop", "Kubuntu Active"),
4047- ("kubuntu-plasma5", "daily-live", "desktop",
4048- "Kubuntu Plasma 5 Desktop"),
4049 ("edubuntu", "dvd", "dvd", "Edubuntu DVD"),
4050 ("xubuntu", "daily-live", "desktop", "Xubuntu Desktop"),
4051 ("ubuntu-server", "daily", "server", "Ubuntu Server"),
4052@@ -1308,8 +1269,6 @@
4053 ("ubuntu-budgie", "daily-live", "desktop",
4054 "Ubuntu Budgie Desktop"),
4055 ("ubuntu-mate", "daily-live", "desktop", "Ubuntu MATE Desktop"),
4056- ("ubuntu-desktop-next", "daily-preinstalled",
4057- "preinstalled-desktop-next", "Ubuntu Desktop (Unity 8)"),
4058 ):
4059 # Use "daily" here to match bin/post-qa; qa_product shouldn't
4060 # use the publisher's image_type at all.
4061@@ -1335,15 +1294,6 @@
4062 "ubuntu-touch", "daily-preinstalled", "preinstalled-touch",
4063 "armhf"))
4064
4065- def test_qa_product_ubuntu_touch_custom(self):
4066- publisher = self.make_publisher(
4067- "ubuntu-touch-custom", "daily-preinstalled")
4068- self.assertEqual(
4069- ("Ubuntu Touch Custom armhf", "iso"),
4070- publisher.qa_product(
4071- "ubuntu-touch-custom", "daily-preinstalled",
4072- "preinstalled-touch", "armhf"))
4073-
4074 def test_qa_product_ubuntu_preinstalled(self):
4075 publisher = self.make_publisher("ubuntu", "daily")
4076 self.assertEqual(
4077@@ -1365,8 +1315,6 @@
4078 ("ubuntu", "daily-live", "desktop", "Ubuntu Desktop"),
4079 ("kubuntu", "daily-live", "desktop", "Kubuntu Desktop"),
4080 ("kubuntu-active", "daily-live", "desktop", "Kubuntu Active"),
4081- ("kubuntu-plasma5", "daily-live", "desktop",
4082- "Kubuntu Plasma 5 Desktop"),
4083 ("edubuntu", "dvd", "dvd", "Edubuntu DVD"),
4084 ("xubuntu", "daily-live", "desktop", "Xubuntu Desktop"),
4085 ("ubuntu-server", "daily", "server", "Ubuntu Server"),
4086@@ -1381,8 +1329,6 @@
4087 ("ubuntu-budgie", "daily-live", "desktop",
4088 "Ubuntu Budgie Desktop"),
4089 ("ubuntu-mate", "daily-live", "desktop", "Ubuntu MATE Desktop"),
4090- ("ubuntu-desktop-next/system-image", "daily-preinstalled",
4091- "preinstalled-desktop-next", "Ubuntu Desktop (Unity 8)"),
4092 ):
4093 # Use "daily" here to match bin/post-qa; qa_product shouldn't
4094 # use the publisher's image_type at all.
4095@@ -1405,14 +1351,14 @@
4096 os.makedirs(os.path.join(publisher.publish_base, "20130221"))
4097 publisher.post_qa(
4098 "20130221", [
4099- "ubuntu/daily-live/raring-desktop-i386",
4100- "ubuntu/daily-live/raring-desktop-amd64",
4101+ "ubuntu/daily-live/trusty-desktop-i386",
4102+ "ubuntu/daily-live/trusty-desktop-amd64",
4103 ])
4104 expected = [
4105 ["Ubuntu Desktop i386", "20130221", ""],
4106 ["Ubuntu Desktop amd64", "20130221", ""],
4107 ]
4108- self.assertEqual("iso-raring", isotracker_module.tracker.target)
4109+ self.assertEqual("iso-trusty", isotracker_module.tracker.target)
4110 self.assertEqual(expected, isotracker_module.tracker.posted)
4111
4112 os.makedirs(os.path.join(
4113@@ -1434,14 +1380,14 @@
4114 publisher = self.make_publisher("ubuntu", "daily-live")
4115 touch(os.path.join(
4116 self.temp_dir, "www", "full", "daily-live", "20130315",
4117- "raring-desktop-i386.OVERSIZED"))
4118+ "trusty-desktop-i386.OVERSIZED"))
4119 publisher.post_qa(
4120- "20130315", ["ubuntu/daily-live/raring-desktop-i386"])
4121+ "20130315", ["ubuntu/daily-live/trusty-desktop-i386"])
4122 expected_note = (
4123 "<strong>WARNING: This image is OVERSIZED. This should never "
4124 "happen during milestone testing.</strong>")
4125 expected = [["Ubuntu Desktop i386", "20130315", expected_note]]
4126- self.assertEqual("iso-raring", isotracker_module.tracker.target)
4127+ self.assertEqual("iso-trusty", isotracker_module.tracker.target)
4128 self.assertEqual(expected, isotracker_module.tracker.posted)
4129
4130 publisher = self.make_publisher("kubuntu", "daily-live")
4131@@ -1463,7 +1409,7 @@
4132 self.assertRaisesRegex(
4133 Exception, r"Cannot post images from nonexistent directory: .*",
4134 publisher.post_qa, "bad-date",
4135- ["ubuntu/daily-live/raring-desktop-i386"])
4136+ ["ubuntu/daily-live/trusty-desktop-i386"])
4137
4138 @mock.patch("subprocess.call", return_value=0)
4139 @mock.patch("cdimage.tree.DailyTreePublisher.make_web_indices")
4140@@ -1652,8 +1598,8 @@
4141 publish_current = os.path.join(publisher.publish_base, "current")
4142 os.makedirs(publish_current)
4143 os.symlink(
4144- os.path.join(os.pardir, "20130319", "raring-desktop-i386.iso"),
4145- os.path.join(publish_current, "raring-desktop-i386.iso"))
4146+ os.path.join(os.pardir, "20130319", "trusty-desktop-i386.iso"),
4147+ os.path.join(publish_current, "trusty-desktop-i386.iso"))
4148 with mkfile(os.path.join(
4149 self.temp_dir, "etc", "purge-days")) as purge_days:
4150 print("daily 1", file=purge_days)
4151@@ -1805,16 +1751,10 @@
4152 return publisher
4153
4154 def test_image_output(self):
4155- self.config["DIST"] = "natty"
4156- self.assertEqual(
4157- os.path.join(
4158- self.config.root, "scratch", "ubuntu-chinese-edition",
4159- "natty"),
4160- self.make_publisher("ubuntu", "daily-live").image_output("i386"))
4161- self.config["DIST"] = "oneiric"
4162- self.assertEqual(
4163- os.path.join(
4164- self.config.root, "scratch", "ubuntu-zh_CN", "oneiric",
4165+ self.config["DIST"] = "precise"
4166+ self.assertEqual(
4167+ os.path.join(
4168+ self.config.root, "scratch", "ubuntu-zh_CN", "precise",
4169 "daily-live", "live"),
4170 self.make_publisher("ubuntu", "daily-live").image_output("i386"))
4171
4172@@ -1906,15 +1846,15 @@
4173 def test_post_qa_oversized(self):
4174 publisher = self.make_publisher("ubuntu", "daily-live")
4175 touch(os.path.join(
4176- self.temp_dir, "www", "china-images", "raring", "daily-live",
4177- "20130315", "raring-desktop-i386.OVERSIZED"))
4178+ self.temp_dir, "www", "china-images", "trusty", "daily-live",
4179+ "20130315", "trusty-desktop-i386.OVERSIZED"))
4180 publisher.post_qa(
4181- "20130315", ["ubuntu-zh_CN/raring/daily-live/raring-desktop-i386"])
4182+ "20130315", ["ubuntu-zh_CN/trusty/daily-live/trusty-desktop-i386"])
4183 expected_note = (
4184 "<strong>WARNING: This image is OVERSIZED. This should never "
4185 "happen during milestone testing.</strong>")
4186 expected = [["Ubuntu Chinese Desktop i386", "20130315", expected_note]]
4187- self.assertEqual("localized-iso-china-raring",
4188+ self.assertEqual("localized-iso-china-trusty",
4189 isotracker_module.tracker.target)
4190 self.assertEqual(expected, isotracker_module.tracker.posted)
4191
4192@@ -2123,18 +2063,18 @@
4193
4194 def test_daily_base(self):
4195 self.config["PROJECT"] = "ubuntu"
4196- self.config["DIST"] = "quantal"
4197+ self.config["DIST"] = "trusty"
4198 self.assertEqual(
4199 os.path.join(
4200- self.temp_dir, "www", "full", "quantal", "daily", "20130327",
4201+ self.temp_dir, "www", "full", "trusty", "daily", "20130327",
4202 "i386"),
4203 self.get_publisher().daily_base(
4204- "quantal/daily", "20130327", "wubi", "i386"))
4205- self.config["DIST"] = "raring"
4206+ "trusty/daily", "20130327", "wubi", "i386"))
4207+ self.config["DIST"] = "trusty"
4208 self.assertEqual(
4209 os.path.join(
4210 self.temp_dir, "www", "full", "daily-live", "20130327",
4211- "raring-desktop-i386"),
4212+ "trusty-desktop-i386"),
4213 self.get_publisher().daily_base(
4214 "daily-live", "20130327", "desktop", "i386"))
4215
4216@@ -2191,7 +2131,7 @@
4217 def test_symlink(self):
4218 pool_path = os.path.join(self.temp_dir, ".pool", "foo.iso")
4219 touch(pool_path)
4220- dist_path = os.path.join(self.temp_dir, "raring", "foo.iso")
4221+ dist_path = os.path.join(self.temp_dir, "trusty", "foo.iso")
4222 os.makedirs(os.path.dirname(dist_path))
4223 self.get_publisher().symlink(pool_path, dist_path)
4224 self.assertEqual(
4225@@ -2201,7 +2141,7 @@
4226 def test_hardlink(self):
4227 pool_path = os.path.join(self.temp_dir, ".pool", "foo.iso")
4228 touch(pool_path)
4229- dist_path = os.path.join(self.temp_dir, "raring", "foo.iso")
4230+ dist_path = os.path.join(self.temp_dir, "trusty", "foo.iso")
4231 os.makedirs(os.path.dirname(dist_path))
4232 self.get_publisher().hardlink(pool_path, dist_path)
4233 self.assertEqual(os.stat(pool_path), os.stat(dist_path))
4234@@ -2295,15 +2235,15 @@
4235
4236 def test_target_dir(self):
4237 self.config["PROJECT"] = "ubuntu"
4238- self.config["DIST"] = "raring"
4239+ self.config["DIST"] = "trusty"
4240 self.assertEqual(
4241 os.path.join(
4242- self.temp_dir, "www", "full", "releases", "raring", "release"),
4243+ self.temp_dir, "www", "full", "releases", "trusty", "release"),
4244 self.get_publisher().target_dir("daily", "20130327", "alternate"))
4245 self.config["PROJECT"] = "kubuntu"
4246 self.assertEqual(
4247 os.path.join(
4248- self.temp_dir, "www", "full", "kubuntu", "releases", "raring",
4249+ self.temp_dir, "www", "full", "kubuntu", "releases", "trusty",
4250 "release", "source"),
4251 self.get_publisher().target_dir("daily", "20130327", "src"))
4252
4253@@ -2321,17 +2261,17 @@
4254
4255 def test_torrent_dir(self):
4256 self.config["PROJECT"] = "ubuntu"
4257- self.config["DIST"] = "raring"
4258+ self.config["DIST"] = "trusty"
4259 self.assertEqual(
4260 os.path.join(
4261 self.temp_dir, "www", "torrent", "releases",
4262- "raring", "release", "desktop"),
4263+ "trusty", "release", "desktop"),
4264 self.get_publisher().torrent_dir("daily-live", "desktop"))
4265 self.config["PROJECT"] = "kubuntu"
4266 self.assertEqual(
4267 os.path.join(
4268 self.temp_dir, "www", "torrent", "kubuntu", "releases",
4269- "raring", "beta-2", "desktop"),
4270+ "trusty", "beta-2", "desktop"),
4271 self.get_publisher(status="beta-2").torrent_dir(
4272 "daily-live", "desktop"))
4273
4274@@ -2367,9 +2307,9 @@
4275
4276 def test_publish_release_prefixes(self):
4277 self.config["PROJECT"] = "ubuntu"
4278- self.config["DIST"] = "raring"
4279+ self.config["DIST"] = "trusty"
4280 self.assertEqual(
4281- ("raring", "raring-beta2"),
4282+ ("trusty", "trusty-beta2"),
4283 self.get_publisher(
4284 official="no", status="beta-2").publish_release_prefixes())
4285 self.config["PROJECT"] = "kubuntu"
4286@@ -2445,16 +2385,16 @@
4287 def test_publish_release_arch_ubuntu_desktop_no(self, mock_call, *args):
4288 self.config["PROJECT"] = "ubuntu"
4289 self.config["CAPPROJECT"] = "Ubuntu"
4290- self.config["DIST"] = "raring"
4291+ self.config["DIST"] = "trusty"
4292 daily_dir = os.path.join(
4293 self.temp_dir, "www", "full", "daily-live", "20130327")
4294- touch(os.path.join(daily_dir, "raring-desktop-i386.iso"))
4295- touch(os.path.join(daily_dir, "raring-desktop-i386.manifest"))
4296- touch(os.path.join(daily_dir, "raring-desktop-i386.iso.zsync"))
4297+ touch(os.path.join(daily_dir, "trusty-desktop-i386.iso"))
4298+ touch(os.path.join(daily_dir, "trusty-desktop-i386.manifest"))
4299+ touch(os.path.join(daily_dir, "trusty-desktop-i386.iso.zsync"))
4300 target_dir = os.path.join(
4301- self.temp_dir, "www", "full", "releases", "raring", "rc")
4302+ self.temp_dir, "www", "full", "releases", "trusty", "rc")
4303 torrent_dir = os.path.join(
4304- self.temp_dir, "www", "torrent", "releases", "raring", "rc",
4305+ self.temp_dir, "www", "torrent", "releases", "trusty", "rc",
4306 "desktop")
4307 osextras.ensuredir(target_dir)
4308 osextras.ensuredir(torrent_dir)
4309@@ -2464,13 +2404,13 @@
4310 "daily-live", "20130327", "desktop", "i386")
4311 self.assertLogEqual([
4312 "Copying desktop-i386 image ...",
4313- "Creating torrent for %s/raring-desktop-i386.iso ..." % target_dir,
4314+ "Creating torrent for %s/trusty-desktop-i386.iso ..." % target_dir,
4315 ])
4316 self.assertCountEqual([
4317- "raring-desktop-i386.iso", "raring-desktop-i386.iso.torrent",
4318- "raring-desktop-i386.iso.zsync", "raring-desktop-i386.manifest",
4319+ "trusty-desktop-i386.iso", "trusty-desktop-i386.iso.torrent",
4320+ "trusty-desktop-i386.iso.zsync", "trusty-desktop-i386.manifest",
4321 ], os.listdir(target_dir))
4322- target_base = os.path.join(target_dir, "raring-desktop-i386")
4323+ target_base = os.path.join(target_dir, "trusty-desktop-i386")
4324 self.assertFalse(os.path.islink("%s.iso" % target_base))
4325 self.assertFalse(os.path.islink("%s.manifest" % target_base))
4326 mock_call.assert_called_once_with([
4327@@ -2479,9 +2419,9 @@
4328 "%s.iso" % target_base,
4329 ], stdout=mock.ANY)
4330 self.assertCountEqual([
4331- "raring-desktop-i386.iso", "raring-desktop-i386.iso.torrent",
4332+ "trusty-desktop-i386.iso", "trusty-desktop-i386.iso.torrent",
4333 ], os.listdir(torrent_dir))
4334- torrent_base = os.path.join(torrent_dir, "raring-desktop-i386")
4335+ torrent_base = os.path.join(torrent_dir, "trusty-desktop-i386")
4336 self.assertEqual(
4337 os.stat("%s.iso" % target_base), os.stat("%s.iso" % torrent_base))
4338 self.assertEqual(
4339@@ -2581,14 +2521,14 @@
4340
4341 def test_target_dir(self):
4342 self.config["PROJECT"] = "ubuntu"
4343- self.config["DIST"] = "raring"
4344+ self.config["DIST"] = "trusty"
4345 self.assertEqual(
4346- os.path.join(self.temp_dir, "www", "simple", "raring"),
4347+ os.path.join(self.temp_dir, "www", "simple", "trusty"),
4348 self.get_publisher().target_dir("daily", "20130327", "alternate"))
4349 self.config["PROJECT"] = "kubuntu"
4350 self.assertEqual(
4351 os.path.join(
4352- self.temp_dir, "www", "simple", "kubuntu", "raring", "source"),
4353+ self.temp_dir, "www", "simple", "kubuntu", "trusty", "source"),
4354 self.get_publisher().target_dir("daily", "20130327", "src"))
4355
4356 def test_version_link(self):
4357@@ -2604,29 +2544,29 @@
4358
4359 def test_pool_dir(self):
4360 self.config["PROJECT"] = "ubuntu"
4361- self.config["DIST"] = "raring"
4362+ self.config["DIST"] = "trusty"
4363 self.assertEqual(
4364 os.path.join(self.temp_dir, "www", "simple", ".pool"),
4365 self.get_publisher().pool_dir("daily"))
4366 self.config["PROJECT"] = "kubuntu"
4367- self.config["DIST"] = "raring"
4368+ self.config["DIST"] = "trusty"
4369 self.assertEqual(
4370 os.path.join(self.temp_dir, "www", "simple", "kubuntu", ".pool"),
4371 self.get_publisher().pool_dir("daily"))
4372
4373 def test_torrent_dir(self):
4374 self.config["PROJECT"] = "ubuntu"
4375- self.config["DIST"] = "raring"
4376+ self.config["DIST"] = "trusty"
4377 self.assertEqual(
4378 os.path.join(
4379 self.temp_dir, "www", "torrent", "simple",
4380- "raring", "desktop"),
4381+ "trusty", "desktop"),
4382 self.get_publisher().torrent_dir("daily-live", "desktop"))
4383 self.config["PROJECT"] = "kubuntu"
4384 self.assertEqual(
4385 os.path.join(
4386 self.temp_dir, "www", "torrent", "kubuntu", "simple",
4387- "raring", "desktop"),
4388+ "trusty", "desktop"),
4389 self.get_publisher().torrent_dir("daily-live", "desktop"))
4390
4391 def test_want_torrent(self):
4392@@ -2776,9 +2716,9 @@
4393 "ubuntu-13.04-rc-desktop-i386.manifest",
4394 ], os.listdir(pool_dir))
4395 self.assertFalse(os.path.exists(os.path.join(
4396- self.temp_dir, "www", "simple", "raring")))
4397+ self.temp_dir, "www", "simple", "trusty")))
4398 self.assertFalse(os.path.exists(os.path.join(
4399- self.temp_dir, "www", "torrent", "simple", "raring", "desktop")))
4400+ self.temp_dir, "www", "torrent", "simple", "trusty", "desktop")))
4401 pool_base = os.path.join(pool_dir, "ubuntu-13.04-rc-desktop-i386")
4402 mock_call.assert_called_once_with([
4403 "zsyncmake", "-o", "%s.iso.zsync" % pool_base,
4404
4405=== modified file 'lib/cdimage/tree.py'
4406--- lib/cdimage/tree.py 2019-03-06 20:19:33 +0000
4407+++ lib/cdimage/tree.py 2019-03-07 16:20:18 +0000
4408@@ -63,21 +63,16 @@
4409 projects = [
4410 "edubuntu",
4411 "gobuntu",
4412- "jeos",
4413 "kubuntu",
4414 "kubuntu-active",
4415 "kubuntu-netbook",
4416- "kubuntu-plasma5",
4417 "lubuntu",
4418 "lubuntu-next",
4419 "mythbuntu",
4420 "ubuntu",
4421- "ubuntu-desktop-next",
4422 "ubuntu-gnome",
4423 "ubuntu-budgie",
4424 "ubuntu-mate",
4425- "ubuntu-headless",
4426- "ubuntu-netbook",
4427 "ubuntu-server",
4428 "ubuntukylin",
4429 "ubuntustudio",
4430@@ -376,65 +371,36 @@
4431 @property
4432 def publish_type(self):
4433 if self.image_type.endswith("-preinstalled"):
4434- if self.project == "ubuntu-netbook":
4435- return "preinstalled-netbook"
4436- elif self.project == "ubuntu-headless":
4437- return "preinstalled-headless"
4438- elif self.project == "ubuntu-server":
4439+ if self.project == "ubuntu-server":
4440 return "preinstalled-server"
4441- elif self.project in ("ubuntu-touch", "ubuntu-touch-custom"):
4442+ elif self.project == "ubuntu-touch":
4443 return "preinstalled-touch"
4444 elif self.project == "ubuntu-core":
4445 return "preinstalled-core"
4446- elif self.project == "ubuntu-desktop-next":
4447- return "preinstalled-desktop-next"
4448 else:
4449 return "preinstalled-desktop"
4450 elif self.image_type.endswith("-live"):
4451 if self.project == "edubuntu":
4452- if self.config["DIST"] <= "edgy":
4453- return "live"
4454- else:
4455- return "desktop"
4456- elif self.project == "ubuntu-mid":
4457- return "mid"
4458- elif self.project == "ubuntu-moblin-remix":
4459- return "moblin-remix"
4460- elif self.project in ("ubuntu-netbook", "kubuntu-netbook"):
4461+ return "desktop"
4462+ elif self.project == "kubuntu-netbook":
4463 return "netbook"
4464 elif self.project == "ubuntu-server":
4465 return "live-server"
4466 elif self.project == "ubuntu-core":
4467 return "live-core"
4468 else:
4469- if self.config["DIST"] <= "breezy":
4470- return "live"
4471- else:
4472- return "desktop"
4473+ return "desktop"
4474 elif self.image_type.endswith("_dvd") or self.image_type == "dvd":
4475 return "dvd"
4476 else:
4477 if self.project == "edubuntu":
4478- if self.config["DIST"] <= "edgy":
4479- return "install"
4480- elif self.config["DIST"] <= "gutsy":
4481- return "server"
4482- else:
4483- return "addon"
4484+ return "addon"
4485 elif self.project == "ubuntu-server":
4486- if self.config["DIST"] <= "breezy":
4487- return "install"
4488- else:
4489- return "server"
4490- elif self.project == "jeos":
4491- return "jeos"
4492+ return "server"
4493 elif self.project == "ubuntu-base":
4494 return "base"
4495 else:
4496- if self.config["DIST"] <= "breezy":
4497- return "install"
4498- else:
4499- return "alternate"
4500+ return "alternate"
4501
4502 # Keep this in sync with publish_type above.
4503 @staticmethod
4504@@ -442,13 +408,13 @@
4505 if publish_type.startswith("preinstalled-"):
4506 return "daily-preinstalled"
4507 elif publish_type in (
4508- "desktop", "live", "mid", "moblin-remix", "netbook",
4509+ "desktop", "live", "netbook",
4510 "live-core", "live-server"):
4511 return "daily-live"
4512 elif publish_type == "dvd":
4513 return "dvd"
4514 elif publish_type in (
4515- "addon", "alternate", "base", "install", "jeos", "server"):
4516+ "addon", "alternate", "base", "install", "server"):
4517 return "daily"
4518 else:
4519 return None
4520@@ -474,8 +440,6 @@
4521 def cssincludes(self):
4522 if self.project == "kubuntu":
4523 return ["//releases.ubuntu.com/include/kubuntu.css"]
4524- if self.project == "kubuntu-plasma5":
4525- return ["//releases.ubuntu.com/include/kubuntu-plasma5.css"]
4526 if self.project in ("lubuntu", "lubuntu-next"):
4527 return ["//cdimage.ubuntu.com/include/lubuntu/style.css"]
4528 else:
4529@@ -485,11 +449,10 @@
4530 def cdtypestr(self, publish_type, image_format):
4531 if image_format in ("tar.gz", "tar.xz", "custom.tar.gz"):
4532 cd = "filesystem archive"
4533- elif self.config["DIST"] < "quantal":
4534+ elif self.config["DIST"] < "trusty":
4535 if image_format in ("img", "img.gz"):
4536 cd = "image"
4537 elif self.project == "ubuntustudio":
4538- # Ubuntu Studio is expected to be oversized in Gutsy; sigh.
4539 cd = "DVD"
4540 else:
4541 cd = "CD"
4542@@ -523,18 +486,12 @@
4543 return "source %s" % cd
4544 elif publish_type == "netbook":
4545 return "netbook live %s" % cd
4546- elif publish_type == "mid":
4547- return "MID USB image"
4548- elif publish_type == "moblin-remix":
4549- return "Moblin live CD"
4550 elif publish_type == "active":
4551 return "preview active image"
4552 elif publish_type in ("server-uec", "uec"):
4553 return "UEC image"
4554 elif publish_type == "preinstalled-desktop":
4555 return "preinstalled desktop %s" % cd
4556- elif publish_type == "preinstalled-headless":
4557- return "preinstalled headless %s" % cd
4558 elif publish_type == "preinstalled-server":
4559 return "preinstalled server %s" % cd
4560 elif publish_type == "preinstalled-netbook":
4561@@ -545,8 +502,6 @@
4562 return "preinstalled touch image"
4563 elif publish_type == "preinstalled-core":
4564 return "preinstalled core image"
4565- elif publish_type == "preinstalled-desktop-next":
4566- return "preinstalled desktop next image"
4567 elif publish_type == "wubi":
4568 return "Wubi %s" % cd
4569 else:
4570@@ -556,35 +511,20 @@
4571 capproject = self.config.capproject
4572 series = self.config["DIST"]
4573
4574- if self.project == "mid":
4575- # MID has lower memory requirements than others
4576- desktop_ram = 128
4577 if self.project == "xubuntu":
4578- if series <= "intrepid":
4579- desktop_ram = 128
4580- else:
4581- desktop_ram = 192
4582+ desktop_ram = 192
4583 else:
4584- if series <= "feisty":
4585- desktop_ram = 256
4586- elif series <= "gutsy":
4587- desktop_ram = 320
4588- elif series <= "hardy":
4589- desktop_ram = 384
4590- elif series <= "maverick":
4591- desktop_ram = 256
4592- elif series <= "artful":
4593+ if series <= "xenial":
4594 desktop_ram = 384
4595 else:
4596 desktop_ram = 1024
4597
4598 if image_format in ("tar.gz", "tar.xz", "custom.tar.gz"):
4599 cd = "filesystem archive"
4600- elif self.config["DIST"] < "quantal":
4601+ elif self.config["DIST"] <= "precise":
4602 if image_format in ("img", "img.gz"):
4603 cd = "image"
4604 elif self.project == "ubuntustudio":
4605- # Ubuntu Studio is expected to be oversized in Gutsy; sigh.
4606 cd = "dvd"
4607 else:
4608 cd = "cd"
4609@@ -612,13 +552,6 @@
4610 cd)
4611 self.prefmsg_emitted = True
4612 sentences.append(desktop_req)
4613- if self.project == "ubuntu-desktop-next":
4614- sentences.append(
4615- "This is an experimental image. Please %s for caveats and "
4616- "workarounds." %
4617- Link("https://wiki.ubuntu.com/Unity8DesktopIso",
4618- "read this page on the Ubuntu wiki",
4619- show_class=True))
4620 if self.project == "edubuntu":
4621 sentences.append(
4622 "You can install additional educational programs using "
4623@@ -651,24 +584,6 @@
4624 "installer, please file a bug on the %s package." % bug_link,
4625 ])
4626 return
4627- elif publish_type == "mid":
4628- sentences.append(
4629- "The MID USB image allows you to try %s without changing your "
4630- "computer at all, and at your option to install it "
4631- "permanently later." % capproject)
4632- sentences.append(
4633- "This USB image is optimized for handheld devices with 4-7\" "
4634- "touchscreens and limited processing power.")
4635- sentences.append(desktop_req)
4636- elif publish_type == "moblin-remix":
4637- sentences.append(
4638- "The live %s allows you to try Ubuntu Moblin Remix without "
4639- "changing your computer at all, and at your option to install "
4640- "it permanently later." % cd)
4641- sentences.append(
4642- "This live %s is optimized for netbooks with screens up to "
4643- "10\"." % cd)
4644- sentences.append(desktop_req)
4645 elif publish_type == "server" or publish_type == "live-server":
4646 if self.project == "edubuntu":
4647 sentences.append(
4648@@ -832,7 +747,6 @@
4649 "hppa": "HP PA-RISC",
4650 "i386": "32-bit PC (i386)",
4651 "ia64": "IA-64",
4652- "lpia": "Low-Power Intel Architecture",
4653 "powerpc": "Mac (PowerPC) and IBM-PPC (POWER5)",
4654 "powerpc+ps3": "PlayStation 3",
4655 "ppc64el": "PowerPC64 Little-Endian",
4656@@ -911,10 +825,6 @@
4657 "Intel processors.")
4658 elif arch == "ia64":
4659 sentences.append("For Intel Itanium and Itanium 2 computers.")
4660- elif arch == "lpia":
4661- sentences.append(
4662- "For devices using the Low-Power Intel Architecture, "
4663- "including the A1xx and Atom processors.")
4664 elif arch == "powerpc":
4665 sentences.append(
4666 "For Apple Macintosh G3, G4, and G5 computers, including "
4667@@ -922,7 +832,7 @@
4668 "machines.")
4669 elif arch == "powerpc+ps3":
4670 sentences.append("For Sony PlayStation 3 systems.")
4671- if publish_type == "desktop" and self.config["DIST"] >= "gutsy":
4672+ if publish_type == "desktop":
4673 capproject = self.config.capproject
4674 sentences.append(
4675 "(This defaults to installing %s permanently, since there "
4676@@ -952,8 +862,7 @@
4677 return
4678
4679 usb_projects = (
4680- "ubuntu-mid", "ubuntu-moblin-remix",
4681- "kubuntu", "kubuntu-active", "kubuntu-plasma5",
4682+ "kubuntu", "kubuntu-active",
4683 "ubuntu-mate",
4684 )
4685 series = self.config["DIST"]
4686@@ -979,8 +888,8 @@
4687 "However, you may still test it using a DVD, a larger USB "
4688 "drive, or a virtual machine.")
4689 elif (self.project in usb_projects or
4690- (self.project == "xubuntu" and series >= "raring") or
4691- (self.project == "ubuntu-gnome" and series >= "saucy")):
4692+ (self.project == "xubuntu" and series >= "trusty") or
4693+ (self.project == "ubuntu-gnome" and series >= "trusty")):
4694 sentences.append(
4695 "Warning: This image is oversized (which is a bug) and will "
4696 "not fit onto a 1GB USB stick.")
4697@@ -1156,13 +1065,13 @@
4698 "serveraddon", "addon",
4699 "dvd",
4700 "src",
4701- "netbook", "mid", "moblin-remix", "mobile", "active",
4702+ "netbook", "mobile", "active",
4703 "uec", "server-uec",
4704 "preinstalled-desktop", "preinstalled-netbook",
4705 "preinstalled-mobile", "preinstalled-active",
4706- "preinstalled-headless", "preinstalled-server",
4707+ "preinstalled-server",
4708 "preinstalled-touch", "preinstalled-core", "wubi",
4709- "preinstalled-desktop-next", "live-core",
4710+ "live-core",
4711 )
4712
4713 all_arches = (
4714@@ -1178,7 +1087,6 @@
4715 "ppc64el",
4716 "hppa",
4717 "ia64",
4718- "lpia",
4719 "s390x",
4720 "sparc",
4721 )
4722@@ -1254,12 +1162,6 @@
4723 "<link "
4724 "href='http://fonts.googleapis.com/css?family=Ubuntu' "
4725 "rel='stylesheet' type='text/css'>", file=header)
4726- if self.project == "kubuntu-plasma5":
4727- print(
4728- "<link "
4729- "href='http://fonts.googleapis.com/css?family=Oxygen' "
4730- "rel='stylesheet' type='text/css'>", file=header)
4731- if self.project in ("kubuntu", "kubuntu-plasma5"):
4732 print(
4733 "<link rel=\"icon\" type=\"image/png\" "
4734 "href=\"http://www.kubuntu.org/themes/kubuntu10.04/"
4735@@ -1315,11 +1217,8 @@
4736 if ("full" in reldir.split(os.pardir) and
4737 "-alpha-" not in base_prefix and
4738 base_prefix != self.config.series):
4739- if self.project in (
4740- "ubuntu", "ubuntu-server", "ubuntu-netbook"):
4741+ if self.project in ("ubuntu", "ubuntu-server"):
4742 url = "http://releases.ubuntu.com/"
4743- elif self.project == "kubuntu" and series <= "oneiric":
4744- url = "http://releases.ubuntu.com/kubuntu/"
4745 else:
4746 url = None
4747 if url:
4748@@ -1427,17 +1326,9 @@
4749
4750 for path, arch, base in paths:
4751 if arch is None:
4752- if publish_type == "mid":
4753- imgarch = "lpia"
4754- else:
4755- raise WebIndicesException(
4756- "Unknown image type %s!" %
4757- publish_type)
4758- archstr = self.arch_strings[imgarch]
4759- imagestr = "%s %s" % (archstr, cdtypestr)
4760- htaccessimagestr = "%s for %s computers" % (
4761- self.titlecase(cdtypestr), archstr)
4762- archdesc = self.archdesc(imgarch, publish_type)
4763+ raise WebIndicesException(
4764+ "Unknown image type %s!" %
4765+ publish_type)
4766 elif publish_type == "src":
4767 imagestr = "%s %s" % (
4768 self.titlecase(cdtypestr), arch)
4769@@ -1638,7 +1529,7 @@
4770 if got_iso or got_img:
4771 print(file=header)
4772
4773- if self.config.project in ("ubuntu-touch", "ubuntu-touch-custom"):
4774+ if self.config.project == "ubuntu-touch":
4775 for tag in self.ubuntu_touch_legal_notice():
4776 print(tag, file=header)
4777 print(file=header)
4778@@ -1845,15 +1736,7 @@
4779 # All Edubuntu images are DVD sized (including arm).
4780 # Ubuntu Studio is always DVD-sized for now.
4781 return 4700372992
4782- elif self.project in (
4783- "ubuntu-mid", "ubuntu-moblin-remix",
4784- ):
4785- # Mobile images are designed for USB drives; arbitrarily pick
4786- # 1GB as a limit.
4787- return 1024 * 1024 * 1024
4788- elif self.project in (
4789- "kubuntu", "kubuntu-active", "kubuntu-plasma5",
4790- ):
4791+ elif self.project in ("kubuntu", "kubuntu-active"):
4792 if self.config["DIST"] >= "xenial":
4793 # Per https://lists.ubuntu.com/archives/
4794 # ... ubuntu-release/2016-May/003749.html
4795@@ -1862,23 +1745,14 @@
4796 return (1024 * 1024 * 1024) + (1024 * 1024 * 200)
4797 elif (self.project in ("ubuntu", "ubuntukylin") and
4798 self.publish_type != "dvd" and
4799- self.config["DIST"] >= "quantal"):
4800- # Ubuntu quantal onward has a succession of arbitrary limits.
4801- if self.config["DIST"] == "quantal":
4802- return 801000000
4803- elif self.config["DIST"] == "raring":
4804- if arch == "powerpc":
4805- return 850000000
4806- else:
4807- return 835000000
4808- elif self.config["DIST"] == "saucy":
4809- return 950000000
4810- elif self.config["DIST"] in ("trusty", "utopic", "vivid", "wily"):
4811+ self.config["DIST"] >= "trusty"):
4812+ if self.config["DIST"] == "trusty":
4813 return 1.2 * 1000 * 1000 * 1000
4814 else:
4815 # next relevant size limit is a 2GB (not 2GiB) USB stick
4816 return 2 * 1000 * 1000 * 1000
4817- elif self.project == "ubuntu-gnome" and self.config["DIST"] >= "saucy":
4818+ elif (self.project == "ubuntu-gnome" and
4819+ self.config["DIST"] >= "trusty"):
4820 # Per https://lists.ubuntu.com/archives/
4821 # ... ubuntu-release/2016-May/003740.html
4822 if self.config["DIST"] >= "xenial":
4823@@ -1895,7 +1769,7 @@
4824 elif self.project == "xubuntu" and self.config["DIST"] >= "xenial":
4825 # https://irclogs.ubuntu.com/2019/02/17/%23ubuntu-release.html#t03:04
4826 return 2 * 1000 * 1000 * 1000
4827- elif self.project == "xubuntu" and self.config["DIST"] >= "raring":
4828+ elif self.project == "xubuntu" and self.config["DIST"] >= "trusty":
4829 # http://irclogs.ubuntu.com/2013/02/11/%23xubuntu-devel.html#t21:48
4830 return 1024 * 1024 * 1024
4831 elif self.project == "ubuntu-mate":
4832@@ -1907,7 +1781,7 @@
4833 # https://bugs.launchpad.net/bugs/1796368
4834 return 2 * 1000 * 1000 * 1000
4835 elif (self.project in ("lubuntu", "lubuntu-next") and
4836- self.config["DIST"] >= "artful"):
4837+ self.config["DIST"] >= "bionic"):
4838 # https://irclogs.ubuntu.com/2017/07/27/%23ubuntu-release.html#t23:05
4839 return int(1.5 * 1000 * 1000 * 1000)
4840 elif self.project == "lubuntu" and self.config["DIST"] >= "trusty":
4841@@ -1915,11 +1789,7 @@
4842 # https://irclogs.ubuntu.com/2016/10/01/%23ubuntu-release.html#t19:06
4843 return 1024 * 1024 * 1024
4844 elif self.project == "ubuntu-server":
4845- if self.config["DIST"] == "xenial":
4846- return 1024 * 1024 * 1024
4847- elif self.config["DIST"] >= "zesty" and arch == "ppc64el":
4848- return 1024 * 1024 * 1024
4849- elif self.config["DIST"] >= "bionic":
4850+ if self.config["DIST"] >= "xenial":
4851 return 1024 * 1024 * 1024
4852 else:
4853 return 736665600
4854@@ -2002,20 +1872,17 @@
4855 return "iso"
4856
4857 def jigdo_ports(self, arch):
4858- series = self.config["DIST"]
4859 cpuarch = arch.split("+")[0]
4860 if cpuarch == "powerpc":
4861 # https://lists.ubuntu.com/archives/ubuntu-announce/2007-February/
4862 # 000098.html
4863- if series > "edgy":
4864- return True
4865+ return True
4866 elif cpuarch == "sparc":
4867 # https://lists.ubuntu.com/archives/ubuntu-devel-announce/
4868 # 2008-March/000400.html
4869- if series < "dapper" or series > "gutsy":
4870- return True
4871+ return True
4872 elif cpuarch in (
4873- "arm64", "armel", "armhf", "hppa", "ia64", "lpia", "ppc64el",
4874+ "arm64", "armel", "armhf", "hppa", "ia64", "ppc64el",
4875 "s390x"):
4876 return True
4877 return False
4878@@ -2377,17 +2244,14 @@
4879 for arch in arches:
4880 if image_base.endswith("-%s" % arch):
4881 matches = True
4882- elif (self.config.project in ("ubuntu-touch",
4883- "ubuntu-touch-custom") and
4884+ elif (self.config.project == "ubuntu-touch" and
4885 arch == "armhf" and
4886 ("-armel+" in image_base or "-armhf+" in image_base)):
4887 matches = True
4888- elif (self.config.project in ("ubuntu-touch",
4889- "ubuntu-touch-custom") and
4890+ elif (self.config.project == "ubuntu-touch" and
4891 arch == "i386" and "-i386+" in image_base):
4892 matches = True
4893- elif (self.config.project in ("ubuntu-touch",
4894- "ubuntu-touch-custom") and
4895+ elif (self.config.project == "ubuntu-touch" and
4896 arch == "arm64" and "-arm64+" in image_base):
4897 matches = True
4898 elif self.config.subproject == "wubi" and image_base == arch:
4899@@ -2834,18 +2698,13 @@
4900 """An object that can publish daily builds of the Chinese edition."""
4901
4902 def image_output(self, arch):
4903- if self.config["DIST"] < "oneiric":
4904- return os.path.join(
4905- self.config.root, "scratch", "ubuntu-chinese-edition",
4906- self.config.full_series)
4907- else:
4908- project = "ubuntu"
4909- if self.config["UBUNTU_DEFAULTS_LOCALE"]:
4910- project = "-".join([
4911- project, self.config["UBUNTU_DEFAULTS_LOCALE"]])
4912- return os.path.join(
4913- self.config.root, "scratch", project, self.config.full_series,
4914- self.image_type, "live")
4915+ project = "ubuntu"
4916+ if self.config["UBUNTU_DEFAULTS_LOCALE"]:
4917+ project = "-".join([
4918+ project, self.config["UBUNTU_DEFAULTS_LOCALE"]])
4919+ return os.path.join(
4920+ self.config.root, "scratch", project, self.config.full_series,
4921+ self.image_type, "live")
4922
4923 @property
4924 def source_extension(self):
4925@@ -2871,8 +2730,7 @@
4926
4927 def tree_suffix(self, source):
4928 # Publish ports/daily to ports/releases/..., etc.
4929- ubuntu_projects = (
4930- "ubuntu-server", "ubuntu-netbook", "ubuntu-mid", "ubuntu-headless")
4931+ ubuntu_projects = ("ubuntu-server", )
4932 if "/" in source:
4933 project, tail = source.split("/", 1)
4934 if project in ubuntu_projects:
4935@@ -3009,10 +2867,7 @@
4936 def daily_base(self, source, date, publish_type, arch):
4937 series = self.config["DIST"]
4938 daily_dir = self.daily_dir(source, date, publish_type)
4939- if publish_type in ("netbook", "mid") and series <= "intrepid":
4940- return os.path.join(
4941- daily_dir, "%s-%s" % (self.project, publish_type))
4942- elif publish_type == "wubi":
4943+ if publish_type == "wubi":
4944 return os.path.join(daily_dir, arch)
4945 else:
4946 return os.path.join(
4947@@ -3176,7 +3031,7 @@
4948
4949 def want_manifest(self, publish_type, path):
4950 if publish_type in (
4951- "live", "desktop", "netbook", "mid", "moblin-remix",
4952+ "live", "desktop", "netbook",
4953 "uec", "server-uec", "core", "wubi", "server", "live-server",
4954 ):
4955 return True
4956@@ -3195,7 +3050,7 @@
4957 def want_metalink(self, publish_type):
4958 # TODO: maybe others? metalink is only supported for Wubi
4959 if publish_type in (
4960- "netbook", "mid", "moblin-remix", "uec", "server-uec",
4961+ "netbook", "uec", "server-uec",
4962 ):
4963 return False
4964 elif publish_type.startswith("preinstalled-"):
4965@@ -3393,14 +3248,12 @@
4966
4967 # Override the architecture list for these types unconditionally.
4968 # TODO: should reset default-arches for the source project instead
4969- if (publish_type in ("netbook", "moblin-remix") and
4970+ if (publish_type == "netbook" and
4971 not [arch for arch in arches if arch.startswith("armel")]):
4972 arches = ["i386"]
4973- elif publish_type == "mid":
4974- arches = ["lpia"]
4975
4976 # Sanity-check.
4977- if publish_type not in ("netbook", "mid", "src"):
4978+ if publish_type not in ("netbook", "src"):
4979 for arch in arches:
4980 paths = []
4981 for ext in ("iso", "img", "img.gz", "img.xz", "img.tar.gz",

Subscribers

People subscribed via source and target branches