Merge lp:~jibel/ubuntu-cdimage/support_for_multilayer into lp:ubuntu-cdimage
- support_for_multilayer
- Merge into mainline
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 |
Related bugs: |
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 :)
"""""
Description of the change
Jean-Baptiste Lallement (jibel) wrote : | # |
- 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
- 1776. By Steve Langasek
- 1777. By Steve Langasek
- 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
- 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
- discoolder 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
Steve Langasek (vorlon) : | # |
- 1803. By Jean-Baptiste Lallement
-
Merged support for multi-layer images
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
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 | 39 | series = config["DIST"] | 39 | series = config["DIST"] |
6 | 40 | if project == "edubuntu": | 40 | if project == "edubuntu": |
7 | 41 | config["CDIMAGE_ADDON"] = "1" | 41 | config["CDIMAGE_ADDON"] = "1" |
9 | 42 | elif (project == "ubuntu-server" and series >= "quantal" and | 42 | elif (project == "ubuntu-server" and series >= "trusty" and |
10 | 43 | not config["CDIMAGE_NO_SQUASHFS_BASE"]): | 43 | not config["CDIMAGE_NO_SQUASHFS_BASE"]): |
11 | 44 | config["CDIMAGE_SQUASHFS_BASE"] = "1" | 44 | config["CDIMAGE_SQUASHFS_BASE"] = "1" |
12 | 45 | if not build_image_set(config, options): | 45 | if not build_image_set(config, options): |
13 | 46 | 46 | ||
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 | 35 | options, _ = parser.parse_args() | 35 | options, _ = parser.parse_args() |
19 | 36 | config = Config(IMAGE_TYPE="dvd") | 36 | config = Config(IMAGE_TYPE="dvd") |
20 | 37 | project = config.project | 37 | project = config.project |
37 | 38 | series = config["DIST"] | 38 | if project not in ("edubuntu", "ubuntu", "ubuntustudio"): |
22 | 39 | if project == "edubuntu": | ||
23 | 40 | # Edubuntu lucid and onwards: DVD is live-only | ||
24 | 41 | if series <= "karmic": | ||
25 | 42 | config["CDIMAGE_INSTALL"] = "1" | ||
26 | 43 | elif project == "ubuntu": | ||
27 | 44 | # Ubuntu oneiric and onwards: DVD is live-only | ||
28 | 45 | if series <= "natty": | ||
29 | 46 | config["CDIMAGE_INSTALL"] = "1" | ||
30 | 47 | elif project == "ubuntustudio": | ||
31 | 48 | # Ubuntu Studio precise and onwards: DVD is live-only | ||
32 | 49 | # (Actually, it didn't exist before then anyway, but we check this | ||
33 | 50 | # just for documentation's sake.) | ||
34 | 51 | if series <= "oneiric": | ||
35 | 52 | config["CDIMAGE_INSTALL"] = "1" | ||
36 | 53 | else: | ||
38 | 54 | config["CDIMAGE_INSTALL"] = "1" | 39 | config["CDIMAGE_INSTALL"] = "1" |
39 | 55 | config["CDIMAGE_LIVE"] = "1" | 40 | config["CDIMAGE_LIVE"] = "1" |
40 | 56 | config["CDIMAGE_DVD"] = "1" | 41 | config["CDIMAGE_DVD"] = "1" |
41 | 57 | 42 | ||
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 | 83 | def project_title(project): | 83 | def project_title(project): |
47 | 84 | if project == 'ubuntu-server': | 84 | if project == 'ubuntu-server': |
48 | 85 | return 'Ubuntu Server' | 85 | return 'Ubuntu Server' |
49 | 86 | elif project == 'jeos': | ||
50 | 87 | return 'Ubuntu JeOS' | ||
51 | 88 | elif project == 'ubuntustudio': | 86 | elif project == 'ubuntustudio': |
52 | 89 | return 'Ubuntu Studio' | 87 | return 'Ubuntu Studio' |
53 | 90 | elif project == 'ubuntu-netbook': | ||
54 | 91 | return 'Ubuntu Netbook' | ||
55 | 92 | elif project == 'ubuntu-headless': | ||
56 | 93 | return 'Ubuntu Headless' | ||
57 | 94 | elif project == 'kubuntu-active': | 88 | elif project == 'kubuntu-active': |
58 | 95 | return 'Kubuntu Active' | 89 | return 'Kubuntu Active' |
59 | 96 | elif project == 'kubuntu-plasma5': | ||
60 | 97 | return 'Kubuntu Plasma 5' | ||
61 | 98 | elif project == 'ubuntu-moblin-remix': | ||
62 | 99 | return 'Ubuntu Moblin Remix' | ||
63 | 100 | else: | 90 | else: |
64 | 101 | return project.title() | 91 | return project.title() |
65 | 102 | 92 | ||
66 | @@ -237,17 +227,13 @@ | |||
67 | 237 | 227 | ||
68 | 238 | projects = ( | 228 | projects = ( |
69 | 239 | 'ubuntu', | 229 | 'ubuntu', |
70 | 240 | 'ubuntu-desktop-next', | ||
71 | 241 | 'ubuntu-server', | 230 | 'ubuntu-server', |
72 | 242 | 'kubuntu', | 231 | 'kubuntu', |
73 | 243 | 'edubuntu', | 232 | 'edubuntu', |
74 | 244 | 'xubuntu', | 233 | 'xubuntu', |
75 | 245 | 'ubuntustudio', | 234 | 'ubuntustudio', |
76 | 246 | 'ubuntu-netbook', | ||
77 | 247 | 'kubuntu-netbook', | 235 | 'kubuntu-netbook', |
78 | 248 | 'ubuntu-moblin-remix', | ||
79 | 249 | 'kubuntu-active', | 236 | 'kubuntu-active', |
80 | 250 | 'kubuntu-plasma5', | ||
81 | 251 | 'mythbuntu', | 237 | 'mythbuntu', |
82 | 252 | 'lubuntu', | 238 | 'lubuntu', |
83 | 253 | 'lubuntu-next', | 239 | 'lubuntu-next', |
84 | 254 | 240 | ||
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 | 33 | parser = OptionParser( | 33 | parser = OptionParser( |
90 | 34 | "%prog ARCH cloop|squashfs|kernel|kernel-efi-signed|initrd|bootimg|" | 34 | "%prog ARCH cloop|squashfs|kernel|kernel-efi-signed|initrd|bootimg|" |
91 | 35 | "manifest|manifest-desktop|manifest-remove|manifest-minimal-remove|" | 35 | "manifest|manifest-desktop|manifest-remove|manifest-minimal-remove|" |
93 | 36 | "disk1.img.xz|img.xz|size|winfoss|wubi|umenu|usb-creator|" | 36 | "disk1.img.xz|img.xz|size|wubi|usb-creator|" |
94 | 37 | "ltsp-squashfs|ext2|ext3|ext4|rootfs.tar.gz|custom.tar.gz|" | 37 | "ltsp-squashfs|ext2|ext3|ext4|rootfs.tar.gz|custom.tar.gz|" |
95 | 38 | "device.tar.gz|tar.xz|iso") | 38 | "device.tar.gz|tar.xz|iso") |
96 | 39 | _, args = parser.parse_args() | 39 | _, args = parser.parse_args() |
97 | 40 | 40 | ||
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 | 32 | parser = OptionParser( | 32 | parser = OptionParser( |
103 | 33 | "%prog DIRECTORY VERSION STATUS\n" | 33 | "%prog DIRECTORY VERSION STATUS\n" |
104 | 34 | " e.g.: %prog " + config.root + | 34 | " e.g.: %prog " + config.root + |
106 | 35 | "/www/full/daily-live/20130327 raring daily") | 35 | "/www/full/daily-live/20130327 bionic daily") |
107 | 36 | _, args = parser.parse_args() | 36 | _, args = parser.parse_args() |
108 | 37 | if len(args) < 1: | 37 | if len(args) < 1: |
109 | 38 | parser.error("need directory") | 38 | parser.error("need directory") |
110 | 39 | 39 | ||
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 | 134 | env['SUBPROJECT'] = sub_project | 134 | env['SUBPROJECT'] = sub_project |
116 | 135 | 135 | ||
117 | 136 | if (project == "ubuntu-touch" and | 136 | if (project == "ubuntu-touch" and |
120 | 137 | args[0] in ("vivid", "wily", "xenial", "yakkety", "zesty", | 137 | args[0] in ("xenial", "bionic", "cosmic", "disco")): |
119 | 138 | "artful", "bionic", "cosmic", "disco")): | ||
121 | 139 | env['EXTRA_PPAS'] = \ | 138 | env['EXTRA_PPAS'] = \ |
122 | 140 | "ci-train-ppa-service/stable-phone-overlay:1001" | 139 | "ci-train-ppa-service/stable-phone-overlay:1001" |
123 | 141 | env['PROPOSED'] = "0" | 140 | env['PROPOSED'] = "0" |
124 | 142 | 141 | ||
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 | 15 | PROJECT="${PROJECT:-ubuntu}" | 15 | PROJECT="${PROJECT:-ubuntu}" |
130 | 16 | CAPPROJECT="${CAPPROJECT:-Ubuntu}" | 16 | CAPPROJECT="${CAPPROJECT:-Ubuntu}" |
131 | 17 | IMAGE_FORMAT=${IMAGE_FORMAT:-iso} | 17 | IMAGE_FORMAT=${IMAGE_FORMAT:-iso} |
132 | 18 | case $PROJECT in | ||
133 | 19 | ubuntu-mid) | ||
134 | 20 | IMAGE_FORMAT=${IMAGE_FORMAT:-vfat} | ||
135 | 21 | ;; | ||
136 | 22 | esac | ||
137 | 23 | export IMAGE_FORMAT | 18 | export IMAGE_FORMAT |
138 | 24 | DIST="${DIST:-disco}" | 19 | DIST="${DIST:-disco}" |
139 | 25 | 20 | ||
140 | 26 | 21 | ||
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 | 21 | 20 15 * * * DIST=bionic for-project ubuntu-budgie cron.daily-live --live | 21 | 20 15 * * * DIST=bionic for-project ubuntu-budgie cron.daily-live --live |
146 | 22 | 26 2 * * * DIST=bionic for-project ubuntu-mate cron.daily-live --live | 22 | 26 2 * * * DIST=bionic for-project ubuntu-mate cron.daily-live --live |
147 | 23 | # regular disco daily builds | 23 | # regular disco daily builds |
149 | 24 | 31 7 * * * for-project ubuntu cron.daily-live --live | 24 | 31 7 * * * for-project ubuntu cron.daily-live --live; SUBPROJECT=canary for-project ubuntu cron.daily-live --live |
150 | 25 | 14 5 * * * for-project kubuntu cron.daily-live --live | 25 | 14 5 * * * for-project kubuntu cron.daily-live --live |
151 | 26 | 50 1 * * * for-project xubuntu cron.daily-live --live | 26 | 50 1 * * * for-project xubuntu cron.daily-live --live |
152 | 27 | 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 | 27 | 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 | 28 | 28 | ||
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 | 3 | 3 | ||
159 | 4 | * source * i386 | 4 | * source * i386 |
160 | 5 | 5 | ||
163 | 6 | ubuntu-touch daily-preinstalled saucy armhf | 6 | ubuntu-touch daily-preinstalled trusty armhf i386 |
162 | 7 | ubuntu-touch daily-preinstalled trusty-wily armhf i386 | ||
164 | 8 | ubuntu-touch daily-preinstalled xenial- armhf i386 arm64 | 7 | ubuntu-touch daily-preinstalled xenial- armhf i386 arm64 |
180 | 9 | ubuntu-touch daily-preinstalled ubuntu-rtm/* armhf i386 | 8 | |
181 | 10 | 9 | edubuntu dvd trusty- amd64 i386 | |
182 | 11 | ubuntu-touch-custom daily-preinstalled trusty- armhf i386 | 10 | edubuntu-dvd dvd trusty- amd64 i386 |
183 | 12 | 11 | ||
169 | 13 | ubuntu daily-preinstalled oneiric armel+ac100 armel+mx5 armel+omap armel+omap4 | ||
170 | 14 | ubuntu daily-preinstalled raring armhf+nexus7 | ||
171 | 15 | lubuntu daily-preinstalled quantal-saucy armhf+ac100 | ||
172 | 16 | |||
173 | 17 | * daily-preinstalled maverick-oneiric armel+omap armel+omap4 | ||
174 | 18 | ubuntu-server daily-preinstalled quantal armhf+omap4 | ||
175 | 19 | |||
176 | 20 | edubuntu dvd quantal- amd64 i386 | ||
177 | 21 | edubuntu-dvd dvd quantal- amd64 i386 | ||
178 | 22 | |||
179 | 23 | ubuntu-base daily oneiric amd64 armel i386 | ||
184 | 24 | ubuntu-base daily precise amd64 armhf i386 | 12 | ubuntu-base daily precise amd64 armhf i386 |
192 | 25 | ubuntu-base daily quantal-raring amd64 armhf i386 powerpc | 13 | ubuntu-base daily trusty amd64 arm64 armhf i386 powerpc ppc64el |
193 | 26 | ubuntu-base daily saucy amd64 arm64 armhf i386 powerpc | 14 | ubuntu-base daily xenial amd64 arm64 armhf i386 powerpc ppc64el s390x |
194 | 27 | ubuntu-base daily trusty-wily amd64 arm64 armhf i386 powerpc ppc64el | 15 | ubuntu-base daily bionic- amd64 arm64 armhf i386 ppc64el s390x |
188 | 28 | ubuntu-base daily xenial-yakkety amd64 arm64 armhf i386 powerpc ppc64el s390x | ||
189 | 29 | ubuntu-base daily zesty- amd64 arm64 armhf i386 ppc64el s390x | ||
190 | 30 | ubuntu-core-system-image daily-preinstalled utopic amd64 armhf i386 | ||
191 | 31 | ubuntu-core-system-image daily-preinstalled vivid-wily amd64 arm64 armhf i386 | ||
195 | 32 | ubuntu-core-system-image daily-preinstalled xenial- amd64 arm64 armhf i386 ppc64el s390x | 16 | ubuntu-core-system-image daily-preinstalled xenial- amd64 arm64 armhf i386 ppc64el s390x |
196 | 33 | ubuntu-core daily-live xenial-cosmic amd64 arm64+snapdragon armhf+cm3 armhf+raspi2 armhf+raspi3 i386 | 17 | ubuntu-core daily-live xenial-cosmic amd64 arm64+snapdragon armhf+cm3 armhf+raspi2 armhf+raspi3 i386 |
197 | 34 | ubuntu-core daily-live disco- amd64 arm64+snapdragon armhf+cm3 armhf+raspi2 armhf+raspi3 arm64+raspi3 i386 | 18 | ubuntu-core daily-live disco- amd64 arm64+snapdragon armhf+cm3 armhf+raspi2 armhf+raspi3 arm64+raspi3 i386 |
198 | 35 | 19 | ||
199 | 36 | jeos * * i386 | ||
200 | 37 | |||
201 | 38 | kubuntu daily-live feisty-intrepid amd64 i386 ia64 powerpc | ||
202 | 39 | kubuntu daily-live jaunty amd64 armel i386 ia64 powerpc | ||
203 | 40 | kubuntu daily-live karmic amd64 armel+dove armel+imx51 i386 ia64 powerpc | ||
204 | 41 | kubuntu daily-live lucid amd64 i386 ia64 powerpc | ||
205 | 42 | kubuntu daily-live precise amd64 i386 | 20 | kubuntu daily-live precise amd64 i386 |
206 | 43 | kubuntu daily-live trusty amd64 amd64+mac i386 | 21 | kubuntu daily-live trusty amd64 amd64+mac i386 |
208 | 44 | kubuntu daily-live utopic-bionic amd64 i386 | 22 | kubuntu daily-live xenial-bionic amd64 i386 |
209 | 45 | kubuntu daily-live cosmic- amd64 | 23 | kubuntu daily-live cosmic- amd64 |
210 | 46 | 24 | ||
211 | 47 | kubuntu-active * * i386 | 25 | kubuntu-active * * i386 |
212 | 48 | 26 | ||
213 | 49 | kubuntu-plasma5 daily-live utopic- amd64 i386 | ||
214 | 50 | |||
215 | 51 | mythbuntu * warty-edgy amd64 i386 powerpc | ||
216 | 52 | mythbuntu * * amd64 i386 | 27 | mythbuntu * * amd64 i386 |
217 | 53 | 28 | ||
218 | 54 | ubuntu daily karmic amd64 armel+dove armel+imx51 i386 ia64 lpia powerpc powerpc+ps3 sparc | ||
219 | 55 | ubuntu daily precise amd64 amd64+mac i386 | 29 | ubuntu daily precise amd64 amd64+mac i386 |
220 | 56 | 30 | ||
221 | 57 | ubuntu daily-live feisty-intrepid amd64 i386 ia64 powerpc powerpc+ps3 | ||
222 | 58 | ubuntu daily-live jaunty amd64 armel i386 ia64 powerpc powerpc+ps3 | ||
223 | 59 | ubuntu daily-live karmic amd64 armel+dove armel+imx51 i386 ia64 powerpc powerpc+ps3 | ||
224 | 60 | ubuntu daily-live lucid amd64 i386 ia64 powerpc powerpc+ps3 | ||
225 | 61 | ubuntu daily-live precise amd64 amd64+mac i386 | 31 | ubuntu daily-live precise amd64 amd64+mac i386 |
233 | 62 | ubuntu daily-live quantal amd64 amd64+mac armhf+omap4 i386 powerpc | 32 | ubuntu daily-live trusty amd64 amd64+mac i386 |
234 | 63 | ubuntu daily-live raring-trusty amd64 amd64+mac i386 | 33 | ubuntu daily-live xenial amd64 i386 |
235 | 64 | ubuntu daily-live utopic-zesty amd64 i386 | 34 | ubuntu daily-live bionic- amd64 |
229 | 65 | ubuntu daily-live artful- amd64 | ||
230 | 66 | |||
231 | 67 | ubuntu-desktop-next * -vivid amd64 i386 armhf | ||
232 | 68 | ubuntu-desktop-next-system-image daily-preinstalled wily- amd64 i386 armhf | ||
236 | 69 | 35 | ||
237 | 70 | ubuntu-gnome * * amd64 i386 | 36 | ubuntu-gnome * * amd64 i386 |
238 | 71 | 37 | ||
239 | @@ -75,65 +41,31 @@ | |||
240 | 75 | ubuntu-mate * -bionic amd64 i386 | 41 | ubuntu-mate * -bionic amd64 i386 |
241 | 76 | ubuntu-mate * cosmic- amd64 | 42 | ubuntu-mate * cosmic- amd64 |
242 | 77 | 43 | ||
251 | 78 | ubuntu-mid * * lpia | 44 | ubuntu-server daily-preinstalled xenial armhf+raspi2 |
244 | 79 | |||
245 | 80 | ubuntu-moblin-remix * * i386 | ||
246 | 81 | |||
247 | 82 | ubuntu-netbook daily-live lucid armel+imx51 armel+dove armel+omap i386 | ||
248 | 83 | ubuntu-netbook daily-live maverick armel+dove i386 | ||
249 | 84 | |||
250 | 85 | ubuntu-server daily-preinstalled xenial-artful armhf+raspi2 | ||
252 | 86 | ubuntu-server daily-preinstalled bionic- armhf+raspi2 armhf+raspi3 arm64+raspi3 | 45 | ubuntu-server daily-preinstalled bionic- armhf+raspi2 armhf+raspi3 arm64+raspi3 |
253 | 87 | ubuntu-server * intrepid amd64 hppa i386 ia64 powerpc powerpc+ps3 sparc | ||
254 | 88 | ubuntu-server * jaunty amd64 armel hppa i386 ia64 powerpc powerpc+ps3 sparc | ||
255 | 89 | ubuntu-server * karmic-lucid amd64 armel+dove armel+imx51 armel+omap i386 ia64 powerpc powerpc+ps3 sparc | ||
256 | 90 | ubuntu-server * maverick amd64 amd64+mac armel+dove armel+omap armel+omap4 i386 powerpc powerpc+ps3 | ||
257 | 91 | ubuntu-server * natty-oneiric amd64 amd64+mac armel+dove armel+omap armel+omap4 i386 powerpc | ||
258 | 92 | ubuntu-server * precise amd64 i386 | 46 | ubuntu-server * precise amd64 i386 |
259 | 93 | ubuntu-server * quantal-saucy amd64 amd64+mac armhf+omap armhf+omap4 i386 powerpc | ||
260 | 94 | ubuntu-server * trusty amd64 amd64+mac i386 powerpc ppc64el | 47 | ubuntu-server * trusty amd64 amd64+mac i386 powerpc ppc64el |
264 | 95 | ubuntu-server * utopic-wily amd64 i386 powerpc ppc64el | 48 | ubuntu-server * xenial amd64 arm64 i386 powerpc ppc64el s390x |
262 | 96 | ubuntu-server * xenial-yakkety amd64 arm64 i386 powerpc ppc64el s390x | ||
263 | 97 | ubuntu-server * zesty-artful amd64 arm64 i386 ppc64el s390x | ||
265 | 98 | ubuntu-server * bionic- amd64 arm64 ppc64el s390x | 49 | ubuntu-server * bionic- amd64 arm64 ppc64el s390x |
266 | 99 | 50 | ||
268 | 100 | ubuntu-server-live * artful-cosmic amd64 arm64 ppc64el | 51 | ubuntu-server-live * bionic-cosmic amd64 arm64 ppc64el |
269 | 101 | ubuntu-server-live * disco- amd64 arm64 ppc64el s390x | 52 | ubuntu-server-live * disco- amd64 arm64 ppc64el s390x |
270 | 102 | 53 | ||
271 | 103 | ubuntu-wubi * * amd64 i386 | 54 | ubuntu-wubi * * amd64 i386 |
272 | 104 | 55 | ||
275 | 105 | ubuntu-zh_CN * maverick-natty i386 | 56 | ubuntu-zh_CN * precise- amd64 i386 |
274 | 106 | ubuntu-zh_CN * oneiric- amd64 i386 | ||
276 | 107 | ubuntukylin * -bionic amd64 i386 | 57 | ubuntukylin * -bionic amd64 i386 |
277 | 108 | ubuntukylin * cosmic- amd64 | 58 | ubuntukylin * cosmic- amd64 |
278 | 109 | 59 | ||
281 | 110 | ubuntustudio * warty-edgy amd64 i386 powerpc | 60 | ubuntustudio * precise-bionic amd64 i386 |
280 | 111 | ubuntustudio * feisty-bionic amd64 i386 | ||
282 | 112 | ubuntustudio * cosmic- amd64 | 61 | ubuntustudio * cosmic- amd64 |
283 | 113 | 62 | ||
289 | 114 | xubuntu daily-live jaunty armel powerpc powerpc+ps3 | 63 | xubuntu * precise-cosmic amd64 i386 |
285 | 115 | xubuntu daily-live karmic armel+dove armel+imx51 powerpc powerpc+ps3 | ||
286 | 116 | |||
287 | 117 | xubuntu * feisty-maverick amd64 i386 powerpc powerpc+ps3 | ||
288 | 118 | xubuntu * natty-cosmic amd64 i386 | ||
290 | 119 | xubuntu * disco- amd64 | 64 | xubuntu * disco- amd64 |
291 | 120 | 65 | ||
298 | 121 | * daily-live gutsy-intrepid amd64 i386 ia64 powerpc powerpc+ps3 sparc | 66 | * dvd precise-cosmic amd64 i386 |
293 | 122 | * daily-live jaunty amd64 armel i386 ia64 powerpc powerpc+ps3 sparc | ||
294 | 123 | * daily-live karmic amd64 i386 ia64 powerpc powerpc+ps3 sparc | ||
295 | 124 | |||
296 | 125 | * dvd warty-edgy amd64 i386 powerpc | ||
297 | 126 | * dvd feisty-cosmic amd64 i386 | ||
299 | 127 | * dvd * amd64 | 67 | * dvd * amd64 |
300 | 128 | 68 | ||
311 | 129 | * * warty-dapper amd64 hppa i386 ia64 powerpc sparc | 69 | * * precise-trusty amd64 amd64+mac i386 powerpc |
312 | 130 | * * edgy amd64 i386 ia64 powerpc sparc | 70 | * * xenial-cosmic amd64 i386 |
303 | 131 | * * feisty amd64 i386 ia64 powerpc powerpc+ps3 sparc | ||
304 | 132 | * * gutsy-hardy amd64 hppa i386 ia64 powerpc powerpc+ps3 sparc | ||
305 | 133 | * * intrepid-jaunty amd64 hppa i386 ia64 lpia powerpc powerpc+ps3 sparc | ||
306 | 134 | * * karmic amd64 i386 ia64 lpia powerpc powerpc+ps3 sparc | ||
307 | 135 | * * lucid amd64 i386 ia64 powerpc powerpc+ps3 sparc | ||
308 | 136 | * * maverick amd64 amd64+mac i386 powerpc powerpc+ps3 | ||
309 | 137 | * * natty-trusty amd64 amd64+mac i386 powerpc | ||
310 | 138 | * * utopic-cosmic amd64 i386 | ||
313 | 139 | * * * amd64 | 71 | * * * amd64 |
314 | 140 | 72 | ||
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 | 3 | # Like etc/default-arches, "PROJECT" is in fact PROJECT[-SUBPROJECT][-LOCALE]. | 3 | # Like etc/default-arches, "PROJECT" is in fact PROJECT[-SUBPROJECT][-LOCALE]. |
320 | 4 | 4 | ||
321 | 5 | ubuntu daily-live * * ubuntu-cdimage/ubuntu | 5 | ubuntu daily-live * * ubuntu-cdimage/ubuntu |
324 | 6 | ubuntu-desktop-next daily-live -vivid * ubuntu-cdimage/ubuntu-desktop-next | 6 | ubuntu-canary daily-live * * ubuntu-cdimage/ubuntu-canary |
323 | 7 | ubuntu-desktop-next-system-image daily-preinstalled wily- * ubuntu-cdimage/ubuntu-desktop-next | ||
325 | 8 | kubuntu daily-live * * ubuntu-cdimage/kubuntu | 7 | kubuntu daily-live * * ubuntu-cdimage/kubuntu |
326 | 9 | kubuntu-plasma5 daily-live * * ubuntu-cdimage/kubuntu-plasma5 | ||
327 | 10 | edubuntu dvd * * ubuntu-cdimage/edubuntu | 8 | edubuntu dvd * * ubuntu-cdimage/edubuntu |
328 | 11 | xubuntu daily-live * * ubuntu-cdimage/xubuntu | 9 | xubuntu daily-live * * ubuntu-cdimage/xubuntu |
330 | 12 | ubuntu-server daily quantal- * ubuntu-cdimage/ubuntu-server | 10 | ubuntu-server daily trusty- * ubuntu-cdimage/ubuntu-server |
331 | 13 | ubuntu-server daily-preinstalled xenial- * ubuntu-cdimage/cpc | 11 | ubuntu-server daily-preinstalled xenial- * ubuntu-cdimage/cpc |
333 | 14 | ubuntu-server-live daily-live zesty- * ubuntu-cdimage/ubuntu-server-live | 12 | ubuntu-server-live daily-live bionic- * ubuntu-cdimage/ubuntu-server-live |
334 | 15 | ubuntustudio dvd * * ubuntu-cdimage/ubuntustudio | 13 | ubuntustudio dvd * * ubuntu-cdimage/ubuntustudio |
335 | 16 | mythbuntu daily-live * * ubuntu-cdimage/mythbuntu | 14 | mythbuntu daily-live * * ubuntu-cdimage/mythbuntu |
336 | 17 | lubuntu-next daily-live * * ubuntu-cdimage/lubuntu-next | 15 | lubuntu-next daily-live * * ubuntu-cdimage/lubuntu-next |
337 | @@ -27,8 +25,6 @@ | |||
338 | 27 | ubuntu-budgie daily-live * * ubuntu-cdimage/ubuntu-budgie | 25 | ubuntu-budgie daily-live * * ubuntu-cdimage/ubuntu-budgie |
339 | 28 | ubuntu-touch daily-preinstalled ubuntu-rtm/* * ubuntu-cdimage/ubuntu-touch | 26 | ubuntu-touch daily-preinstalled ubuntu-rtm/* * ubuntu-cdimage/ubuntu-touch |
340 | 29 | ubuntu-touch daily-preinstalled trusty- * ubuntu-cdimage/ubuntu-touch | 27 | ubuntu-touch daily-preinstalled trusty- * ubuntu-cdimage/ubuntu-touch |
341 | 30 | ubuntu-touch-custom daily-preinstalled vivid- * ubuntu-cdimage/ubuntu-touch-custom | ||
342 | 31 | ubuntu-pd daily-preinstalled * * ubuntu-cdimage/ubuntu-pd | ||
343 | 32 | ubuntu dvd -precise * ubuntu-cdimage/ubuntu-dvd | 28 | ubuntu dvd -precise * ubuntu-cdimage/ubuntu-dvd |
344 | 33 | ubuntu-wubi wubi * * ubuntu-cdimage/ubuntu-wubi | 29 | ubuntu-wubi wubi * * ubuntu-cdimage/ubuntu-wubi |
346 | 34 | ubuntu-zh_CN daily-live -raring * ubuntu-cdimage/ubuntu-zh-cn | 30 | ubuntu-zh_CN daily-live -precise * ubuntu-cdimage/ubuntu-zh-cn |
347 | 35 | 31 | ||
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 | 3 | daily-preinstalled 1 | 3 | daily-preinstalled 1 |
353 | 4 | # Purge images older than 2 days => keep the most recent build. | 4 | # Purge images older than 2 days => keep the most recent build. |
354 | 5 | dvd 2 | 5 | dvd 2 |
355 | 6 | <<<<<<< TREE | ||
356 | 6 | # Only purge TheOpenCDv3 images manually. | 7 | # Only purge TheOpenCDv3 images manually. |
357 | 7 | tocd3/daily-live 0 | 8 | tocd3/daily-live 0 |
358 | 8 | # Ubuntu Core images are not purged per age | 9 | # Ubuntu Core images are not purged per age |
359 | 10 | ======= | ||
360 | 11 | # Only purge ubuntu-core images manually. | ||
361 | 12 | >>>>>>> MERGE-SOURCE | ||
362 | 9 | ubuntu-core 0 | 13 | ubuntu-core 0 |
363 | 10 | ubuntu-mid 3 | ||
364 | 11 | ubuntu-netbook 3 | ||
365 | 12 | ubuntu-touch 7 | 14 | ubuntu-touch 7 |
366 | 13 | ubuntu-touch-custom 7 | ||
367 | 14 | source 1 | 15 | source 1 |
368 | 15 | wubi 1 | 16 | wubi 1 |
369 | 16 | ubuntu-zh_CN 3 | 17 | ubuntu-zh_CN 3 |
370 | 17 | 18 | ||
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 | 11 | Kubuntu Desktop armhf+omap4 kubuntu daily-live desktop armhf+omap4 iso | 11 | Kubuntu Desktop armhf+omap4 kubuntu daily-live desktop armhf+omap4 iso |
376 | 12 | Kubuntu Desktop i386 kubuntu daily-live desktop i386 iso | 12 | Kubuntu Desktop i386 kubuntu daily-live desktop i386 iso |
377 | 13 | Kubuntu Desktop powerpc kubuntu daily-live desktop powerpc iso | 13 | Kubuntu Desktop powerpc kubuntu daily-live desktop powerpc iso |
378 | 14 | Kubuntu Plasma 5 Desktop amd64 kubuntu-plasma5 daily-live desktop amd64 iso | ||
379 | 15 | Kubuntu Plasma 5 Desktop i386 kubuntu-plasma5 daily-live desktop i386 iso | ||
380 | 16 | 14 | ||
381 | 17 | # Lubuntu | 15 | # Lubuntu |
382 | 18 | Lubuntu Alternate amd64 lubuntu daily alternate amd64 iso | 16 | Lubuntu Alternate amd64 lubuntu daily alternate amd64 iso |
383 | @@ -47,17 +45,13 @@ | |||
384 | 47 | 45 | ||
385 | 48 | # Ubuntu Desktop | 46 | # Ubuntu Desktop |
386 | 49 | Ubuntu Desktop amd64 ubuntu daily-live desktop amd64 iso | 47 | Ubuntu Desktop amd64 ubuntu daily-live desktop amd64 iso |
387 | 48 | Ubuntu Desktop (Canary) amd64 ubuntu daily-live/canary desktop amd64 iso | ||
388 | 50 | Ubuntu Desktop amd64+mac ubuntu daily-live desktop amd64+mac iso | 49 | Ubuntu Desktop amd64+mac ubuntu daily-live desktop amd64+mac iso |
389 | 51 | Ubuntu Desktop armhf+omap4 ubuntu daily-live desktop armhf+omap4 iso | 50 | Ubuntu Desktop armhf+omap4 ubuntu daily-live desktop armhf+omap4 iso |
390 | 52 | Ubuntu Desktop i386 ubuntu daily-live desktop i386 iso | 51 | Ubuntu Desktop i386 ubuntu daily-live desktop i386 iso |
391 | 53 | Ubuntu Desktop powerpc ubuntu daily-live desktop powerpc iso | 52 | Ubuntu Desktop powerpc ubuntu daily-live desktop powerpc iso |
392 | 54 | Ubuntu Desktop Preinstalled armhf+nexus7 ubuntu daily-preinstalled preinstalled-desktop armhf+nexus7 iso | 53 | Ubuntu Desktop Preinstalled armhf+nexus7 ubuntu daily-preinstalled preinstalled-desktop armhf+nexus7 iso |
393 | 55 | 54 | ||
394 | 56 | # Ubuntu Desktop Next | ||
395 | 57 | Ubuntu Desktop (Unity 8) armhf ubuntu-desktop-next/system-image daily-preinstalled preinstalled-desktop-next armhf iso | ||
396 | 58 | Ubuntu Desktop (Unity 8) amd64 ubuntu-desktop-next/system-image daily-preinstalled preinstalled-desktop-next amd64 iso | ||
397 | 59 | Ubuntu Desktop (Unity 8) i386 ubuntu-desktop-next/system-image daily-preinstalled preinstalled-desktop-next i386 iso | ||
398 | 60 | |||
399 | 61 | # Ubuntu GNOME | 55 | # Ubuntu GNOME |
400 | 62 | Ubuntu GNOME Desktop amd64 ubuntu-gnome daily-live desktop amd64 iso | 56 | Ubuntu GNOME Desktop amd64 ubuntu-gnome daily-live desktop amd64 iso |
401 | 63 | Ubuntu GNOME Desktop i386 ubuntu-gnome daily-live desktop i386 iso | 57 | Ubuntu GNOME Desktop i386 ubuntu-gnome daily-live desktop i386 iso |
402 | @@ -97,10 +91,6 @@ | |||
403 | 97 | Ubuntu Touch armhf ubuntu-touch daily-preinstalled preinstalled-touch armhf iso | 91 | Ubuntu Touch armhf ubuntu-touch daily-preinstalled preinstalled-touch armhf iso |
404 | 98 | Ubuntu Touch i386 ubuntu-touch daily-preinstalled preinstalled-touch i386 iso | 92 | Ubuntu Touch i386 ubuntu-touch daily-preinstalled preinstalled-touch i386 iso |
405 | 99 | 93 | ||
406 | 100 | # Ubuntu Touch Custom | ||
407 | 101 | Ubuntu Touch Custom armhf ubuntu-touch-custom daily-preinstalled preinstalled-touch armhf iso | ||
408 | 102 | Ubuntu Touch Custom i386 ubuntu-touch-custom daily-preinstalled preinstalled-touch i386 iso | ||
409 | 103 | |||
410 | 104 | # Ubuntu Kylin | 94 | # Ubuntu Kylin |
411 | 105 | Ubuntu Kylin Desktop amd64 ubuntukylin daily-live desktop amd64 iso | 95 | Ubuntu Kylin Desktop amd64 ubuntukylin daily-live desktop amd64 iso |
412 | 106 | Ubuntu Kylin Desktop i386 ubuntukylin daily-live desktop i386 iso | 96 | Ubuntu Kylin Desktop i386 ubuntukylin daily-live desktop i386 iso |
413 | 107 | 97 | ||
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 | 80 | if project == "gobuntu": | 80 | if project == "gobuntu": |
419 | 81 | config["CDIMAGE_ONLYFREE"] = "1" | 81 | config["CDIMAGE_ONLYFREE"] = "1" |
420 | 82 | elif project == "edubuntu": | 82 | elif project == "edubuntu": |
423 | 83 | if series >= "karmic": | 83 | config["CDIMAGE_UNSUPPORTED"] = "1" |
422 | 84 | config["CDIMAGE_UNSUPPORTED"] = "1" | ||
424 | 85 | elif project == "xubuntu": | 84 | elif project == "xubuntu": |
427 | 86 | if series >= "hardy": | 85 | config["CDIMAGE_UNSUPPORTED"] = "1" |
426 | 87 | config["CDIMAGE_UNSUPPORTED"] = "1" | ||
428 | 88 | elif project == "kubuntu": | 86 | elif project == "kubuntu": |
430 | 89 | if series >= "quantal": | 87 | if series >= "trusty": |
431 | 90 | config["CDIMAGE_UNSUPPORTED"] = "1" | 88 | config["CDIMAGE_UNSUPPORTED"] = "1" |
432 | 91 | elif project in ( | 89 | elif project in ( |
433 | 92 | "kubuntu-active", | 90 | "kubuntu-active", |
434 | 93 | "kubuntu-plasma5", | ||
435 | 94 | "ubuntustudio", | 91 | "ubuntustudio", |
436 | 95 | "mythbuntu", | 92 | "mythbuntu", |
437 | 96 | "lubuntu", | 93 | "lubuntu", |
438 | @@ -98,8 +95,6 @@ | |||
439 | 98 | "ubuntu-gnome", | 95 | "ubuntu-gnome", |
440 | 99 | "ubuntu-budgie", | 96 | "ubuntu-budgie", |
441 | 100 | "ubuntu-mate", | 97 | "ubuntu-mate", |
442 | 101 | "ubuntu-moblin-remix", | ||
443 | 102 | "ubuntu-mid", | ||
444 | 103 | ): | 98 | ): |
445 | 104 | config["CDIMAGE_UNSUPPORTED"] = "1" | 99 | config["CDIMAGE_UNSUPPORTED"] = "1" |
446 | 105 | 100 | ||
447 | @@ -363,66 +358,23 @@ | |||
448 | 363 | "UBUNTU_DEFAULTS_LOCALE='%s' not currently supported!" % locale) | 358 | "UBUNTU_DEFAULTS_LOCALE='%s' not currently supported!" % locale) |
449 | 364 | 359 | ||
450 | 365 | series = config["DIST"] | 360 | series = config["DIST"] |
511 | 366 | if series < "oneiric": | 361 | log_marker("Downloading live filesystem images") |
512 | 367 | # Original hack: repack an existing image. | 362 | download_live_filesystems(config) |
513 | 368 | iso = config["ISO"] | 363 | scratch = live_output_directory(config) |
514 | 369 | if not iso: | 364 | for entry in os.listdir(scratch): |
515 | 370 | raise Exception( | 365 | if "." in entry: |
516 | 371 | "Pass ISO=<path to Ubuntu image> in the environment.") | 366 | os.rename( |
517 | 372 | 367 | os.path.join(scratch, entry), | |
518 | 373 | scratch = os.path.join( | 368 | os.path.join(scratch, "%s-desktop-%s" % (series, entry))) |
519 | 374 | config.root, "scratch", "ubuntu-chinese-edition", series.name) | 369 | pi_makelist = os.path.join( |
520 | 375 | bsdtar_tree = os.path.join(scratch, "bsdtar-tree") | 370 | config.root, "debian-cd", "tools", "pi-makelist") |
521 | 376 | 371 | for entry in os.listdir(scratch): | |
522 | 377 | log_marker("Unpacking") | 372 | if entry.endswith(".iso"): |
523 | 378 | if os.path.isdir(bsdtar_tree): | 373 | entry_path = os.path.join(scratch, entry) |
524 | 379 | subprocess.check_call(["chmod", "-R", "+w", bsdtar_tree]) | 374 | list_path = "%s.list" % entry_path.rsplit(".", 1)[0] |
525 | 380 | osextras.mkemptydir(bsdtar_tree) | 375 | with open(list_path, "w") as list_file: |
526 | 381 | subprocess.check_call(["bsdtar", "-xf", iso, "-C", bsdtar_tree]) | 376 | subprocess.check_call( |
527 | 382 | subprocess.check_call(["chmod", "-R", "+w", bsdtar_tree]) | 377 | [pi_makelist, entry_path], stdout=list_file) |
468 | 383 | |||
469 | 384 | log_marker("Transforming (robots in disguise)") | ||
470 | 385 | with open(os.path.join(bsdtar_tree, "isolinux", "lang"), "w") as lang: | ||
471 | 386 | print(locale, file=lang) | ||
472 | 387 | subprocess.call([ | ||
473 | 388 | "mkisofs", | ||
474 | 389 | "-r", "-V", "Ubuntu Chinese %s i386" % series.version, | ||
475 | 390 | "-o", os.path.join(scratch, os.path.basename(iso)), | ||
476 | 391 | "-cache-inodes", "-J", "-l", | ||
477 | 392 | "-b", "isolinux/isolinux.bin", "-c", "isolinux/boot.cat", | ||
478 | 393 | "-no-emul-boot", "-boot-load-size", "4", "-boot-info-table", | ||
479 | 394 | bsdtar_tree, | ||
480 | 395 | ]) | ||
481 | 396 | |||
482 | 397 | iso_prefix = iso.rsplit(".", 1)[0] | ||
483 | 398 | scratch_prefix = os.path.join( | ||
484 | 399 | scratch, os.path.basename(iso).rsplit(".", 1)[0]) | ||
485 | 400 | |||
486 | 401 | for ext in "list", "manifest": | ||
487 | 402 | if os.path.exists("%s.%s" % (iso_prefix, ext)): | ||
488 | 403 | shutil.copy2( | ||
489 | 404 | "%s.%s" % (iso_prefix, ext), | ||
490 | 405 | "%s.%s" % (scratch_prefix, ext)) | ||
491 | 406 | else: | ||
492 | 407 | osextras.unlink_force("%s.%s" % (scratch_prefix, ext)) | ||
493 | 408 | else: | ||
494 | 409 | log_marker("Downloading live filesystem images") | ||
495 | 410 | download_live_filesystems(config) | ||
496 | 411 | scratch = live_output_directory(config) | ||
497 | 412 | for entry in os.listdir(scratch): | ||
498 | 413 | if "." in entry: | ||
499 | 414 | os.rename( | ||
500 | 415 | os.path.join(scratch, entry), | ||
501 | 416 | os.path.join(scratch, "%s-desktop-%s" % (series, entry))) | ||
502 | 417 | pi_makelist = os.path.join( | ||
503 | 418 | config.root, "debian-cd", "tools", "pi-makelist") | ||
504 | 419 | for entry in os.listdir(scratch): | ||
505 | 420 | if entry.endswith(".iso"): | ||
506 | 421 | entry_path = os.path.join(scratch, entry) | ||
507 | 422 | list_path = "%s.list" % entry_path.rsplit(".", 1)[0] | ||
508 | 423 | with open(list_path, "w") as list_file: | ||
509 | 424 | subprocess.check_call( | ||
510 | 425 | [pi_makelist, entry_path], stdout=list_file) | ||
528 | 426 | 378 | ||
529 | 427 | 379 | ||
530 | 428 | def add_android_support(config, arch, output_dir): | 380 | def add_android_support(config, arch, output_dir): |
531 | @@ -506,9 +458,8 @@ | |||
532 | 506 | "%s.model-assertion" % live_prefix, | 458 | "%s.model-assertion" % live_prefix, |
533 | 507 | "%s.model-assertion" % output_prefix) | 459 | "%s.model-assertion" % output_prefix) |
534 | 508 | 460 | ||
538 | 509 | if (config.project in ("ubuntu-base", "ubuntu-touch", | 461 | if (config.project in ("ubuntu-base", "ubuntu-touch") or |
539 | 510 | "ubuntu-touch-custom") or | 462 | (config.project == "ubuntu-core" and |
537 | 511 | (config.project in ("ubuntu-desktop-next", "ubuntu-core") and | ||
540 | 512 | config.subproject == "system-image")): | 463 | config.subproject == "system-image")): |
541 | 513 | log_marker("Copying images to debian-cd output directory") | 464 | log_marker("Copying images to debian-cd output directory") |
542 | 514 | scratch_dir = os.path.join( | 465 | scratch_dir = os.path.join( |
543 | @@ -528,26 +479,16 @@ | |||
544 | 528 | elif config.project == "ubuntu-base": | 479 | elif config.project == "ubuntu-base": |
545 | 529 | output_prefix = os.path.join( | 480 | output_prefix = os.path.join( |
546 | 530 | output_dir, "%s-base-%s" % (config.series, arch)) | 481 | output_dir, "%s-base-%s" % (config.series, arch)) |
548 | 531 | elif config.project in ("ubuntu-touch", "ubuntu-touch-custom"): | 482 | elif config.project == "ubuntu-touch": |
549 | 532 | output_prefix = os.path.join( | 483 | output_prefix = os.path.join( |
550 | 533 | output_dir, | 484 | output_dir, |
551 | 534 | "%s-preinstalled-touch-%s" % (config.series, arch)) | 485 | "%s-preinstalled-touch-%s" % (config.series, arch)) |
552 | 535 | elif config.project == "ubuntu-desktop-next": | ||
553 | 536 | if config.image_type == "daily-preinstalled": | ||
554 | 537 | output_prefix = os.path.join( | ||
555 | 538 | output_dir, | ||
556 | 539 | "%s-preinstalled-desktop-next-%s" % | ||
557 | 540 | (config.series, arch)) | ||
558 | 541 | else: | ||
559 | 542 | output_prefix = os.path.join( | ||
560 | 543 | output_dir, "%s-desktop-next-%s" % | ||
561 | 544 | (config.series, arch)) | ||
562 | 545 | shutil.copy2(rootfs, "%s.raw" % output_prefix) | 486 | shutil.copy2(rootfs, "%s.raw" % output_prefix) |
563 | 546 | with open("%s.type" % output_prefix, "w") as f: | 487 | with open("%s.type" % output_prefix, "w") as f: |
564 | 547 | print("tar archive", file=f) | 488 | print("tar archive", file=f) |
565 | 548 | shutil.copy2( | 489 | shutil.copy2( |
566 | 549 | "%s.manifest" % live_prefix, "%s.manifest" % output_prefix) | 490 | "%s.manifest" % live_prefix, "%s.manifest" % output_prefix) |
568 | 550 | if config.project in ("ubuntu-touch", "ubuntu-touch-custom"): | 491 | if config.project == "ubuntu-touch": |
569 | 551 | osextras.link_force( | 492 | osextras.link_force( |
570 | 552 | "%s.raw" % output_prefix, "%s.tar.gz" % output_prefix) | 493 | "%s.raw" % output_prefix, "%s.tar.gz" % output_prefix) |
571 | 553 | add_android_support(config, arch, output_dir) | 494 | add_android_support(config, arch, output_dir) |
572 | @@ -555,7 +496,7 @@ | |||
573 | 555 | if os.path.exists(custom): | 496 | if os.path.exists(custom): |
574 | 556 | shutil.copy2( | 497 | shutil.copy2( |
575 | 557 | custom, "%s.custom.tar.gz" % output_prefix) | 498 | custom, "%s.custom.tar.gz" % output_prefix) |
577 | 558 | if config.project in ("ubuntu-core", "ubuntu-desktop-next"): | 499 | if config.project == "ubuntu-core": |
578 | 559 | for dev in ("azure.device", "device", "raspi2.device", | 500 | for dev in ("azure.device", "device", "raspi2.device", |
579 | 560 | "plano.device"): | 501 | "plano.device"): |
580 | 561 | device = "%s.%s.tar.gz" % (live_prefix, dev) | 502 | device = "%s.%s.tar.gz" % (live_prefix, dev) |
581 | @@ -571,10 +512,7 @@ | |||
582 | 571 | 512 | ||
583 | 572 | 513 | ||
584 | 573 | def _debootstrap_script(config): | 514 | def _debootstrap_script(config): |
589 | 574 | if config["DIST"] <= "gutsy": | 515 | return "usr/share/debootstrap/scripts/%s" % config.series |
586 | 575 | return "usr/lib/debootstrap/scripts/%s" % config.series | ||
587 | 576 | else: | ||
588 | 577 | return "usr/share/debootstrap/scripts/%s" % config.series | ||
590 | 578 | 516 | ||
591 | 579 | 517 | ||
592 | 580 | def extract_debootstrap(config): | 518 | def extract_debootstrap(config): |
593 | @@ -710,15 +648,11 @@ | |||
594 | 710 | def is_live_fs_only(config): | 648 | def is_live_fs_only(config): |
595 | 711 | live_fs_only = False | 649 | live_fs_only = False |
596 | 712 | if config.project in ( | 650 | if config.project in ( |
599 | 713 | "livecd-base", "ubuntu-base", "ubuntu-core", "ubuntu-touch", | 651 | "livecd-base", "ubuntu-base", "ubuntu-core", "ubuntu-touch"): |
598 | 714 | "ubuntu-touch-custom"): | ||
600 | 715 | live_fs_only = True | 652 | live_fs_only = True |
601 | 716 | elif (config.project == "ubuntu-server" and | 653 | elif (config.project == "ubuntu-server" and |
602 | 717 | config.image_type == "daily-preinstalled"): | 654 | config.image_type == "daily-preinstalled"): |
603 | 718 | live_fs_only = True | 655 | live_fs_only = True |
604 | 719 | elif (config.project == "ubuntu-desktop-next" and | ||
605 | 720 | config.subproject == "system-image"): | ||
606 | 721 | live_fs_only = True | ||
607 | 722 | elif config.subproject == "wubi": | 656 | elif config.subproject == "wubi": |
608 | 723 | live_fs_only = True | 657 | live_fs_only = True |
609 | 724 | return live_fs_only | 658 | return live_fs_only |
610 | 725 | 659 | ||
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 | 72 | gitpattern = "https://git.launchpad.net/~%s/ubuntu-seeds/+git/" | 72 | gitpattern = "https://git.launchpad.net/~%s/ubuntu-seeds/+git/" |
616 | 73 | series = self.config["DIST"] | 73 | series = self.config["DIST"] |
617 | 74 | sources = [gitpattern % "ubuntu-core-dev"] | 74 | sources = [gitpattern % "ubuntu-core-dev"] |
623 | 75 | if project in ("kubuntu", "kubuntu-active", "kubuntu-plasma5"): | 75 | if project in ("kubuntu", "kubuntu-active"): |
624 | 76 | if series >= "oneiric": | 76 | sources.insert(0, bzrpattern % "kubuntu-dev") |
620 | 77 | sources.insert(0, bzrpattern % "kubuntu-dev") | ||
621 | 78 | else: | ||
622 | 79 | sources.insert(0, bzrpattern % "ubuntu-core-dev") | ||
625 | 80 | elif project == "ubuntustudio": | 77 | elif project == "ubuntustudio": |
626 | 81 | sources.insert(0, gitpattern % "ubuntustudio-dev") | 78 | sources.insert(0, gitpattern % "ubuntustudio-dev") |
627 | 82 | elif project == "mythbuntu": | 79 | elif project == "mythbuntu": |
628 | 83 | sources.insert(0, bzrpattern % "mythbuntu-dev") | 80 | sources.insert(0, bzrpattern % "mythbuntu-dev") |
629 | 84 | elif project == "xubuntu": | 81 | elif project == "xubuntu": |
634 | 85 | if series >= "intrepid": | 82 | sources.insert(0, gitpattern % "xubuntu-dev") |
631 | 86 | sources.insert(0, gitpattern % "xubuntu-dev") | ||
632 | 87 | else: | ||
633 | 88 | sources.insert(0, bzrpattern % "ubuntu-core-dev") | ||
635 | 89 | elif project in ("lubuntu", "lubuntu-next"): | 83 | elif project in ("lubuntu", "lubuntu-next"): |
636 | 90 | sources.insert(0, gitpattern % "lubuntu-dev") | 84 | sources.insert(0, gitpattern % "lubuntu-dev") |
637 | 91 | elif project == "ubuntu-gnome": | 85 | elif project == "ubuntu-gnome": |
638 | @@ -94,10 +88,8 @@ | |||
639 | 94 | sources.insert(0, bzrpattern % "ubuntubudgie-dev") | 88 | sources.insert(0, bzrpattern % "ubuntubudgie-dev") |
640 | 95 | elif project == "ubuntu-mate": | 89 | elif project == "ubuntu-mate": |
641 | 96 | sources.insert(0, bzrpattern % "ubuntu-mate-dev") | 90 | sources.insert(0, bzrpattern % "ubuntu-mate-dev") |
642 | 97 | elif project == "ubuntu-moblin-remix": | ||
643 | 98 | sources.insert(0, bzrpattern % "moblin") | ||
644 | 99 | elif project == "ubuntukylin": | 91 | elif project == "ubuntukylin": |
646 | 100 | if series >= "utopic": | 92 | if series >= "xenial": |
647 | 101 | sources.insert(0, gitpattern % "ubuntukylin-members") | 93 | sources.insert(0, gitpattern % "ubuntukylin-members") |
648 | 102 | else: | 94 | else: |
649 | 103 | sources.insert(0, bzrpattern % "ubuntu-core-dev") | 95 | sources.insert(0, bzrpattern % "ubuntu-core-dev") |
650 | @@ -138,24 +130,13 @@ | |||
651 | 138 | return [pattern % self.config.series for pattern in dist_patterns] | 130 | return [pattern % self.config.series for pattern in dist_patterns] |
652 | 139 | 131 | ||
653 | 140 | def seed_dist(self, project): | 132 | def seed_dist(self, project): |
656 | 141 | if (project in ("ubuntu-server", "jeos") and | 133 | if project == "ubuntu-server": |
655 | 142 | self.config.series != "breezy"): | ||
657 | 143 | return "ubuntu.%s" % self.config.series | 134 | return "ubuntu.%s" % self.config.series |
658 | 144 | elif project == "ubuntukylin": | 135 | elif project == "ubuntukylin": |
660 | 145 | if self.config["DIST"] >= "utopic": | 136 | if self.config["DIST"] >= "xenial": |
661 | 146 | return "ubuntukylin.%s" % self.config.series | 137 | return "ubuntukylin.%s" % self.config.series |
662 | 147 | else: | 138 | else: |
663 | 148 | return "ubuntu.%s" % self.config.series | 139 | return "ubuntu.%s" % self.config.series |
664 | 149 | elif project == "ubuntu-mid": | ||
665 | 150 | return "mobile.%s" % self.config.series | ||
666 | 151 | elif project == "ubuntu-netbook": | ||
667 | 152 | return "netbook.%s" % self.config.series | ||
668 | 153 | elif project == "ubuntu-headless": | ||
669 | 154 | return "ubuntu.%s" % self.config.series | ||
670 | 155 | elif project == "ubuntu-moblin-remix": | ||
671 | 156 | return "moblin.%s" % self.config.series | ||
672 | 157 | elif project == "ubuntu-desktop-next": | ||
673 | 158 | return "ubuntu-touch.%s" % self.config.series | ||
674 | 159 | elif project == "lubuntu-next": | 140 | elif project == "lubuntu-next": |
675 | 160 | return "lubuntu.%s" % self.config.series | 141 | return "lubuntu.%s" % self.config.series |
676 | 161 | else: | 142 | else: |
677 | @@ -218,24 +199,6 @@ | |||
678 | 218 | shutil.copy2( | 199 | shutil.copy2( |
679 | 219 | os.path.join(arch_output_dir, "structure"), output_structure) | 200 | os.path.join(arch_output_dir, "structure"), output_structure) |
680 | 220 | 201 | ||
681 | 221 | if self.config.series == "breezy": | ||
682 | 222 | # Unfortunately, we now need a second germinate run to figure | ||
683 | 223 | # out the dependencies of language packs and the like. | ||
684 | 224 | extras = [] | ||
685 | 225 | with open(os.path.join( | ||
686 | 226 | arch_output_dir, "ship.acsets"), "w") as ship_acsets: | ||
687 | 227 | output = GerminateOutput(self.config, output_structure) | ||
688 | 228 | for pkg in output.seed_packages(arch, "ship.seed"): | ||
689 | 229 | extras.append("desktop/%s" % pkg) | ||
690 | 230 | print(pkg, file=ship_acsets) | ||
691 | 231 | if extras: | ||
692 | 232 | logger.info( | ||
693 | 233 | "Re-germinating for %s/%s language pack dependencies ..." % | ||
694 | 234 | (self.config.series, arch)) | ||
695 | 235 | command.extend(["--seed-packages", ",".join(extras)]) | ||
696 | 236 | proxy_check_call( | ||
697 | 237 | self.config, "germinate", command, cwd=arch_output_dir) | ||
698 | 238 | |||
699 | 239 | def germinate_project(self, project): | 202 | def germinate_project(self, project): |
700 | 240 | osextras.mkemptydir(self.output_dir(project)) | 203 | osextras.mkemptydir(self.output_dir(project)) |
701 | 241 | 204 | ||
702 | @@ -314,17 +277,10 @@ | |||
703 | 314 | ship = "ship-addon" | 277 | ship = "ship-addon" |
704 | 315 | in_squashfs = None | 278 | in_squashfs = None |
705 | 316 | if project == "ubuntu-server": | 279 | if project == "ubuntu-server": |
712 | 317 | if series <= "breezy": | 280 | ship = "server-ship" |
707 | 318 | pass | ||
708 | 319 | elif series <= "dapper": | ||
709 | 320 | ship = "server" | ||
710 | 321 | else: | ||
711 | 322 | ship = "server-ship" | ||
713 | 323 | in_squashfs = ["minimal"] | 281 | in_squashfs = ["minimal"] |
714 | 324 | elif project == "kubuntu-active": | 282 | elif project == "kubuntu-active": |
715 | 325 | ship = "active-ship" | 283 | ship = "active-ship" |
716 | 326 | elif project == "jeos": | ||
717 | 327 | ship = "jeos" | ||
718 | 328 | seeds = self._inheritance(ship) | 284 | seeds = self._inheritance(ship) |
719 | 329 | if (self.config["CDIMAGE_SQUASHFS_BASE"] and | 285 | if (self.config["CDIMAGE_SQUASHFS_BASE"] and |
720 | 330 | in_squashfs is not None): | 286 | in_squashfs is not None): |
721 | @@ -333,55 +289,33 @@ | |||
722 | 333 | for seed in seeds: | 289 | for seed in seeds: |
723 | 334 | yield seed | 290 | yield seed |
724 | 335 | if self.config["CDIMAGE_DVD"]: | 291 | if self.config["CDIMAGE_DVD"]: |
729 | 336 | if series >= "edgy": | 292 | # TODO cjwatson 2007-04-18: hideous hack to fix DVD tasks |
730 | 337 | # TODO cjwatson 2007-04-18: hideous hack to fix DVD tasks | 293 | yield "dns-server" |
731 | 338 | yield "dns-server" | 294 | yield "lamp-server" |
728 | 339 | yield "lamp-server" | ||
732 | 340 | elif mode == "installer": | 295 | elif mode == "installer": |
733 | 341 | if self.config["CDIMAGE_INSTALL_BASE"]: | 296 | if self.config["CDIMAGE_INSTALL_BASE"]: |
734 | 342 | yield "installer" | 297 | yield "installer" |
735 | 343 | if self.config["CDIMAGE_LIVE"]: | ||
736 | 344 | if series >= "hoary" and series <= "breezy": | ||
737 | 345 | yield "casper" | ||
738 | 346 | elif mode == "debootstrap": | 298 | elif mode == "debootstrap": |
746 | 347 | if series <= "hoary": | 299 | yield "required" |
747 | 348 | yield "base" | 300 | yield "minimal" |
741 | 349 | elif series <= "feisty": | ||
742 | 350 | yield "minimal" | ||
743 | 351 | else: | ||
744 | 352 | yield "required" | ||
745 | 353 | yield "minimal" | ||
748 | 354 | elif mode == "base": | 301 | elif mode == "base": |
763 | 355 | if series <= "hoary": | 302 | yield "boot" |
764 | 356 | yield "base" | 303 | yield "required" |
765 | 357 | elif series <= "breezy": | 304 | yield "minimal" |
766 | 358 | yield "minimal" | 305 | yield "standard" |
753 | 359 | yield "standard" | ||
754 | 360 | elif series <= "feisty": | ||
755 | 361 | yield "boot" | ||
756 | 362 | yield "minimal" | ||
757 | 363 | yield "standard" | ||
758 | 364 | else: | ||
759 | 365 | yield "boot" | ||
760 | 366 | yield "required" | ||
761 | 367 | yield "minimal" | ||
762 | 368 | yield "standard" | ||
767 | 369 | elif mode == "ship-live": | 306 | elif mode == "ship-live": |
768 | 370 | if project == "kubuntu-active": | 307 | if project == "kubuntu-active": |
769 | 371 | yield "ship-active-live" | 308 | yield "ship-active-live" |
772 | 372 | elif (project == "lubuntu" and series >= "artful" | 309 | elif project == "lubuntu" and series == "bionic": |
771 | 373 | and series <= "bionic"): | ||
773 | 374 | yield "ship-live-gtk" | 310 | yield "ship-live-gtk" |
774 | 375 | yield "ship-live-share" | 311 | yield "ship-live-share" |
777 | 376 | elif (project == "lubuntu-next" and series >= "artful" | 312 | elif project == "lubuntu-next" and series == "bionic": |
776 | 377 | and series <= "bionic"): | ||
778 | 378 | yield "ship-live-qt" | 313 | yield "ship-live-qt" |
779 | 379 | yield "ship-live-share" | 314 | yield "ship-live-share" |
780 | 380 | elif project == "ubuntu-server" and series >= "bionic": | 315 | elif project == "ubuntu-server" and series >= "bionic": |
781 | 381 | yield "server-ship-live" | 316 | yield "server-ship-live" |
782 | 382 | else: | 317 | else: |
785 | 383 | if series >= "dapper": | 318 | yield "ship-live" |
784 | 384 | yield "ship-live" | ||
786 | 385 | elif mode == "addon": | 319 | elif mode == "addon": |
787 | 386 | ship = self._inheritance("ship") | 320 | ship = self._inheritance("ship") |
788 | 387 | ship_addon = self._inheritance("ship-addon") | 321 | ship_addon = self._inheritance("ship-addon") |
789 | @@ -389,29 +323,22 @@ | |||
790 | 389 | if seed not in ship: | 323 | if seed not in ship: |
791 | 390 | yield seed | 324 | yield seed |
792 | 391 | elif mode == "dvd": | 325 | elif mode == "dvd": |
797 | 392 | if series <= "gutsy": | 326 | if project == "edubuntu": |
798 | 393 | for seed in self._inheritance("supported"): | 327 | # no inheritance; most of this goes on the live filesystem |
799 | 394 | yield seed | 328 | yield "dvd" |
800 | 395 | elif series <= "karmic": | 329 | yield "ship-live" |
801 | 330 | elif project == "ubuntu": | ||
802 | 331 | # no inheritance; most of this goes on the live filesystem | ||
803 | 332 | yield "usb-langsupport" | ||
804 | 333 | yield "usb-ship-live" | ||
805 | 334 | elif project == "ubuntustudio": | ||
806 | 335 | # no inheritance; most of this goes on the live filesystem | ||
807 | 336 | yield "dvd" | ||
808 | 337 | if series >= "bionic": | ||
809 | 338 | yield "ship-live" | ||
810 | 339 | else: | ||
811 | 396 | for seed in self._inheritance("dvd"): | 340 | for seed in self._inheritance("dvd"): |
812 | 397 | yield seed | 341 | yield seed |
813 | 398 | else: | ||
814 | 399 | if project == "edubuntu": | ||
815 | 400 | # no inheritance; most of this goes on the live filesystem | ||
816 | 401 | yield "dvd" | ||
817 | 402 | yield "ship-live" | ||
818 | 403 | elif project == "ubuntu" and series >= "oneiric": | ||
819 | 404 | # no inheritance; most of this goes on the live filesystem | ||
820 | 405 | yield "usb-langsupport" | ||
821 | 406 | yield "usb-ship-live" | ||
822 | 407 | elif project == "ubuntustudio" and series >= "precise": | ||
823 | 408 | # no inheritance; most of this goes on the live filesystem | ||
824 | 409 | yield "dvd" | ||
825 | 410 | if series >= "artful": | ||
826 | 411 | yield "ship-live" | ||
827 | 412 | else: | ||
828 | 413 | for seed in self._inheritance("dvd"): | ||
829 | 414 | yield seed | ||
830 | 415 | 342 | ||
831 | 416 | def seed_path(self, arch, seed): | 343 | def seed_path(self, arch, seed): |
832 | 417 | return os.path.join(self.directory, arch, seed) | 344 | return os.path.join(self.directory, arch, seed) |
833 | @@ -492,24 +419,6 @@ | |||
834 | 492 | if package == "bootstrap-base": | 419 | if package == "bootstrap-base": |
835 | 493 | package = "live-installer" | 420 | package = "live-installer" |
836 | 494 | 421 | ||
837 | 495 | # germinate doesn't yet support subarchitecture specifications | ||
838 | 496 | # (and it's not entirely clear what they would mean if it did), | ||
839 | 497 | # so we need to hack the boot and installer seeds a bit for | ||
840 | 498 | # powerpc+ps3 (only gutsy). | ||
841 | 499 | if self.config.series == "gutsy" and arch == "powerpc+ps3": | ||
842 | 500 | if seed in installer_seeds: | ||
843 | 501 | if "-powerpc-di" in package: | ||
844 | 502 | continue | ||
845 | 503 | package = package.replace("-powerpc64-smp-di", "-cell-di") | ||
846 | 504 | if seed == "boot": | ||
847 | 505 | if package.startswith("linux-restricted-modules"): | ||
848 | 506 | continue | ||
849 | 507 | if package.startswith("linux-ubuntu-modules"): | ||
850 | 508 | continue | ||
851 | 509 | if package.endswith("-powerpc"): | ||
852 | 510 | continue | ||
853 | 511 | package = package.replace("-powerpc64-smp", "-cell") | ||
854 | 512 | |||
855 | 513 | # For precise, some flavours use a different kernel on i386. | 422 | # For precise, some flavours use a different kernel on i386. |
856 | 514 | # germinate doesn't currently support this without duplicating | 423 | # germinate doesn't currently support this without duplicating |
857 | 515 | # the entire boot and installer seeds, so we hack them instead. | 424 | # the entire boot and installer seeds, so we hack them instead. |
858 | @@ -523,7 +432,7 @@ | |||
859 | 523 | yield package | 432 | yield package |
860 | 524 | 433 | ||
861 | 525 | def installer_initrds(self, cpuarch): | 434 | def installer_initrds(self, cpuarch): |
863 | 526 | if cpuarch in ("amd64", "i386", "lpia"): | 435 | if cpuarch in ("amd64", "i386"): |
864 | 527 | return ["cdrom/initrd.gz", "netboot/netboot.tar.gz"] | 436 | return ["cdrom/initrd.gz", "netboot/netboot.tar.gz"] |
865 | 528 | elif cpuarch == "hppa": | 437 | elif cpuarch == "hppa": |
866 | 529 | return ["cdrom/2.6/initrd.gz", "netboot/2.6/boot.img"] | 438 | return ["cdrom/2.6/initrd.gz", "netboot/2.6/boot.img"] |
867 | @@ -567,16 +476,15 @@ | |||
868 | 567 | 476 | ||
869 | 568 | def common_initrd_packages(self, arch): | 477 | def common_initrd_packages(self, arch): |
870 | 569 | initrd_packages_sets = [] | 478 | initrd_packages_sets = [] |
881 | 570 | if self.config["DIST"] >= "jaunty": | 479 | # Remove installer packages that are in both the cdrom and |
882 | 571 | # Remove installer packages that are in both the cdrom and | 480 | # netboot initrds; there's no point duplicating these. |
883 | 572 | # netboot initrds; there's no point duplicating these. | 481 | cpuarch = arch.split("+")[0] |
884 | 573 | cpuarch = arch.split("+")[0] | 482 | initrds = self.installer_initrds(cpuarch) |
885 | 574 | initrds = self.installer_initrds(cpuarch) | 483 | subarches = self.installer_subarches(cpuarch) |
886 | 575 | subarches = self.installer_subarches(cpuarch) | 484 | for initrd in initrds: |
887 | 576 | for initrd in initrds: | 485 | for subarch in subarches: |
888 | 577 | for subarch in subarches: | 486 | initrd_packages_sets.append(self.initrd_packages( |
889 | 578 | initrd_packages_sets.append(self.initrd_packages( | 487 | "%s/%s" % (subarch, initrd), cpuarch)) |
880 | 579 | "%s/%s" % (subarch, initrd), cpuarch)) | ||
890 | 580 | if initrd_packages_sets: | 488 | if initrd_packages_sets: |
891 | 581 | return set.intersection(*initrd_packages_sets) | 489 | return set.intersection(*initrd_packages_sets) |
892 | 582 | else: | 490 | else: |
893 | @@ -584,7 +492,7 @@ | |||
894 | 584 | 492 | ||
895 | 585 | def task_project(self, project): | 493 | def task_project(self, project): |
896 | 586 | # ubuntu-server really wants ubuntu-* tasks. | 494 | # ubuntu-server really wants ubuntu-* tasks. |
898 | 587 | if project in ("ubuntu-server", "jeos"): | 495 | if project == "ubuntu-server": |
899 | 588 | return "ubuntu" | 496 | return "ubuntu" |
900 | 589 | else: | 497 | else: |
901 | 590 | return project | 498 | return project |
902 | @@ -607,55 +515,24 @@ | |||
903 | 607 | return headers | 515 | return headers |
904 | 608 | 516 | ||
905 | 609 | def seed_task_mapping(self, project, arch): | 517 | def seed_task_mapping(self, project, arch): |
906 | 610 | series = self.config["DIST"] | ||
907 | 611 | task_project = self.task_project(project) | 518 | task_project = self.task_project(project) |
908 | 612 | for seed in self.list_seeds("all"): | 519 | for seed in self.list_seeds("all"): |
936 | 613 | if series <= "dapper": | 520 | # Tasks implemented via tasksel, with Task-Seeds to indicate |
937 | 614 | # Tasks implemented by hand. | 521 | # task/seed mapping. |
938 | 615 | if seed in ("boot", "required", "server-ship"): | 522 | task = seed |
939 | 616 | continue | 523 | headers = self.task_headers(arch, seed) |
940 | 617 | elif seed == "server" and project != "edubuntu": | 524 | if not headers: |
941 | 618 | continue | 525 | continue |
942 | 619 | elif seed == "ship" and series >= "dapper": | 526 | input_seeds = [seed] + headers.get("seeds", "").split() |
943 | 620 | continue | 527 | if "per-derivative" in headers: |
944 | 621 | 528 | # Edubuntu is odd; it's structured as an add-on to | |
945 | 622 | if seed in ( | 529 | # Ubuntu, so sometimes we need to create ubuntu-* tasks. |
946 | 623 | "base", "minimal", "standard", "desktop", "server", "ship", | 530 | # At the moment I don't see a better approach than |
947 | 624 | ): | 531 | # hardcoding the task names. |
948 | 625 | task = "%s-%s" % (task_project, seed) | 532 | if project == "edubuntu" and task in ("desktop", "live"): |
949 | 626 | else: | 533 | task = "ubuntu-%s" % task |
950 | 627 | task = seed | 534 | else: |
924 | 628 | input_seeds = [seed] | ||
925 | 629 | elif series <= "gutsy": | ||
926 | 630 | # Tasks implemented via tasksel, but without Task-Seeds; | ||
927 | 631 | # hacks required for seed/task mapping. | ||
928 | 632 | if seed == "required": | ||
929 | 633 | task = "minimal" | ||
930 | 634 | else: | ||
931 | 635 | task = seed | ||
932 | 636 | headers = self.task_headers(arch, seed) | ||
933 | 637 | if not headers: | ||
934 | 638 | continue | ||
935 | 639 | if "per-derivative" in headers: | ||
951 | 640 | task = "%s-%s" % (task_project, task) | 535 | task = "%s-%s" % (task_project, task) |
952 | 641 | input_seeds = [seed] | ||
953 | 642 | else: | ||
954 | 643 | # Tasks implemented via tasksel, with Task-Seeds to indicate | ||
955 | 644 | # task/seed mapping. | ||
956 | 645 | task = seed | ||
957 | 646 | headers = self.task_headers(arch, seed) | ||
958 | 647 | if not headers: | ||
959 | 648 | continue | ||
960 | 649 | input_seeds = [seed] + headers.get("seeds", "").split() | ||
961 | 650 | if "per-derivative" in headers: | ||
962 | 651 | # Edubuntu is odd; it's structured as an add-on to | ||
963 | 652 | # Ubuntu, so sometimes we need to create ubuntu-* tasks. | ||
964 | 653 | # At the moment I don't see a better approach than | ||
965 | 654 | # hardcoding the task names. | ||
966 | 655 | if project == "edubuntu" and task in ("desktop", "live"): | ||
967 | 656 | task = "ubuntu-%s" % task | ||
968 | 657 | else: | ||
969 | 658 | task = "%s-%s" % (task_project, task) | ||
970 | 659 | 536 | ||
971 | 660 | yield input_seeds, task | 537 | yield input_seeds, task |
972 | 661 | 538 | ||
973 | @@ -664,7 +541,6 @@ | |||
974 | 664 | master_project = "source" | 541 | master_project = "source" |
975 | 665 | else: | 542 | else: |
976 | 666 | master_project = project | 543 | master_project = project |
977 | 667 | series = self.config["DIST"] | ||
978 | 668 | output_dir = self.tasks_output_dir(master_project) | 544 | output_dir = self.tasks_output_dir(master_project) |
979 | 669 | osextras.ensuredir(output_dir) | 545 | osextras.ensuredir(output_dir) |
980 | 670 | 546 | ||
981 | @@ -706,27 +582,6 @@ | |||
982 | 706 | print( | 582 | print( |
983 | 707 | "%s Task %s" % (pkg, ", ".join(tasknames)), | 583 | "%s Task %s" % (pkg, ", ".join(tasknames)), |
984 | 708 | file=override) | 584 | file=override) |
985 | 709 | if series == "breezy": | ||
986 | 710 | # In breezy, also generate Archive-Copier-Set headers for | ||
987 | 711 | # sets of packages that archive-copier needs to know to copy | ||
988 | 712 | # but that shouldn't appear as tasks in aptitude et al. | ||
989 | 713 | ship_acsets_path = self.seed_path(arch, "ship.acsets") | ||
990 | 714 | all_acsets = defaultdict(list) | ||
991 | 715 | try: | ||
992 | 716 | with open(ship_acsets_path) as ship_acsets: | ||
993 | 717 | for acset in ship_acsets: | ||
994 | 718 | acset = acset.rstrip("\n") | ||
995 | 719 | for package in self.seed_packages(arch, acset): | ||
996 | 720 | all_acsets[package].append(acset) | ||
997 | 721 | except IOError as e: | ||
998 | 722 | if e.errno != errno.ENOENT: | ||
999 | 723 | raise | ||
1000 | 724 | for pkg, acsetnames in sorted(all_acsets.items()): | ||
1001 | 725 | print( | ||
1002 | 726 | "%s Archive-Copier-Set %s" % ( | ||
1003 | 727 | pkg, ", ".join(acsetnames)), | ||
1004 | 728 | file=override) | ||
1005 | 729 | |||
1006 | 730 | # Help debian-cd to get priorities in sync with the current base | 585 | # Help debian-cd to get priorities in sync with the current base |
1007 | 731 | # system, so that debootstrap >= 0.3.1 can work out the correct | 586 | # system, so that debootstrap >= 0.3.1 can work out the correct |
1008 | 732 | # set of packages to install. | 587 | # set of packages to install. |
1009 | 733 | 588 | ||
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 | 34 | from urllib2 import URLError, unquote, urlopen | 34 | from urllib2 import URLError, unquote, urlopen |
1015 | 35 | 35 | ||
1016 | 36 | from cdimage import osextras, sign | 36 | from cdimage import osextras, sign |
1018 | 37 | from cdimage.config import Series, Touch | 37 | from cdimage.config import Touch |
1019 | 38 | from cdimage.launchpad import get_launchpad | 38 | from cdimage.launchpad import get_launchpad |
1020 | 39 | from cdimage.log import logger | 39 | from cdimage.log import logger |
1021 | 40 | from cdimage.mail import get_notify_addresses, send_mail | 40 | from cdimage.mail import get_notify_addresses, send_mail |
1022 | @@ -121,14 +121,11 @@ | |||
1023 | 121 | elif subarch in ("ac100", "nexus7"): | 121 | elif subarch in ("ac100", "nexus7"): |
1024 | 122 | options.extend(["-f", "plain"]) | 122 | options.extend(["-f", "plain"]) |
1025 | 123 | 123 | ||
1030 | 124 | if (config.project in ("ubuntu-base", "ubuntu-core", "ubuntu-touch", | 124 | if config.project in ("ubuntu-base", "ubuntu-core", "ubuntu-touch"): |
1027 | 125 | "ubuntu-touch-custom") or | ||
1028 | 126 | (config.project == "ubuntu-desktop-next" and | ||
1029 | 127 | config.subproject == "system-image")): | ||
1031 | 128 | options.extend(["-f", "plain"]) | 125 | options.extend(["-f", "plain"]) |
1032 | 129 | 126 | ||
1033 | 130 | if config.subproject == "wubi": | 127 | if config.subproject == "wubi": |
1035 | 131 | if config["DIST"] >= "quantal": | 128 | if config["DIST"] >= "trusty": |
1036 | 132 | # TODO: Turn this back on once Wubi's resize2fs supports it. | 129 | # TODO: Turn this back on once Wubi's resize2fs supports it. |
1037 | 133 | # options.extend(["-f", "ext4"]) | 130 | # options.extend(["-f", "ext4"]) |
1038 | 134 | options.extend(["-f", "ext3"]) | 131 | options.extend(["-f", "ext3"]) |
1039 | @@ -140,14 +137,9 @@ | |||
1040 | 140 | 137 | ||
1041 | 141 | def live_project(config, arch): | 138 | def live_project(config, arch): |
1042 | 142 | project = config.project | 139 | project = config.project |
1043 | 143 | series = config["DIST"] | ||
1044 | 144 | 140 | ||
1045 | 145 | if project == "livecd-base": | 141 | if project == "livecd-base": |
1046 | 146 | liveproject = "base" | 142 | liveproject = "base" |
1047 | 147 | elif project == "tocd3.1": | ||
1048 | 148 | liveproject = "tocd" | ||
1049 | 149 | elif project == "ubuntu-touch-custom": | ||
1050 | 150 | liveproject = "ubuntu-touch" | ||
1051 | 151 | elif (project == "ubuntu-server" and | 143 | elif (project == "ubuntu-server" and |
1052 | 152 | config.image_type == "daily-preinstalled"): | 144 | config.image_type == "daily-preinstalled"): |
1053 | 153 | liveproject = "ubuntu-cpc" | 145 | liveproject = "ubuntu-cpc" |
1054 | @@ -155,13 +147,9 @@ | |||
1055 | 155 | liveproject = project | 147 | liveproject = project |
1056 | 156 | 148 | ||
1057 | 157 | cpuarch, subarch = split_arch(arch) | 149 | cpuarch, subarch = split_arch(arch) |
1058 | 158 | if cpuarch == "lpia" and series <= "hardy": | ||
1059 | 159 | liveproject = "%s-lpia" % liveproject | ||
1060 | 160 | 150 | ||
1061 | 161 | if config["CDIMAGE_DVD"]: | 151 | if config["CDIMAGE_DVD"]: |
1065 | 162 | if ((project in ("ubuntu", "kubuntu") and series >= "hardy") or | 152 | if project in ("ubuntu", "kubuntu", "edubuntu", "ubuntustudio"): |
1063 | 163 | (project == "edubuntu" and series >= "karmic") or | ||
1064 | 164 | (project == "ubuntustudio" and series >= "precise")): | ||
1066 | 165 | liveproject += "-dvd" | 153 | liveproject += "-dvd" |
1067 | 166 | 154 | ||
1068 | 167 | return liveproject | 155 | return liveproject |
1069 | @@ -176,8 +164,7 @@ | |||
1070 | 176 | 164 | ||
1071 | 177 | if config["UBUNTU_DEFAULTS_LOCALE"]: | 165 | if config["UBUNTU_DEFAULTS_LOCALE"]: |
1072 | 178 | command.extend(["-u", config["UBUNTU_DEFAULTS_LOCALE"]]) | 166 | command.extend(["-u", config["UBUNTU_DEFAULTS_LOCALE"]]) |
1075 | 179 | elif config["DIST"] >= "oneiric": | 167 | command.append("-l") |
1074 | 180 | command.append("-l") | ||
1076 | 181 | 168 | ||
1077 | 182 | command.extend(live_build_options(config, arch)) | 169 | command.extend(live_build_options(config, arch)) |
1078 | 183 | 170 | ||
1079 | @@ -482,28 +469,19 @@ | |||
1080 | 482 | series = config["DIST"] | 469 | series = config["DIST"] |
1081 | 483 | 470 | ||
1082 | 484 | if cpuarch == "amd64": | 471 | if cpuarch == "amd64": |
1086 | 485 | if series <= "dapper": | 472 | if project == "ubuntustudio": |
1087 | 486 | return ["amd64-generic"] | 473 | return ["lowlatency"] |
1088 | 487 | elif series <= "oneiric": | 474 | else: |
1089 | 488 | return ["generic"] | 475 | return ["generic"] |
1090 | 489 | else: | ||
1091 | 490 | if project == "ubuntustudio": | ||
1092 | 491 | return ["lowlatency"] | ||
1093 | 492 | else: | ||
1094 | 493 | return ["generic"] | ||
1095 | 494 | elif cpuarch == "arm64": | 476 | elif cpuarch == "arm64": |
1096 | 495 | return ["generic"] | 477 | return ["generic"] |
1097 | 496 | elif cpuarch == "armel": | 478 | elif cpuarch == "armel": |
1101 | 497 | if series == "jaunty": | 479 | if subarch == "mx5": |
1102 | 498 | # We don't have any fallback flavour on armel. | 480 | return ["linaro-lt-mx5"] |
1100 | 499 | return ["imx51"] | ||
1103 | 500 | else: | 481 | else: |
1110 | 501 | if subarch == "mx5": | 482 | # Assume one kernel flavour for each subarch named like the |
1111 | 502 | return ["linaro-lt-mx5"] | 483 | # subarch. |
1112 | 503 | else: | 484 | return [subarch] |
1107 | 504 | # Assume one kernel flavour for each subarch named like the | ||
1108 | 505 | # subarch. | ||
1109 | 506 | return [subarch] | ||
1113 | 507 | elif cpuarch == "armhf": | 485 | elif cpuarch == "armhf": |
1114 | 508 | if subarch == "mx5": | 486 | if subarch == "mx5": |
1115 | 509 | return ["linaro-lt-mx5"] | 487 | return ["linaro-lt-mx5"] |
1116 | @@ -512,11 +490,7 @@ | |||
1117 | 512 | elif cpuarch == "hppa": | 490 | elif cpuarch == "hppa": |
1118 | 513 | return ["hppa32", "hppa64"] | 491 | return ["hppa32", "hppa64"] |
1119 | 514 | elif cpuarch == "i386": | 492 | elif cpuarch == "i386": |
1125 | 515 | if series <= "dapper": | 493 | if series <= "precise": |
1121 | 516 | return ["i386"] | ||
1122 | 517 | elif series <= "oneiric": | ||
1123 | 518 | return ["generic"] | ||
1124 | 519 | elif series <= "precise": | ||
1126 | 520 | if project in ("ubuntu", "edubuntu", "mythbuntu"): | 494 | if project in ("ubuntu", "edubuntu", "mythbuntu"): |
1127 | 521 | # lts-quantal | 495 | # lts-quantal |
1128 | 522 | return ["generic"] | 496 | return ["generic"] |
1129 | @@ -533,20 +507,9 @@ | |||
1130 | 533 | else: | 507 | else: |
1131 | 534 | return ["generic"] | 508 | return ["generic"] |
1132 | 535 | elif cpuarch == "ia64": | 509 | elif cpuarch == "ia64": |
1141 | 536 | if series <= "dapper": | 510 | return ["ia64"] |
1134 | 537 | return ["itanium-smp", "mckinley-smp"] | ||
1135 | 538 | elif series <= "jaunty": | ||
1136 | 539 | return ["itanium", "mckinley"] | ||
1137 | 540 | else: | ||
1138 | 541 | return ["ia64"] | ||
1139 | 542 | elif cpuarch == "lpia": | ||
1140 | 543 | return ["lpia"] | ||
1142 | 544 | elif cpuarch == "powerpc": | 511 | elif cpuarch == "powerpc": |
1148 | 545 | if subarch == "ps3" and series <= "gutsy": | 512 | if series <= "xenial": |
1144 | 546 | return ["cell"] | ||
1145 | 547 | elif series <= "oneiric": | ||
1146 | 548 | return ["powerpc", "powerpc64-smp"] | ||
1147 | 549 | elif series <= "xenial": | ||
1149 | 550 | return ["powerpc-smp", "powerpc64-smp"] | 513 | return ["powerpc-smp", "powerpc64-smp"] |
1150 | 551 | else: | 514 | else: |
1151 | 552 | return ["powerpc-smp", "generic"] | 515 | return ["powerpc-smp", "generic"] |
1152 | @@ -561,61 +524,6 @@ | |||
1153 | 561 | "No live filesystem source known for %s" % arch) | 524 | "No live filesystem source known for %s" % arch) |
1154 | 562 | 525 | ||
1155 | 563 | 526 | ||
1156 | 564 | def live_item_path_winfoss(config, arch): | ||
1157 | 565 | # This is a mess of special cases. Fortunately it is now only of | ||
1158 | 566 | # historical interest. | ||
1159 | 567 | cpuarch, subarch = split_arch(arch) | ||
1160 | 568 | project = config.project | ||
1161 | 569 | series = config["DIST"] | ||
1162 | 570 | |||
1163 | 571 | if series == "warty" or cpuarch not in ("amd64", "i386"): | ||
1164 | 572 | return | ||
1165 | 573 | |||
1166 | 574 | maitri = "http://maitri.ubuntu.com/theopencd" | ||
1167 | 575 | henrik = "http://people.canonical.com/~henrik/winfoss" | ||
1168 | 576 | |||
1169 | 577 | if project == "ubuntu": | ||
1170 | 578 | if series == "hoary": | ||
1171 | 579 | if cpuarch == "i386": | ||
1172 | 580 | yield "%s/ubuntu/winfoss/latest/Hoary-WinFOSS.tgz" % maitri | ||
1173 | 581 | elif cpuarch == "amd64": | ||
1174 | 582 | yield ("%s/ubuntu/amd64/latest/" | ||
1175 | 583 | "Hoary-WinFOSS-amd64.tgz" % maitri) | ||
1176 | 584 | elif series == "breezy": | ||
1177 | 585 | yield "%s/winfoss/ubuntu/current/Ubuntu-WinFOSS-5.10.tgz" % maitri | ||
1178 | 586 | elif series >= "dapper" and series <= "karmic": | ||
1179 | 587 | if series > "gutsy": | ||
1180 | 588 | series = Series.find_by_name("gutsy") | ||
1181 | 589 | yield "%s/%s/ubuntu/current/ubuntu-winfoss-%s.tar.gz" % ( | ||
1182 | 590 | henrik, series, series.version) | ||
1183 | 591 | elif project == "kubuntu": | ||
1184 | 592 | if series == "hoary" and cpuarch == "i386": | ||
1185 | 593 | yield ("%s/kubuntu/winfoss/latest/" | ||
1186 | 594 | "Kubuntu-WinFOSS-i386.tgz" % maitri) | ||
1187 | 595 | elif series == "breezy": | ||
1188 | 596 | if cpuarch == "i386": | ||
1189 | 597 | yield ("%s/winfoss/kubuntu/current/" | ||
1190 | 598 | "Kubuntu-WinFOSS-5.10.tgz" % maitri) | ||
1191 | 599 | elif cpuarch == "amd64": | ||
1192 | 600 | yield ("%s/winfoss/kubuntu-AMD/current/" | ||
1193 | 601 | "Kubuntu-WinFOSS-5.10-AMD.tgz" % maitri) | ||
1194 | 602 | elif series >= "dapper" and series <= "karmic": | ||
1195 | 603 | if series > "gutsy": | ||
1196 | 604 | series = Series.find_by_name("gutsy") | ||
1197 | 605 | yield "%s/%s/kubuntu/current/kubuntu-winfoss-%s.tar.gz" % ( | ||
1198 | 606 | henrik, series, series.version) | ||
1199 | 607 | elif project == "edubuntu": | ||
1200 | 608 | if series >= "feisty" and series <= "karmic": | ||
1201 | 609 | if series > "gutsy": | ||
1202 | 610 | series = Series.find_by_name("gutsy") | ||
1203 | 611 | yield "%s/%s/edubuntu/current/edubuntu-winfoss-%s.tar.gz" % ( | ||
1204 | 612 | henrik, series, series.version) | ||
1205 | 613 | elif project == "tocd3" and cpuarch == "i386": | ||
1206 | 614 | yield "%s/tocd3/fsm/TOCD3.tgz" % maitri | ||
1207 | 615 | elif project == "tocd3.1" and cpuarch == "i386": | ||
1208 | 616 | yield "%s/winfoss/tocd3.1/current/TOCD-31.tgz" % maitri | ||
1209 | 617 | |||
1210 | 618 | |||
1211 | 619 | def live_item_paths(config, arch, item): | 527 | def live_item_paths(config, arch, item): |
1212 | 620 | if item == "ltsp-squashfs" and arch == "amd64": | 528 | if item == "ltsp-squashfs" and arch == "amd64": |
1213 | 621 | # use i386 LTSP image on amd64 too | 529 | # use i386 LTSP image on amd64 too |
1214 | @@ -630,22 +538,31 @@ | |||
1215 | 630 | liveproject_subarch = liveproject | 538 | liveproject_subarch = liveproject |
1216 | 631 | 539 | ||
1217 | 632 | lp, lp_livefs = get_lp_livefs(config, arch) | 540 | lp, lp_livefs = get_lp_livefs(config, arch) |
1218 | 541 | uris = [] | ||
1219 | 542 | root = "" | ||
1220 | 633 | if lp_livefs is not None: | 543 | if lp_livefs is not None: |
1221 | 634 | lp_kwargs = live_build_lp_kwargs(config, lp, lp_livefs, arch) | 544 | lp_kwargs = live_build_lp_kwargs(config, lp, lp_livefs, arch) |
1222 | 635 | lp_build = lp_livefs.getLatestBuild( | 545 | lp_build = lp_livefs.getLatestBuild( |
1223 | 636 | lp_kwargs["distro_arch_series"], | 546 | lp_kwargs["distro_arch_series"], |
1224 | 637 | unique_key=lp_kwargs.get("unique_key")) | 547 | unique_key=lp_kwargs.get("unique_key")) |
1231 | 638 | lp_urls = list(lp_build.getFileUrls()) | 548 | uris = list(lp_build.getFileUrls()) |
1226 | 639 | |||
1227 | 640 | def urls_for(base): | ||
1228 | 641 | for url in lp_urls: | ||
1229 | 642 | if unquote(os.path.basename(url)) == base: | ||
1230 | 643 | yield url | ||
1232 | 644 | else: | 549 | else: |
1233 | 645 | root = livecd_base(config, arch) | 550 | root = livecd_base(config, arch) |
1234 | 551 | try: | ||
1235 | 552 | uris = [ os.path.join(root, u) for u in os.listdir(root) ] | ||
1236 | 553 | except OSError: | ||
1237 | 554 | # fallback to exact given uri (for http://) in url_for as we can't | ||
1238 | 555 | # list content. | ||
1239 | 556 | pass | ||
1240 | 646 | 557 | ||
1243 | 647 | def urls_for(base): | 558 | def urls_for(base, item): |
1244 | 648 | yield "%s/%s" % (root, base) | 559 | if uris: |
1245 | 560 | for uri in uris: | ||
1246 | 561 | filename = unquote(os.path.basename(uri)) | ||
1247 | 562 | if filename.startswith(base + '.') and filename.endswith('.' + item): | ||
1248 | 563 | yield uri | ||
1249 | 564 | else: | ||
1250 | 565 | yield os.path.join(root, base + '.' + item) | ||
1251 | 649 | 566 | ||
1252 | 650 | if item in ( | 567 | if item in ( |
1253 | 651 | "cloop", "squashfs", "manifest", "manifest-desktop", "manifest-remove", | 568 | "cloop", "squashfs", "manifest", "manifest-desktop", "manifest-remove", |
1254 | @@ -653,27 +570,22 @@ | |||
1255 | 653 | "rootfs.tar.gz", "custom.tar.gz", "device.tar.gz", | 570 | "rootfs.tar.gz", "custom.tar.gz", "device.tar.gz", |
1256 | 654 | "azure.device.tar.gz", "raspi2.device.tar.gz", "plano.device.tar.gz", | 571 | "azure.device.tar.gz", "raspi2.device.tar.gz", "plano.device.tar.gz", |
1257 | 655 | "tar.xz", "iso", "os.snap", "kernel.snap", "disk1.img.xz", | 572 | "tar.xz", "iso", "os.snap", "kernel.snap", "disk1.img.xz", |
1260 | 656 | "dragonboard.kernel.snap", "raspi2.kernel.snap", "installer.squashfs", | 573 | "dragonboard.kernel.snap", "raspi2.kernel.snap", |
1259 | 657 | "maas-rack.squashfs", "maas-region.squashfs", | ||
1261 | 658 | "img.xz", "model-assertion" | 574 | "img.xz", "model-assertion" |
1262 | 659 | ): | 575 | ): |
1271 | 660 | if project == "tocd3": | 576 | if item == "ext4" and arch == "armhf+nexus7": |
1264 | 661 | # auto-purged - reverting to plan B | ||
1265 | 662 | yield "/home/cjwatson/tocd3/livecd.tocd3.%s" % item | ||
1266 | 663 | elif project == "ubuntu" and series == "breezy": | ||
1267 | 664 | # auto-purged - reverting to plan B | ||
1268 | 665 | yield "/home/cjwatson/breezy-live/ubuntu/livecd.%s.%s" % ( | ||
1269 | 666 | arch, item) | ||
1270 | 667 | elif item == "ext4" and arch == "armhf+nexus7": | ||
1272 | 668 | for url in urls_for( | 577 | for url in urls_for( |
1274 | 669 | "livecd.%s.%s-nexus7" % (liveproject_subarch, item)): | 578 | "livecd." + liveproject_subarch, item + "-nexus7"): |
1275 | 670 | yield url | 579 | yield url |
1276 | 671 | elif item == "disk1.img.xz": | 580 | elif item == "disk1.img.xz": |
1277 | 672 | for url in urls_for( | 581 | for url in urls_for( |
1279 | 673 | "livecd.%s.%s" % (liveproject, item)): | 582 | "livecd." + liveproject, item): |
1280 | 674 | yield url | 583 | yield url |
1281 | 675 | else: | 584 | else: |
1283 | 676 | for url in urls_for("livecd.%s.%s" % (liveproject_subarch, item)): | 585 | for url in urls_for("livecd."+ liveproject_subarch, item): |
1284 | 586 | # filter out redundant artefacts | ||
1285 | 587 | if url.endswith("modules.squashfs"): | ||
1286 | 588 | continue | ||
1287 | 677 | yield url | 589 | yield url |
1288 | 678 | elif item in ( | 590 | elif item in ( |
1289 | 679 | "kernel", "initrd", "bootimg", "modules.squashfs" | 591 | "kernel", "initrd", "bootimg", "modules.squashfs" |
1290 | @@ -681,8 +593,7 @@ | |||
1291 | 681 | our_flavours = flavours(config, arch) | 593 | our_flavours = flavours(config, arch) |
1292 | 682 | our_flavours.extend(["%s-hwe" % (f,) for f in our_flavours]) | 594 | our_flavours.extend(["%s-hwe" % (f,) for f in our_flavours]) |
1293 | 683 | for flavour in our_flavours: | 595 | for flavour in our_flavours: |
1296 | 684 | base = "livecd.%s.%s-%s" % (liveproject_subarch, item, flavour) | 596 | for url in urls_for("livecd." + liveproject_subarch, item + "-" + flavour): |
1295 | 685 | for url in urls_for(base): | ||
1297 | 686 | yield url | 597 | yield url |
1298 | 687 | elif item in ( | 598 | elif item in ( |
1299 | 688 | "boot-%s+%s.img" % (target.ubuntu_arch, target.subarch) | 599 | "boot-%s+%s.img" % (target.ubuntu_arch, target.subarch) |
1300 | @@ -695,35 +606,30 @@ | |||
1301 | 695 | for target in Touch.list_targets_by_ubuntu_arch(arch) | 606 | for target in Touch.list_targets_by_ubuntu_arch(arch) |
1302 | 696 | ): | 607 | ): |
1303 | 697 | for flavour in flavours(config, arch): | 608 | for flavour in flavours(config, arch): |
1306 | 698 | base = "livecd.%s.%s" % (liveproject_subarch, item) | 609 | for url in urls_for("livecd." + liveproject_subarch, item): |
1305 | 699 | for url in urls_for(base): | ||
1307 | 700 | yield url | 610 | yield url |
1308 | 701 | elif item == "kernel-efi-signed": | 611 | elif item == "kernel-efi-signed": |
1309 | 702 | if series >= "precise" and arch == "amd64": | 612 | if series >= "precise" and arch == "amd64": |
1310 | 703 | for flavour in flavours(config, arch): | 613 | for flavour in flavours(config, arch): |
1314 | 704 | base = "livecd.%s.kernel-%s.efi.signed" % ( | 614 | for url in urls_for("livecd." + liveproject_subarch, |
1315 | 705 | liveproject_subarch, flavour) | 615 | "kernel-" + flavour + ".efi.signed"): |
1313 | 706 | for url in urls_for(base): | ||
1316 | 707 | yield url | 616 | yield url |
1317 | 708 | elif item == "winfoss": | ||
1318 | 709 | for path in live_item_path_winfoss(config, arch): | ||
1319 | 710 | yield path | ||
1320 | 711 | elif item == "wubi": | 617 | elif item == "wubi": |
1323 | 712 | if (project != "xubuntu" and arch in ("amd64", "i386") and | 618 | if (project != "xubuntu" and arch in ("amd64", "i386")): |
1322 | 713 | series >= "gutsy"): | ||
1324 | 714 | yield ("http://people.canonical.com/~ubuntu-archive/wubi/%s/" | 619 | yield ("http://people.canonical.com/~ubuntu-archive/wubi/%s/" |
1325 | 715 | "stable" % series) | 620 | "stable" % series) |
1326 | 716 | elif item == "umenu": | ||
1327 | 717 | if arch in ("amd64", "i386") and series == "hardy": | ||
1328 | 718 | yield "http://people.canonical.com/~evand/umenu/stable" | ||
1329 | 719 | elif item == "usb-creator": | 621 | elif item == "usb-creator": |
1330 | 720 | if arch in ("amd64", "i386"): | 622 | if arch in ("amd64", "i386"): |
1331 | 721 | yield ("http://people.canonical.com/~evand/usb-creator/%s/" | 623 | yield ("http://people.canonical.com/~evand/usb-creator/%s/" |
1332 | 722 | "stable" % series) | 624 | "stable" % series) |
1333 | 723 | elif item == "ltsp-squashfs": | 625 | elif item == "ltsp-squashfs": |
1334 | 724 | if arch in ("amd64", "i386"): | 626 | if arch in ("amd64", "i386"): |
1336 | 725 | for url in urls_for("livecd.%s-ltsp.squashfs" % liveproject): | 627 | for url in urls_for("livecd." + liveproject + "-ltsp", "squashfs"): |
1337 | 726 | yield url | 628 | yield url |
1338 | 629 | # generic artefacts we always download | ||
1339 | 630 | elif item.endswith("squashfs") or item.endswith("manifest") or item.endswith("size"): | ||
1340 | 631 | for url in urls_for("livecd." + liveproject_subarch, item): | ||
1341 | 632 | yield url | ||
1342 | 727 | else: | 633 | else: |
1343 | 728 | raise UnknownLiveItem("Unknown live filesystem item '%s'" % item) | 634 | raise UnknownLiveItem("Unknown live filesystem item '%s'" % item) |
1344 | 729 | 635 | ||
1345 | @@ -824,29 +730,31 @@ | |||
1346 | 824 | found = True | 730 | found = True |
1347 | 825 | except osextras.FetchError: | 731 | except osextras.FetchError: |
1348 | 826 | pass | 732 | pass |
1350 | 827 | elif item in ("wubi", "umenu", "usb-creator"): | 733 | elif item in ("wubi", "usb-creator"): |
1351 | 828 | target = os.path.join(output_dir, "%s.%s.exe" % (arch, item)) | 734 | target = os.path.join(output_dir, "%s.%s.exe" % (arch, item)) |
1352 | 829 | try: | 735 | try: |
1353 | 830 | osextras.fetch(config, urls[0], target) | 736 | osextras.fetch(config, urls[0], target) |
1354 | 831 | found = True | 737 | found = True |
1355 | 832 | except osextras.FetchError: | 738 | except osextras.FetchError: |
1356 | 833 | pass | 739 | pass |
1357 | 834 | elif item == "winfoss": | ||
1358 | 835 | target = os.path.join(output_dir, "%s.%s.tgz" % (arch, item)) | ||
1359 | 836 | try: | ||
1360 | 837 | osextras.fetch(config, urls[0], target) | ||
1361 | 838 | found = True | ||
1362 | 839 | except osextras.FetchError: | ||
1363 | 840 | pass | ||
1364 | 841 | else: | 740 | else: |
1373 | 842 | target = os.path.join(output_dir, "%s.%s" % (arch, item)) | 741 | for url in urls: |
1374 | 843 | try: | 742 | # server-squashfs isn't the suffix of the downloadable item. |
1375 | 844 | osextras.fetch(config, urls[0], target) | 743 | # prefer a special case over removing suffix + reinjecting item |
1376 | 845 | if item in ["squashfs", "server-squashfs"]: | 744 | # when suffix != item |
1377 | 846 | sign.sign_cdimage(config, target) | 745 | if item == "server-squashfs": |
1378 | 847 | found = True | 746 | target = os.path.join(output_dir, "%s.%s" % (arch, item)) |
1379 | 848 | except osextras.FetchError: | 747 | # strip livecd.<PROJECT> and replace by arch |
1380 | 849 | pass | 748 | else: |
1381 | 749 | filename = unquote(os.path.basename(url)).split('.', 2)[-1] | ||
1382 | 750 | target = os.path.join(output_dir, "%s.%s" % (arch, filename)) | ||
1383 | 751 | try: | ||
1384 | 752 | osextras.fetch(config, url, target) | ||
1385 | 753 | if target.endswith("squashfs"): | ||
1386 | 754 | sign.sign_cdimage(config, target) | ||
1387 | 755 | found = True | ||
1388 | 756 | except osextras.FetchError: | ||
1389 | 757 | pass | ||
1390 | 850 | return found | 758 | return found |
1391 | 851 | 759 | ||
1392 | 852 | 760 | ||
1393 | @@ -909,9 +817,6 @@ | |||
1394 | 909 | elif download_live_items(config, arch, "cloop"): | 817 | elif download_live_items(config, arch, "cloop"): |
1395 | 910 | got_image = True | 818 | got_image = True |
1396 | 911 | elif download_live_items(config, arch, "squashfs"): | 819 | elif download_live_items(config, arch, "squashfs"): |
1397 | 912 | download_live_items(config, arch, "installer.squashfs") | ||
1398 | 913 | download_live_items(config, arch, "maas-rack.squashfs") | ||
1399 | 914 | download_live_items(config, arch, "maas-region.squashfs") | ||
1400 | 915 | download_live_items(config, arch, "modules.squashfs") | 820 | download_live_items(config, arch, "modules.squashfs") |
1401 | 916 | got_image = True | 821 | got_image = True |
1402 | 917 | elif download_live_items(config, arch, "rootfs.tar.gz"): | 822 | elif download_live_items(config, arch, "rootfs.tar.gz"): |
1403 | @@ -920,8 +825,7 @@ | |||
1404 | 920 | got_image = True | 825 | got_image = True |
1405 | 921 | else: | 826 | else: |
1406 | 922 | continue | 827 | continue |
1409 | 923 | if (series >= "dapper" and | 828 | if (project != "ubuntu-base" and |
1408 | 924 | project != "ubuntu-base" and | ||
1410 | 925 | not config["CDIMAGE_SQUASHFS_BASE"] and | 829 | not config["CDIMAGE_SQUASHFS_BASE"] and |
1411 | 926 | config.subproject != "wubi"): | 830 | config.subproject != "wubi"): |
1412 | 927 | download_live_items(config, arch, "kernel") | 831 | download_live_items(config, arch, "kernel") |
1413 | @@ -943,21 +847,9 @@ | |||
1414 | 943 | 847 | ||
1415 | 944 | if (project not in ("livecd-base", "ubuntu-base", "ubuntu-core", | 848 | if (project not in ("livecd-base", "ubuntu-base", "ubuntu-core", |
1416 | 945 | "kubuntu-active") and | 849 | "kubuntu-active") and |
1417 | 946 | (project != "ubuntu-desktop-next" or | ||
1418 | 947 | config.subproject == "system-image") and | ||
1419 | 948 | (project != "edubuntu" or series >= "precise") and | 850 | (project != "edubuntu" or series >= "precise") and |
1432 | 949 | (project != "ubuntukylin" or series < "utopic")): | 851 | (project != "ubuntukylin" or series <= "trusty")): |
1433 | 950 | if series <= "feisty": | 852 | if series <= "trusty": |
1422 | 951 | pass | ||
1423 | 952 | elif series <= "intrepid": | ||
1424 | 953 | if config["CDIMAGE_DVD"] != "1": | ||
1425 | 954 | download_live_items(config, arch, "wubi") | ||
1426 | 955 | download_live_items(config, arch, "umenu") | ||
1427 | 956 | umenu_path = os.path.join( | ||
1428 | 957 | output_dir, "%s.umenu.exe" % arch) | ||
1429 | 958 | if os.path.exists(umenu_path): | ||
1430 | 959 | write_autorun(config, arch, "umenu.exe", "Install") | ||
1431 | 960 | elif series <= "vivid": | ||
1434 | 961 | # TODO: We still have to do something about not | 853 | # TODO: We still have to do something about not |
1435 | 962 | # including Wubi on the DVDs. | 854 | # including Wubi on the DVDs. |
1436 | 963 | download_live_items(config, arch, "wubi") | 855 | download_live_items(config, arch, "wubi") |
1437 | @@ -976,19 +868,15 @@ | |||
1438 | 976 | "Install %s" % autorun_project) | 868 | "Install %s" % autorun_project) |
1439 | 977 | 869 | ||
1440 | 978 | if project not in ("livecd-base", "ubuntu-base", "ubuntu-core", | 870 | if project not in ("livecd-base", "ubuntu-base", "ubuntu-core", |
1447 | 979 | "ubuntu-desktop-next", "edubuntu"): | 871 | "edubuntu"): |
1448 | 980 | if (project in ("kubuntu-active", "ubuntu-netbook", | 872 | download_live_items(config, arch, "usb-creator") |
1443 | 981 | "ubuntu-moblin-remix") or | ||
1444 | 982 | config["CDIMAGE_DVD"] or | ||
1445 | 983 | series >= "maverick"): | ||
1446 | 984 | download_live_items(config, arch, "usb-creator") | ||
1449 | 985 | if project == "ubuntu-core" and config["CDIMAGE_LIVE"]: | 873 | if project == "ubuntu-core" and config["CDIMAGE_LIVE"]: |
1450 | 986 | download_live_items(config, arch, "model-assertion") | 874 | download_live_items(config, arch, "model-assertion") |
1451 | 987 | 875 | ||
1452 | 988 | if not got_image: | 876 | if not got_image: |
1453 | 989 | raise NoFilesystemImages("No filesystem images found.") | 877 | raise NoFilesystemImages("No filesystem images found.") |
1454 | 990 | 878 | ||
1456 | 991 | if config.project in ("ubuntu-touch", "ubuntu-touch-custom"): | 879 | if config.project == "ubuntu-touch": |
1457 | 992 | for arch in config.arches: | 880 | for arch in config.arches: |
1458 | 993 | for abootimg in ( | 881 | for abootimg in ( |
1459 | 994 | "boot-%s+%s.img" % (target.ubuntu_arch, target.subarch) | 882 | "boot-%s+%s.img" % (target.ubuntu_arch, target.subarch) |
1460 | @@ -1013,7 +901,7 @@ | |||
1461 | 1013 | ) | 901 | ) |
1462 | 1014 | download_live_items(config, arch, "custom.tar.gz") | 902 | download_live_items(config, arch, "custom.tar.gz") |
1463 | 1015 | 903 | ||
1465 | 1016 | if config.project in ("ubuntu-core", "ubuntu-desktop-next"): | 904 | if config.project == "ubuntu-core": |
1466 | 1017 | for arch in config.arches: | 905 | for arch in config.arches: |
1467 | 1018 | download_live_items(config, arch, "device.tar.gz") | 906 | download_live_items(config, arch, "device.tar.gz") |
1468 | 1019 | 907 | ||
1469 | @@ -1031,12 +919,7 @@ | |||
1470 | 1031 | if arch == "arm64": | 919 | if arch == "arm64": |
1471 | 1032 | download_live_items(config, arch, "dragonboard.kernel.snap") | 920 | download_live_items(config, arch, "dragonboard.kernel.snap") |
1472 | 1033 | 921 | ||
1479 | 1034 | if (project == "edubuntu" and config["CDIMAGE_INSTALL"] and | 922 | if project == "edubuntu" and config["CDIMAGE_DVD"]: |
1474 | 1035 | series <= "hardy"): | ||
1475 | 1036 | for cpuarch in config.cpuarches: | ||
1476 | 1037 | download_live_items(config, arch, "winfoss") | ||
1477 | 1038 | |||
1478 | 1039 | if project == "edubuntu" and config["CDIMAGE_DVD"] and series >= "lucid": | ||
1480 | 1040 | for arch in config.arches: | 923 | for arch in config.arches: |
1481 | 1041 | if arch in ("amd64", "i386"): | 924 | if arch in ("amd64", "i386"): |
1482 | 1042 | # TODO: Disabled for raring (LP: #1154601) | 925 | # TODO: Disabled for raring (LP: #1154601) |
1483 | 1043 | 926 | ||
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 | 29 | # values of 25 - (length of longest relevant architecture name). | 29 | # values of 25 - (length of longest relevant architecture name). |
1489 | 30 | project_map = { | 30 | project_map = { |
1490 | 31 | "ubuntu": "Ubuntu", | 31 | "ubuntu": "Ubuntu", |
1491 | 32 | "ubuntu-desktop-next": "Ubuntu-Desktop-Next", | ||
1492 | 33 | "ubuntu-zh_CN": "Ubuntu Chinese Edition", | 32 | "ubuntu-zh_CN": "Ubuntu Chinese Edition", |
1493 | 34 | "kubuntu": "Kubuntu", | 33 | "kubuntu": "Kubuntu", |
1494 | 35 | "kubuntu-active": "Kubuntu-Active", | 34 | "kubuntu-active": "Kubuntu-Active", |
1495 | 36 | "kubuntu-plasma5": "Kubuntu-Plasma-5", | ||
1496 | 37 | "edubuntu": "Edubuntu", | 35 | "edubuntu": "Edubuntu", |
1497 | 38 | "xubuntu": "Xubuntu", | 36 | "xubuntu": "Xubuntu", |
1498 | 39 | "gobuntu": "Gobuntu", | 37 | "gobuntu": "Gobuntu", |
1499 | 40 | "ubuntu-server": "Ubuntu-Server", | 38 | "ubuntu-server": "Ubuntu-Server", |
1500 | 41 | "jeos": "Ubuntu-JeOS", | ||
1501 | 42 | "ubuntu-mid": "Ubuntu-MID", | ||
1502 | 43 | "ubuntu-netbook": "Ubuntu-Netbook", | ||
1503 | 44 | "ubuntu-headless": "Ubuntu-Headless", | ||
1504 | 45 | "ubuntustudio": "Ubuntu-Studio", | 39 | "ubuntustudio": "Ubuntu-Studio", |
1505 | 46 | "mythbuntu": "Mythbuntu", | 40 | "mythbuntu": "Mythbuntu", |
1506 | 47 | "lubuntu": "Lubuntu", | 41 | "lubuntu": "Lubuntu", |
1507 | @@ -50,15 +44,11 @@ | |||
1508 | 50 | "ubuntu-gnome": "Ubuntu-GNOME", | 44 | "ubuntu-gnome": "Ubuntu-GNOME", |
1509 | 51 | "ubuntu-budgie": "Ubuntu-Budgie", | 45 | "ubuntu-budgie": "Ubuntu-Budgie", |
1510 | 52 | "ubuntu-mate": "Ubuntu-MATE", | 46 | "ubuntu-mate": "Ubuntu-MATE", |
1511 | 53 | "ubuntu-moblin-remix": "Ubuntu-Moblin-Remix", | ||
1512 | 54 | "livecd-base": "LiveCD-Base", | 47 | "livecd-base": "LiveCD-Base", |
1513 | 55 | "ubuntu-core": "Ubuntu Core", | 48 | "ubuntu-core": "Ubuntu Core", |
1514 | 56 | "ubuntu-base": "Ubuntu-Base", | 49 | "ubuntu-base": "Ubuntu-Base", |
1515 | 57 | "ubuntu-touch-preview": "Ubuntu Touch Preview", | 50 | "ubuntu-touch-preview": "Ubuntu Touch Preview", |
1516 | 58 | "ubuntu-touch": "Ubuntu Touch", | 51 | "ubuntu-touch": "Ubuntu Touch", |
1517 | 59 | "ubuntu-touch-custom": "Ubuntu Touch Custom Build", | ||
1518 | 60 | "tocd3": "TheOpenCDv3", | ||
1519 | 61 | "tocd3.1": "TheOpenCDv3.1", | ||
1520 | 62 | } | 52 | } |
1521 | 63 | 53 | ||
1522 | 64 | 54 | ||
1523 | 65 | 55 | ||
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 | 74 | super(TestUpdateLocalIndices, self).setUp() | 74 | super(TestUpdateLocalIndices, self).setUp() |
1529 | 75 | self.config = Config(read=False) | 75 | self.config = Config(read=False) |
1530 | 76 | self.config.root = self.use_temp_dir() | 76 | self.config.root = self.use_temp_dir() |
1532 | 77 | self.config["DIST"] = "raring" | 77 | self.config["DIST"] = "trusty" |
1533 | 78 | self.config["CPUARCHES"] = "i386" | 78 | self.config["CPUARCHES"] = "i386" |
1534 | 79 | self.packages = os.path.join(self.temp_dir, "local", "packages") | 79 | self.packages = os.path.join(self.temp_dir, "local", "packages") |
1535 | 80 | self.database = os.path.join(self.temp_dir, "local", "database") | 80 | self.database = os.path.join(self.temp_dir, "local", "database") |
1536 | @@ -118,45 +118,45 @@ | |||
1537 | 118 | expected_command, cwd=self.packages) | 118 | expected_command, cwd=self.packages) |
1538 | 119 | 119 | ||
1539 | 120 | self.assertCountEqual([ | 120 | self.assertCountEqual([ |
1542 | 121 | "raring_local_binary-i386.list", | 121 | "trusty_local_binary-i386.list", |
1543 | 122 | "raring_local_debian-installer_binary-i386.list", | 122 | "trusty_local_debian-installer_binary-i386.list", |
1544 | 123 | ], os.listdir(self.dists)) | 123 | ], os.listdir(self.dists)) |
1545 | 124 | with open(os.path.join( | 124 | with open(os.path.join( |
1547 | 125 | self.dists, "raring_local_binary-i386.list")) as f: | 125 | self.dists, "trusty_local_binary-i386.list")) as f: |
1548 | 126 | self.assertCountEqual([ | 126 | self.assertCountEqual([ |
1549 | 127 | "pool/local/f/fake/fake_1_i386.deb", | 127 | "pool/local/f/fake/fake_1_i386.deb", |
1550 | 128 | "pool/local/f/fake/fake-nf_1_all.deb", | 128 | "pool/local/f/fake/fake-nf_1_all.deb", |
1551 | 129 | ], f.read().splitlines()) | 129 | ], f.read().splitlines()) |
1552 | 130 | with open(os.path.join( | 130 | with open(os.path.join( |
1553 | 131 | self.dists, | 131 | self.dists, |
1555 | 132 | "raring_local_debian-installer_binary-i386.list")) as f: | 132 | "trusty_local_debian-installer_binary-i386.list")) as f: |
1556 | 133 | self.assertCountEqual([ | 133 | self.assertCountEqual([ |
1557 | 134 | "pool/local/f/fake/fake-udeb_1_i386.udeb", | 134 | "pool/local/f/fake/fake-udeb_1_i386.udeb", |
1558 | 135 | "pool/local/f/fake/fake-udeb-indep_1_all.udeb", | 135 | "pool/local/f/fake/fake-udeb-indep_1_all.udeb", |
1559 | 136 | ], f.read().splitlines()) | 136 | ], f.read().splitlines()) |
1560 | 137 | 137 | ||
1561 | 138 | self.assertCountEqual([ | 138 | self.assertCountEqual([ |
1564 | 139 | "override.raring.local.i386", | 139 | "override.trusty.local.i386", |
1565 | 140 | "override.raring.local.debian-installer.i386", | 140 | "override.trusty.local.debian-installer.i386", |
1566 | 141 | ], os.listdir(self.indices)) | 141 | ], os.listdir(self.indices)) |
1567 | 142 | with open(os.path.join( | 142 | with open(os.path.join( |
1569 | 143 | self.indices, "override.raring.local.i386")) as f: | 143 | self.indices, "override.trusty.local.i386")) as f: |
1570 | 144 | self.assertCountEqual([ | 144 | self.assertCountEqual([ |
1571 | 145 | "fake\toptional\tlocal/misc", | 145 | "fake\toptional\tlocal/misc", |
1572 | 146 | "fake-nf\textra\tlocal/admin", | 146 | "fake-nf\textra\tlocal/admin", |
1573 | 147 | ], f.read().splitlines()) | 147 | ], f.read().splitlines()) |
1574 | 148 | with open(os.path.join( | 148 | with open(os.path.join( |
1575 | 149 | self.indices, | 149 | self.indices, |
1577 | 150 | "override.raring.local.debian-installer.i386")) as f: | 150 | "override.trusty.local.debian-installer.i386")) as f: |
1578 | 151 | self.assertCountEqual([ | 151 | self.assertCountEqual([ |
1579 | 152 | "fake-udeb\toptional\tlocal/debian-installer", | 152 | "fake-udeb\toptional\tlocal/debian-installer", |
1580 | 153 | "fake-udeb-indep\textra\tlocal/debian-installer", | 153 | "fake-udeb-indep\textra\tlocal/debian-installer", |
1581 | 154 | ], f.read().splitlines()) | 154 | ], f.read().splitlines()) |
1582 | 155 | 155 | ||
1583 | 156 | self.assertTrue(os.path.exists(os.path.join( | 156 | self.assertTrue(os.path.exists(os.path.join( |
1585 | 157 | self.packages, "dists", "raring", "local", "binary-i386"))) | 157 | self.packages, "dists", "trusty", "local", "binary-i386"))) |
1586 | 158 | self.assertTrue(os.path.exists(os.path.join( | 158 | self.assertTrue(os.path.exists(os.path.join( |
1588 | 159 | self.packages, "dists", "raring", "local", "debian-installer", | 159 | self.packages, "dists", "trusty", "local", "debian-installer", |
1589 | 160 | "binary-i386"))) | 160 | "binary-i386"))) |
1590 | 161 | 161 | ||
1591 | 162 | 162 | ||
1592 | @@ -189,23 +189,23 @@ | |||
1593 | 189 | raise osextras.FetchError | 189 | raise osextras.FetchError |
1594 | 190 | 190 | ||
1595 | 191 | mock_fetch.side_effect = fetch_side_effect | 191 | mock_fetch.side_effect = fetch_side_effect |
1597 | 192 | self.config["DIST"] = "oneiric" | 192 | self.config["DIST"] = "precise" |
1598 | 193 | self.config["ARCHES"] = "i386" | 193 | self.config["ARCHES"] = "i386" |
1599 | 194 | build_ubuntu_defaults_locale(self.config) | 194 | build_ubuntu_defaults_locale(self.config) |
1600 | 195 | output_dir = os.path.join( | 195 | output_dir = os.path.join( |
1602 | 196 | self.temp_dir, "scratch", "ubuntu-zh_CN", "oneiric", "daily-live", | 196 | self.temp_dir, "scratch", "ubuntu-zh_CN", "precise", "daily-live", |
1603 | 197 | "live") | 197 | "live") |
1604 | 198 | self.assertTrue(os.path.isdir(output_dir)) | 198 | self.assertTrue(os.path.isdir(output_dir)) |
1605 | 199 | self.assertCountEqual([ | 199 | self.assertCountEqual([ |
1611 | 200 | "oneiric-desktop-i386.iso", | 200 | "precise-desktop-i386.iso", |
1612 | 201 | "oneiric-desktop-i386.list", | 201 | "precise-desktop-i386.list", |
1613 | 202 | "oneiric-desktop-i386.manifest", | 202 | "precise-desktop-i386.manifest", |
1614 | 203 | "oneiric-desktop-i386.manifest-remove", | 203 | "precise-desktop-i386.manifest-remove", |
1615 | 204 | "oneiric-desktop-i386.size", | 204 | "precise-desktop-i386.size", |
1616 | 205 | ], os.listdir(output_dir)) | 205 | ], os.listdir(output_dir)) |
1617 | 206 | mock_check_call.assert_called_once_with([ | 206 | mock_check_call.assert_called_once_with([ |
1618 | 207 | os.path.join(self.temp_dir, "debian-cd", "tools", "pi-makelist"), | 207 | os.path.join(self.temp_dir, "debian-cd", "tools", "pi-makelist"), |
1620 | 208 | os.path.join(output_dir, "oneiric-desktop-i386.iso"), | 208 | os.path.join(output_dir, "precise-desktop-i386.iso"), |
1621 | 209 | ], stdout=mock.ANY) | 209 | ], stdout=mock.ANY) |
1622 | 210 | 210 | ||
1623 | 211 | 211 | ||
1624 | @@ -243,7 +243,7 @@ | |||
1625 | 243 | mock_fetch.side_effect = fetch_side_effect | 243 | mock_fetch.side_effect = fetch_side_effect |
1626 | 244 | mock_sign.side_effect = sign_side_effect | 244 | mock_sign.side_effect = sign_side_effect |
1627 | 245 | self.config["PROJECT"] = "livecd-base" | 245 | self.config["PROJECT"] = "livecd-base" |
1629 | 246 | self.config["DIST"] = "raring" | 246 | self.config["DIST"] = "trusty" |
1630 | 247 | self.config["IMAGE_TYPE"] = "livecd-base" | 247 | self.config["IMAGE_TYPE"] = "livecd-base" |
1631 | 248 | self.config["ARCHES"] = "i386" | 248 | self.config["ARCHES"] = "i386" |
1632 | 249 | self.capture_logging() | 249 | self.capture_logging() |
1633 | @@ -253,7 +253,7 @@ | |||
1634 | 253 | self.epoch_date, | 253 | self.epoch_date, |
1635 | 254 | ]) | 254 | ]) |
1636 | 255 | live_dir = os.path.join( | 255 | live_dir = os.path.join( |
1638 | 256 | self.temp_dir, "scratch", "livecd-base", "raring", "livecd-base", | 256 | self.temp_dir, "scratch", "livecd-base", "trusty", "livecd-base", |
1639 | 257 | "live") | 257 | "live") |
1640 | 258 | self.assertTrue(os.path.isdir(live_dir)) | 258 | self.assertTrue(os.path.isdir(live_dir)) |
1641 | 259 | self.assertCountEqual( | 259 | self.assertCountEqual( |
1642 | @@ -271,7 +271,7 @@ | |||
1643 | 271 | 271 | ||
1644 | 272 | mock_fetch.side_effect = fetch_side_effect | 272 | mock_fetch.side_effect = fetch_side_effect |
1645 | 273 | self.config["PROJECT"] = "ubuntu-base" | 273 | self.config["PROJECT"] = "ubuntu-base" |
1647 | 274 | self.config["DIST"] = "raring" | 274 | self.config["DIST"] = "trusty" |
1648 | 275 | self.config["IMAGE_TYPE"] = "daily" | 275 | self.config["IMAGE_TYPE"] = "daily" |
1649 | 276 | self.config["ARCHES"] = "i386" | 276 | self.config["ARCHES"] = "i386" |
1650 | 277 | self.capture_logging() | 277 | self.capture_logging() |
1651 | @@ -283,15 +283,15 @@ | |||
1652 | 283 | self.epoch_date, | 283 | self.epoch_date, |
1653 | 284 | ]) | 284 | ]) |
1654 | 285 | output_dir = os.path.join( | 285 | output_dir = os.path.join( |
1656 | 286 | self.temp_dir, "scratch", "ubuntu-base", "raring", "daily", | 286 | self.temp_dir, "scratch", "ubuntu-base", "trusty", "daily", |
1657 | 287 | "debian-cd", "i386") | 287 | "debian-cd", "i386") |
1658 | 288 | self.assertTrue(os.path.isdir(output_dir)) | 288 | self.assertTrue(os.path.isdir(output_dir)) |
1659 | 289 | self.assertCountEqual([ | 289 | self.assertCountEqual([ |
1663 | 290 | "raring-base-i386.manifest", | 290 | "trusty-base-i386.manifest", |
1664 | 291 | "raring-base-i386.raw", | 291 | "trusty-base-i386.raw", |
1665 | 292 | "raring-base-i386.type", | 292 | "trusty-base-i386.type", |
1666 | 293 | ], os.listdir(output_dir)) | 293 | ], os.listdir(output_dir)) |
1668 | 294 | with open(os.path.join(output_dir, "raring-base-i386.type")) as f: | 294 | with open(os.path.join(output_dir, "trusty-base-i386.type")) as f: |
1669 | 295 | self.assertEqual("tar archive\n", f.read()) | 295 | self.assertEqual("tar archive\n", f.read()) |
1670 | 296 | 296 | ||
1671 | 297 | @mock.patch("cdimage.osextras.fetch") | 297 | @mock.patch("cdimage.osextras.fetch") |
1672 | @@ -376,7 +376,7 @@ | |||
1673 | 376 | mock_fetch.side_effect = fetch_side_effect | 376 | mock_fetch.side_effect = fetch_side_effect |
1674 | 377 | self.config["CDIMAGE_PREINSTALLED"] = "1" | 377 | self.config["CDIMAGE_PREINSTALLED"] = "1" |
1675 | 378 | self.config["PROJECT"] = project | 378 | self.config["PROJECT"] = project |
1677 | 379 | self.config["DIST"] = "saucy" | 379 | self.config["DIST"] = "trusty" |
1678 | 380 | self.config["IMAGE_TYPE"] = "daily-preinstalled" | 380 | self.config["IMAGE_TYPE"] = "daily-preinstalled" |
1679 | 381 | self.config["ARCHES"] = "armhf" | 381 | self.config["ARCHES"] = "armhf" |
1680 | 382 | self.capture_logging() | 382 | self.capture_logging() |
1681 | @@ -388,34 +388,34 @@ | |||
1682 | 388 | self.epoch_date, | 388 | self.epoch_date, |
1683 | 389 | ]) | 389 | ]) |
1684 | 390 | output_dir = os.path.join( | 390 | output_dir = os.path.join( |
1686 | 391 | self.temp_dir, "scratch", project, "saucy", | 391 | self.temp_dir, "scratch", project, "trusty", |
1687 | 392 | "daily-preinstalled", "debian-cd", "armhf") | 392 | "daily-preinstalled", "debian-cd", "armhf") |
1688 | 393 | self.assertTrue(os.path.isdir(output_dir)) | 393 | self.assertTrue(os.path.isdir(output_dir)) |
1690 | 394 | touch_files = ["saucy-preinstalled-boot-%s+%s.img" % ( | 394 | touch_files = ["trusty-preinstalled-boot-%s+%s.img" % ( |
1691 | 395 | touch_target.ubuntu_arch, touch_target.subarch) | 395 | touch_target.ubuntu_arch, touch_target.subarch) |
1692 | 396 | for touch_target in Touch.list_targets_by_ubuntu_arch("armhf")] | 396 | for touch_target in Touch.list_targets_by_ubuntu_arch("armhf")] |
1694 | 397 | touch_files.extend(["saucy-preinstalled-recovery-%s+%s.img" % ( | 397 | touch_files.extend(["trusty-preinstalled-recovery-%s+%s.img" % ( |
1695 | 398 | touch_target.android_arch, touch_target.subarch) | 398 | touch_target.android_arch, touch_target.subarch) |
1696 | 399 | for touch_target in Touch.list_targets_by_ubuntu_arch("armhf")]) | 399 | for touch_target in Touch.list_targets_by_ubuntu_arch("armhf")]) |
1698 | 400 | touch_files.extend(["saucy-preinstalled-system-%s+%s.img" % ( | 400 | touch_files.extend(["trusty-preinstalled-system-%s+%s.img" % ( |
1699 | 401 | touch_target.android_arch, touch_target.subarch) | 401 | touch_target.android_arch, touch_target.subarch) |
1700 | 402 | for touch_target in Touch.list_targets_by_ubuntu_arch("armhf")]) | 402 | for touch_target in Touch.list_targets_by_ubuntu_arch("armhf")]) |
1701 | 403 | touch_files.extend([ | 403 | touch_files.extend([ |
1707 | 404 | "saucy-preinstalled-touch-armhf.manifest", | 404 | "trusty-preinstalled-touch-armhf.manifest", |
1708 | 405 | "saucy-preinstalled-touch-armhf.raw", | 405 | "trusty-preinstalled-touch-armhf.raw", |
1709 | 406 | "saucy-preinstalled-touch-armhf.type", | 406 | "trusty-preinstalled-touch-armhf.type", |
1710 | 407 | "saucy-preinstalled-touch-armhf.tar.gz", | 407 | "trusty-preinstalled-touch-armhf.tar.gz", |
1711 | 408 | "saucy-preinstalled-touch-armhf.custom.tar.gz", | 408 | "trusty-preinstalled-touch-armhf.custom.tar.gz", |
1712 | 409 | ]) | 409 | ]) |
1713 | 410 | self.assertCountEqual(touch_files, os.listdir(output_dir)) | 410 | self.assertCountEqual(touch_files, os.listdir(output_dir)) |
1714 | 411 | with open(os.path.join( | 411 | with open(os.path.join( |
1716 | 412 | output_dir, "saucy-preinstalled-touch-armhf.type") | 412 | output_dir, "trusty-preinstalled-touch-armhf.type") |
1717 | 413 | ) as f: | 413 | ) as f: |
1718 | 414 | self.assertEqual("tar archive\n", f.read()) | 414 | self.assertEqual("tar archive\n", f.read()) |
1719 | 415 | for touch_target in Touch.list_targets_by_ubuntu_arch("armhf"): | 415 | for touch_target in Touch.list_targets_by_ubuntu_arch("armhf"): |
1721 | 416 | system_img = "saucy-preinstalled-system-%s+%s.img" % ( | 416 | system_img = "trusty-preinstalled-system-%s+%s.img" % ( |
1722 | 417 | touch_target.android_arch, touch_target.subarch) | 417 | touch_target.android_arch, touch_target.subarch) |
1724 | 418 | recovery_img = "saucy-preinstalled-recovery-%s+%s.img" % ( | 418 | recovery_img = "trusty-preinstalled-recovery-%s+%s.img" % ( |
1725 | 419 | touch_target.android_arch, touch_target.subarch) | 419 | touch_target.android_arch, touch_target.subarch) |
1726 | 420 | self.assertTrue(os.path.exists( | 420 | self.assertTrue(os.path.exists( |
1727 | 421 | os.path.join(output_dir, system_img))) | 421 | os.path.join(output_dir, system_img))) |
1728 | @@ -425,41 +425,6 @@ | |||
1729 | 425 | def test_ubuntu_touch(self): | 425 | def test_ubuntu_touch(self): |
1730 | 426 | self._perform_ubuntu_touch_testing("ubuntu-touch") | 426 | self._perform_ubuntu_touch_testing("ubuntu-touch") |
1731 | 427 | 427 | ||
1732 | 428 | def test_ubuntu_touch_custom(self): | ||
1733 | 429 | self._perform_ubuntu_touch_testing("ubuntu-touch-custom") | ||
1734 | 430 | |||
1735 | 431 | @mock.patch("cdimage.osextras.fetch") | ||
1736 | 432 | def test_ubuntu_desktop_next_system_image(self, mock_fetch): | ||
1737 | 433 | def fetch_side_effect(config, source, target): | ||
1738 | 434 | if (target.endswith(".manifest") or | ||
1739 | 435 | target.endswith(".rootfs.tar.gz")): | ||
1740 | 436 | touch(target) | ||
1741 | 437 | else: | ||
1742 | 438 | raise osextras.FetchError | ||
1743 | 439 | |||
1744 | 440 | mock_fetch.side_effect = fetch_side_effect | ||
1745 | 441 | self.config["PROJECT"] = "ubuntu-desktop-next" | ||
1746 | 442 | self.config["SUBPROJECT"] = "system-image" | ||
1747 | 443 | self.config["DIST"] = "utopic" | ||
1748 | 444 | self.config["IMAGE_TYPE"] = "daily" | ||
1749 | 445 | self.config["ARCHES"] = "i386" | ||
1750 | 446 | self.capture_logging() | ||
1751 | 447 | build_livecd_base(self.config) | ||
1752 | 448 | self.assertLogEqual([ | ||
1753 | 449 | "===== Downloading live filesystem images =====", | ||
1754 | 450 | self.epoch_date, | ||
1755 | 451 | "===== Copying images to debian-cd output directory =====", | ||
1756 | 452 | self.epoch_date, | ||
1757 | 453 | ]) | ||
1758 | 454 | output_dir = os.path.join( | ||
1759 | 455 | self.temp_dir, "scratch", "ubuntu-desktop-next", "utopic", "daily", | ||
1760 | 456 | "live") | ||
1761 | 457 | self.assertTrue(os.path.isdir(output_dir)) | ||
1762 | 458 | self.assertCountEqual([ | ||
1763 | 459 | "i386.manifest", | ||
1764 | 460 | "i386.rootfs.tar.gz", | ||
1765 | 461 | ], os.listdir(output_dir)) | ||
1766 | 462 | |||
1767 | 463 | 428 | ||
1768 | 464 | class TestExtractDebootstrap(TestCase): | 429 | class TestExtractDebootstrap(TestCase): |
1769 | 465 | def setUp(self): | 430 | def setUp(self): |
1770 | @@ -469,27 +434,27 @@ | |||
1771 | 469 | 434 | ||
1772 | 470 | def test_debootstrap_script(self): | 435 | def test_debootstrap_script(self): |
1773 | 471 | for series, script in ( | 436 | for series, script in ( |
1776 | 472 | ("gutsy", "usr/lib/debootstrap/scripts/gutsy"), | 437 | ("precise", "usr/share/debootstrap/scripts/precise"), |
1777 | 473 | ("hardy", "usr/share/debootstrap/scripts/hardy"), | 438 | ("bionic", "usr/share/debootstrap/scripts/bionic"), |
1778 | 474 | ): | 439 | ): |
1779 | 475 | self.config["DIST"] = series | 440 | self.config["DIST"] = series |
1780 | 476 | self.assertEqual(script, _debootstrap_script(self.config)) | 441 | self.assertEqual(script, _debootstrap_script(self.config)) |
1781 | 477 | 442 | ||
1782 | 478 | def test_extract_debootstrap(self): | 443 | def test_extract_debootstrap(self): |
1783 | 479 | self.config["PROJECT"] = "ubuntu" | 444 | self.config["PROJECT"] = "ubuntu" |
1785 | 480 | self.config["DIST"] = "raring" | 445 | self.config["DIST"] = "trusty" |
1786 | 481 | self.config["IMAGE_TYPE"] = "daily" | 446 | self.config["IMAGE_TYPE"] = "daily" |
1787 | 482 | self.config["ARCHES"] = "amd64+mac" | 447 | self.config["ARCHES"] = "amd64+mac" |
1788 | 483 | mirror_dir = os.path.join(self.temp_dir, "ftp") | 448 | mirror_dir = os.path.join(self.temp_dir, "ftp") |
1789 | 484 | packages_path = os.path.join( | 449 | packages_path = os.path.join( |
1791 | 485 | mirror_dir, "dists", "raring", "main", "debian-installer", | 450 | mirror_dir, "dists", "trusty", "main", "debian-installer", |
1792 | 486 | "binary-amd64", "Packages.gz") | 451 | "binary-amd64", "Packages.gz") |
1793 | 487 | udeb_path = os.path.join( | 452 | udeb_path = os.path.join( |
1794 | 488 | mirror_dir, "pool", "main", "d", "debootstrap", | 453 | mirror_dir, "pool", "main", "d", "debootstrap", |
1795 | 489 | "debootstrap-udeb_1_all.udeb") | 454 | "debootstrap-udeb_1_all.udeb") |
1796 | 490 | self.make_deb( | 455 | self.make_deb( |
1797 | 491 | udeb_path, "debian-installer", "extra", | 456 | udeb_path, "debian-installer", "extra", |
1799 | 492 | files={"/usr/share/debootstrap/scripts/raring": b"sentinel"}) | 457 | files={"/usr/share/debootstrap/scripts/trusty": b"sentinel"}) |
1800 | 493 | os.makedirs(os.path.dirname(packages_path)) | 458 | os.makedirs(os.path.dirname(packages_path)) |
1801 | 494 | with gzip.GzipFile(packages_path, "wb") as packages: | 459 | with gzip.GzipFile(packages_path, "wb") as packages: |
1802 | 495 | ftparchive = subprocess.Popen( | 460 | ftparchive = subprocess.Popen( |
1803 | @@ -500,8 +465,8 @@ | |||
1804 | 500 | self.assertEqual(0, ftparchive.returncode) | 465 | self.assertEqual(0, ftparchive.returncode) |
1805 | 501 | extract_debootstrap(self.config) | 466 | extract_debootstrap(self.config) |
1806 | 502 | output_path = os.path.join( | 467 | output_path = os.path.join( |
1809 | 503 | self.temp_dir, "scratch", "ubuntu", "raring", "daily", | 468 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily", |
1810 | 504 | "debootstrap", "raring-amd64+mac") | 469 | "debootstrap", "trusty-amd64+mac") |
1811 | 505 | self.assertTrue(os.path.exists(output_path)) | 470 | self.assertTrue(os.path.exists(output_path)) |
1812 | 506 | with open(output_path, "rb") as output: | 471 | with open(output_path, "rb") as output: |
1813 | 507 | self.assertEqual(b"sentinel", output.read()) | 472 | self.assertEqual(b"sentinel", output.read()) |
1814 | @@ -523,10 +488,10 @@ | |||
1815 | 523 | @mock.patch("cdimage.osextras.unlink_force") | 488 | @mock.patch("cdimage.osextras.unlink_force") |
1816 | 524 | def test_lock_build_image_set(self, mock_unlink_force, mock_check_call): | 489 | def test_lock_build_image_set(self, mock_unlink_force, mock_check_call): |
1817 | 525 | self.config["PROJECT"] = "ubuntu" | 490 | self.config["PROJECT"] = "ubuntu" |
1819 | 526 | self.config["DIST"] = "raring" | 491 | self.config["DIST"] = "trusty" |
1820 | 527 | self.config["IMAGE_TYPE"] = "daily" | 492 | self.config["IMAGE_TYPE"] = "daily" |
1821 | 528 | expected_lock_path = os.path.join( | 493 | expected_lock_path = os.path.join( |
1823 | 529 | self.temp_dir, "etc", ".lock-build-image-set-ubuntu-raring-daily") | 494 | self.temp_dir, "etc", ".lock-build-image-set-ubuntu-trusty-daily") |
1824 | 530 | self.assertFalse(os.path.exists(expected_lock_path)) | 495 | self.assertFalse(os.path.exists(expected_lock_path)) |
1825 | 531 | with lock_build_image_set(self.config): | 496 | with lock_build_image_set(self.config): |
1826 | 532 | mock_check_call.assert_called_once_with([ | 497 | mock_check_call.assert_called_once_with([ |
1827 | @@ -539,12 +504,12 @@ | |||
1828 | 539 | def test_lock_build_image_set_chinese(self, mock_unlink_force, | 504 | def test_lock_build_image_set_chinese(self, mock_unlink_force, |
1829 | 540 | mock_check_call): | 505 | mock_check_call): |
1830 | 541 | self.config["PROJECT"] = "ubuntu" | 506 | self.config["PROJECT"] = "ubuntu" |
1832 | 542 | self.config["DIST"] = "raring" | 507 | self.config["DIST"] = "trusty" |
1833 | 543 | self.config["IMAGE_TYPE"] = "daily" | 508 | self.config["IMAGE_TYPE"] = "daily" |
1834 | 544 | self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN" | 509 | self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN" |
1835 | 545 | expected_lock_path = os.path.join( | 510 | expected_lock_path = os.path.join( |
1836 | 546 | self.temp_dir, "etc", | 511 | self.temp_dir, "etc", |
1838 | 547 | ".lock-build-image-set-ubuntu-chinese-edition-raring-daily") | 512 | ".lock-build-image-set-ubuntu-chinese-edition-trusty-daily") |
1839 | 548 | self.assertFalse(os.path.exists(expected_lock_path)) | 513 | self.assertFalse(os.path.exists(expected_lock_path)) |
1840 | 549 | with lock_build_image_set(self.config): | 514 | with lock_build_image_set(self.config): |
1841 | 550 | mock_check_call.assert_called_once_with([ | 515 | mock_check_call.assert_called_once_with([ |
1842 | @@ -554,25 +519,20 @@ | |||
1843 | 554 | 519 | ||
1844 | 555 | def test_configure_onlyfree_unsupported(self): | 520 | def test_configure_onlyfree_unsupported(self): |
1845 | 556 | for project, series, onlyfree, unsupported in ( | 521 | for project, series, onlyfree, unsupported in ( |
1847 | 557 | ("ubuntu", "raring", False, False), | 522 | ("ubuntu", "trusty", False, False), |
1848 | 558 | ("gobuntu", "hardy", True, False), | 523 | ("gobuntu", "hardy", True, False), |
1853 | 559 | ("edubuntu", "jaunty", False, False), | 524 | ("edubuntu", "precise", False, True), |
1854 | 560 | ("edubuntu", "karmic", False, True), | 525 | ("xubuntu", "precise", False, True), |
1851 | 561 | ("xubuntu", "gutsy", False, False), | ||
1852 | 562 | ("xubuntu", "hardy", False, True), | ||
1855 | 563 | ("kubuntu", "precise", False, False), | 526 | ("kubuntu", "precise", False, False), |
1868 | 564 | ("kubuntu", "quantal", False, True), | 527 | ("kubuntu", "trusty", False, True), |
1869 | 565 | ("kubuntu-active", "raring", False, True), | 528 | ("kubuntu-active", "trusty", False, True), |
1870 | 566 | ("kubuntu-plasma5", "utopic", False, True), | 529 | ("ubuntustudio", "trusty", False, True), |
1871 | 567 | ("ubuntustudio", "raring", False, True), | 530 | ("mythbuntu", "trusty", False, True), |
1872 | 568 | ("mythbuntu", "raring", False, True), | 531 | ("lubuntu", "trusty", False, True), |
1873 | 569 | ("lubuntu", "raring", False, True), | 532 | ("ubuntukylin", "trusty", False, True), |
1874 | 570 | ("ubuntukylin", "raring", False, True), | 533 | ("ubuntu-gnome", "trusty", False, True), |
1875 | 571 | ("ubuntu-gnome", "raring", False, True), | 534 | ("ubuntu-budgie", "bionic", False, True), |
1876 | 572 | ("ubuntu-budgie", "zesty", False, True), | 535 | ("ubuntu-mate", "xenial", False, True), |
1865 | 573 | ("ubuntu-mate", "vivid", False, True), | ||
1866 | 574 | ("ubuntu-moblin-remix", "raring", False, True), | ||
1867 | 575 | ("ubuntu-desktop-next", "utopic", False, False), | ||
1877 | 576 | ): | 536 | ): |
1878 | 577 | config = Config(read=False) | 537 | config = Config(read=False) |
1879 | 578 | config["PROJECT"] = project | 538 | config["PROJECT"] = project |
1880 | @@ -605,7 +565,7 @@ | |||
1881 | 605 | 565 | ||
1882 | 606 | def test_open_log_writes_log(self): | 566 | def test_open_log_writes_log(self): |
1883 | 607 | self.config["PROJECT"] = "ubuntu" | 567 | self.config["PROJECT"] = "ubuntu" |
1885 | 608 | self.config["DIST"] = "raring" | 568 | self.config["DIST"] = "trusty" |
1886 | 609 | self.config["IMAGE_TYPE"] = "daily" | 569 | self.config["IMAGE_TYPE"] = "daily" |
1887 | 610 | self.config["CDIMAGE_DATE"] = "20130224" | 570 | self.config["CDIMAGE_DATE"] = "20130224" |
1888 | 611 | pid = os.fork() | 571 | pid = os.fork() |
1889 | @@ -620,7 +580,7 @@ | |||
1890 | 620 | else: # parent | 580 | else: # parent |
1891 | 621 | self.wait_for_pid(pid, 0) | 581 | self.wait_for_pid(pid, 0) |
1892 | 622 | expected_log_path = os.path.join( | 582 | expected_log_path = os.path.join( |
1894 | 623 | self.temp_dir, "log", "ubuntu", "raring", "daily-20130224.log") | 583 | self.temp_dir, "log", "ubuntu", "trusty", "daily-20130224.log") |
1895 | 624 | self.assertTrue(os.path.exists(expected_log_path)) | 584 | self.assertTrue(os.path.exists(expected_log_path)) |
1896 | 625 | with open(expected_log_path) as log: | 585 | with open(expected_log_path) as log: |
1897 | 626 | self.assertEqual([ | 586 | self.assertEqual([ |
1898 | @@ -631,7 +591,7 @@ | |||
1899 | 631 | 591 | ||
1900 | 632 | def test_open_log_chinese(self): | 592 | def test_open_log_chinese(self): |
1901 | 633 | self.config["PROJECT"] = "ubuntu" | 593 | self.config["PROJECT"] = "ubuntu" |
1903 | 634 | self.config["DIST"] = "raring" | 594 | self.config["DIST"] = "trusty" |
1904 | 635 | self.config["IMAGE_TYPE"] = "daily" | 595 | self.config["IMAGE_TYPE"] = "daily" |
1905 | 636 | self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN" | 596 | self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN" |
1906 | 637 | self.config["CDIMAGE_DATE"] = "20130224" | 597 | self.config["CDIMAGE_DATE"] = "20130224" |
1907 | @@ -647,7 +607,7 @@ | |||
1908 | 647 | else: # parent | 607 | else: # parent |
1909 | 648 | self.wait_for_pid(pid, 0) | 608 | self.wait_for_pid(pid, 0) |
1910 | 649 | expected_log_path = os.path.join( | 609 | expected_log_path = os.path.join( |
1912 | 650 | self.temp_dir, "log", "ubuntu-chinese-edition", "raring", | 610 | self.temp_dir, "log", "ubuntu-chinese-edition", "trusty", |
1913 | 651 | "daily-20130224.log") | 611 | "daily-20130224.log") |
1914 | 652 | self.assertTrue(os.path.exists(expected_log_path)) | 612 | self.assertTrue(os.path.exists(expected_log_path)) |
1915 | 653 | with open(expected_log_path) as log: | 613 | with open(expected_log_path) as log: |
1916 | @@ -880,7 +840,7 @@ | |||
1917 | 880 | ["make", "-C", os.path.dirname(path)]) | 840 | ["make", "-C", os.path.dirname(path)]) |
1918 | 881 | 841 | ||
1919 | 882 | def test_configure_splash(self): | 842 | def test_configure_splash(self): |
1921 | 883 | data_dir = os.path.join(self.temp_dir, "debian-cd", "data", "raring") | 843 | data_dir = os.path.join(self.temp_dir, "debian-cd", "data", "trusty") |
1922 | 884 | for key, extension in ( | 844 | for key, extension in ( |
1923 | 885 | ("SPLASHRLE", "rle"), | 845 | ("SPLASHRLE", "rle"), |
1924 | 886 | ("GFXSPLASH", "pcx"), | 846 | ("GFXSPLASH", "pcx"), |
1925 | @@ -890,7 +850,7 @@ | |||
1926 | 890 | config = Config(read=False) | 850 | config = Config(read=False) |
1927 | 891 | config.root = self.temp_dir | 851 | config.root = self.temp_dir |
1928 | 892 | config["PROJECT"] = "kubuntu" | 852 | config["PROJECT"] = "kubuntu" |
1930 | 893 | config["DIST"] = "raring" | 853 | config["DIST"] = "trusty" |
1931 | 894 | path = os.path.join( | 854 | path = os.path.join( |
1932 | 895 | data_dir, "%s.%s" % ( | 855 | data_dir, "%s.%s" % ( |
1933 | 896 | "kubuntu" if project_specific else "splash", | 856 | "kubuntu" if project_specific else "splash", |
1934 | @@ -941,10 +901,10 @@ | |||
1935 | 941 | 901 | ||
1936 | 942 | def test_fix_permissions(self): | 902 | def test_fix_permissions(self): |
1937 | 943 | self.config["PROJECT"] = "ubuntu" | 903 | self.config["PROJECT"] = "ubuntu" |
1939 | 944 | self.config["DIST"] = "raring" | 904 | self.config["DIST"] = "trusty" |
1940 | 945 | self.config["IMAGE_TYPE"] = "daily" | 905 | self.config["IMAGE_TYPE"] = "daily" |
1941 | 946 | scratch_dir = os.path.join( | 906 | scratch_dir = os.path.join( |
1943 | 947 | self.temp_dir, "scratch", "ubuntu", "raring", "daily") | 907 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily") |
1944 | 948 | subdir = os.path.join(scratch_dir, "x") | 908 | subdir = os.path.join(scratch_dir, "x") |
1945 | 949 | dir_one = os.path.join(subdir, "1") | 909 | dir_one = os.path.join(subdir, "1") |
1946 | 950 | file_two = os.path.join(subdir, "2") | 910 | file_two = os.path.join(subdir, "2") |
1947 | @@ -978,14 +938,14 @@ | |||
1948 | 978 | 938 | ||
1949 | 979 | @mock.patch("cdimage.build.send_mail") | 939 | @mock.patch("cdimage.build.send_mail") |
1950 | 980 | def test_notify_failure_no_recipients(self, mock_send_mail): | 940 | def test_notify_failure_no_recipients(self, mock_send_mail): |
1952 | 981 | self.config["DIST"] = "raring" | 941 | self.config["DIST"] = "trusty" |
1953 | 982 | notify_failure(self.config, None) | 942 | notify_failure(self.config, None) |
1954 | 983 | self.assertEqual(0, mock_send_mail.call_count) | 943 | self.assertEqual(0, mock_send_mail.call_count) |
1955 | 984 | 944 | ||
1956 | 985 | @mock.patch("cdimage.build.send_mail") | 945 | @mock.patch("cdimage.build.send_mail") |
1957 | 986 | def test_notify_failure_no_log(self, mock_send_mail): | 946 | def test_notify_failure_no_log(self, mock_send_mail): |
1958 | 987 | self.config["PROJECT"] = "ubuntu" | 947 | self.config["PROJECT"] = "ubuntu" |
1960 | 988 | self.config["DIST"] = "raring" | 948 | self.config["DIST"] = "trusty" |
1961 | 989 | self.config["IMAGE_TYPE"] = "daily" | 949 | self.config["IMAGE_TYPE"] = "daily" |
1962 | 990 | self.config["CDIMAGE_DATE"] = "20130225" | 950 | self.config["CDIMAGE_DATE"] = "20130225" |
1963 | 991 | path = os.path.join(self.temp_dir, "production", "notify-addresses") | 951 | path = os.path.join(self.temp_dir, "production", "notify-addresses") |
1964 | @@ -993,13 +953,13 @@ | |||
1965 | 993 | print("ALL\tfoo@example.org", file=notify_addresses) | 953 | print("ALL\tfoo@example.org", file=notify_addresses) |
1966 | 994 | notify_failure(self.config, None) | 954 | notify_failure(self.config, None) |
1967 | 995 | mock_send_mail.assert_called_once_with( | 955 | mock_send_mail.assert_called_once_with( |
1969 | 996 | "CD image ubuntu/raring/daily failed to build on 20130225", | 956 | "CD image ubuntu/trusty/daily failed to build on 20130225", |
1970 | 997 | "build-image-set", ["foo@example.org"], "") | 957 | "build-image-set", ["foo@example.org"], "") |
1971 | 998 | 958 | ||
1972 | 999 | @mock.patch("cdimage.build.send_mail") | 959 | @mock.patch("cdimage.build.send_mail") |
1973 | 1000 | def test_notify_failure_log(self, mock_send_mail): | 960 | def test_notify_failure_log(self, mock_send_mail): |
1974 | 1001 | self.config["PROJECT"] = "ubuntu" | 961 | self.config["PROJECT"] = "ubuntu" |
1976 | 1002 | self.config["DIST"] = "raring" | 962 | self.config["DIST"] = "trusty" |
1977 | 1003 | self.config["IMAGE_TYPE"] = "daily" | 963 | self.config["IMAGE_TYPE"] = "daily" |
1978 | 1004 | self.config["CDIMAGE_DATE"] = "20130225" | 964 | self.config["CDIMAGE_DATE"] = "20130225" |
1979 | 1005 | path = os.path.join(self.temp_dir, "production", "notify-addresses") | 965 | path = os.path.join(self.temp_dir, "production", "notify-addresses") |
1980 | @@ -1010,14 +970,14 @@ | |||
1981 | 1010 | print("Log", file=log) | 970 | print("Log", file=log) |
1982 | 1011 | notify_failure(self.config, log_path) | 971 | notify_failure(self.config, log_path) |
1983 | 1012 | mock_send_mail.assert_called_once_with( | 972 | mock_send_mail.assert_called_once_with( |
1985 | 1013 | "CD image ubuntu/raring/daily failed to build on 20130225", | 973 | "CD image ubuntu/trusty/daily failed to build on 20130225", |
1986 | 1014 | "build-image-set", ["foo@example.org"], mock.ANY) | 974 | "build-image-set", ["foo@example.org"], mock.ANY) |
1987 | 1015 | self.assertEqual(log_path, mock_send_mail.call_args[0][3].name) | 975 | self.assertEqual(log_path, mock_send_mail.call_args[0][3].name) |
1988 | 1016 | 976 | ||
1989 | 1017 | @mock.patch("cdimage.build.send_mail") | 977 | @mock.patch("cdimage.build.send_mail") |
1990 | 1018 | def test_notify_failure_chinese(self, mock_send_mail): | 978 | def test_notify_failure_chinese(self, mock_send_mail): |
1991 | 1019 | self.config["PROJECT"] = "ubuntu" | 979 | self.config["PROJECT"] = "ubuntu" |
1993 | 1020 | self.config["DIST"] = "raring" | 980 | self.config["DIST"] = "trusty" |
1994 | 1021 | self.config["IMAGE_TYPE"] = "daily" | 981 | self.config["IMAGE_TYPE"] = "daily" |
1995 | 1022 | self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN" | 982 | self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN" |
1996 | 1023 | self.config["CDIMAGE_DATE"] = "20130225" | 983 | self.config["CDIMAGE_DATE"] = "20130225" |
1997 | @@ -1029,7 +989,7 @@ | |||
1998 | 1029 | print("Log", file=log) | 989 | print("Log", file=log) |
1999 | 1030 | notify_failure(self.config, log_path) | 990 | notify_failure(self.config, log_path) |
2000 | 1031 | mock_send_mail.assert_called_once_with( | 991 | mock_send_mail.assert_called_once_with( |
2002 | 1032 | "CD image ubuntu-chinese-edition/raring/daily failed to build on " | 992 | "CD image ubuntu-chinese-edition/trusty/daily failed to build on " |
2003 | 1033 | "20130225", | 993 | "20130225", |
2004 | 1034 | "build-image-set", ["foo@example.org"], mock.ANY) | 994 | "build-image-set", ["foo@example.org"], mock.ANY) |
2005 | 1035 | self.assertEqual(log_path, mock_send_mail.call_args[0][3].name) | 995 | self.assertEqual(log_path, mock_send_mail.call_args[0][3].name) |
2006 | @@ -1055,14 +1015,14 @@ | |||
2007 | 1055 | def test_build_image_set_locked_notifies_on_failure( | 1015 | def test_build_image_set_locked_notifies_on_failure( |
2008 | 1056 | self, mock_send_mail, mock_sync_local_mirror, *args): | 1016 | self, mock_send_mail, mock_sync_local_mirror, *args): |
2009 | 1057 | self.config["PROJECT"] = "ubuntu" | 1017 | self.config["PROJECT"] = "ubuntu" |
2011 | 1058 | self.config["DIST"] = "raring" | 1018 | self.config["DIST"] = "trusty" |
2012 | 1059 | self.config["IMAGE_TYPE"] = "daily" | 1019 | self.config["IMAGE_TYPE"] = "daily" |
2013 | 1060 | self.config["CDIMAGE_DATE"] = "20130225" | 1020 | self.config["CDIMAGE_DATE"] = "20130225" |
2014 | 1061 | path = os.path.join(self.temp_dir, "production", "notify-addresses") | 1021 | path = os.path.join(self.temp_dir, "production", "notify-addresses") |
2015 | 1062 | with mkfile(path, "w") as notify_addresses: | 1022 | with mkfile(path, "w") as notify_addresses: |
2016 | 1063 | print("ALL\tfoo@example.org", file=notify_addresses) | 1023 | print("ALL\tfoo@example.org", file=notify_addresses) |
2017 | 1064 | log_path = os.path.join( | 1024 | log_path = os.path.join( |
2019 | 1065 | self.temp_dir, "log", "ubuntu", "raring", "daily-20130225.log") | 1025 | self.temp_dir, "log", "ubuntu", "trusty", "daily-20130225.log") |
2020 | 1066 | os.makedirs(os.path.join(self.temp_dir, "etc")) | 1026 | os.makedirs(os.path.join(self.temp_dir, "etc")) |
2021 | 1067 | 1027 | ||
2022 | 1068 | def force_failure(*args): | 1028 | def force_failure(*args): |
2023 | @@ -1113,7 +1073,7 @@ | |||
2024 | 1113 | mock_tracker_set_rebuild_status, mock_call): | 1073 | mock_tracker_set_rebuild_status, mock_call): |
2025 | 1114 | self.config["PROJECT"] = "ubuntu" | 1074 | self.config["PROJECT"] = "ubuntu" |
2026 | 1115 | self.config["CAPPROJECT"] = "Ubuntu" | 1075 | self.config["CAPPROJECT"] = "Ubuntu" |
2028 | 1116 | self.config["DIST"] = "raring" | 1076 | self.config["DIST"] = "trusty" |
2029 | 1117 | self.config["IMAGE_TYPE"] = "daily" | 1077 | self.config["IMAGE_TYPE"] = "daily" |
2030 | 1118 | self.config["ARCHES"] = "amd64 i386" | 1078 | self.config["ARCHES"] = "amd64 i386" |
2031 | 1119 | self.config["CPUARCHES"] = "amd64 i386" | 1079 | self.config["CPUARCHES"] = "amd64 i386" |
2032 | @@ -1127,8 +1087,8 @@ | |||
2033 | 1127 | touch(germinate_path) | 1087 | touch(germinate_path) |
2034 | 1128 | os.chmod(germinate_path, 0o755) | 1088 | os.chmod(germinate_path, 0o755) |
2035 | 1129 | germinate_output = os.path.join( | 1089 | germinate_output = os.path.join( |
2038 | 1130 | self.temp_dir, "scratch", "ubuntu", "raring", "daily", "germinate") | 1090 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily", "germinate") |
2039 | 1131 | log_dir = os.path.join(self.temp_dir, "log", "ubuntu", "raring") | 1091 | log_dir = os.path.join(self.temp_dir, "log", "ubuntu", "trusty") |
2040 | 1132 | 1092 | ||
2041 | 1133 | def side_effect(command, *args, **kwargs): | 1093 | def side_effect(command, *args, **kwargs): |
2042 | 1134 | if command[0] == germinate_path: | 1094 | if command[0] == germinate_path: |
2043 | @@ -1150,8 +1110,8 @@ | |||
2044 | 1150 | germinate_path, | 1110 | germinate_path, |
2045 | 1151 | "--seed-source", mock.ANY, | 1111 | "--seed-source", mock.ANY, |
2046 | 1152 | "--mirror", "file://%s/" % germinate_output, | 1112 | "--mirror", "file://%s/" % germinate_output, |
2049 | 1153 | "--seed-dist", "ubuntu.raring", | 1113 | "--seed-dist", "ubuntu.trusty", |
2050 | 1154 | "--dist", "raring,raring-security,raring-updates", | 1114 | "--dist", "trusty,trusty-security,trusty-updates", |
2051 | 1155 | "--arch", arch, | 1115 | "--arch", arch, |
2052 | 1156 | "--components", "main", | 1116 | "--components", "main", |
2053 | 1157 | "--no-rdepends", | 1117 | "--no-rdepends", |
2054 | @@ -1204,8 +1164,8 @@ | |||
2055 | 1204 | DATE | 1164 | DATE |
2056 | 1205 | ===== Germinating ===== | 1165 | ===== Germinating ===== |
2057 | 1206 | DATE | 1166 | DATE |
2060 | 1207 | Germinating for raring/amd64 ... | 1167 | Germinating for trusty/amd64 ... |
2061 | 1208 | Germinating for raring/i386 ... | 1168 | Germinating for trusty/i386 ... |
2062 | 1209 | ===== Generating new task lists ===== | 1169 | ===== Generating new task lists ===== |
2063 | 1210 | DATE | 1170 | DATE |
2064 | 1211 | ===== Checking for other task changes ===== | 1171 | ===== Checking for other task changes ===== |
2065 | @@ -1226,10 +1186,10 @@ | |||
2066 | 1226 | "cdimage.build.build_image_set_locked", side_effect=KeyboardInterrupt) | 1186 | "cdimage.build.build_image_set_locked", side_effect=KeyboardInterrupt) |
2067 | 1227 | def test_build_image_set_interrupted(self, *args): | 1187 | def test_build_image_set_interrupted(self, *args): |
2068 | 1228 | self.config["PROJECT"] = "ubuntu" | 1188 | self.config["PROJECT"] = "ubuntu" |
2070 | 1229 | self.config["DIST"] = "raring" | 1189 | self.config["DIST"] = "trusty" |
2071 | 1230 | self.config["IMAGE_TYPE"] = "daily" | 1190 | self.config["IMAGE_TYPE"] = "daily" |
2072 | 1231 | lock_path = os.path.join( | 1191 | lock_path = os.path.join( |
2074 | 1232 | self.temp_dir, "etc", ".lock-build-image-set-ubuntu-raring-daily") | 1192 | self.temp_dir, "etc", ".lock-build-image-set-ubuntu-trusty-daily") |
2075 | 1233 | multipidfile_path = os.path.join( | 1193 | multipidfile_path = os.path.join( |
2076 | 1234 | self.temp_dir, "etc", ".build-image-set-pids") | 1194 | self.temp_dir, "etc", ".build-image-set-pids") |
2077 | 1235 | os.makedirs(os.path.dirname(lock_path)) | 1195 | os.makedirs(os.path.dirname(lock_path)) |
2078 | @@ -1241,10 +1201,10 @@ | |||
2079 | 1241 | @mock.patch("cdimage.build.build_image_set_locked") | 1201 | @mock.patch("cdimage.build.build_image_set_locked") |
2080 | 1242 | def test_build_image_set_terminated(self, mock_build_image_set_locked): | 1202 | def test_build_image_set_terminated(self, mock_build_image_set_locked): |
2081 | 1243 | self.config["PROJECT"] = "ubuntu" | 1203 | self.config["PROJECT"] = "ubuntu" |
2083 | 1244 | self.config["DIST"] = "raring" | 1204 | self.config["DIST"] = "trusty" |
2084 | 1245 | self.config["IMAGE_TYPE"] = "daily" | 1205 | self.config["IMAGE_TYPE"] = "daily" |
2085 | 1246 | lock_path = os.path.join( | 1206 | lock_path = os.path.join( |
2087 | 1247 | self.temp_dir, "etc", ".lock-build-image-set-ubuntu-raring-daily") | 1207 | self.temp_dir, "etc", ".lock-build-image-set-ubuntu-trusty-daily") |
2088 | 1248 | multipidfile_path = os.path.join( | 1208 | multipidfile_path = os.path.join( |
2089 | 1249 | self.temp_dir, "etc", ".build-image-set-pids") | 1209 | self.temp_dir, "etc", ".build-image-set-pids") |
2090 | 1250 | os.makedirs(os.path.dirname(lock_path)) | 1210 | os.makedirs(os.path.dirname(lock_path)) |
2091 | @@ -1264,10 +1224,10 @@ | |||
2092 | 1264 | @mock.patch("cdimage.build.build_image_set_locked") | 1224 | @mock.patch("cdimage.build.build_image_set_locked") |
2093 | 1265 | def test_build_image_set(self, mock_build_image_set_locked): | 1225 | def test_build_image_set(self, mock_build_image_set_locked): |
2094 | 1266 | self.config["PROJECT"] = "ubuntu" | 1226 | self.config["PROJECT"] = "ubuntu" |
2096 | 1267 | self.config["DIST"] = "raring" | 1227 | self.config["DIST"] = "trusty" |
2097 | 1268 | self.config["IMAGE_TYPE"] = "daily" | 1228 | self.config["IMAGE_TYPE"] = "daily" |
2098 | 1269 | lock_path = os.path.join( | 1229 | lock_path = os.path.join( |
2100 | 1270 | self.temp_dir, "etc", ".lock-build-image-set-ubuntu-raring-daily") | 1230 | self.temp_dir, "etc", ".lock-build-image-set-ubuntu-trusty-daily") |
2101 | 1271 | multipidfile_path = os.path.join( | 1231 | multipidfile_path = os.path.join( |
2102 | 1272 | self.temp_dir, "etc", ".build-image-set-pids") | 1232 | self.temp_dir, "etc", ".build-image-set-pids") |
2103 | 1273 | os.makedirs(os.path.dirname(lock_path)) | 1233 | os.makedirs(os.path.dirname(lock_path)) |
2104 | 1274 | 1234 | ||
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 | 66 | config = Config(read=False) | 66 | config = Config(read=False) |
2110 | 67 | config.root = self.use_temp_dir() | 67 | config.root = self.use_temp_dir() |
2111 | 68 | config["PROJECT"] = "ubuntu" | 68 | config["PROJECT"] = "ubuntu" |
2113 | 69 | config["DIST"] = "raring" | 69 | config["DIST"] = "trusty" |
2114 | 70 | config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN" | 70 | config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN" |
2115 | 71 | os.mkdir(os.path.join(self.temp_dir, "etc")) | 71 | os.mkdir(os.path.join(self.temp_dir, "etc")) |
2116 | 72 | stamp = os.path.join( | 72 | stamp = os.path.join( |
2117 | 73 | config.root, "etc", | 73 | config.root, "etc", |
2119 | 74 | ".next-build-suffix-ubuntu-chinese-edition-raring-daily") | 74 | ".next-build-suffix-ubuntu-chinese-edition-trusty-daily") |
2120 | 75 | self.assertFalse(os.path.exists(stamp)) | 75 | self.assertFalse(os.path.exists(stamp)) |
2121 | 76 | self.assertEqual("20130225", next_build_id(config, "")) | 76 | self.assertEqual("20130225", next_build_id(config, "")) |
2122 | 77 | with open(stamp) as stamp_file: | 77 | with open(stamp) as stamp_file: |
2123 | 78 | 78 | ||
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 | 41 | self.config["PROJECT"] = "ubuntu" | 41 | self.config["PROJECT"] = "ubuntu" |
2129 | 42 | self.config["CAPPROJECT"] = "Ubuntu" | 42 | self.config["CAPPROJECT"] = "Ubuntu" |
2130 | 43 | self.config["IMAGE_TYPE"] = "daily" | 43 | self.config["IMAGE_TYPE"] = "daily" |
2132 | 44 | self.config["DIST"] = "warty" | 44 | self.config["DIST"] = "precise" |
2133 | 45 | self.config["ARCHES"] = "i386" | 45 | self.config["ARCHES"] = "i386" |
2134 | 46 | 46 | ||
2135 | 47 | def test_dirs(self): | 47 | def test_dirs(self): |
2136 | @@ -49,29 +49,29 @@ | |||
2137 | 49 | self.assertEqual(os.path.join(self.config.root, "britney"), britney) | 49 | self.assertEqual(os.path.join(self.config.root, "britney"), britney) |
2138 | 50 | self.assertEqual( | 50 | self.assertEqual( |
2139 | 51 | os.path.join( | 51 | os.path.join( |
2141 | 52 | self.config.root, "scratch", "ubuntu", "warty", "daily", | 52 | self.config.root, "scratch", "ubuntu", "precise", "daily", |
2142 | 53 | "tmp"), | 53 | "tmp"), |
2143 | 54 | image_top) | 54 | image_top) |
2144 | 55 | self.assertEqual( | 55 | self.assertEqual( |
2145 | 56 | os.path.join( | 56 | os.path.join( |
2147 | 57 | self.config.root, "scratch", "ubuntu", "warty", "daily", | 57 | self.config.root, "scratch", "ubuntu", "precise", "daily", |
2148 | 58 | "live"), | 58 | "live"), |
2149 | 59 | live) | 59 | live) |
2150 | 60 | self.assertEqual( | 60 | self.assertEqual( |
2152 | 61 | os.path.join(britney, "data", "ubuntu", "daily", "warty"), data) | 61 | os.path.join(britney, "data", "ubuntu", "daily", "precise"), data) |
2153 | 62 | 62 | ||
2154 | 63 | def test_prepare_no_packages(self): | 63 | def test_prepare_no_packages(self): |
2155 | 64 | _, _, _, data = _check_installable_dirs(self.config) | 64 | _, _, _, data = _check_installable_dirs(self.config) |
2156 | 65 | self.capture_logging() | 65 | self.capture_logging() |
2157 | 66 | _prepare_check_installable(self.config) | 66 | _prepare_check_installable(self.config) |
2159 | 67 | self.assertLogEqual(["No Packages.gz for warty/i386; not checking"]) | 67 | self.assertLogEqual(["No Packages.gz for precise/i386; not checking"]) |
2160 | 68 | self.assertEqual(["Sources"], os.listdir(data)) | 68 | self.assertEqual(["Sources"], os.listdir(data)) |
2161 | 69 | self.assertEqual(0, os.stat(os.path.join(data, "Sources")).st_size) | 69 | self.assertEqual(0, os.stat(os.path.join(data, "Sources")).st_size) |
2162 | 70 | 70 | ||
2163 | 71 | def test_prepare_with_packages(self): | 71 | def test_prepare_with_packages(self): |
2164 | 72 | _, image_top, _, data = _check_installable_dirs(self.config) | 72 | _, image_top, _, data = _check_installable_dirs(self.config) |
2165 | 73 | packages_gz = os.path.join( | 73 | packages_gz = os.path.join( |
2167 | 74 | image_top, "warty-i386", "CD1", "dists", "warty", "main", | 74 | image_top, "precise-i386", "CD1", "dists", "precise", "main", |
2168 | 75 | "binary-i386", "Packages.gz") | 75 | "binary-i386", "Packages.gz") |
2169 | 76 | os.makedirs(os.path.dirname(packages_gz)) | 76 | os.makedirs(os.path.dirname(packages_gz)) |
2170 | 77 | packages_gz_file = gzip.open(packages_gz, "wb") | 77 | packages_gz_file = gzip.open(packages_gz, "wb") |
2171 | @@ -125,5 +125,5 @@ | |||
2172 | 125 | "timeout", "30", | 125 | "timeout", "30", |
2173 | 126 | os.path.join(britney, "rptprobs.sh"), data, | 126 | os.path.join(britney, "rptprobs.sh"), data, |
2174 | 127 | os.path.join( | 127 | os.path.join( |
2177 | 128 | britney, "report", "ubuntu", "daily", "warty_probs.html"), | 128 | britney, "report", "ubuntu", "daily", "precise_probs.html"), |
2178 | 129 | "Ubuntu warty"], command) | 129 | "Ubuntu precise"], command) |
2179 | 130 | 130 | ||
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 | 295 | self.assertEqual(None, config.core_series) | 295 | self.assertEqual(None, config.core_series) |
2185 | 296 | config["DIST"] = "xenial" | 296 | config["DIST"] = "xenial" |
2186 | 297 | self.assertEqual("16", config.core_series) | 297 | self.assertEqual("16", config.core_series) |
2187 | 298 | config["DIST"] = "yakkety" | ||
2188 | 299 | self.assertEqual("16", config.core_series) | ||
2189 | 300 | config["DIST"] = "zesty" | ||
2190 | 301 | self.assertEqual("16", config.core_series) | ||
2191 | 302 | config["DIST"] = "artful" | ||
2192 | 303 | self.assertEqual("16", config.core_series) | ||
2193 | 304 | config["DIST"] = "bionic" | 298 | config["DIST"] = "bionic" |
2194 | 305 | self.assertEqual("18", config.core_series) | 299 | self.assertEqual("18", config.core_series) |
2195 | 306 | config["DIST"] = "cosmic" | 300 | config["DIST"] = "cosmic" |
2196 | 307 | 301 | ||
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 | 68 | 68 | ||
2202 | 69 | def test_output_dir(self): | 69 | def test_output_dir(self): |
2203 | 70 | self.config.root = "/cdimage" | 70 | self.config.root = "/cdimage" |
2205 | 71 | self.config["DIST"] = "raring" | 71 | self.config["DIST"] = "bionic" |
2206 | 72 | self.config["IMAGE_TYPE"] = "daily" | 72 | self.config["IMAGE_TYPE"] = "daily" |
2207 | 73 | self.assertEqual( | 73 | self.assertEqual( |
2209 | 74 | "/cdimage/scratch/ubuntu/raring/daily/germinate", | 74 | "/cdimage/scratch/ubuntu/bionic/daily/germinate", |
2210 | 75 | self.germination.output_dir("ubuntu")) | 75 | self.germination.output_dir("ubuntu")) |
2211 | 76 | 76 | ||
2212 | 77 | def test_seed_sources_local_seeds(self): | 77 | def test_seed_sources_local_seeds(self): |
2213 | @@ -82,18 +82,11 @@ | |||
2214 | 82 | 82 | ||
2215 | 83 | def test_seed_sources_bzr(self): | 83 | def test_seed_sources_bzr(self): |
2216 | 84 | for project, series, owners in ( | 84 | for project, series, owners in ( |
2229 | 85 | ("kubuntu", "natty", ["ubuntu-core-dev"]), | 85 | ("kubuntu", "precise", ["kubuntu-dev"]), |
2230 | 86 | ("kubuntu", "oneiric", ["kubuntu-dev"]), | 86 | ("kubuntu-active", "precise", ["kubuntu-dev"]), |
2231 | 87 | ("kubuntu-active", "natty", ["ubuntu-core-dev"]), | 87 | ("mythbuntu", "trusty", ["mythbuntu-dev"]), |
2232 | 88 | ("kubuntu-active", "oneiric", ["kubuntu-dev"]), | 88 | ("ubuntu-budgie", "bionic", ["ubuntubudgie-dev"]), |
2233 | 89 | ("kubuntu-plasma5", "utopic", ["kubuntu-dev"]), | 89 | ("ubuntu-mate", "xenial", ["ubuntu-mate-dev"]), |
2222 | 90 | ("mythbuntu", "raring", ["mythbuntu-dev"]), | ||
2223 | 91 | ("xubuntu", "hardy", ["ubuntu-core-dev"]), | ||
2224 | 92 | ("ubuntu-budgie", "zesty", | ||
2225 | 93 | ["ubuntubudgie-dev"]), | ||
2226 | 94 | ("ubuntu-mate", "vivid", | ||
2227 | 95 | ["ubuntu-mate-dev"]), | ||
2228 | 96 | ("ubuntu-moblin-remix", "hardy", ["moblin"]), | ||
2234 | 97 | ("ubuntukylin", "trusty", ["ubuntu-core-dev"]), | 90 | ("ubuntukylin", "trusty", ["ubuntu-core-dev"]), |
2235 | 98 | ): | 91 | ): |
2236 | 99 | self.config["DIST"] = series | 92 | self.config["DIST"] = series |
2237 | @@ -106,14 +99,14 @@ | |||
2238 | 106 | self.assertEqual(sources, self.germination.seed_sources(project)) | 99 | self.assertEqual(sources, self.germination.seed_sources(project)) |
2239 | 107 | 100 | ||
2240 | 108 | for project, series, owners in ( | 101 | for project, series, owners in ( |
2245 | 109 | ("ubuntu", "raring", ["ubuntu-core-dev"]), | 102 | ("ubuntu", "trusty", ["ubuntu-core-dev"]), |
2246 | 110 | ("lubuntu", "raring", ["lubuntu-dev", "ubuntu-core-dev"]), | 103 | ("lubuntu", "trusty", ["lubuntu-dev", "ubuntu-core-dev"]), |
2247 | 111 | ("xubuntu", "intrepid", ["xubuntu-dev", "ubuntu-core-dev"]), | 104 | ("xubuntu", "precise", ["xubuntu-dev", "ubuntu-core-dev"]), |
2248 | 112 | ("ubuntu-gnome", "raring", | 105 | ("ubuntu-gnome", "trusty", |
2249 | 113 | ["ubuntu-gnome-dev", "ubuntu-core-dev"]), | 106 | ["ubuntu-gnome-dev", "ubuntu-core-dev"]), |
2251 | 114 | ("ubuntukylin", "utopic", | 107 | ("ubuntukylin", "xenial", |
2252 | 115 | ["ubuntukylin-members", "ubuntu-core-dev"]), | 108 | ["ubuntukylin-members", "ubuntu-core-dev"]), |
2254 | 116 | ("ubuntustudio", "raring", | 109 | ("ubuntustudio", "trusty", |
2255 | 117 | ["ubuntustudio-dev", "ubuntu-core-dev"]), | 110 | ["ubuntustudio-dev", "ubuntu-core-dev"]), |
2256 | 118 | ): | 111 | ): |
2257 | 119 | self.config["DIST"] = series | 112 | self.config["DIST"] = series |
2258 | @@ -124,7 +117,7 @@ | |||
2259 | 124 | 117 | ||
2260 | 125 | def test_seed_sources_non_bzr(self): | 118 | def test_seed_sources_non_bzr(self): |
2261 | 126 | self.germination = Germination(self.config, prefer_vcs=False) | 119 | self.germination = Germination(self.config, prefer_vcs=False) |
2263 | 127 | self.config["DIST"] = "raring" | 120 | self.config["DIST"] = "trusty" |
2264 | 128 | self.assertEqual( | 121 | self.assertEqual( |
2265 | 129 | ["http://people.canonical.com/~ubuntu-archive/seeds/"], | 122 | ["http://people.canonical.com/~ubuntu-archive/seeds/"], |
2266 | 130 | self.germination.seed_sources("ubuntu")) | 123 | self.germination.seed_sources("ubuntu")) |
2267 | @@ -141,22 +134,22 @@ | |||
2268 | 141 | 134 | ||
2269 | 142 | def test_make_index(self): | 135 | def test_make_index(self): |
2270 | 143 | self.config.root = self.use_temp_dir() | 136 | self.config.root = self.use_temp_dir() |
2272 | 144 | self.config["DIST"] = "raring" | 137 | self.config["DIST"] = "trusty" |
2273 | 145 | self.config["IMAGE_TYPE"] = "daily" | 138 | self.config["IMAGE_TYPE"] = "daily" |
2274 | 146 | files = [] | 139 | files = [] |
2275 | 147 | for component in "main", "restricted", "universe", "multiverse": | 140 | for component in "main", "restricted", "universe", "multiverse": |
2276 | 148 | source_dir = os.path.join( | 141 | source_dir = os.path.join( |
2278 | 149 | self.temp_dir, "ftp", "dists", "raring", component, "source") | 142 | self.temp_dir, "ftp", "dists", "trusty", component, "source") |
2279 | 150 | os.makedirs(source_dir) | 143 | os.makedirs(source_dir) |
2280 | 151 | with gzip.GzipFile( | 144 | with gzip.GzipFile( |
2281 | 152 | os.path.join(source_dir, "Sources.gz"), "wb") as sources: | 145 | os.path.join(source_dir, "Sources.gz"), "wb") as sources: |
2282 | 153 | sources.write(component.encode("UTF-8")) | 146 | sources.write(component.encode("UTF-8")) |
2283 | 154 | sources.write(b"\n") | 147 | sources.write(b"\n") |
2285 | 155 | files.append("dists/raring/%s/source/Sources.gz" % component) | 148 | files.append("dists/trusty/%s/source/Sources.gz" % component) |
2286 | 156 | self.germination.make_index("ubuntu", "i386", files[0], files) | 149 | self.germination.make_index("ubuntu", "i386", files[0], files) |
2287 | 157 | output_file = os.path.join( | 150 | output_file = os.path.join( |
2290 | 158 | self.temp_dir, "scratch", "ubuntu", "raring", "daily", "germinate", | 151 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily", "germinate", |
2291 | 159 | "dists", "raring", "main", "source", "Sources.gz") | 152 | "dists", "trusty", "main", "source", "Sources.gz") |
2292 | 160 | self.assertTrue(os.path.exists(output_file)) | 153 | self.assertTrue(os.path.exists(output_file)) |
2293 | 161 | with gzip.GzipFile(output_file, "rb") as output_sources: | 154 | with gzip.GzipFile(output_file, "rb") as output_sources: |
2294 | 162 | self.assertEqual( | 155 | self.assertEqual( |
2295 | @@ -179,27 +172,19 @@ | |||
2296 | 179 | ], self.germination.germinate_dists) | 172 | ], self.germination.germinate_dists) |
2297 | 180 | 173 | ||
2298 | 181 | def test_germinate_dists_no_proposed(self): | 174 | def test_germinate_dists_no_proposed(self): |
2300 | 182 | self.config["DIST"] = "raring" | 175 | self.config["DIST"] = "trusty" |
2301 | 183 | self.assertEqual([ | 176 | self.assertEqual([ |
2305 | 184 | "raring", | 177 | "trusty", |
2306 | 185 | "raring-security", | 178 | "trusty-security", |
2307 | 186 | "raring-updates", | 179 | "trusty-updates", |
2308 | 187 | ], self.germination.germinate_dists) | 180 | ], self.germination.germinate_dists) |
2309 | 188 | 181 | ||
2310 | 189 | def test_seed_dist(self): | 182 | def test_seed_dist(self): |
2311 | 190 | for project, series, seed_dist in ( | 183 | for project, series, seed_dist in ( |
2324 | 191 | ("ubuntu", "raring", "ubuntu.raring"), | 184 | ("ubuntu", "trusty", "ubuntu.trusty"), |
2325 | 192 | ("ubuntu-server", "breezy", "ubuntu-server.breezy"), | 185 | ("ubuntu-server", "trusty", "ubuntu.trusty"), |
2326 | 193 | ("ubuntu-server", "raring", "ubuntu.raring"), | 186 | ("ubuntukylin", "trusty", "ubuntu.trusty"), |
2327 | 194 | ("jeos", "breezy", "jeos.breezy"), | 187 | ("ubuntukylin", "xenial", "ubuntukylin.xenial"), |
2316 | 195 | ("jeos", "hardy", "ubuntu.hardy"), | ||
2317 | 196 | ("ubuntukylin", "raring", "ubuntu.raring"), | ||
2318 | 197 | ("ubuntukylin", "utopic", "ubuntukylin.utopic"), | ||
2319 | 198 | ("ubuntu-mid", "hardy", "mobile.hardy"), | ||
2320 | 199 | ("ubuntu-netbook", "maverick", "netbook.maverick"), | ||
2321 | 200 | ("ubuntu-headless", "lucid", "ubuntu.lucid"), | ||
2322 | 201 | ("ubuntu-moblin-remix", "hardy", "moblin.hardy"), | ||
2323 | 202 | ("ubuntu-desktop-next", "utopic", "ubuntu-touch.utopic"), | ||
2328 | 203 | ): | 188 | ): |
2329 | 204 | self.config["DIST"] = series | 189 | self.config["DIST"] = series |
2330 | 205 | self.assertEqual(seed_dist, self.germination.seed_dist(project)) | 190 | self.assertEqual(seed_dist, self.germination.seed_dist(project)) |
2331 | @@ -224,13 +209,13 @@ | |||
2332 | 224 | self.temp_dir, "germinate", "bin", "germinate") | 209 | self.temp_dir, "germinate", "bin", "germinate") |
2333 | 225 | touch(germinate_path) | 210 | touch(germinate_path) |
2334 | 226 | os.chmod(germinate_path, 0o755) | 211 | os.chmod(germinate_path, 0o755) |
2336 | 227 | self.config["DIST"] = "raring" | 212 | self.config["DIST"] = "trusty" |
2337 | 228 | self.config["IMAGE_TYPE"] = "daily" | 213 | self.config["IMAGE_TYPE"] = "daily" |
2338 | 229 | 214 | ||
2340 | 230 | output_dir = "%s/scratch/ubuntu/raring/daily/germinate" % self.temp_dir | 215 | output_dir = "%s/scratch/ubuntu/trusty/daily/germinate" % self.temp_dir |
2341 | 231 | expected_files = [] | 216 | expected_files = [] |
2342 | 232 | 217 | ||
2344 | 233 | for dist in "raring", "raring-security", "raring-updates": | 218 | for dist in "trusty", "trusty-security", "trusty-updates": |
2345 | 234 | for suffix in ( | 219 | for suffix in ( |
2346 | 235 | "binary-amd64/Packages.gz", | 220 | "binary-amd64/Packages.gz", |
2347 | 236 | "source/Sources.gz", | 221 | "source/Sources.gz", |
2348 | @@ -257,8 +242,8 @@ | |||
2349 | 257 | "--seed-source", | 242 | "--seed-source", |
2350 | 258 | "https://git.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/+git/", | 243 | "https://git.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/+git/", |
2351 | 259 | "--mirror", "file://%s/" % output_dir, | 244 | "--mirror", "file://%s/" % output_dir, |
2354 | 260 | "--seed-dist", "ubuntu.raring", | 245 | "--seed-dist", "ubuntu.trusty", |
2355 | 261 | "--dist", "raring,raring-security,raring-updates", | 246 | "--dist", "trusty,trusty-security,trusty-updates", |
2356 | 262 | "--arch", "amd64", | 247 | "--arch", "amd64", |
2357 | 263 | "--components", "main", | 248 | "--components", "main", |
2358 | 264 | "--no-rdepends", | 249 | "--no-rdepends", |
2359 | @@ -272,19 +257,19 @@ | |||
2360 | 272 | @mock.patch("cdimage.germinate.Germination.germinate_arch") | 257 | @mock.patch("cdimage.germinate.Germination.germinate_arch") |
2361 | 273 | def test_germinate_project(self, mock_germinate_arch): | 258 | def test_germinate_project(self, mock_germinate_arch): |
2362 | 274 | self.config.root = self.use_temp_dir() | 259 | self.config.root = self.use_temp_dir() |
2364 | 275 | self.config["DIST"] = "raring" | 260 | self.config["DIST"] = "trusty" |
2365 | 276 | self.config["ARCHES"] = "amd64 i386" | 261 | self.config["ARCHES"] = "amd64 i386" |
2366 | 277 | self.config["IMAGE_TYPE"] = "daily" | 262 | self.config["IMAGE_TYPE"] = "daily" |
2367 | 278 | self.capture_logging() | 263 | self.capture_logging() |
2368 | 279 | self.germination.germinate_project("ubuntu") | 264 | self.germination.germinate_project("ubuntu") |
2369 | 280 | self.assertTrue(os.path.isdir(os.path.join( | 265 | self.assertTrue(os.path.isdir(os.path.join( |
2371 | 281 | self.temp_dir, "scratch", "ubuntu", "raring", "daily", | 266 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily", |
2372 | 282 | "germinate"))) | 267 | "germinate"))) |
2373 | 283 | mock_germinate_arch.assert_has_calls( | 268 | mock_germinate_arch.assert_has_calls( |
2374 | 284 | [mock.call("ubuntu", "amd64"), mock.call("ubuntu", "i386")]) | 269 | [mock.call("ubuntu", "amd64"), mock.call("ubuntu", "i386")]) |
2375 | 285 | self.assertLogEqual([ | 270 | self.assertLogEqual([ |
2378 | 286 | "Germinating for raring/amd64 ...", | 271 | "Germinating for trusty/amd64 ...", |
2379 | 287 | "Germinating for raring/i386 ...", | 272 | "Germinating for trusty/i386 ...", |
2380 | 288 | ]) | 273 | ]) |
2381 | 289 | 274 | ||
2382 | 290 | @mock.patch("cdimage.germinate.Germination.germinate_project") | 275 | @mock.patch("cdimage.germinate.Germination.germinate_project") |
2383 | @@ -367,45 +352,6 @@ | |||
2384 | 367 | ["usb-ship-live", ["usb-langsupport"]], | 352 | ["usb-ship-live", ["usb-langsupport"]], |
2385 | 368 | ]) | 353 | ]) |
2386 | 369 | 354 | ||
2387 | 370 | def write_ubuntu_hoary_structure(self): | ||
2388 | 371 | """Write the Ubuntu 5.04 STRUCTURE file.""" | ||
2389 | 372 | self.write_structure([ | ||
2390 | 373 | ["base", []], | ||
2391 | 374 | ["desktop", ["base"]], | ||
2392 | 375 | ["ship", ["base", "desktop"]], | ||
2393 | 376 | ["live", ["base", "desktop"]], | ||
2394 | 377 | ["installer", []], | ||
2395 | 378 | ["casper", []], | ||
2396 | 379 | ["supported", ["base", "desktop", "ship", "live"]], | ||
2397 | 380 | ]) | ||
2398 | 381 | |||
2399 | 382 | def write_ubuntu_breezy_structure(self): | ||
2400 | 383 | """Write the Ubuntu 5.10 STRUCTURE file.""" | ||
2401 | 384 | self.write_structure([ | ||
2402 | 385 | ["minimal", []], | ||
2403 | 386 | ["standard", ["minimal"]], | ||
2404 | 387 | ["desktop", ["minimal", "standard"]], | ||
2405 | 388 | ["ship", ["minimal", "standard", "desktop"]], | ||
2406 | 389 | ["live", ["minimal", "standard", "desktop"]], | ||
2407 | 390 | ["installer", []], | ||
2408 | 391 | ["casper", []], | ||
2409 | 392 | ["supported", ["minimal", "standard", "desktop", "ship", "live"]], | ||
2410 | 393 | ]) | ||
2411 | 394 | |||
2412 | 395 | def write_ubuntu_dapper_structure(self): | ||
2413 | 396 | """Write a reduced version of the Ubuntu 6.06 LTS STRUCTURE file.""" | ||
2414 | 397 | self.write_structure([ | ||
2415 | 398 | ["minimal", []], | ||
2416 | 399 | ["boot", []], | ||
2417 | 400 | ["standard", ["minimal"]], | ||
2418 | 401 | ["desktop", ["minimal", "standard"]], | ||
2419 | 402 | ["server", ["boot", "minimal", "standard"]], | ||
2420 | 403 | ["ship", ["boot", "minimal", "standard", "desktop"]], | ||
2421 | 404 | ["live", ["minimal", "standard", "desktop"]], | ||
2422 | 405 | ["ship-live", ["boot", "minimal", "standard", "desktop", "live"]], | ||
2423 | 406 | ["installer", []], | ||
2424 | 407 | ]) | ||
2425 | 408 | |||
2426 | 409 | def write_kubuntu_structure(self): | 355 | def write_kubuntu_structure(self): |
2427 | 410 | """Write a reduced version of the Kubuntu STRUCTURE file. | 356 | """Write a reduced version of the Kubuntu STRUCTURE file. |
2428 | 411 | 357 | ||
2429 | @@ -471,7 +417,7 @@ | |||
2430 | 471 | self.write_ubuntu_structure() | 417 | self.write_ubuntu_structure() |
2431 | 472 | output = GerminateOutput(self.config, self.temp_dir) | 418 | output = GerminateOutput(self.config, self.temp_dir) |
2432 | 473 | self.config["PROJECT"] = "ubuntu" | 419 | self.config["PROJECT"] = "ubuntu" |
2434 | 474 | self.config["DIST"] = "raring" | 420 | self.config["DIST"] = "trusty" |
2435 | 475 | expected = [ | 421 | expected = [ |
2436 | 476 | "boot", "installer", "required", "minimal", "standard", | 422 | "boot", "installer", "required", "minimal", "standard", |
2437 | 477 | "desktop-common", "desktop", "d-i-requirements", "ship", | 423 | "desktop-common", "desktop", "d-i-requirements", "ship", |
2438 | @@ -487,16 +433,6 @@ | |||
2439 | 487 | self.config["PROJECT"] = "ubuntu-server" | 433 | self.config["PROJECT"] = "ubuntu-server" |
2440 | 488 | expected = [ | 434 | expected = [ |
2441 | 489 | "boot", "installer", "required", "minimal", "standard", | 435 | "boot", "installer", "required", "minimal", "standard", |
2442 | 490 | "desktop-common", "desktop", "d-i-requirements", "ship", | ||
2443 | 491 | ] | ||
2444 | 492 | for series in all_series[:3]: | ||
2445 | 493 | self.config["DIST"] = series | ||
2446 | 494 | self.assertEqual(expected, list(output.list_seeds("tasks"))) | ||
2447 | 495 | expected = ["required", "minimal", "standard", "server"] | ||
2448 | 496 | self.config["DIST"] = all_series[3] | ||
2449 | 497 | self.assertEqual(expected, list(output.list_seeds("tasks"))) | ||
2450 | 498 | expected = [ | ||
2451 | 499 | "boot", "installer", "required", "minimal", "standard", | ||
2452 | 500 | "dns-server", "lamp-server", "openssh-server", "print-server", | 436 | "dns-server", "lamp-server", "openssh-server", "print-server", |
2453 | 501 | "samba-server", "postgresql-server", "mail-server", "server", | 437 | "samba-server", "postgresql-server", "mail-server", "server", |
2454 | 502 | "tomcat-server", "virt-host", "d-i-requirements", "server-ship", | 438 | "tomcat-server", "virt-host", "d-i-requirements", "server-ship", |
2455 | @@ -509,7 +445,7 @@ | |||
2456 | 509 | self.write_ubuntu_structure() | 445 | self.write_ubuntu_structure() |
2457 | 510 | output = GerminateOutput(self.config, self.temp_dir) | 446 | output = GerminateOutput(self.config, self.temp_dir) |
2458 | 511 | self.config["PROJECT"] = "ubuntu-server" | 447 | self.config["PROJECT"] = "ubuntu-server" |
2460 | 512 | self.config["DIST"] = "raring" | 448 | self.config["DIST"] = "trusty" |
2461 | 513 | self.config["CDIMAGE_SQUASHFS_BASE"] = "1" | 449 | self.config["CDIMAGE_SQUASHFS_BASE"] = "1" |
2462 | 514 | expected = [ | 450 | expected = [ |
2463 | 515 | "boot", "installer", "standard", "dns-server", "lamp-server", | 451 | "boot", "installer", "standard", "dns-server", "lamp-server", |
2464 | @@ -523,7 +459,7 @@ | |||
2465 | 523 | self.write_kubuntu_structure() | 459 | self.write_kubuntu_structure() |
2466 | 524 | output = GerminateOutput(self.config, self.temp_dir) | 460 | output = GerminateOutput(self.config, self.temp_dir) |
2467 | 525 | self.config["PROJECT"] = "kubuntu-active" | 461 | self.config["PROJECT"] = "kubuntu-active" |
2469 | 526 | self.config["DIST"] = "raring" | 462 | self.config["DIST"] = "trusty" |
2470 | 527 | expected = [ | 463 | expected = [ |
2471 | 528 | "boot", "installer", "required", "minimal", "standard", | 464 | "boot", "installer", "required", "minimal", "standard", |
2472 | 529 | "desktop-common", "desktop", "d-i-requirements", "ship", | 465 | "desktop-common", "desktop", "d-i-requirements", "ship", |
2473 | @@ -531,44 +467,17 @@ | |||
2474 | 531 | ] | 467 | ] |
2475 | 532 | self.assertEqual(expected, list(output.list_seeds("tasks"))) | 468 | self.assertEqual(expected, list(output.list_seeds("tasks"))) |
2476 | 533 | 469 | ||
2477 | 534 | def test_list_seeds_tasks_jeos(self): | ||
2478 | 535 | self.write_structure([ | ||
2479 | 536 | ["required", []], | ||
2480 | 537 | ["minimal", ["required"]], | ||
2481 | 538 | ["jeos", ["minimal"]], | ||
2482 | 539 | ]) | ||
2483 | 540 | output = GerminateOutput(self.config, self.temp_dir) | ||
2484 | 541 | self.config["PROJECT"] = "jeos" | ||
2485 | 542 | self.assertEqual( | ||
2486 | 543 | ["required", "minimal", "jeos"], list(output.list_seeds("tasks"))) | ||
2487 | 544 | |||
2488 | 545 | def test_list_seeds_installer(self): | 470 | def test_list_seeds_installer(self): |
2489 | 546 | self.write_ubuntu_breezy_structure() | ||
2490 | 547 | self.write_structure([["installer", []], ["casper", []]]) | 471 | self.write_structure([["installer", []], ["casper", []]]) |
2491 | 548 | output = GerminateOutput(self.config, self.temp_dir) | 472 | output = GerminateOutput(self.config, self.temp_dir) |
2492 | 549 | self.config["CDIMAGE_INSTALL_BASE"] = "1" | 473 | self.config["CDIMAGE_INSTALL_BASE"] = "1" |
2493 | 550 | self.assertEqual(["installer"], list(output.list_seeds("installer"))) | 474 | self.assertEqual(["installer"], list(output.list_seeds("installer"))) |
2494 | 551 | del self.config["CDIMAGE_INSTALL_BASE"] | 475 | del self.config["CDIMAGE_INSTALL_BASE"] |
2495 | 552 | self.config["CDIMAGE_LIVE"] = "1" | 476 | self.config["CDIMAGE_LIVE"] = "1" |
2501 | 553 | self.config["DIST"] = "hoary" | 477 | self.config["DIST"] = "precise" |
2497 | 554 | self.assertEqual(["casper"], list(output.list_seeds("installer"))) | ||
2498 | 555 | self.config["DIST"] = "breezy" | ||
2499 | 556 | self.assertEqual(["casper"], list(output.list_seeds("installer"))) | ||
2500 | 557 | self.config["DIST"] = "dapper" | ||
2502 | 558 | self.assertEqual([], list(output.list_seeds("installer"))) | 478 | self.assertEqual([], list(output.list_seeds("installer"))) |
2503 | 559 | 479 | ||
2504 | 560 | def test_list_seeds_debootstrap(self): | 480 | def test_list_seeds_debootstrap(self): |
2505 | 561 | self.write_ubuntu_hoary_structure() | ||
2506 | 562 | output = GerminateOutput(self.config, self.temp_dir) | ||
2507 | 563 | for series in all_series[:2]: | ||
2508 | 564 | self.config["DIST"] = series | ||
2509 | 565 | self.assertEqual(["base"], list(output.list_seeds("debootstrap"))) | ||
2510 | 566 | self.write_ubuntu_breezy_structure() | ||
2511 | 567 | output = GerminateOutput(self.config, self.temp_dir) | ||
2512 | 568 | for series in all_series[2:6]: | ||
2513 | 569 | self.config["DIST"] = series | ||
2514 | 570 | self.assertEqual( | ||
2515 | 571 | ["minimal"], list(output.list_seeds("debootstrap"))) | ||
2516 | 572 | self.write_ubuntu_structure() | 481 | self.write_ubuntu_structure() |
2517 | 573 | output = GerminateOutput(self.config, self.temp_dir) | 482 | output = GerminateOutput(self.config, self.temp_dir) |
2518 | 574 | for series in all_series[6:]: | 483 | for series in all_series[6:]: |
2519 | @@ -578,23 +487,6 @@ | |||
2520 | 578 | list(output.list_seeds("debootstrap"))) | 487 | list(output.list_seeds("debootstrap"))) |
2521 | 579 | 488 | ||
2522 | 580 | def test_list_seeds_base(self): | 489 | def test_list_seeds_base(self): |
2523 | 581 | self.write_ubuntu_hoary_structure() | ||
2524 | 582 | output = GerminateOutput(self.config, self.temp_dir) | ||
2525 | 583 | for series in all_series[:2]: | ||
2526 | 584 | self.config["DIST"] = series | ||
2527 | 585 | self.assertEqual(["base"], list(output.list_seeds("base"))) | ||
2528 | 586 | self.write_ubuntu_breezy_structure() | ||
2529 | 587 | output = GerminateOutput(self.config, self.temp_dir) | ||
2530 | 588 | self.config["DIST"] = all_series[2] | ||
2531 | 589 | self.assertEqual( | ||
2532 | 590 | ["minimal", "standard"], list(output.list_seeds("base"))) | ||
2533 | 591 | self.write_ubuntu_dapper_structure() | ||
2534 | 592 | output = GerminateOutput(self.config, self.temp_dir) | ||
2535 | 593 | for series in all_series[3:6]: | ||
2536 | 594 | self.config["DIST"] = series | ||
2537 | 595 | self.assertEqual( | ||
2538 | 596 | ["boot", "minimal", "standard"], | ||
2539 | 597 | list(output.list_seeds("base"))) | ||
2540 | 598 | self.write_ubuntu_structure() | 490 | self.write_ubuntu_structure() |
2541 | 599 | output = GerminateOutput(self.config, self.temp_dir) | 491 | output = GerminateOutput(self.config, self.temp_dir) |
2542 | 600 | for series in all_series[6:]: | 492 | for series in all_series[6:]: |
2543 | @@ -615,7 +507,7 @@ | |||
2544 | 615 | def write_seed_output(self, arch, seed, packages): | 507 | def write_seed_output(self, arch, seed, packages): |
2545 | 616 | """Write a simplified Germinate output file, enough for testing.""" | 508 | """Write a simplified Germinate output file, enough for testing.""" |
2546 | 617 | with mkfile(os.path.join(self.temp_dir, arch, seed)) as f: | 509 | with mkfile(os.path.join(self.temp_dir, arch, seed)) as f: |
2548 | 618 | why = "Ubuntu.Raring %s seed" % seed | 510 | why = "Ubuntu.Trusty %s seed" % seed |
2549 | 619 | pkg_len = max(len("Package"), max(map(len, packages))) | 511 | pkg_len = max(len("Package"), max(map(len, packages))) |
2550 | 620 | src_len = max(len("Source"), max(map(len, packages))) | 512 | src_len = max(len("Source"), max(map(len, packages))) |
2551 | 621 | why_len = len(why) | 513 | why_len = len(why) |
2552 | @@ -660,20 +552,20 @@ | |||
2553 | 660 | "usb-ship-live", | 552 | "usb-ship-live", |
2554 | 661 | ], list(output.master_seeds())) | 553 | ], list(output.master_seeds())) |
2555 | 662 | 554 | ||
2557 | 663 | def test_master_seeds_dvd_ubuntu_raring(self): | 555 | def test_master_seeds_dvd_ubuntu_trusty(self): |
2558 | 664 | self.write_ubuntu_structure() | 556 | self.write_ubuntu_structure() |
2559 | 665 | output = GerminateOutput(self.config, self.temp_dir) | 557 | output = GerminateOutput(self.config, self.temp_dir) |
2560 | 666 | self.config["PROJECT"] = "ubuntu" | 558 | self.config["PROJECT"] = "ubuntu" |
2562 | 667 | self.config["DIST"] = "raring" | 559 | self.config["DIST"] = "trusty" |
2563 | 668 | self.config["CDIMAGE_DVD"] = "1" | 560 | self.config["CDIMAGE_DVD"] = "1" |
2564 | 669 | self.assertEqual( | 561 | self.assertEqual( |
2565 | 670 | ["usb-langsupport", "usb-ship-live"], list(output.master_seeds())) | 562 | ["usb-langsupport", "usb-ship-live"], list(output.master_seeds())) |
2566 | 671 | 563 | ||
2568 | 672 | def test_master_seeds_install_ubuntu_raring(self): | 564 | def test_master_seeds_install_ubuntu_trusty(self): |
2569 | 673 | self.write_ubuntu_structure() | 565 | self.write_ubuntu_structure() |
2570 | 674 | output = GerminateOutput(self.config, self.temp_dir) | 566 | output = GerminateOutput(self.config, self.temp_dir) |
2571 | 675 | self.config["PROJECT"] = "ubuntu" | 567 | self.config["PROJECT"] = "ubuntu" |
2573 | 676 | self.config["DIST"] = "raring" | 568 | self.config["DIST"] = "trusty" |
2574 | 677 | self.config["CDIMAGE_INSTALL"] = "1" | 569 | self.config["CDIMAGE_INSTALL"] = "1" |
2575 | 678 | self.config["CDIMAGE_INSTALL_BASE"] = "1" | 570 | self.config["CDIMAGE_INSTALL_BASE"] = "1" |
2576 | 679 | self.assertEqual([ | 571 | self.assertEqual([ |
2577 | @@ -681,11 +573,11 @@ | |||
2578 | 681 | "desktop-common", "desktop", "d-i-requirements", "ship", | 573 | "desktop-common", "desktop", "d-i-requirements", "ship", |
2579 | 682 | ], list(output.master_seeds())) | 574 | ], list(output.master_seeds())) |
2580 | 683 | 575 | ||
2582 | 684 | def test_master_seeds_live_ubuntu_raring(self): | 576 | def test_master_seeds_live_ubuntu_trusty(self): |
2583 | 685 | self.write_ubuntu_structure() | 577 | self.write_ubuntu_structure() |
2584 | 686 | output = GerminateOutput(self.config, self.temp_dir) | 578 | output = GerminateOutput(self.config, self.temp_dir) |
2585 | 687 | self.config["PROJECT"] = "ubuntu" | 579 | self.config["PROJECT"] = "ubuntu" |
2587 | 688 | self.config["DIST"] = "raring" | 580 | self.config["DIST"] = "trusty" |
2588 | 689 | self.config["CDIMAGE_INSTALL_BASE"] = "1" | 581 | self.config["CDIMAGE_INSTALL_BASE"] = "1" |
2589 | 690 | self.config["CDIMAGE_LIVE"] = "1" | 582 | self.config["CDIMAGE_LIVE"] = "1" |
2590 | 691 | self.assertEqual([ | 583 | self.assertEqual([ |
2591 | @@ -701,11 +593,11 @@ | |||
2592 | 701 | 593 | ||
2593 | 702 | self.write_ubuntu_structure() | 594 | self.write_ubuntu_structure() |
2594 | 703 | output = GerminateOutput(self.config, self.temp_dir) | 595 | output = GerminateOutput(self.config, self.temp_dir) |
2596 | 704 | self.config["DIST"] = "raring" | 596 | self.config["DIST"] = "trusty" |
2597 | 705 | mock_master_seeds.side_effect = side_effect | 597 | mock_master_seeds.side_effect = side_effect |
2598 | 706 | self.assertEqual([ | 598 | self.assertEqual([ |
2601 | 707 | "#include <ubuntu/raring/required>", | 599 | "#include <ubuntu/trusty/required>", |
2602 | 708 | "#include <ubuntu/raring/minimal>", | 600 | "#include <ubuntu/trusty/minimal>", |
2603 | 709 | ], list(output.master_task_entries("ubuntu"))) | 601 | ], list(output.master_task_entries("ubuntu"))) |
2604 | 710 | 602 | ||
2605 | 711 | @mock.patch( | 603 | @mock.patch( |
2606 | @@ -713,18 +605,18 @@ | |||
2607 | 713 | def test_master_task_entries_no_seeds(self, mock_master_seeds): | 605 | def test_master_task_entries_no_seeds(self, mock_master_seeds): |
2608 | 714 | self.write_ubuntu_structure() | 606 | self.write_ubuntu_structure() |
2609 | 715 | output = GerminateOutput(self.config, self.temp_dir) | 607 | output = GerminateOutput(self.config, self.temp_dir) |
2611 | 716 | self.config["DIST"] = "raring" | 608 | self.config["DIST"] = "trusty" |
2612 | 717 | self.assertRaises( | 609 | self.assertRaises( |
2613 | 718 | NoMasterSeeds, list, output.master_task_entries("ubuntu")) | 610 | NoMasterSeeds, list, output.master_task_entries("ubuntu")) |
2614 | 719 | 611 | ||
2615 | 720 | def test_tasks_output_dir(self): | 612 | def test_tasks_output_dir(self): |
2616 | 721 | self.write_ubuntu_structure() | 613 | self.write_ubuntu_structure() |
2617 | 722 | output = GerminateOutput(self.config, self.temp_dir) | 614 | output = GerminateOutput(self.config, self.temp_dir) |
2619 | 723 | self.config["DIST"] = "raring" | 615 | self.config["DIST"] = "trusty" |
2620 | 724 | self.config["IMAGE_TYPE"] = "daily" | 616 | self.config["IMAGE_TYPE"] = "daily" |
2621 | 725 | self.assertEqual( | 617 | self.assertEqual( |
2622 | 726 | os.path.join( | 618 | os.path.join( |
2624 | 727 | self.temp_dir, "scratch", "ubuntu", "raring", "daily", | 619 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily", |
2625 | 728 | "tasks"), | 620 | "tasks"), |
2626 | 729 | output.tasks_output_dir("ubuntu")) | 621 | output.tasks_output_dir("ubuntu")) |
2627 | 730 | 622 | ||
2628 | @@ -753,7 +645,7 @@ | |||
2629 | 753 | def test_task_packages_squashfs(self): | 645 | def test_task_packages_squashfs(self): |
2630 | 754 | self.write_ubuntu_structure() | 646 | self.write_ubuntu_structure() |
2631 | 755 | self.config["PROJECT"] = "ubuntu-server" | 647 | self.config["PROJECT"] = "ubuntu-server" |
2633 | 756 | self.config["DIST"] = "raring" | 648 | self.config["DIST"] = "trusty" |
2634 | 757 | self.write_seed_output( | 649 | self.write_seed_output( |
2635 | 758 | "i386", "installer", ["base-installer", "bootstrap-base"]) | 650 | "i386", "installer", ["base-installer", "bootstrap-base"]) |
2636 | 759 | output = GerminateOutput(self.config, self.temp_dir) | 651 | output = GerminateOutput(self.config, self.temp_dir) |
2637 | @@ -765,26 +657,6 @@ | |||
2638 | 765 | ["base-installer", "live-installer"], | 657 | ["base-installer", "live-installer"], |
2639 | 766 | list(output.task_packages("i386", "installer", "installer"))) | 658 | list(output.task_packages("i386", "installer", "installer"))) |
2640 | 767 | 659 | ||
2641 | 768 | def test_task_packages_gutsy_ps3_hack(self): | ||
2642 | 769 | self.write_structure([["boot", []], ["installer", []]]) | ||
2643 | 770 | self.write_seed_output( | ||
2644 | 771 | "powerpc+ps3", "boot", ["linux-image-2.6.22-14-powerpc64-smp"]) | ||
2645 | 772 | self.write_seed_output( | ||
2646 | 773 | "powerpc+ps3", "installer", [ | ||
2647 | 774 | "block-modules-2.6.22-14-powerpc-di", | ||
2648 | 775 | "block-modules-2.6.22-14-powerpc64-smp-di", | ||
2649 | 776 | ]) | ||
2650 | 777 | self.config["DIST"] = "gutsy" | ||
2651 | 778 | self.config["CDIMAGE_INSTALL_BASE"] = "1" | ||
2652 | 779 | output = GerminateOutput(self.config, self.temp_dir) | ||
2653 | 780 | self.assertEqual( | ||
2654 | 781 | ["linux-image-2.6.22-14-cell"], | ||
2655 | 782 | list(output.task_packages("powerpc+ps3", "boot", "boot"))) | ||
2656 | 783 | self.assertEqual( | ||
2657 | 784 | ["block-modules-2.6.22-14-cell-di"], | ||
2658 | 785 | list(output.task_packages( | ||
2659 | 786 | "powerpc+ps3", "installer", "installer"))) | ||
2660 | 787 | |||
2661 | 788 | def test_task_packages_precise_kernels(self): | 660 | def test_task_packages_precise_kernels(self): |
2662 | 789 | self.write_structure([["boot", []], ["installer", []]]) | 661 | self.write_structure([["boot", []], ["installer", []]]) |
2663 | 790 | self.write_seed_output( | 662 | self.write_seed_output( |
2664 | @@ -812,7 +684,7 @@ | |||
2665 | 812 | def test_initrd_packages(self): | 684 | def test_initrd_packages(self): |
2666 | 813 | self.write_ubuntu_structure() | 685 | self.write_ubuntu_structure() |
2667 | 814 | manifest_path = os.path.join( | 686 | manifest_path = os.path.join( |
2669 | 815 | self.temp_dir, "ftp", "dists", "raring", "main", "installer-i386", | 687 | self.temp_dir, "ftp", "dists", "trusty", "main", "installer-i386", |
2670 | 816 | "current", "images", "MANIFEST.udebs") | 688 | "current", "images", "MANIFEST.udebs") |
2671 | 817 | with mkfile(manifest_path) as manifest: | 689 | with mkfile(manifest_path) as manifest: |
2672 | 818 | print(dedent("""\ | 690 | print(dedent("""\ |
2673 | @@ -822,7 +694,7 @@ | |||
2674 | 822 | netboot/netboot.tar.gz | 694 | netboot/netboot.tar.gz |
2675 | 823 | \tdownload-installer 1.32ubuntu1 all | 695 | \tdownload-installer 1.32ubuntu1 all |
2676 | 824 | \tnet-retriever 1.32ubuntu1 i386"""), file=manifest) | 696 | \tnet-retriever 1.32ubuntu1 i386"""), file=manifest) |
2678 | 825 | self.config["DIST"] = "raring" | 697 | self.config["DIST"] = "trusty" |
2679 | 826 | output = GerminateOutput(self.config, self.temp_dir) | 698 | output = GerminateOutput(self.config, self.temp_dir) |
2680 | 827 | self.assertEqual( | 699 | self.assertEqual( |
2681 | 828 | set(["anna", "cdrom-detect"]), | 700 | set(["anna", "cdrom-detect"]), |
2682 | @@ -835,7 +707,7 @@ | |||
2683 | 835 | def test_common_initrd_packages(self): | 707 | def test_common_initrd_packages(self): |
2684 | 836 | self.write_ubuntu_structure() | 708 | self.write_ubuntu_structure() |
2685 | 837 | manifest_path = os.path.join( | 709 | manifest_path = os.path.join( |
2687 | 838 | self.temp_dir, "ftp", "dists", "raring", "main", "installer-i386", | 710 | self.temp_dir, "ftp", "dists", "trusty", "main", "installer-i386", |
2688 | 839 | "current", "images", "MANIFEST.udebs") | 711 | "current", "images", "MANIFEST.udebs") |
2689 | 840 | with mkfile(manifest_path) as manifest: | 712 | with mkfile(manifest_path) as manifest: |
2690 | 841 | print(dedent("""\ | 713 | print(dedent("""\ |
2691 | @@ -845,7 +717,7 @@ | |||
2692 | 845 | netboot/netboot.tar.gz | 717 | netboot/netboot.tar.gz |
2693 | 846 | \tanna 1.45ubuntu1 i386 | 718 | \tanna 1.45ubuntu1 i386 |
2694 | 847 | \tnet-retriever 1.32ubuntu1 i386"""), file=manifest) | 719 | \tnet-retriever 1.32ubuntu1 i386"""), file=manifest) |
2696 | 848 | self.config["DIST"] = "raring" | 720 | self.config["DIST"] = "trusty" |
2697 | 849 | output = GerminateOutput(self.config, self.temp_dir) | 721 | output = GerminateOutput(self.config, self.temp_dir) |
2698 | 850 | self.assertEqual(set(["anna"]), output.common_initrd_packages("i386")) | 722 | self.assertEqual(set(["anna"]), output.common_initrd_packages("i386")) |
2699 | 851 | 723 | ||
2700 | @@ -870,8 +742,6 @@ | |||
2701 | 870 | self.assertEqual(expected, output.task_headers("i386", "desktop")) | 742 | self.assertEqual(expected, output.task_headers("i386", "desktop")) |
2702 | 871 | self.assertEqual({}, output.task_headers("i386", "missing")) | 743 | self.assertEqual({}, output.task_headers("i386", "missing")) |
2703 | 872 | 744 | ||
2704 | 873 | # TODO: seed_task_mapping <= gutsy untested | ||
2705 | 874 | |||
2706 | 875 | def test_seed_task_mapping(self): | 745 | def test_seed_task_mapping(self): |
2707 | 876 | self.write_ubuntu_structure() | 746 | self.write_ubuntu_structure() |
2708 | 877 | seed_dir = os.path.join(self.temp_dir, "i386") | 747 | seed_dir = os.path.join(self.temp_dir, "i386") |
2709 | @@ -881,7 +751,7 @@ | |||
2710 | 881 | print(dedent("""\ | 751 | print(dedent("""\ |
2711 | 882 | Task-Per-Derivative: 1 | 752 | Task-Per-Derivative: 1 |
2712 | 883 | Task-Seeds: desktop-common"""), file=seedtext) | 753 | Task-Seeds: desktop-common"""), file=seedtext) |
2714 | 884 | self.config["DIST"] = "raring" | 754 | self.config["DIST"] = "trusty" |
2715 | 885 | output = GerminateOutput(self.config, self.temp_dir) | 755 | output = GerminateOutput(self.config, self.temp_dir) |
2716 | 886 | expected = [ | 756 | expected = [ |
2717 | 887 | (["standard"], "standard"), | 757 | (["standard"], "standard"), |
2718 | @@ -906,14 +776,14 @@ | |||
2719 | 906 | print("Task-Per-Derivative: 1", file=seedtext) | 776 | print("Task-Per-Derivative: 1", file=seedtext) |
2720 | 907 | with mkfile(os.path.join(seed_dir, "live.seedtext")) as seedtext: | 777 | with mkfile(os.path.join(seed_dir, "live.seedtext")) as seedtext: |
2721 | 908 | print("Task-Per-Derivative: 1", file=seedtext) | 778 | print("Task-Per-Derivative: 1", file=seedtext) |
2723 | 909 | self.config["DIST"] = "raring" | 779 | self.config["DIST"] = "trusty" |
2724 | 910 | self.config["ARCHES"] = "amd64 i386" | 780 | self.config["ARCHES"] = "amd64 i386" |
2725 | 911 | self.config["IMAGE_TYPE"] = "daily-live" | 781 | self.config["IMAGE_TYPE"] = "daily-live" |
2726 | 912 | self.config["CDIMAGE_LIVE"] = "1" | 782 | self.config["CDIMAGE_LIVE"] = "1" |
2727 | 913 | output = GerminateOutput(self.config, self.temp_dir) | 783 | output = GerminateOutput(self.config, self.temp_dir) |
2728 | 914 | output.write_tasks_project("ubuntu") | 784 | output.write_tasks_project("ubuntu") |
2729 | 915 | output_dir = os.path.join( | 785 | output_dir = os.path.join( |
2731 | 916 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", | 786 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", |
2732 | 917 | "tasks") | 787 | "tasks") |
2733 | 918 | self.assertCountEqual([ | 788 | self.assertCountEqual([ |
2734 | 919 | "required", "minimal", "desktop", "live", | 789 | "required", "minimal", "desktop", "live", |
2735 | @@ -990,7 +860,7 @@ | |||
2736 | 990 | with open(os.path.join(output_dir, "important.i386")) as f: | 860 | with open(os.path.join(output_dir, "important.i386")) as f: |
2737 | 991 | self.assertEqual("adduser-i386\nbase-files-i386\n", f.read()) | 861 | self.assertEqual("adduser-i386\nbase-files-i386\n", f.read()) |
2738 | 992 | with open(os.path.join(output_dir, "MASTER")) as f: | 862 | with open(os.path.join(output_dir, "MASTER")) as f: |
2740 | 993 | self.assertEqual("#include <ubuntu/raring/ship-live>\n", f.read()) | 863 | self.assertEqual("#include <ubuntu/trusty/ship-live>\n", f.read()) |
2741 | 994 | 864 | ||
2742 | 995 | # TODO: write_tasks untested | 865 | # TODO: write_tasks untested |
2743 | 996 | 866 | ||
2744 | @@ -998,10 +868,10 @@ | |||
2745 | 998 | def test_diff_tasks(self, mock_call): | 868 | def test_diff_tasks(self, mock_call): |
2746 | 999 | self.write_ubuntu_structure() | 869 | self.write_ubuntu_structure() |
2747 | 1000 | self.config["PROJECT"] = "ubuntu" | 870 | self.config["PROJECT"] = "ubuntu" |
2749 | 1001 | self.config["DIST"] = "raring" | 871 | self.config["DIST"] = "trusty" |
2750 | 1002 | self.config["IMAGE_TYPE"] = "daily-live" | 872 | self.config["IMAGE_TYPE"] = "daily-live" |
2751 | 1003 | output_dir = os.path.join( | 873 | output_dir = os.path.join( |
2753 | 1004 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", | 874 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", |
2754 | 1005 | "tasks") | 875 | "tasks") |
2755 | 1006 | touch(os.path.join(output_dir, "required")) | 876 | touch(os.path.join(output_dir, "required")) |
2756 | 1007 | touch(os.path.join(output_dir, "minimal")) | 877 | touch(os.path.join(output_dir, "minimal")) |
2757 | @@ -1026,10 +896,10 @@ | |||
2758 | 1026 | def test_update_tasks_no_mail(self, mock_diff_tasks): | 896 | def test_update_tasks_no_mail(self, mock_diff_tasks): |
2759 | 1027 | self.write_ubuntu_structure() | 897 | self.write_ubuntu_structure() |
2760 | 1028 | self.config["PROJECT"] = "ubuntu" | 898 | self.config["PROJECT"] = "ubuntu" |
2762 | 1029 | self.config["DIST"] = "raring" | 899 | self.config["DIST"] = "trusty" |
2763 | 1030 | self.config["IMAGE_TYPE"] = "daily-live" | 900 | self.config["IMAGE_TYPE"] = "daily-live" |
2764 | 1031 | output_dir = os.path.join( | 901 | output_dir = os.path.join( |
2766 | 1032 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", | 902 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", |
2767 | 1033 | "tasks") | 903 | "tasks") |
2768 | 1034 | touch(os.path.join(output_dir, "required")) | 904 | touch(os.path.join(output_dir, "required")) |
2769 | 1035 | touch(os.path.join(output_dir, "minimal")) | 905 | touch(os.path.join(output_dir, "minimal")) |
2770 | @@ -1039,7 +909,7 @@ | |||
2771 | 1039 | ["required", "minimal"], | 909 | ["required", "minimal"], |
2772 | 1040 | os.listdir(os.path.join( | 910 | os.listdir(os.path.join( |
2773 | 1041 | self.temp_dir, "debian-cd", "tasks", "auto", "daily-live", | 911 | self.temp_dir, "debian-cd", "tasks", "auto", "daily-live", |
2775 | 1042 | "ubuntu", "raring"))) | 912 | "ubuntu", "trusty"))) |
2776 | 1043 | self.assertCountEqual( | 913 | self.assertCountEqual( |
2777 | 1044 | ["required", "minimal"], os.listdir("%s-previous" % output_dir)) | 914 | ["required", "minimal"], os.listdir("%s-previous" % output_dir)) |
2778 | 1045 | 915 | ||
2779 | @@ -1048,7 +918,7 @@ | |||
2780 | 1048 | def test_update_tasks_no_recipients(self, mock_diff_tasks, mock_send_mail): | 918 | def test_update_tasks_no_recipients(self, mock_diff_tasks, mock_send_mail): |
2781 | 1049 | self.write_ubuntu_structure() | 919 | self.write_ubuntu_structure() |
2782 | 1050 | self.config["PROJECT"] = "ubuntu" | 920 | self.config["PROJECT"] = "ubuntu" |
2784 | 1051 | self.config["DIST"] = "raring" | 921 | self.config["DIST"] = "trusty" |
2785 | 1052 | self.config["IMAGE_TYPE"] = "daily-live" | 922 | self.config["IMAGE_TYPE"] = "daily-live" |
2786 | 1053 | output = GerminateOutput(self.config, self.temp_dir) | 923 | output = GerminateOutput(self.config, self.temp_dir) |
2787 | 1054 | os.makedirs(output.tasks_output_dir("ubuntu")) | 924 | os.makedirs(output.tasks_output_dir("ubuntu")) |
2788 | @@ -1093,10 +963,10 @@ | |||
2789 | 1093 | self.write_ubuntu_structure() | 963 | self.write_ubuntu_structure() |
2790 | 1094 | self.config["PROJECT"] = "ubuntu" | 964 | self.config["PROJECT"] = "ubuntu" |
2791 | 1095 | self.config["CAPPROJECT"] = "Ubuntu" | 965 | self.config["CAPPROJECT"] = "Ubuntu" |
2793 | 1096 | self.config["DIST"] = "raring" | 966 | self.config["DIST"] = "trusty" |
2794 | 1097 | self.config["IMAGE_TYPE"] = "daily-live" | 967 | self.config["IMAGE_TYPE"] = "daily-live" |
2795 | 1098 | output_dir = os.path.join( | 968 | output_dir = os.path.join( |
2797 | 1099 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", | 969 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", |
2798 | 1100 | "tasks") | 970 | "tasks") |
2799 | 1101 | touch(os.path.join(output_dir, "required")) | 971 | touch(os.path.join(output_dir, "required")) |
2800 | 1102 | touch(os.path.join(output_dir, "minimal")) | 972 | touch(os.path.join(output_dir, "minimal")) |
2801 | @@ -1114,7 +984,7 @@ | |||
2802 | 1114 | with open(os.path.join(self.temp_dir, "mail")) as mail: | 984 | with open(os.path.join(self.temp_dir, "mail")) as mail: |
2803 | 1115 | self.assertEqual(dedent("""\ | 985 | self.assertEqual(dedent("""\ |
2804 | 1116 | To: foo@example.org | 986 | To: foo@example.org |
2806 | 1117 | Subject: Task changes for Ubuntu daily-live/raring on 20130319 | 987 | Subject: Task changes for Ubuntu daily-live/trusty on 20130319 |
2807 | 1118 | X-Generated-By: update-tasks | 988 | X-Generated-By: update-tasks |
2808 | 1119 | 989 | ||
2809 | 1120 | --- minimal | 990 | --- minimal |
2810 | 1121 | 991 | ||
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 | 173 | def test_project_livecd_base(self): | 173 | def test_project_livecd_base(self): |
2816 | 174 | self.assertProjectEqual("base", "livecd-base", "dapper") | 174 | self.assertProjectEqual("base", "livecd-base", "dapper") |
2817 | 175 | 175 | ||
2818 | 176 | def test_project_tocd3_1(self): | ||
2819 | 177 | self.assertProjectEqual("tocd", "tocd3.1", "breezy") | ||
2820 | 178 | |||
2821 | 179 | def test_project_ubuntu_touch_custom(self): | ||
2822 | 180 | self.assertProjectEqual("ubuntu-touch", "ubuntu-touch-custom", "vivid") | ||
2823 | 181 | |||
2824 | 182 | def test_ubuntu_dvd(self): | 176 | def test_ubuntu_dvd(self): |
2825 | 183 | for series in all_series[:7]: | ||
2826 | 184 | self.assertProjectEqual( | ||
2827 | 185 | "ubuntu", "ubuntu", series, cdimage_dvd="1") | ||
2828 | 186 | for series in all_series[7:]: | 177 | for series in all_series[7:]: |
2829 | 187 | self.assertProjectEqual( | 178 | self.assertProjectEqual( |
2830 | 188 | "ubuntu-dvd", "ubuntu", series, cdimage_dvd="1") | 179 | "ubuntu-dvd", "ubuntu", series, cdimage_dvd="1") |
2831 | 189 | 180 | ||
2832 | 190 | def test_kubuntu_dvd(self): | 181 | def test_kubuntu_dvd(self): |
2833 | 191 | for series in all_series[:7]: | ||
2834 | 192 | self.assertProjectEqual( | ||
2835 | 193 | "kubuntu", "kubuntu", series, cdimage_dvd="1") | ||
2836 | 194 | for series in all_series[7:]: | 182 | for series in all_series[7:]: |
2837 | 195 | self.assertProjectEqual( | 183 | self.assertProjectEqual( |
2838 | 196 | "kubuntu-dvd", "kubuntu", series, cdimage_dvd="1") | 184 | "kubuntu-dvd", "kubuntu", series, cdimage_dvd="1") |
2839 | 197 | 185 | ||
2840 | 198 | def test_edubuntu_dvd(self): | 186 | def test_edubuntu_dvd(self): |
2841 | 199 | for series in all_series[:10]: | ||
2842 | 200 | self.assertProjectEqual( | ||
2843 | 201 | "edubuntu", "edubuntu", series, cdimage_dvd="1") | ||
2844 | 202 | for series in all_series[10:]: | 187 | for series in all_series[10:]: |
2845 | 203 | self.assertProjectEqual( | 188 | self.assertProjectEqual( |
2846 | 204 | "edubuntu-dvd", "edubuntu", series, cdimage_dvd="1") | 189 | "edubuntu-dvd", "edubuntu", series, cdimage_dvd="1") |
2847 | 205 | 190 | ||
2848 | 206 | def test_ubuntustudio_dvd(self): | 191 | def test_ubuntustudio_dvd(self): |
2849 | 207 | for series in all_series[:15]: | ||
2850 | 208 | self.assertProjectEqual( | ||
2851 | 209 | "ubuntustudio", "ubuntustudio", series, cdimage_dvd="1") | ||
2852 | 210 | for series in all_series[15:]: | 192 | for series in all_series[15:]: |
2853 | 211 | self.assertProjectEqual( | 193 | self.assertProjectEqual( |
2854 | 212 | "ubuntustudio-dvd", "ubuntustudio", series, cdimage_dvd="1") | 194 | "ubuntustudio-dvd", "ubuntustudio", series, cdimage_dvd="1") |
2855 | 213 | 195 | ||
2856 | 214 | def test_lpia(self): | ||
2857 | 215 | self.assertProjectEqual("ubuntu-lpia", "ubuntu", "hardy", arch="lpia") | ||
2858 | 216 | self.assertProjectEqual("ubuntu", "ubuntu", "intrepid", arch="lpia") | ||
2859 | 217 | |||
2860 | 218 | 196 | ||
2861 | 219 | def make_livefs_production_config(config): | 197 | def make_livefs_production_config(config): |
2862 | 220 | config_path = os.path.join(config.root, "production", "livefs-builders") | 198 | config_path = os.path.join(config.root, "production", "livefs-builders") |
2863 | @@ -233,8 +211,6 @@ | |||
2864 | 233 | *\t\t*\t\thppa\t\t\tcastilla.buildd | 211 | *\t\t*\t\thppa\t\t\tcastilla.buildd |
2865 | 234 | *\t\t*\t\ti386\t\t\tcardamom.buildd | 212 | *\t\t*\t\ti386\t\t\tcardamom.buildd |
2866 | 235 | *\t\t*\t\tia64\t\t\tweddell.buildd | 213 | *\t\t*\t\tia64\t\t\tweddell.buildd |
2867 | 236 | *\t\t-hardy\t\tlpia\t\t\tcardamom.buildd | ||
2868 | 237 | *\t\t*\t\tlpia\t\t\tconcordia.buildd | ||
2869 | 238 | *\t\t*\t\tpowerpc\t\t\troyal.buildd | 214 | *\t\t*\t\tpowerpc\t\t\troyal.buildd |
2870 | 239 | *\t\t*\t\tppc64el\t\t\tfisher01.buildd | 215 | *\t\t*\t\tppc64el\t\t\tfisher01.buildd |
2871 | 240 | *\t\t*\t\tsparc\t\t\tvivies.buildd | 216 | *\t\t*\t\tsparc\t\t\tvivies.buildd |
2872 | @@ -297,12 +273,6 @@ | |||
2873 | 297 | for series in all_series: | 273 | for series in all_series: |
2874 | 298 | self.assertBuilderEqual("weddell.buildd", "ia64", series) | 274 | self.assertBuilderEqual("weddell.buildd", "ia64", series) |
2875 | 299 | 275 | ||
2876 | 300 | def test_lpia(self): | ||
2877 | 301 | for series in all_series[:8]: | ||
2878 | 302 | self.assertBuilderEqual("cardamom.buildd", "lpia", series) | ||
2879 | 303 | for series in all_series[8:]: | ||
2880 | 304 | self.assertBuilderEqual("concordia.buildd", "lpia", series) | ||
2881 | 305 | |||
2882 | 306 | def test_powerpc(self): | 276 | def test_powerpc(self): |
2883 | 307 | for series in all_series: | 277 | for series in all_series: |
2884 | 308 | self.assertBuilderEqual("royal.buildd", "powerpc", series) | 278 | self.assertBuilderEqual("royal.buildd", "powerpc", series) |
2885 | @@ -364,16 +334,11 @@ | |||
2886 | 364 | self.assertEqual( | 334 | self.assertEqual( |
2887 | 365 | ["-f", "plain"], live_build_options(self.config, "armhf")) | 335 | ["-f", "plain"], live_build_options(self.config, "armhf")) |
2888 | 366 | 336 | ||
2889 | 367 | def test_ubuntu_touch_custom(self): | ||
2890 | 368 | self.config["PROJECT"] = "ubuntu-touch-custom" | ||
2891 | 369 | self.assertEqual( | ||
2892 | 370 | ["-f", "plain"], live_build_options(self.config, "armhf")) | ||
2893 | 371 | |||
2894 | 372 | def test_wubi(self): | 337 | def test_wubi(self): |
2895 | 373 | self.config["SUBPROJECT"] = "wubi" | 338 | self.config["SUBPROJECT"] = "wubi" |
2896 | 374 | for series, fstype in ( | 339 | for series, fstype in ( |
2897 | 375 | ("precise", "ext3"), | 340 | ("precise", "ext3"), |
2899 | 376 | ("quantal", "ext3"), # ext4 | 341 | ("trusty", "ext3"), # ext4 |
2900 | 377 | ): | 342 | ): |
2901 | 378 | self.config["DIST"] = series | 343 | self.config["DIST"] = series |
2902 | 379 | self.assertEqual( | 344 | self.assertEqual( |
2903 | @@ -405,10 +370,10 @@ | |||
2904 | 405 | 370 | ||
2905 | 406 | def test_basic(self): | 371 | def test_basic(self): |
2906 | 407 | self.config["PROJECT"] = "ubuntu" | 372 | self.config["PROJECT"] = "ubuntu" |
2908 | 408 | self.config["DIST"] = "raring" | 373 | self.config["DIST"] = "trusty" |
2909 | 409 | expected = self.base_expected + [ | 374 | expected = self.base_expected + [ |
2910 | 410 | "buildd@cardamom.buildd", "/home/buildd/bin/BuildLiveCD", | 375 | "buildd@cardamom.buildd", "/home/buildd/bin/BuildLiveCD", |
2912 | 411 | "-l", "-A", "i386", "-d", "raring", "ubuntu", | 376 | "-l", "-A", "i386", "-d", "trusty", "ubuntu", |
2913 | 412 | ] | 377 | ] |
2914 | 413 | self.assertEqual(expected, live_build_command(self.config, "i386")) | 378 | self.assertEqual(expected, live_build_command(self.config, "i386")) |
2915 | 414 | 379 | ||
2916 | @@ -417,8 +382,8 @@ | |||
2917 | 417 | self.assertCommandContains(["-u", "zh_CN"], "i386") | 382 | self.assertCommandContains(["-u", "zh_CN"], "i386") |
2918 | 418 | 383 | ||
2919 | 419 | def test_pre_live_build(self): | 384 | def test_pre_live_build(self): |
2922 | 420 | self.config["DIST"] = "natty" | 385 | self.config["DIST"] = "precise" |
2923 | 421 | self.assertNotIn("-l", live_build_command(self.config, "i386")) | 386 | self.assertIn("-l", live_build_command(self.config, "i386")) |
2924 | 422 | 387 | ||
2925 | 423 | @mock.patch( | 388 | @mock.patch( |
2926 | 424 | "cdimage.livefs.live_build_options", return_value=["-f", "plain"]) | 389 | "cdimage.livefs.live_build_options", return_value=["-f", "plain"]) |
2927 | @@ -506,21 +471,21 @@ | |||
2928 | 506 | def test_live_build_notify_failure_no_log(self, mock_send_mail, *args): | 471 | def test_live_build_notify_failure_no_log(self, mock_send_mail, *args): |
2929 | 507 | self.config.root = self.use_temp_dir() | 472 | self.config.root = self.use_temp_dir() |
2930 | 508 | self.config["PROJECT"] = "ubuntu" | 473 | self.config["PROJECT"] = "ubuntu" |
2932 | 509 | self.config["DIST"] = "raring" | 474 | self.config["DIST"] = "trusty" |
2933 | 510 | self.config["IMAGE_TYPE"] = "daily" | 475 | self.config["IMAGE_TYPE"] = "daily" |
2934 | 511 | path = os.path.join(self.temp_dir, "production", "notify-addresses") | 476 | path = os.path.join(self.temp_dir, "production", "notify-addresses") |
2935 | 512 | with mkfile(path) as notify_addresses: | 477 | with mkfile(path) as notify_addresses: |
2936 | 513 | print("ALL\tfoo@example.org", file=notify_addresses) | 478 | print("ALL\tfoo@example.org", file=notify_addresses) |
2937 | 514 | live_build_notify_failure(self.config, "i386") | 479 | live_build_notify_failure(self.config, "i386") |
2938 | 515 | mock_send_mail.assert_called_once_with( | 480 | mock_send_mail.assert_called_once_with( |
2940 | 516 | "LiveFS ubuntu/raring/i386 failed to build on 20130315", | 481 | "LiveFS ubuntu/trusty/i386 failed to build on 20130315", |
2941 | 517 | "buildlive", ["foo@example.org"], b"") | 482 | "buildlive", ["foo@example.org"], b"") |
2942 | 518 | 483 | ||
2943 | 519 | @mock.patch("time.strftime", return_value="20130315") | 484 | @mock.patch("time.strftime", return_value="20130315") |
2944 | 520 | @mock.patch("cdimage.livefs.send_mail") | 485 | @mock.patch("cdimage.livefs.send_mail") |
2945 | 521 | def test_live_build_notify_failure_log(self, mock_send_mail, *args): | 486 | def test_live_build_notify_failure_log(self, mock_send_mail, *args): |
2946 | 522 | self.config["PROJECT"] = "kubuntu" | 487 | self.config["PROJECT"] = "kubuntu" |
2948 | 523 | self.config["DIST"] = "raring" | 488 | self.config["DIST"] = "trusty" |
2949 | 524 | self.config["IMAGE_TYPE"] = "daily" | 489 | self.config["IMAGE_TYPE"] = "daily" |
2950 | 525 | path = os.path.join(self.temp_dir, "production", "notify-addresses") | 490 | path = os.path.join(self.temp_dir, "production", "notify-addresses") |
2951 | 526 | with mkfile(path) as notify_addresses: | 491 | with mkfile(path) as notify_addresses: |
2952 | @@ -529,10 +494,10 @@ | |||
2953 | 529 | with mock.patch("cdimage.livefs.urlopen", mock_urlopen_obj): | 494 | with mock.patch("cdimage.livefs.urlopen", mock_urlopen_obj): |
2954 | 530 | live_build_notify_failure(self.config, "armhf+omap4") | 495 | live_build_notify_failure(self.config, "armhf+omap4") |
2955 | 531 | mock_urlopen_obj.assert_called_once_with( | 496 | mock_urlopen_obj.assert_called_once_with( |
2957 | 532 | "http://kishi00.buildd/~buildd/LiveCD/raring/kubuntu-omap4/latest/" | 497 | "http://kishi00.buildd/~buildd/LiveCD/trusty/kubuntu-omap4/latest/" |
2958 | 533 | "livecd-armhf.out", timeout=30) | 498 | "livecd-armhf.out", timeout=30) |
2959 | 534 | mock_send_mail.assert_called_once_with( | 499 | mock_send_mail.assert_called_once_with( |
2961 | 535 | "LiveFS kubuntu-omap4/raring/armhf+omap4 failed to build on " | 500 | "LiveFS kubuntu-omap4/trusty/armhf+omap4 failed to build on " |
2962 | 536 | "20130315", | 501 | "20130315", |
2963 | 537 | "buildlive", ["foo@example.org"], b"Log data\n") | 502 | "buildlive", ["foo@example.org"], b"Log data\n") |
2964 | 538 | 503 | ||
2965 | @@ -542,7 +507,7 @@ | |||
2966 | 542 | @mock.patch("cdimage.livefs.send_mail") | 507 | @mock.patch("cdimage.livefs.send_mail") |
2967 | 543 | def test_run_live_builds_notifies_on_failure(self, mock_send_mail, *args): | 508 | def test_run_live_builds_notifies_on_failure(self, mock_send_mail, *args): |
2968 | 544 | self.config["PROJECT"] = "ubuntu" | 509 | self.config["PROJECT"] = "ubuntu" |
2970 | 545 | self.config["DIST"] = "raring" | 510 | self.config["DIST"] = "trusty" |
2971 | 546 | self.config["IMAGE_TYPE"] = "daily" | 511 | self.config["IMAGE_TYPE"] = "daily" |
2972 | 547 | self.config["ARCHES"] = "amd64 i386" | 512 | self.config["ARCHES"] = "amd64 i386" |
2973 | 548 | path = os.path.join(self.temp_dir, "production", "notify-addresses") | 513 | path = os.path.join(self.temp_dir, "production", "notify-addresses") |
2974 | @@ -563,10 +528,10 @@ | |||
2975 | 563 | ], self.captured_log_messages()) | 528 | ], self.captured_log_messages()) |
2976 | 564 | mock_send_mail.assert_has_calls([ | 529 | mock_send_mail.assert_has_calls([ |
2977 | 565 | mock.call( | 530 | mock.call( |
2979 | 566 | "LiveFS ubuntu/raring/amd64 failed to build on 20130315", | 531 | "LiveFS ubuntu/trusty/amd64 failed to build on 20130315", |
2980 | 567 | "buildlive", ["foo@example.org"], b"Log data\n"), | 532 | "buildlive", ["foo@example.org"], b"Log data\n"), |
2981 | 568 | mock.call( | 533 | mock.call( |
2983 | 569 | "LiveFS ubuntu/raring/i386 failed to build on 20130315", | 534 | "LiveFS ubuntu/trusty/i386 failed to build on 20130315", |
2984 | 570 | "buildlive", ["foo@example.org"], b"Log data\n"), | 535 | "buildlive", ["foo@example.org"], b"Log data\n"), |
2985 | 571 | ], any_order=True) | 536 | ], any_order=True) |
2986 | 572 | 537 | ||
2987 | @@ -577,7 +542,7 @@ | |||
2988 | 577 | def test_run_live_builds(self, mock_live_build_notify_failure, mock_popen, | 542 | def test_run_live_builds(self, mock_live_build_notify_failure, mock_popen, |
2989 | 578 | mock_tracker_set_rebuild_status, *args): | 543 | mock_tracker_set_rebuild_status, *args): |
2990 | 579 | self.config["PROJECT"] = "ubuntu" | 544 | self.config["PROJECT"] = "ubuntu" |
2992 | 580 | self.config["DIST"] = "raring" | 545 | self.config["DIST"] = "trusty" |
2993 | 581 | self.config["IMAGE_TYPE"] = "daily" | 546 | self.config["IMAGE_TYPE"] = "daily" |
2994 | 582 | self.config["ARCHES"] = "amd64 i386" | 547 | self.config["ARCHES"] = "amd64 i386" |
2995 | 583 | self.capture_logging() | 548 | self.capture_logging() |
2996 | @@ -605,12 +570,12 @@ | |||
2997 | 605 | mock.call( | 570 | mock.call( |
2998 | 606 | expected_command_base + [ | 571 | expected_command_base + [ |
2999 | 607 | "buildd@kapok.buildd", "/home/buildd/bin/BuildLiveCD", | 572 | "buildd@kapok.buildd", "/home/buildd/bin/BuildLiveCD", |
3001 | 608 | "-l", "-A", "amd64", "-d", "raring", "ubuntu", | 573 | "-l", "-A", "amd64", "-d", "trusty", "ubuntu", |
3002 | 609 | ]), | 574 | ]), |
3003 | 610 | mock.call( | 575 | mock.call( |
3004 | 611 | expected_command_base + [ | 576 | expected_command_base + [ |
3005 | 612 | "buildd@cardamom.buildd", "/home/buildd/bin/BuildLiveCD", | 577 | "buildd@cardamom.buildd", "/home/buildd/bin/BuildLiveCD", |
3007 | 613 | "-l", "-A", "i386", "-d", "raring", "ubuntu", | 578 | "-l", "-A", "i386", "-d", "trusty", "ubuntu", |
3008 | 614 | ]) | 579 | ]) |
3009 | 615 | ]) | 580 | ]) |
3010 | 616 | self.assertEqual(0, mock_live_build_notify_failure.call_count) | 581 | self.assertEqual(0, mock_live_build_notify_failure.call_count) |
3011 | @@ -622,7 +587,7 @@ | |||
3012 | 622 | mock_live_build_notify_failure, | 587 | mock_live_build_notify_failure, |
3013 | 623 | mock_popen, *args): | 588 | mock_popen, *args): |
3014 | 624 | self.config["PROJECT"] = "ubuntu" | 589 | self.config["PROJECT"] = "ubuntu" |
3016 | 625 | self.config["DIST"] = "raring" | 590 | self.config["DIST"] = "trusty" |
3017 | 626 | self.config["IMAGE_TYPE"] = "daily" | 591 | self.config["IMAGE_TYPE"] = "daily" |
3018 | 627 | self.config["ARCHES"] = "amd64 amd64+mac" | 592 | self.config["ARCHES"] = "amd64 amd64+mac" |
3019 | 628 | self.capture_logging() | 593 | self.capture_logging() |
3020 | @@ -632,7 +597,7 @@ | |||
3021 | 632 | "ssh", "-n", "-o", "StrictHostKeyChecking=no", | 597 | "ssh", "-n", "-o", "StrictHostKeyChecking=no", |
3022 | 633 | "-o", "BatchMode=yes", | 598 | "-o", "BatchMode=yes", |
3023 | 634 | "buildd@kapok.buildd", "/home/buildd/bin/BuildLiveCD", | 599 | "buildd@kapok.buildd", "/home/buildd/bin/BuildLiveCD", |
3025 | 635 | "-l", "-A", "amd64", "-d", "raring", "ubuntu", | 600 | "-l", "-A", "amd64", "-d", "trusty", "ubuntu", |
3026 | 636 | ] | 601 | ] |
3027 | 637 | mock_popen.assert_called_once_with(expected_command) | 602 | mock_popen.assert_called_once_with(expected_command) |
3028 | 638 | self.assertEqual(0, mock_live_build_notify_failure.call_count) | 603 | self.assertEqual(0, mock_live_build_notify_failure.call_count) |
3029 | @@ -643,7 +608,7 @@ | |||
3030 | 643 | @mock.patch("cdimage.livefs.send_mail") | 608 | @mock.patch("cdimage.livefs.send_mail") |
3031 | 644 | def test_run_live_builds_partial_success(self, mock_send_mail, *args): | 609 | def test_run_live_builds_partial_success(self, mock_send_mail, *args): |
3032 | 645 | self.config["PROJECT"] = "ubuntu" | 610 | self.config["PROJECT"] = "ubuntu" |
3034 | 646 | self.config["DIST"] = "raring" | 611 | self.config["DIST"] = "trusty" |
3035 | 647 | self.config["IMAGE_TYPE"] = "daily" | 612 | self.config["IMAGE_TYPE"] = "daily" |
3036 | 648 | self.config["ARCHES"] = "amd64 i386" | 613 | self.config["ARCHES"] = "amd64 i386" |
3037 | 649 | path = os.path.join(self.temp_dir, "production", "notify-addresses") | 614 | path = os.path.join(self.temp_dir, "production", "notify-addresses") |
3038 | @@ -677,17 +642,17 @@ | |||
3039 | 677 | mock.call( | 642 | mock.call( |
3040 | 678 | expected_command_base + [ | 643 | expected_command_base + [ |
3041 | 679 | "buildd@kapok.buildd", "/home/buildd/bin/BuildLiveCD", | 644 | "buildd@kapok.buildd", "/home/buildd/bin/BuildLiveCD", |
3043 | 680 | "-l", "-A", "amd64", "-d", "raring", "ubuntu", | 645 | "-l", "-A", "amd64", "-d", "trusty", "ubuntu", |
3044 | 681 | ]), | 646 | ]), |
3045 | 682 | mock.call( | 647 | mock.call( |
3046 | 683 | expected_command_base + [ | 648 | expected_command_base + [ |
3047 | 684 | "buildd@cardamom.buildd", | 649 | "buildd@cardamom.buildd", |
3048 | 685 | "/home/buildd/bin/BuildLiveCD", | 650 | "/home/buildd/bin/BuildLiveCD", |
3050 | 686 | "-l", "-A", "i386", "-d", "raring", "ubuntu", | 651 | "-l", "-A", "i386", "-d", "trusty", "ubuntu", |
3051 | 687 | ]), | 652 | ]), |
3052 | 688 | ]) | 653 | ]) |
3053 | 689 | mock_send_mail.assert_called_once_with( | 654 | mock_send_mail.assert_called_once_with( |
3055 | 690 | "LiveFS ubuntu/raring/i386 failed to build on 20130315", | 655 | "LiveFS ubuntu/trusty/i386 failed to build on 20130315", |
3056 | 691 | "buildlive", ["foo@example.org"], b"Log data\n") | 656 | "buildlive", ["foo@example.org"], b"Log data\n") |
3057 | 692 | 657 | ||
3058 | 693 | @skipUnless(launchpad_available, "launchpadlib not available") | 658 | @skipUnless(launchpad_available, "launchpadlib not available") |
3059 | @@ -702,7 +667,7 @@ | |||
3060 | 702 | mock_tracker_set_rebuild_status, mock_sleep, | 667 | mock_tracker_set_rebuild_status, mock_sleep, |
3061 | 703 | *args): | 668 | *args): |
3062 | 704 | self.config["PROJECT"] = "ubuntu" | 669 | self.config["PROJECT"] = "ubuntu" |
3064 | 705 | self.config["DIST"] = "utopic" | 670 | self.config["DIST"] = "xenial" |
3065 | 706 | self.config["IMAGE_TYPE"] = "daily" | 671 | self.config["IMAGE_TYPE"] = "daily" |
3066 | 707 | self.config["ARCHES"] = "amd64 i386" | 672 | self.config["ARCHES"] = "amd64 i386" |
3067 | 708 | osextras.unlink_force(os.path.join( | 673 | osextras.unlink_force(os.path.join( |
3068 | @@ -737,13 +702,13 @@ | |||
3069 | 737 | lp = get_launchpad() | 702 | lp = get_launchpad() |
3070 | 738 | owner = lp.people["ubuntu-cdimage"] | 703 | owner = lp.people["ubuntu-cdimage"] |
3071 | 739 | ubuntu = lp.distributions["ubuntu"] | 704 | ubuntu = lp.distributions["ubuntu"] |
3073 | 740 | utopic = ubuntu.getSeries(name_or_version="utopic") | 705 | xenial = ubuntu.getSeries(name_or_version="xenial") |
3074 | 741 | dases = [ | 706 | dases = [ |
3076 | 742 | utopic.getDistroArchSeries(archtag) | 707 | xenial.getDistroArchSeries(archtag) |
3077 | 743 | for archtag in ("amd64", "i386")] | 708 | for archtag in ("amd64", "i386")] |
3078 | 744 | self.assertEqual(2, len(dases)) | 709 | self.assertEqual(2, len(dases)) |
3079 | 745 | livefs = lp.livefses.getByName( | 710 | livefs = lp.livefses.getByName( |
3081 | 746 | owner=owner, distro_series=utopic, name="ubuntu-desktop") | 711 | owner=owner, distro_series=xenial, name="ubuntu-desktop") |
3082 | 747 | builds = [ | 712 | builds = [ |
3083 | 748 | livefs.getLatestBuild(distro_arch_series=das) for das in dases] | 713 | livefs.getLatestBuild(distro_arch_series=das) for das in dases] |
3084 | 749 | self.assertEqual(2, len(builds)) | 714 | self.assertEqual(2, len(builds)) |
3085 | @@ -844,7 +809,7 @@ | |||
3086 | 844 | 809 | ||
3087 | 845 | def test_livecd_override(self): | 810 | def test_livecd_override(self): |
3088 | 846 | self.assertBaseEqual( | 811 | self.assertBaseEqual( |
3090 | 847 | "ftp://blah/quantal/ubuntu/current", "i386", "ubuntu", "quantal", | 812 | "ftp://blah/trusty/ubuntu/current", "i386", "ubuntu", "trusty", |
3091 | 848 | livecd="ftp://blah") | 813 | livecd="ftp://blah") |
3092 | 849 | 814 | ||
3093 | 850 | def test_subproject(self): | 815 | def test_subproject(self): |
3094 | @@ -861,11 +826,11 @@ | |||
3095 | 861 | 826 | ||
3096 | 862 | def test_subarch(self): | 827 | def test_subarch(self): |
3097 | 863 | self.assertBaseEqual( | 828 | self.assertBaseEqual( |
3100 | 864 | self.base("royal.buildd", "ubuntu-ps3", "gutsy"), | 829 | self.base("royal.buildd", "ubuntu-ps3", "precise"), |
3101 | 865 | "powerpc+ps3", "ubuntu", "gutsy") | 830 | "powerpc+ps3", "ubuntu", "precise") |
3102 | 866 | self.assertBaseEqual( | 831 | self.assertBaseEqual( |
3105 | 867 | self.base("celbalrai.buildd", "ubuntu-server-omap", "oneiric"), | 832 | self.base("celbalrai.buildd", "ubuntu-server-omap", "precise"), |
3106 | 868 | "armel+omap", "ubuntu-server", "oneiric") | 833 | "armel+omap", "ubuntu-server", "precise") |
3107 | 869 | 834 | ||
3108 | 870 | def test_ubuntu_defaults_locale(self): | 835 | def test_ubuntu_defaults_locale(self): |
3109 | 871 | for series in all_series: | 836 | for series in all_series: |
3110 | @@ -882,9 +847,6 @@ | |||
3111 | 882 | self.assertEqual(expected.split(), flavours(config, arch)) | 847 | self.assertEqual(expected.split(), flavours(config, arch)) |
3112 | 883 | 848 | ||
3113 | 884 | def test_amd64(self): | 849 | def test_amd64(self): |
3114 | 885 | for series in all_series[:4]: | ||
3115 | 886 | self.assertFlavoursEqual( | ||
3116 | 887 | "amd64-generic", "amd64", "ubuntu", series) | ||
3117 | 888 | for series in all_series[4:]: | 850 | for series in all_series[4:]: |
3118 | 889 | self.assertFlavoursEqual( | 851 | self.assertFlavoursEqual( |
3119 | 890 | "generic", "amd64", "ubuntu", series) | 852 | "generic", "amd64", "ubuntu", series) |
3120 | @@ -893,12 +855,11 @@ | |||
3121 | 893 | "lowlatency", "amd64", "ubuntustudio", series) | 855 | "lowlatency", "amd64", "ubuntustudio", series) |
3122 | 894 | 856 | ||
3123 | 895 | def test_armel(self): | 857 | def test_armel(self): |
3124 | 896 | self.assertFlavoursEqual("imx51", "armel+imx51", "ubuntu", "jaunty") | ||
3125 | 897 | self.assertFlavoursEqual("imx51", "armel+omap", "ubuntu", "jaunty") | ||
3126 | 898 | for series in all_series[10:]: | 858 | for series in all_series[10:]: |
3127 | 899 | self.assertFlavoursEqual( | 859 | self.assertFlavoursEqual( |
3128 | 900 | "linaro-lt-mx5", "armel+mx5", "ubuntu", series) | 860 | "linaro-lt-mx5", "armel+mx5", "ubuntu", series) |
3129 | 901 | self.assertFlavoursEqual("omap", "armel+omap", "ubuntu", series) | 861 | self.assertFlavoursEqual("omap", "armel+omap", "ubuntu", series) |
3130 | 862 | self.assertFlavoursEqual("imx51", "armel+imx51", "ubuntu", series) | ||
3131 | 902 | 863 | ||
3132 | 903 | def test_armhf(self): | 864 | def test_armhf(self): |
3133 | 904 | for series in all_series: | 865 | for series in all_series: |
3134 | @@ -911,11 +872,8 @@ | |||
3135 | 911 | self.assertFlavoursEqual("hppa32 hppa64", "hppa", "ubuntu", series) | 872 | self.assertFlavoursEqual("hppa32 hppa64", "hppa", "ubuntu", series) |
3136 | 912 | 873 | ||
3137 | 913 | def test_i386(self): | 874 | def test_i386(self): |
3141 | 914 | for series in all_series[:4]: | 875 | for series in all_series[4:]: |
3139 | 915 | self.assertFlavoursEqual("i386", "i386", "ubuntu", series) | ||
3140 | 916 | for series in all_series[4:15] + all_series[17:]: | ||
3142 | 917 | self.assertFlavoursEqual("generic", "i386", "ubuntu", series) | 876 | self.assertFlavoursEqual("generic", "i386", "ubuntu", series) |
3143 | 918 | self.assertFlavoursEqual("generic", "i386", "ubuntu", "precise") | ||
3144 | 919 | for series in all_series[4:]: | 877 | for series in all_series[4:]: |
3145 | 920 | self.assertFlavoursEqual("generic", "i386", "xubuntu", series) | 878 | self.assertFlavoursEqual("generic", "i386", "xubuntu", series) |
3146 | 921 | self.assertFlavoursEqual("generic", "i386", "lubuntu", series) | 879 | self.assertFlavoursEqual("generic", "i386", "lubuntu", series) |
3147 | @@ -926,33 +884,18 @@ | |||
3148 | 926 | "lowlatency", "i386", "ubuntustudio", series) | 884 | "lowlatency", "i386", "ubuntustudio", series) |
3149 | 927 | 885 | ||
3150 | 928 | def test_ia64(self): | 886 | def test_ia64(self): |
3151 | 929 | for series in all_series[:4]: | ||
3152 | 930 | self.assertFlavoursEqual( | ||
3153 | 931 | "itanium-smp mckinley-smp", "ia64", "ubuntu", series) | ||
3154 | 932 | for series in all_series[4:10]: | ||
3155 | 933 | self.assertFlavoursEqual( | ||
3156 | 934 | "itanium mckinley", "ia64", "ubuntu", series) | ||
3157 | 935 | for series in all_series[10:]: | 887 | for series in all_series[10:]: |
3158 | 936 | self.assertFlavoursEqual("ia64", "ia64", "ubuntu", series) | 888 | self.assertFlavoursEqual("ia64", "ia64", "ubuntu", series) |
3159 | 937 | 889 | ||
3160 | 938 | def test_lpia(self): | ||
3161 | 939 | for series in all_series: | ||
3162 | 940 | self.assertFlavoursEqual("lpia", "lpia", "ubuntu", series) | ||
3163 | 941 | |||
3164 | 942 | def test_powerpc(self): | 890 | def test_powerpc(self): |
3165 | 943 | for series in all_series[:15]: | ||
3166 | 944 | self.assertFlavoursEqual( | ||
3167 | 945 | "powerpc powerpc64-smp", "powerpc", "ubuntu", series) | ||
3168 | 946 | for series in all_series[15:24]: | 891 | for series in all_series[15:24]: |
3169 | 947 | self.assertFlavoursEqual( | 892 | self.assertFlavoursEqual( |
3170 | 948 | "powerpc-smp powerpc64-smp", "powerpc", "ubuntu", series) | 893 | "powerpc-smp powerpc64-smp", "powerpc", "ubuntu", series) |
3171 | 949 | for series in all_series[24:]: | 894 | for series in all_series[24:]: |
3172 | 950 | self.assertFlavoursEqual( | 895 | self.assertFlavoursEqual( |
3173 | 951 | "powerpc-smp generic", "powerpc", "ubuntu", series) | 896 | "powerpc-smp generic", "powerpc", "ubuntu", series) |
3178 | 952 | self.assertFlavoursEqual("cell", "powerpc+ps3", "ubuntu", "gutsy") | 897 | self.assertFlavoursEqual( |
3179 | 953 | for series in all_series[7:15]: | 898 | "powerpc-smp powerpc64-smp", "powerpc+ps3", "ubuntu", "precise") |
3176 | 954 | self.assertFlavoursEqual( | ||
3177 | 955 | "powerpc powerpc64-smp", "powerpc+ps3", "ubuntu", "hardy") | ||
3180 | 956 | 899 | ||
3181 | 957 | def test_ppc64el(self): | 900 | def test_ppc64el(self): |
3182 | 958 | for series in all_series: | 901 | for series in all_series: |
3183 | @@ -985,20 +928,6 @@ | |||
3184 | 985 | self.config["DIST"] = series | 928 | self.config["DIST"] = series |
3185 | 986 | self.assertEqual([], list(live_item_paths(self.config, arch, item))) | 929 | self.assertEqual([], list(live_item_paths(self.config, arch, item))) |
3186 | 987 | 930 | ||
3187 | 988 | def test_tocd3_fallback(self): | ||
3188 | 989 | for item in ("cloop", "manifest"): | ||
3189 | 990 | self.assertPathsEqual( | ||
3190 | 991 | ["/home/cjwatson/tocd3/livecd.tocd3.%s" % item], | ||
3191 | 992 | "i386", item, "tocd3", "hoary") | ||
3192 | 993 | |||
3193 | 994 | def test_ubuntu_breezy_fallback(self): | ||
3194 | 995 | for item in ("cloop", "manifest"): | ||
3195 | 996 | for arch in ("amd64", "i386", "powerpc"): | ||
3196 | 997 | self.assertPathsEqual( | ||
3197 | 998 | ["/home/cjwatson/breezy-live/ubuntu/livecd.%s.%s" % | ||
3198 | 999 | (arch, item)], | ||
3199 | 1000 | arch, item, "ubuntu", "breezy") | ||
3200 | 1001 | |||
3201 | 1002 | def test_desktop_items(self): | 931 | def test_desktop_items(self): |
3202 | 1003 | for item in ( | 932 | for item in ( |
3203 | 1004 | "cloop", "squashfs", "manifest", "manifest-desktop", | 933 | "cloop", "squashfs", "manifest", "manifest-desktop", |
3204 | @@ -1019,14 +948,14 @@ | |||
3205 | 1019 | def test_imgxz(self): | 948 | def test_imgxz(self): |
3206 | 1020 | for item in ("img.xz", "model-assertion"): | 949 | for item in ("img.xz", "model-assertion"): |
3207 | 1021 | self.assertPathsEqual( | 950 | self.assertPathsEqual( |
3209 | 1022 | ["http://kapok.buildd/~buildd/LiveCD/artful/ubuntu-core/" | 951 | ["http://kapok.buildd/~buildd/LiveCD/xenial/ubuntu-core/" |
3210 | 1023 | "current/livecd.ubuntu-core.%s" % item], | 952 | "current/livecd.ubuntu-core.%s" % item], |
3212 | 1024 | "amd64", item, "ubuntu-core", "artful") | 953 | "amd64", item, "ubuntu-core", "xenial") |
3213 | 1025 | self.assertPathsEqual( | 954 | self.assertPathsEqual( |
3215 | 1026 | ["http://kishi00.buildd/~buildd/LiveCD/artful/" | 955 | ["http://kishi00.buildd/~buildd/LiveCD/xenial/" |
3216 | 1027 | "ubuntu-core-raspi2/current/" | 956 | "ubuntu-core-raspi2/current/" |
3217 | 1028 | "livecd.ubuntu-core-raspi2.%s" % item], | 957 | "livecd.ubuntu-core-raspi2.%s" % item], |
3219 | 1029 | "armhf+raspi2", item, "ubuntu-core", "artful") | 958 | "armhf+raspi2", item, "ubuntu-core", "xenial") |
3220 | 1030 | 959 | ||
3221 | 1031 | def test_kernel_items(self): | 960 | def test_kernel_items(self): |
3222 | 1032 | for item in ("kernel", "initrd", "bootimg"): | 961 | for item in ("kernel", "initrd", "bootimg"): |
3223 | @@ -1035,14 +964,14 @@ | |||
3224 | 1035 | ["%s/livecd.kubuntu.%s-generic" % (root, item), | 964 | ["%s/livecd.kubuntu.%s-generic" % (root, item), |
3225 | 1036 | "%s/livecd.kubuntu.%s-generic-hwe" % (root, item)], | 965 | "%s/livecd.kubuntu.%s-generic-hwe" % (root, item)], |
3226 | 1037 | "amd64", item, "kubuntu", "precise") | 966 | "amd64", item, "kubuntu", "precise") |
3228 | 1038 | root = ("http://royal.buildd/~buildd/LiveCD/hardy/ubuntu-ps3/" | 967 | root = ("http://royal.buildd/~buildd/LiveCD/precise/ubuntu-ps3/" |
3229 | 1039 | "current") | 968 | "current") |
3230 | 1040 | self.assertPathsEqual( | 969 | self.assertPathsEqual( |
3232 | 1041 | ["%s/livecd.ubuntu-ps3.%s-powerpc" % (root, item), | 970 | ["%s/livecd.ubuntu-ps3.%s-powerpc-smp" % (root, item), |
3233 | 1042 | "%s/livecd.ubuntu-ps3.%s-powerpc64-smp" % (root, item), | 971 | "%s/livecd.ubuntu-ps3.%s-powerpc64-smp" % (root, item), |
3235 | 1043 | "%s/livecd.ubuntu-ps3.%s-powerpc-hwe" % (root, item), | 972 | "%s/livecd.ubuntu-ps3.%s-powerpc-smp-hwe" % (root, item), |
3236 | 1044 | "%s/livecd.ubuntu-ps3.%s-powerpc64-smp-hwe" % (root, item)], | 973 | "%s/livecd.ubuntu-ps3.%s-powerpc64-smp-hwe" % (root, item)], |
3238 | 1045 | "powerpc+ps3", item, "ubuntu", "hardy") | 974 | "powerpc+ps3", item, "ubuntu", "precise") |
3239 | 1046 | 975 | ||
3240 | 1047 | def test_kernel_efi_signed(self): | 976 | def test_kernel_efi_signed(self): |
3241 | 1048 | self.assertNoPaths("i386", "kernel-efi-signed", "ubuntu", "quantal") | 977 | self.assertNoPaths("i386", "kernel-efi-signed", "ubuntu", "quantal") |
3242 | @@ -1056,21 +985,7 @@ | |||
3243 | 1056 | ["%s/livecd.ubuntu.kernel-generic.efi.signed" % root], | 985 | ["%s/livecd.ubuntu.kernel-generic.efi.signed" % root], |
3244 | 1057 | "amd64", "kernel-efi-signed", "ubuntu", "quantal") | 986 | "amd64", "kernel-efi-signed", "ubuntu", "quantal") |
3245 | 1058 | 987 | ||
3246 | 1059 | # TODO: Since this is only of historical interest, we only test a small | ||
3247 | 1060 | # number of cases at the moment. | ||
3248 | 1061 | def test_winfoss(self): | ||
3249 | 1062 | self.assertNoPaths("i386", "winfoss", "ubuntu", "warty") | ||
3250 | 1063 | self.assertNoPaths("powerpc", "winfoss", "ubuntu", "hardy") | ||
3251 | 1064 | self.assertPathsEqual( | ||
3252 | 1065 | ["http://people.canonical.com/~henrik/winfoss/gutsy/" | ||
3253 | 1066 | "ubuntu/current/ubuntu-winfoss-7.10.tar.gz"], | ||
3254 | 1067 | "i386", "winfoss", "ubuntu", "karmic") | ||
3255 | 1068 | self.assertNoPaths("i386", "winfoss", "ubuntu", "precise") | ||
3256 | 1069 | |||
3257 | 1070 | def test_wubi(self): | 988 | def test_wubi(self): |
3258 | 1071 | for series in all_series[:6]: | ||
3259 | 1072 | self.assertNoPaths("amd64", "wubi", "ubuntu", series) | ||
3260 | 1073 | self.assertNoPaths("i386", "wubi", "ubuntu", series) | ||
3261 | 1074 | for series in all_series[6:]: | 989 | for series in all_series[6:]: |
3262 | 1075 | path = ("http://people.canonical.com/~ubuntu-archive/wubi/%s/" | 990 | path = ("http://people.canonical.com/~ubuntu-archive/wubi/%s/" |
3263 | 1076 | "stable" % series) | 991 | "stable" % series) |
3264 | @@ -1079,15 +994,6 @@ | |||
3265 | 1079 | self.assertNoPaths("i386", "wubi", "xubuntu", "precise") | 994 | self.assertNoPaths("i386", "wubi", "xubuntu", "precise") |
3266 | 1080 | self.assertNoPaths("powerpc", "wubi", "ubuntu", "precise") | 995 | self.assertNoPaths("powerpc", "wubi", "ubuntu", "precise") |
3267 | 1081 | 996 | ||
3268 | 1082 | def test_umenu(self): | ||
3269 | 1083 | for series in all_series[:7] + all_series[8:]: | ||
3270 | 1084 | self.assertNoPaths("amd64", "umenu", "ubuntu", series) | ||
3271 | 1085 | self.assertNoPaths("i386", "umenu", "ubuntu", series) | ||
3272 | 1086 | path = "http://people.canonical.com/~evand/umenu/stable" | ||
3273 | 1087 | self.assertPathsEqual([path], "amd64", "umenu", "ubuntu", "hardy") | ||
3274 | 1088 | self.assertPathsEqual([path], "i386", "umenu", "ubuntu", "hardy") | ||
3275 | 1089 | self.assertNoPaths("powerpc", "umenu", "ubuntu", "hardy") | ||
3276 | 1090 | |||
3277 | 1091 | def test_usb_creator(self): | 997 | def test_usb_creator(self): |
3278 | 1092 | for series in all_series: | 998 | for series in all_series: |
3279 | 1093 | path = ("http://people.canonical.com/~evand/usb-creator/%s/" | 999 | path = ("http://people.canonical.com/~evand/usb-creator/%s/" |
3280 | @@ -1118,49 +1024,50 @@ | |||
3281 | 1118 | 1024 | ||
3282 | 1119 | def test_live_output_directory(self): | 1025 | def test_live_output_directory(self): |
3283 | 1120 | self.config["PROJECT"] = "ubuntu" | 1026 | self.config["PROJECT"] = "ubuntu" |
3285 | 1121 | self.config["DIST"] = "raring" | 1027 | self.config["DIST"] = "trusty" |
3286 | 1122 | self.config["IMAGE_TYPE"] = "daily-live" | 1028 | self.config["IMAGE_TYPE"] = "daily-live" |
3287 | 1123 | expected = os.path.join( | 1029 | expected = os.path.join( |
3289 | 1124 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live") | 1030 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live") |
3290 | 1125 | self.assertEqual(expected, live_output_directory(self.config)) | 1031 | self.assertEqual(expected, live_output_directory(self.config)) |
3291 | 1126 | self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN" | 1032 | self.config["UBUNTU_DEFAULTS_LOCALE"] = "zh_CN" |
3292 | 1127 | expected = os.path.join( | 1033 | expected = os.path.join( |
3294 | 1128 | self.temp_dir, "scratch", "ubuntu-zh_CN", "raring", "daily-live", | 1034 | self.temp_dir, "scratch", "ubuntu-zh_CN", "trusty", "daily-live", |
3295 | 1129 | "live") | 1035 | "live") |
3296 | 1130 | self.assertEqual(expected, live_output_directory(self.config)) | 1036 | self.assertEqual(expected, live_output_directory(self.config)) |
3297 | 1131 | 1037 | ||
3298 | 1132 | @mock.patch("cdimage.osextras.fetch") | 1038 | @mock.patch("cdimage.osextras.fetch") |
3299 | 1133 | def test_download_live_items_no_item(self, mock_fetch): | 1039 | def test_download_live_items_no_item(self, mock_fetch): |
3300 | 1134 | self.config["PROJECT"] = "ubuntu" | 1040 | self.config["PROJECT"] = "ubuntu" |
3302 | 1135 | self.config["DIST"] = "raring" | 1041 | self.config["DIST"] = "trusty" |
3303 | 1136 | self.config["IMAGE_TYPE"] = "daily-live" | 1042 | self.config["IMAGE_TYPE"] = "daily-live" |
3305 | 1137 | self.assertFalse(download_live_items(self.config, "powerpc", "umenu")) | 1043 | self.assertFalse(download_live_items(self.config, "powerpc", |
3306 | 1044 | "usb-creator")) | ||
3307 | 1138 | self.assertEqual(0, mock_fetch.call_count) | 1045 | self.assertEqual(0, mock_fetch.call_count) |
3308 | 1139 | 1046 | ||
3309 | 1140 | @mock.patch("cdimage.osextras.fetch", side_effect=osextras.FetchError) | 1047 | @mock.patch("cdimage.osextras.fetch", side_effect=osextras.FetchError) |
3310 | 1141 | def test_download_live_items_failed_fetch(self, mock_fetch): | 1048 | def test_download_live_items_failed_fetch(self, mock_fetch): |
3311 | 1142 | self.config["PROJECT"] = "ubuntu" | 1049 | self.config["PROJECT"] = "ubuntu" |
3313 | 1143 | self.config["DIST"] = "raring" | 1050 | self.config["DIST"] = "trusty" |
3314 | 1144 | self.config["IMAGE_TYPE"] = "daily-live" | 1051 | self.config["IMAGE_TYPE"] = "daily-live" |
3315 | 1145 | self.assertFalse(download_live_items(self.config, "i386", "squashfs")) | 1052 | self.assertFalse(download_live_items(self.config, "i386", "squashfs")) |
3316 | 1146 | mock_fetch.assert_called_once_with( | 1053 | mock_fetch.assert_called_once_with( |
3317 | 1147 | self.config, | 1054 | self.config, |
3319 | 1148 | "http://cardamom.buildd/~buildd/LiveCD/raring/ubuntu/current/" | 1055 | "http://cardamom.buildd/~buildd/LiveCD/trusty/ubuntu/current/" |
3320 | 1149 | "livecd.ubuntu.squashfs", | 1056 | "livecd.ubuntu.squashfs", |
3321 | 1150 | os.path.join( | 1057 | os.path.join( |
3323 | 1151 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", | 1058 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", |
3324 | 1152 | "live", "i386.squashfs")) | 1059 | "live", "i386.squashfs")) |
3325 | 1153 | 1060 | ||
3326 | 1154 | @mock.patch("cdimage.osextras.fetch") | 1061 | @mock.patch("cdimage.osextras.fetch") |
3327 | 1155 | def test_download_live_items_kernel(self, mock_fetch): | 1062 | def test_download_live_items_kernel(self, mock_fetch): |
3328 | 1156 | self.config["PROJECT"] = "ubuntu" | 1063 | self.config["PROJECT"] = "ubuntu" |
3330 | 1157 | self.config["DIST"] = "quantal" | 1064 | self.config["DIST"] = "trusty" |
3331 | 1158 | self.config["IMAGE_TYPE"] = "daily-live" | 1065 | self.config["IMAGE_TYPE"] = "daily-live" |
3332 | 1159 | self.assertTrue(download_live_items(self.config, "powerpc", "kernel")) | 1066 | self.assertTrue(download_live_items(self.config, "powerpc", "kernel")) |
3334 | 1160 | prefix = ("http://royal.buildd/~buildd/LiveCD/quantal/ubuntu/current/" | 1067 | prefix = ("http://royal.buildd/~buildd/LiveCD/trusty/ubuntu/current/" |
3335 | 1161 | "livecd.ubuntu.kernel-") | 1068 | "livecd.ubuntu.kernel-") |
3336 | 1162 | target_dir = os.path.join( | 1069 | target_dir = os.path.join( |
3338 | 1163 | self.temp_dir, "scratch", "ubuntu", "quantal", "daily-live", | 1070 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", |
3339 | 1164 | "live") | 1071 | "live") |
3340 | 1165 | mock_fetch.assert_has_calls([ | 1072 | mock_fetch.assert_has_calls([ |
3341 | 1166 | mock.call( | 1073 | mock.call( |
3342 | @@ -1204,15 +1111,15 @@ | |||
3343 | 1204 | @mock.patch("cdimage.osextras.fetch") | 1111 | @mock.patch("cdimage.osextras.fetch") |
3344 | 1205 | def test_download_live_items_initrd(self, mock_fetch): | 1112 | def test_download_live_items_initrd(self, mock_fetch): |
3345 | 1206 | self.config["PROJECT"] = "ubuntu" | 1113 | self.config["PROJECT"] = "ubuntu" |
3347 | 1207 | self.config["DIST"] = "raring" | 1114 | self.config["DIST"] = "trusty" |
3348 | 1208 | self.config["IMAGE_TYPE"] = "daily-live" | 1115 | self.config["IMAGE_TYPE"] = "daily-live" |
3349 | 1209 | self.assertTrue(download_live_items(self.config, "i386", "kernel")) | 1116 | self.assertTrue(download_live_items(self.config, "i386", "kernel")) |
3351 | 1210 | prefix = ("http://cardamom.buildd/~buildd/LiveCD/raring/ubuntu/" | 1117 | prefix = ("http://cardamom.buildd/~buildd/LiveCD/trusty/ubuntu/" |
3352 | 1211 | "current/livecd.ubuntu.kernel-") | 1118 | "current/livecd.ubuntu.kernel-") |
3353 | 1212 | calls = [] | 1119 | calls = [] |
3354 | 1213 | for suffix in '', '-hwe': | 1120 | for suffix in '', '-hwe': |
3355 | 1214 | target_dir = os.path.join( | 1121 | target_dir = os.path.join( |
3357 | 1215 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", | 1122 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", |
3358 | 1216 | "live") | 1123 | "live") |
3359 | 1217 | calls.append( | 1124 | calls.append( |
3360 | 1218 | mock.call( | 1125 | mock.call( |
3361 | @@ -1223,14 +1130,14 @@ | |||
3362 | 1223 | @mock.patch("cdimage.osextras.fetch") | 1130 | @mock.patch("cdimage.osextras.fetch") |
3363 | 1224 | def test_download_live_items_kernel_efi_signed(self, mock_fetch): | 1131 | def test_download_live_items_kernel_efi_signed(self, mock_fetch): |
3364 | 1225 | self.config["PROJECT"] = "ubuntu" | 1132 | self.config["PROJECT"] = "ubuntu" |
3366 | 1226 | self.config["DIST"] = "raring" | 1133 | self.config["DIST"] = "trusty" |
3367 | 1227 | self.config["IMAGE_TYPE"] = "daily-live" | 1134 | self.config["IMAGE_TYPE"] = "daily-live" |
3368 | 1228 | self.assertTrue( | 1135 | self.assertTrue( |
3369 | 1229 | download_live_items(self.config, "amd64", "kernel-efi-signed")) | 1136 | download_live_items(self.config, "amd64", "kernel-efi-signed")) |
3371 | 1230 | prefix = ("http://kapok.buildd/~buildd/LiveCD/raring/ubuntu/" | 1137 | prefix = ("http://kapok.buildd/~buildd/LiveCD/trusty/ubuntu/" |
3372 | 1231 | "current/livecd.ubuntu.kernel-") | 1138 | "current/livecd.ubuntu.kernel-") |
3373 | 1232 | target_dir = os.path.join( | 1139 | target_dir = os.path.join( |
3375 | 1233 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live") | 1140 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live") |
3376 | 1234 | mock_fetch.assert_called_once_with( | 1141 | mock_fetch.assert_called_once_with( |
3377 | 1235 | self.config, prefix + "generic.efi.signed", | 1142 | self.config, prefix + "generic.efi.signed", |
3378 | 1236 | os.path.join(target_dir, "amd64.kernel-generic.efi.signed")) | 1143 | os.path.join(target_dir, "amd64.kernel-generic.efi.signed")) |
3379 | @@ -1238,16 +1145,16 @@ | |||
3380 | 1238 | @mock.patch("cdimage.osextras.fetch") | 1145 | @mock.patch("cdimage.osextras.fetch") |
3381 | 1239 | def test_download_live_items_bootimg(self, mock_fetch): | 1146 | def test_download_live_items_bootimg(self, mock_fetch): |
3382 | 1240 | self.config["PROJECT"] = "ubuntu" | 1147 | self.config["PROJECT"] = "ubuntu" |
3384 | 1241 | self.config["DIST"] = "raring" | 1148 | self.config["DIST"] = "trusty" |
3385 | 1242 | self.config["IMAGE_TYPE"] = "daily-preinstalled" | 1149 | self.config["IMAGE_TYPE"] = "daily-preinstalled" |
3386 | 1243 | self.assertTrue( | 1150 | self.assertTrue( |
3387 | 1244 | download_live_items(self.config, "armhf+omap4", "bootimg")) | 1151 | download_live_items(self.config, "armhf+omap4", "bootimg")) |
3389 | 1245 | url = ("http://kishi00.buildd/~buildd/LiveCD/raring/ubuntu-omap4/" | 1152 | url = ("http://kishi00.buildd/~buildd/LiveCD/trusty/ubuntu-omap4/" |
3390 | 1246 | "current/livecd.ubuntu-omap4.bootimg-omap4") | 1153 | "current/livecd.ubuntu-omap4.bootimg-omap4") |
3391 | 1247 | calls = [] | 1154 | calls = [] |
3392 | 1248 | for suffix in '', '-hwe': | 1155 | for suffix in '', '-hwe': |
3393 | 1249 | target_dir = os.path.join( | 1156 | target_dir = os.path.join( |
3395 | 1250 | self.temp_dir, "scratch", "ubuntu", "raring", | 1157 | self.temp_dir, "scratch", "ubuntu", "trusty", |
3396 | 1251 | "daily-preinstalled", "live") | 1158 | "daily-preinstalled", "live") |
3397 | 1252 | calls.append( | 1159 | calls.append( |
3398 | 1253 | mock.call( | 1160 | mock.call( |
3399 | @@ -1259,77 +1166,52 @@ | |||
3400 | 1259 | @mock.patch("cdimage.osextras.fetch") | 1166 | @mock.patch("cdimage.osextras.fetch") |
3401 | 1260 | def test_download_live_items_wubi(self, mock_fetch): | 1167 | def test_download_live_items_wubi(self, mock_fetch): |
3402 | 1261 | self.config["PROJECT"] = "ubuntu" | 1168 | self.config["PROJECT"] = "ubuntu" |
3404 | 1262 | self.config["DIST"] = "raring" | 1169 | self.config["DIST"] = "trusty" |
3405 | 1263 | self.config["IMAGE_TYPE"] = "daily-live" | 1170 | self.config["IMAGE_TYPE"] = "daily-live" |
3406 | 1264 | self.assertTrue(download_live_items(self.config, "i386", "wubi")) | 1171 | self.assertTrue(download_live_items(self.config, "i386", "wubi")) |
3408 | 1265 | url = "http://people.canonical.com/~ubuntu-archive/wubi/raring/stable" | 1172 | url = "http://people.canonical.com/~ubuntu-archive/wubi/trusty/stable" |
3409 | 1266 | target_dir = os.path.join( | 1173 | target_dir = os.path.join( |
3411 | 1267 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live") | 1174 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live") |
3412 | 1268 | mock_fetch.assert_called_once_with( | 1175 | mock_fetch.assert_called_once_with( |
3413 | 1269 | self.config, url, os.path.join(target_dir, "i386.wubi.exe")) | 1176 | self.config, url, os.path.join(target_dir, "i386.wubi.exe")) |
3414 | 1270 | 1177 | ||
3415 | 1271 | @mock.patch("cdimage.osextras.fetch") | 1178 | @mock.patch("cdimage.osextras.fetch") |
3416 | 1272 | def test_download_live_items_umenu(self, mock_fetch): | ||
3417 | 1273 | self.config["PROJECT"] = "ubuntu" | ||
3418 | 1274 | self.config["DIST"] = "hardy" | ||
3419 | 1275 | self.config["IMAGE_TYPE"] = "daily-live" | ||
3420 | 1276 | self.assertTrue(download_live_items(self.config, "i386", "umenu")) | ||
3421 | 1277 | url = "http://people.canonical.com/~evand/umenu/stable" | ||
3422 | 1278 | target_dir = os.path.join( | ||
3423 | 1279 | self.temp_dir, "scratch", "ubuntu", "hardy", "daily-live", "live") | ||
3424 | 1280 | mock_fetch.assert_called_once_with( | ||
3425 | 1281 | self.config, url, os.path.join(target_dir, "i386.umenu.exe")) | ||
3426 | 1282 | |||
3427 | 1283 | @mock.patch("cdimage.osextras.fetch") | ||
3428 | 1284 | def test_download_live_items_usb_creator(self, mock_fetch): | 1179 | def test_download_live_items_usb_creator(self, mock_fetch): |
3429 | 1285 | self.config["PROJECT"] = "ubuntu" | 1180 | self.config["PROJECT"] = "ubuntu" |
3431 | 1286 | self.config["DIST"] = "raring" | 1181 | self.config["DIST"] = "trusty" |
3432 | 1287 | self.config["IMAGE_TYPE"] = "daily-live" | 1182 | self.config["IMAGE_TYPE"] = "daily-live" |
3433 | 1288 | self.assertTrue( | 1183 | self.assertTrue( |
3434 | 1289 | download_live_items(self.config, "i386", "usb-creator")) | 1184 | download_live_items(self.config, "i386", "usb-creator")) |
3436 | 1290 | url = "http://people.canonical.com/~evand/usb-creator/raring/stable" | 1185 | url = "http://people.canonical.com/~evand/usb-creator/trusty/stable" |
3437 | 1291 | target_dir = os.path.join( | 1186 | target_dir = os.path.join( |
3439 | 1292 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live") | 1187 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live") |
3440 | 1293 | mock_fetch.assert_called_once_with( | 1188 | mock_fetch.assert_called_once_with( |
3441 | 1294 | self.config, url, os.path.join(target_dir, "i386.usb-creator.exe")) | 1189 | self.config, url, os.path.join(target_dir, "i386.usb-creator.exe")) |
3442 | 1295 | 1190 | ||
3443 | 1296 | @mock.patch("cdimage.osextras.fetch") | 1191 | @mock.patch("cdimage.osextras.fetch") |
3444 | 1297 | def test_download_live_items_winfoss(self, mock_fetch): | ||
3445 | 1298 | self.config["PROJECT"] = "ubuntu" | ||
3446 | 1299 | self.config["DIST"] = "gutsy" | ||
3447 | 1300 | self.config["IMAGE_TYPE"] = "daily-live" | ||
3448 | 1301 | self.assertTrue(download_live_items(self.config, "i386", "winfoss")) | ||
3449 | 1302 | url = ("http://people.canonical.com/~henrik/winfoss/gutsy/ubuntu/" | ||
3450 | 1303 | "current/ubuntu-winfoss-7.10.tar.gz") | ||
3451 | 1304 | target_dir = os.path.join( | ||
3452 | 1305 | self.temp_dir, "scratch", "ubuntu", "gutsy", "daily-live", "live") | ||
3453 | 1306 | mock_fetch.assert_called_once_with( | ||
3454 | 1307 | self.config, url, os.path.join(target_dir, "i386.winfoss.tgz")) | ||
3455 | 1308 | |||
3456 | 1309 | @mock.patch("cdimage.osextras.fetch") | ||
3457 | 1310 | def test_download_live_items_squashfs(self, mock_fetch): | 1192 | def test_download_live_items_squashfs(self, mock_fetch): |
3458 | 1311 | self.config["PROJECT"] = "ubuntu" | 1193 | self.config["PROJECT"] = "ubuntu" |
3460 | 1312 | self.config["DIST"] = "raring" | 1194 | self.config["DIST"] = "trusty" |
3461 | 1313 | self.config["IMAGE_TYPE"] = "daily-live" | 1195 | self.config["IMAGE_TYPE"] = "daily-live" |
3462 | 1314 | self.assertTrue(download_live_items(self.config, "i386", "squashfs")) | 1196 | self.assertTrue(download_live_items(self.config, "i386", "squashfs")) |
3464 | 1315 | url = ("http://cardamom.buildd/~buildd/LiveCD/raring/ubuntu/" | 1197 | url = ("http://cardamom.buildd/~buildd/LiveCD/trusty/ubuntu/" |
3465 | 1316 | "current/livecd.ubuntu.squashfs") | 1198 | "current/livecd.ubuntu.squashfs") |
3466 | 1317 | target_dir = os.path.join( | 1199 | target_dir = os.path.join( |
3468 | 1318 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live") | 1200 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live") |
3469 | 1319 | mock_fetch.assert_called_once_with( | 1201 | mock_fetch.assert_called_once_with( |
3470 | 1320 | self.config, url, os.path.join(target_dir, "i386.squashfs")) | 1202 | self.config, url, os.path.join(target_dir, "i386.squashfs")) |
3471 | 1321 | 1203 | ||
3472 | 1322 | @mock.patch("cdimage.osextras.fetch") | 1204 | @mock.patch("cdimage.osextras.fetch") |
3473 | 1323 | def test_download_live_items_server_squashfs(self, mock_fetch): | 1205 | def test_download_live_items_server_squashfs(self, mock_fetch): |
3474 | 1324 | self.config["PROJECT"] = "edubuntu" | 1206 | self.config["PROJECT"] = "edubuntu" |
3476 | 1325 | self.config["DIST"] = "raring" | 1207 | self.config["DIST"] = "trusty" |
3477 | 1326 | self.config["IMAGE_TYPE"] = "dvd" | 1208 | self.config["IMAGE_TYPE"] = "dvd" |
3478 | 1327 | self.assertTrue( | 1209 | self.assertTrue( |
3479 | 1328 | download_live_items(self.config, "i386", "server-squashfs")) | 1210 | download_live_items(self.config, "i386", "server-squashfs")) |
3481 | 1329 | url = ("http://cardamom.buildd/~buildd/LiveCD/raring/ubuntu-server/" | 1211 | url = ("http://cardamom.buildd/~buildd/LiveCD/trusty/ubuntu-server/" |
3482 | 1330 | "current/livecd.ubuntu-server.squashfs") | 1212 | "current/livecd.ubuntu-server.squashfs") |
3483 | 1331 | target_dir = os.path.join( | 1213 | target_dir = os.path.join( |
3485 | 1332 | self.temp_dir, "scratch", "edubuntu", "raring", "dvd", "live") | 1214 | self.temp_dir, "scratch", "edubuntu", "trusty", "dvd", "live") |
3486 | 1333 | mock_fetch.assert_called_once_with( | 1215 | mock_fetch.assert_called_once_with( |
3487 | 1334 | self.config, url, os.path.join(target_dir, "i386.server-squashfs")) | 1216 | self.config, url, os.path.join(target_dir, "i386.server-squashfs")) |
3488 | 1335 | 1217 | ||
3489 | @@ -1364,6 +1246,10 @@ | |||
3490 | 1364 | self.assert_server_live_download_items( | 1246 | self.assert_server_live_download_items( |
3491 | 1365 | "bionic", "maas-region.squashfs", ["maas-region.squashfs"]) | 1247 | "bionic", "maas-region.squashfs", ["maas-region.squashfs"]) |
3492 | 1366 | 1248 | ||
3493 | 1249 | def test_download_live_items_multi_layers_squashfs(self): | ||
3494 | 1250 | self.assert_server_live_download_items( | ||
3495 | 1251 | "disco", "minimal.standard.live.squashfs", ["minimal.standard.live.squashfs"]) | ||
3496 | 1252 | |||
3497 | 1367 | def test_download_live_server_boot_items(self): | 1253 | def test_download_live_server_boot_items(self): |
3498 | 1368 | self.assert_server_live_download_items( | 1254 | self.assert_server_live_download_items( |
3499 | 1369 | "bionic", "kernel", | 1255 | "bionic", "kernel", |
3500 | @@ -1377,10 +1263,10 @@ | |||
3501 | 1377 | 1263 | ||
3502 | 1378 | def test_write_autorun(self): | 1264 | def test_write_autorun(self): |
3503 | 1379 | self.config["PROJECT"] = "ubuntu" | 1265 | self.config["PROJECT"] = "ubuntu" |
3505 | 1380 | self.config["DIST"] = "raring" | 1266 | self.config["DIST"] = "trusty" |
3506 | 1381 | self.config["IMAGE_TYPE"] = "daily-live" | 1267 | self.config["IMAGE_TYPE"] = "daily-live" |
3507 | 1382 | output_dir = os.path.join( | 1268 | output_dir = os.path.join( |
3509 | 1383 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live") | 1269 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live") |
3510 | 1384 | os.makedirs(output_dir) | 1270 | os.makedirs(output_dir) |
3511 | 1385 | write_autorun(self.config, "i386", "wubi.exe", "Install Ubuntu") | 1271 | write_autorun(self.config, "i386", "wubi.exe", "Install Ubuntu") |
3512 | 1386 | autorun_path = os.path.join(output_dir, "i386.autorun.inf") | 1272 | autorun_path = os.path.join(output_dir, "i386.autorun.inf") |
3513 | @@ -1413,13 +1299,13 @@ | |||
3514 | 1413 | 1299 | ||
3515 | 1414 | mock_fetch.side_effect = fetch_side_effect | 1300 | mock_fetch.side_effect = fetch_side_effect |
3516 | 1415 | self.config["PROJECT"] = "ubuntu" | 1301 | self.config["PROJECT"] = "ubuntu" |
3518 | 1416 | self.config["DIST"] = "raring" | 1302 | self.config["DIST"] = "trusty" |
3519 | 1417 | self.config["IMAGE_TYPE"] = "daily-live" | 1303 | self.config["IMAGE_TYPE"] = "daily-live" |
3520 | 1418 | self.config["ARCHES"] = "amd64 i386" | 1304 | self.config["ARCHES"] = "amd64 i386" |
3521 | 1419 | self.config["CDIMAGE_LIVE"] = "1" | 1305 | self.config["CDIMAGE_LIVE"] = "1" |
3522 | 1420 | download_live_filesystems(self.config) | 1306 | download_live_filesystems(self.config) |
3523 | 1421 | output_dir = os.path.join( | 1307 | output_dir = os.path.join( |
3525 | 1422 | self.temp_dir, "scratch", "ubuntu", "raring", "daily-live", "live") | 1308 | self.temp_dir, "scratch", "ubuntu", "trusty", "daily-live", "live") |
3526 | 1423 | self.assertCountEqual([ | 1309 | self.assertCountEqual([ |
3527 | 1424 | "amd64.autorun.inf", | 1310 | "amd64.autorun.inf", |
3528 | 1425 | "amd64.initrd-generic", | 1311 | "amd64.initrd-generic", |
3529 | 1426 | 1312 | ||
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 | 66 | for series in all_series: | 66 | for series in all_series: |
3535 | 67 | self.assertMirrorEqual("ftp", "i386", series) | 67 | self.assertMirrorEqual("ftp", "i386", series) |
3536 | 68 | 68 | ||
3537 | 69 | def test_lpia(self): | ||
3538 | 70 | for series in all_series: | ||
3539 | 71 | self.assertMirrorEqual("ftp", "lpia", series) | ||
3540 | 72 | |||
3541 | 73 | def test_powerpc(self): | 69 | def test_powerpc(self): |
3542 | 74 | for series in all_series: | 70 | for series in all_series: |
3543 | 75 | self.assertMirrorEqual("ftp", "powerpc", series) | 71 | self.assertMirrorEqual("ftp", "powerpc", series) |
3544 | 76 | 72 | ||
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 | 247 | 247 | ||
3550 | 248 | def test_publish_type(self): | 248 | def test_publish_type(self): |
3551 | 249 | for image_type, project, dist, publish_type in ( | 249 | for image_type, project, dist, publish_type in ( |
3552 | 250 | ("daily-preinstalled", "ubuntu-netbook", "precise", | ||
3553 | 251 | "preinstalled-netbook"), | ||
3554 | 252 | ("daily-preinstalled", "ubuntu-headless", "precise", | ||
3555 | 253 | "preinstalled-headless"), | ||
3556 | 254 | ("daily-preinstalled", "ubuntu-server", "precise", | 250 | ("daily-preinstalled", "ubuntu-server", "precise", |
3557 | 255 | "preinstalled-server"), | 251 | "preinstalled-server"), |
3558 | 256 | ("daily-preinstalled", "ubuntu-server", "xenial", | 252 | ("daily-preinstalled", "ubuntu-server", "xenial", |
3559 | 257 | "preinstalled-server"), | 253 | "preinstalled-server"), |
3560 | 258 | ("daily-preinstalled", "ubuntu", "precise", | 254 | ("daily-preinstalled", "ubuntu", "precise", |
3561 | 259 | "preinstalled-desktop"), | 255 | "preinstalled-desktop"), |
3577 | 260 | ("daily-preinstalled", "ubuntu-touch", "saucy", | 256 | ("daily-preinstalled", "ubuntu-touch", "trusty", |
3578 | 261 | "preinstalled-touch"), | 257 | "preinstalled-touch"), |
3579 | 262 | ("daily-preinstalled", "ubuntu-touch-custom", "vivid", | 258 | ("daily-live", "edubuntu", "precise", "desktop"), |
3580 | 263 | "preinstalled-touch"), | 259 | ("daily-live", "kubuntu-netbook", "precise", "netbook"), |
3581 | 264 | ("daily-live", "edubuntu", "edgy", "live"), | 260 | ("daily-live", "ubuntu-server", "precise", "live-server"), |
3582 | 265 | ("daily-live", "edubuntu", "feisty", "desktop"), | 261 | ("daily-live", "ubuntu", "precise", "desktop"), |
3583 | 266 | ("daily-live", "kubuntu-netbook", "lucid", "netbook"), | 262 | ("daily-live", "ubuntu-zh_CN", "trusty", "desktop"), |
3569 | 267 | ("daily-live", "kubuntu-plasma5", "utopic", "desktop"), | ||
3570 | 268 | ("daily-live", "ubuntu-mid", "lucid", "mid"), | ||
3571 | 269 | ("daily-live", "ubuntu-moblin-remix", "lucid", "moblin-remix"), | ||
3572 | 270 | ("daily-live", "ubuntu-netbook", "hardy", "netbook"), | ||
3573 | 271 | ("daily-live", "ubuntu-server", "hardy", "live-server"), | ||
3574 | 272 | ("daily-live", "ubuntu", "breezy", "live"), | ||
3575 | 273 | ("daily-live", "ubuntu", "dapper", "desktop"), | ||
3576 | 274 | ("daily-live", "ubuntu-zh_CN", "raring", "desktop"), | ||
3584 | 275 | ("daily-live", "ubuntu-core", "xenial", "live-core"), | 263 | ("daily-live", "ubuntu-core", "xenial", "live-core"), |
3592 | 276 | ("ports_dvd", "ubuntu", "hardy", "dvd"), | 264 | ("ports_dvd", "ubuntu", "precise", "dvd"), |
3593 | 277 | ("dvd", "kubuntu", "hardy", "dvd"), | 265 | ("dvd", "kubuntu", "precise", "dvd"), |
3594 | 278 | ("daily", "edubuntu", "edgy", "install"), | 266 | ("daily", "edubuntu", "precise", "addon"), |
3588 | 279 | ("daily", "edubuntu", "feisty", "server"), | ||
3589 | 280 | ("daily", "edubuntu", "gutsy", "server"), | ||
3590 | 281 | ("daily", "edubuntu", "hardy", "addon"), | ||
3591 | 282 | ("daily", "jeos", "hardy", "jeos"), | ||
3595 | 283 | ("daily", "ubuntu-base", "precise", "base"), | 267 | ("daily", "ubuntu-base", "precise", "base"), |
3600 | 284 | ("daily", "ubuntu-server", "breezy", "install"), | 268 | ("daily", "ubuntu-server", "precise", "server"), |
3601 | 285 | ("daily", "ubuntu-server", "dapper", "server"), | 269 | ("daily", "ubuntu", "precise", "alternate"), |
3598 | 286 | ("daily", "ubuntu", "breezy", "install"), | ||
3599 | 287 | ("daily", "ubuntu", "dapper", "alternate"), | ||
3602 | 288 | ): | 270 | ): |
3603 | 289 | self.config["PROJECT"] = project | 271 | self.config["PROJECT"] = project |
3604 | 290 | self.config["DIST"] = dist | 272 | self.config["DIST"] = dist |
3605 | @@ -318,8 +300,6 @@ | |||
3606 | 318 | for project, expected in ( | 300 | for project, expected in ( |
3607 | 319 | ("ubuntu", [assets + "/vanilla-framework-version-1.8.0.min.css"]), | 301 | ("ubuntu", [assets + "/vanilla-framework-version-1.8.0.min.css"]), |
3608 | 320 | ("kubuntu", ["//releases.ubuntu.com/include/kubuntu.css"]), | 302 | ("kubuntu", ["//releases.ubuntu.com/include/kubuntu.css"]), |
3609 | 321 | ("kubuntu-plasma5", | ||
3610 | 322 | ["//releases.ubuntu.com/include/kubuntu-plasma5.css"]), | ||
3611 | 323 | ("lubuntu", | 303 | ("lubuntu", |
3612 | 324 | ["//cdimage.ubuntu.com/include/lubuntu/style.css"]), | 304 | ["//cdimage.ubuntu.com/include/lubuntu/style.css"]), |
3613 | 325 | ("lubuntu-next", | 305 | ("lubuntu-next", |
3614 | @@ -330,7 +310,7 @@ | |||
3615 | 330 | self.assertEqual(expected, publisher.cssincludes()) | 310 | self.assertEqual(expected, publisher.cssincludes()) |
3616 | 331 | 311 | ||
3617 | 332 | def test_cdtypestr(self): | 312 | def test_cdtypestr(self): |
3619 | 333 | self.config["DIST"] = "quantal" | 313 | self.config["DIST"] = "trusty" |
3620 | 334 | publisher = Publisher(self.tree, "daily-live") | 314 | publisher = Publisher(self.tree, "daily-live") |
3621 | 335 | self.assertEqual( | 315 | self.assertEqual( |
3622 | 336 | "desktop image", publisher.cdtypestr("desktop", "iso")) | 316 | "desktop image", publisher.cdtypestr("desktop", "iso")) |
3623 | @@ -338,7 +318,7 @@ | |||
3624 | 338 | def test_cdtypedesc_desktop(self): | 318 | def test_cdtypedesc_desktop(self): |
3625 | 339 | self.config["PROJECT"] = "ubuntu" | 319 | self.config["PROJECT"] = "ubuntu" |
3626 | 340 | self.config["CAPPROJECT"] = "Ubuntu" | 320 | self.config["CAPPROJECT"] = "Ubuntu" |
3628 | 341 | self.config["DIST"] = "quantal" | 321 | self.config["DIST"] = "trusty" |
3629 | 342 | publisher = Publisher(self.tree, "daily-live") | 322 | publisher = Publisher(self.tree, "daily-live") |
3630 | 343 | desc = list(publisher.cdtypedesc("desktop", "iso")) | 323 | desc = list(publisher.cdtypedesc("desktop", "iso")) |
3631 | 344 | self.assertEqual( | 324 | self.assertEqual( |
3632 | @@ -358,7 +338,7 @@ | |||
3633 | 358 | def test_cdtypedesc_alternate(self): | 338 | def test_cdtypedesc_alternate(self): |
3634 | 359 | self.config["PROJECT"] = "ubuntu" | 339 | self.config["PROJECT"] = "ubuntu" |
3635 | 360 | self.config["CAPPROJECT"] = "Ubuntu" | 340 | self.config["CAPPROJECT"] = "Ubuntu" |
3637 | 361 | self.config["DIST"] = "quantal" | 341 | self.config["DIST"] = "trusty" |
3638 | 362 | publisher = Publisher(self.tree, "daily") | 342 | publisher = Publisher(self.tree, "daily") |
3639 | 363 | desc = list(publisher.cdtypedesc("alternate", "iso")) | 343 | desc = list(publisher.cdtypedesc("alternate", "iso")) |
3640 | 364 | self.assertEqual( | 344 | self.assertEqual( |
3641 | @@ -452,30 +432,30 @@ | |||
3642 | 452 | def test_find_images(self): | 432 | def test_find_images(self): |
3643 | 453 | for name in ( | 433 | for name in ( |
3644 | 454 | "MD5SUMS", | 434 | "MD5SUMS", |
3647 | 455 | "raring-desktop-amd64.iso", "raring-desktop-amd64.list", | 435 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.list", |
3648 | 456 | "raring-desktop-i386.iso", "raring-desktop-i386.list", | 436 | "trusty-desktop-i386.iso", "trusty-desktop-i386.list", |
3649 | 457 | ): | 437 | ): |
3650 | 458 | touch(os.path.join(self.directory, name)) | 438 | touch(os.path.join(self.directory, name)) |
3651 | 459 | publisher = Publisher(self.tree, "daily-live") | 439 | publisher = Publisher(self.tree, "daily-live") |
3652 | 460 | self.assertCountEqual( | 440 | self.assertCountEqual( |
3655 | 461 | ["raring-desktop-amd64.list", "raring-desktop-i386.list"], | 441 | ["trusty-desktop-amd64.list", "trusty-desktop-i386.list"], |
3656 | 462 | publisher.find_images(self.directory, "raring", "desktop")) | 442 | publisher.find_images(self.directory, "trusty", "desktop")) |
3657 | 463 | 443 | ||
3658 | 464 | def test_find_source_images(self): | 444 | def test_find_source_images(self): |
3659 | 465 | for name in ( | 445 | for name in ( |
3660 | 466 | "MD5SUMS", | 446 | "MD5SUMS", |
3662 | 467 | "raring-src-1.iso", "raring-src-2.iso", "raring-src-3.iso", | 447 | "trusty-src-1.iso", "trusty-src-2.iso", "trusty-src-3.iso", |
3663 | 468 | ): | 448 | ): |
3664 | 469 | touch(os.path.join(self.directory, name)) | 449 | touch(os.path.join(self.directory, name)) |
3665 | 470 | publisher = Publisher(self.tree, "daily-live") | 450 | publisher = Publisher(self.tree, "daily-live") |
3666 | 471 | self.assertEqual( | 451 | self.assertEqual( |
3668 | 472 | [1, 2, 3], publisher.find_source_images(self.directory, "raring")) | 452 | [1, 2, 3], publisher.find_source_images(self.directory, "trusty")) |
3669 | 473 | 453 | ||
3670 | 474 | def test_find_any_with_extension(self): | 454 | def test_find_any_with_extension(self): |
3671 | 475 | for name in ( | 455 | for name in ( |
3672 | 476 | "MD5SUMS", | 456 | "MD5SUMS", |
3675 | 477 | "raring-desktop-amd64.iso", "raring-desktop-amd64.iso.torrent", | 457 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.iso.torrent", |
3676 | 478 | "raring-desktop-i386.iso", "raring-desktop-i386.list", | 458 | "trusty-desktop-i386.iso", "trusty-desktop-i386.list", |
3677 | 479 | ): | 459 | ): |
3678 | 480 | touch(os.path.join(self.directory, name)) | 460 | touch(os.path.join(self.directory, name)) |
3679 | 481 | publisher = Publisher(self.tree, "daily-live") | 461 | publisher = Publisher(self.tree, "daily-live") |
3680 | @@ -496,21 +476,21 @@ | |||
3681 | 496 | # upgrading to XHTML so that we can use an XML parser. | 476 | # upgrading to XHTML so that we can use an XML parser. |
3682 | 497 | self.config["PROJECT"] = "ubuntu" | 477 | self.config["PROJECT"] = "ubuntu" |
3683 | 498 | self.config["CAPPROJECT"] = "Ubuntu" | 478 | self.config["CAPPROJECT"] = "Ubuntu" |
3685 | 499 | self.config["DIST"] = "raring" | 479 | self.config["DIST"] = "trusty" |
3686 | 500 | for name in ( | 480 | for name in ( |
3687 | 501 | "MD5SUMS", | 481 | "MD5SUMS", |
3690 | 502 | "raring-desktop-amd64.iso", "raring-desktop-amd64.iso.zsync", | 482 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.iso.zsync", |
3691 | 503 | "raring-desktop-i386.iso", "raring-desktop-i386.list", | 483 | "trusty-desktop-i386.iso", "trusty-desktop-i386.list", |
3692 | 504 | ): | 484 | ): |
3693 | 505 | touch(os.path.join(self.directory, name)) | 485 | touch(os.path.join(self.directory, name)) |
3694 | 506 | publisher = Publisher(self.tree, "daily-live") | 486 | publisher = Publisher(self.tree, "daily-live") |
3696 | 507 | publisher.make_web_indices(self.directory, "raring", status="daily") | 487 | publisher.make_web_indices(self.directory, "trusty", status="daily") |
3697 | 508 | 488 | ||
3698 | 509 | self.assertCountEqual([ | 489 | self.assertCountEqual([ |
3699 | 510 | "HEADER.html", "FOOTER.html", ".htaccess", | 490 | "HEADER.html", "FOOTER.html", ".htaccess", |
3700 | 511 | "MD5SUMS", | 491 | "MD5SUMS", |
3703 | 512 | "raring-desktop-amd64.iso", "raring-desktop-amd64.iso.zsync", | 492 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.iso.zsync", |
3704 | 513 | "raring-desktop-i386.iso", "raring-desktop-i386.list", | 493 | "trusty-desktop-i386.iso", "trusty-desktop-i386.list", |
3705 | 514 | ], os.listdir(self.directory)) | 494 | ], os.listdir(self.directory)) |
3706 | 515 | 495 | ||
3707 | 516 | header_path = os.path.join(self.directory, "HEADER.html") | 496 | header_path = os.path.join(self.directory, "HEADER.html") |
3708 | @@ -533,13 +513,13 @@ | |||
3709 | 533 | self.assertEqual( | 513 | self.assertEqual( |
3710 | 534 | "AddDescription \"Desktop image for 64-bit PC (AMD64) " | 514 | "AddDescription \"Desktop image for 64-bit PC (AMD64) " |
3711 | 535 | "computers (<a href=\\\"http://zsync.moria.org.uk/\\\">" | 515 | "computers (<a href=\\\"http://zsync.moria.org.uk/\\\">" |
3713 | 536 | "zsync</a> metafile)\" raring-desktop-amd64.iso.zsync\n" | 516 | "zsync</a> metafile)\" trusty-desktop-amd64.iso.zsync\n" |
3714 | 537 | "AddDescription \"Desktop image for 64-bit PC (AMD64) " | 517 | "AddDescription \"Desktop image for 64-bit PC (AMD64) " |
3720 | 538 | "computers (standard download)\" raring-desktop-amd64.iso\n" | 518 | "computers (standard download)\" trusty-desktop-amd64.iso\n" |
3721 | 539 | "AddDescription \"Desktop image for 32-bit PC (i386) " | 519 | "AddDescription \"Desktop image for 32-bit PC (i386) " |
3722 | 540 | "computers (standard download)\" raring-desktop-i386.iso\n" | 520 | "computers (standard download)\" trusty-desktop-i386.iso\n" |
3723 | 541 | "AddDescription \"Desktop image for 32-bit PC (i386) " | 521 | "AddDescription \"Desktop image for 32-bit PC (i386) " |
3724 | 542 | "computers (file listing)\" raring-desktop-i386.list\n" | 522 | "computers (file listing)\" trusty-desktop-i386.list\n" |
3725 | 543 | "\n" | 523 | "\n" |
3726 | 544 | "HeaderName HEADER.html\n" | 524 | "HeaderName HEADER.html\n" |
3727 | 545 | "ReadmeName FOOTER.html\n" | 525 | "ReadmeName FOOTER.html\n" |
3728 | @@ -739,35 +719,24 @@ | |||
3729 | 739 | ("edubuntu", None, "daily-preinstalled", "i386", 4700372992), | 719 | ("edubuntu", None, "daily-preinstalled", "i386", 4700372992), |
3730 | 740 | ("edubuntu", None, "dvd", "i386", 4700372992), | 720 | ("edubuntu", None, "dvd", "i386", 4700372992), |
3731 | 741 | ("ubuntustudio", None, "dvd", "i386", 4700372992), | 721 | ("ubuntustudio", None, "dvd", "i386", 4700372992), |
3732 | 742 | ("ubuntu-mid", None, "daily-live", "i386", 1073741824), | ||
3733 | 743 | ("ubuntu-moblin-remix", None, "daily-live", "i386", 1073741824), | ||
3734 | 744 | ("kubuntu", "trusty", "daily-live", "i386", 1283457024), | 722 | ("kubuntu", "trusty", "daily-live", "i386", 1283457024), |
3735 | 745 | ("kubuntu", "xenial", "daily-live", "i386", 2000000000), | 723 | ("kubuntu", "xenial", "daily-live", "i386", 2000000000), |
3736 | 746 | ("kubuntu-active", "trusty", "daily-live", "i386", 1283457024), | 724 | ("kubuntu-active", "trusty", "daily-live", "i386", 1283457024), |
3737 | 747 | ("kubuntu-active", "xenial", "daily-live", "i386", 2000000000), | 725 | ("kubuntu-active", "xenial", "daily-live", "i386", 2000000000), |
3738 | 748 | ("kubuntu-plasma5", "trusty", "daily-live", "i386", 1283457024), | ||
3739 | 749 | ("kubuntu-plasma5", "xenial", "daily-live", "i386", 2000000000), | ||
3740 | 750 | ("ubuntu", None, "dvd", "i386", 4700372992), | 726 | ("ubuntu", None, "dvd", "i386", 4700372992), |
3741 | 751 | ("ubuntu", "precise", "daily-live", "i386", 736665600), | 727 | ("ubuntu", "precise", "daily-live", "i386", 736665600), |
3742 | 752 | ("ubuntu", "quantal", "daily-live", "i386", 801000000), | ||
3743 | 753 | ("ubuntu", "raring", "daily-live", "i386", 835000000), | ||
3744 | 754 | ("ubuntu", "raring", "daily-live", "powerpc", 850000000), | ||
3745 | 755 | ("ubuntu", "saucy", "daily-live", "i386", 950000000), | ||
3746 | 756 | ("ubuntu", "saucy", "daily-live", "powerpc", 950000000), | ||
3747 | 757 | ("ubuntu", "trusty", "daily-live", "i386", 1200000000), | 728 | ("ubuntu", "trusty", "daily-live", "i386", 1200000000), |
3748 | 758 | ("ubuntu", "trusty", "daily-live", "powerpc", 1200000000), | 729 | ("ubuntu", "trusty", "daily-live", "powerpc", 1200000000), |
3749 | 759 | ("ubuntu", "xenial", "daily-live", "i386", 2000000000), | 730 | ("ubuntu", "xenial", "daily-live", "i386", 2000000000), |
3750 | 760 | ("xubuntu", "quantal", "daily-live", "i386", 736665600), | ||
3751 | 761 | ("xubuntu", "raring", "daily-live", "i386", 1073741824), | ||
3752 | 762 | ("xubuntu", "xenial", "daily-live", "i386", 2000000000), | 731 | ("xubuntu", "xenial", "daily-live", "i386", 2000000000), |
3754 | 763 | ("ubuntu-gnome", "saucy", "daily-live", "i386", 1073741824), | 732 | ("ubuntu-gnome", "trusty", "daily-live", "i386", 1073741824), |
3755 | 764 | ("ubuntu-gnome", "xenial", "daily-live", "i386", 2000000000), | 733 | ("ubuntu-gnome", "xenial", "daily-live", "i386", 2000000000), |
3757 | 765 | ("ubuntu-budgie", "zesty", "daily-live", "i386", 2000000000), | 734 | ("ubuntu-budgie", "bionic", "daily-live", "i386", 2000000000), |
3758 | 766 | ("ubuntu-mate", "trusty", "daily-live", "amd64", 1073741824), | 735 | ("ubuntu-mate", "trusty", "daily-live", "amd64", 1073741824), |
3759 | 767 | ("ubuntu-mate", "xenial", "daily-live", "amd64", 2000000000), | 736 | ("ubuntu-mate", "xenial", "daily-live", "amd64", 2000000000), |
3760 | 768 | ("ubuntu-server", "xenial", "daily", "amd64", 1073741824), | 737 | ("ubuntu-server", "xenial", "daily", "amd64", 1073741824), |
3763 | 769 | ("ubuntu-server", "zesty", "daily", "amd64", 736665600), | 738 | ("ubuntu-server", "bionic", "daily", "amd64", 1073741824), |
3764 | 770 | ("ubuntu-server", "zesty", "daily", "ppc64el", 1073741824), | 739 | ("ubuntu-server", "bionic", "daily", "ppc64el", 1073741824), |
3765 | 771 | ): | 740 | ): |
3766 | 772 | if dist is not None: | 741 | if dist is not None: |
3767 | 773 | self.config["DIST"] = dist | 742 | self.config["DIST"] = dist |
3768 | @@ -843,27 +812,21 @@ | |||
3769 | 843 | 812 | ||
3770 | 844 | def test_jigdo_ports_powerpc(self): | 813 | def test_jigdo_ports_powerpc(self): |
3771 | 845 | publisher = self.make_publisher("ubuntu", "daily") | 814 | publisher = self.make_publisher("ubuntu", "daily") |
3772 | 846 | for series in all_series[:5]: | ||
3773 | 847 | publisher.config["DIST"] = series | ||
3774 | 848 | self.assertFalse(publisher.jigdo_ports("powerpc")) | ||
3775 | 849 | for series in all_series[5:]: | 815 | for series in all_series[5:]: |
3776 | 850 | publisher.config["DIST"] = series | 816 | publisher.config["DIST"] = series |
3777 | 851 | self.assertTrue(publisher.jigdo_ports("powerpc")) | 817 | self.assertTrue(publisher.jigdo_ports("powerpc")) |
3778 | 852 | 818 | ||
3779 | 853 | def test_jigdo_ports_sparc(self): | 819 | def test_jigdo_ports_sparc(self): |
3780 | 854 | publisher = self.make_publisher("ubuntu", "daily") | 820 | publisher = self.make_publisher("ubuntu", "daily") |
3782 | 855 | for series in all_series[:3] + all_series[7:]: | 821 | for series in all_series[7:]: |
3783 | 856 | publisher.config["DIST"] = series | 822 | publisher.config["DIST"] = series |
3784 | 857 | self.assertTrue(publisher.jigdo_ports("sparc")) | 823 | self.assertTrue(publisher.jigdo_ports("sparc")) |
3785 | 858 | for series in all_series[3:7]: | ||
3786 | 859 | publisher.config["DIST"] = series | ||
3787 | 860 | self.assertFalse(publisher.jigdo_ports("sparc")) | ||
3788 | 861 | 824 | ||
3789 | 862 | def test_jigdo_ports(self): | 825 | def test_jigdo_ports(self): |
3790 | 863 | publisher = self.make_publisher("ubuntu", "daily") | 826 | publisher = self.make_publisher("ubuntu", "daily") |
3791 | 864 | for arch in ("amd64", "i386"): | 827 | for arch in ("amd64", "i386"): |
3792 | 865 | self.assertFalse(publisher.jigdo_ports(arch)) | 828 | self.assertFalse(publisher.jigdo_ports(arch)) |
3794 | 866 | for arch in ("armel", "armhf", "hppa", "ia64", "lpia", "ppc64el", | 829 | for arch in ("armel", "armhf", "hppa", "ia64", "ppc64el", |
3795 | 867 | "s390x"): | 830 | "s390x"): |
3796 | 868 | self.assertTrue(publisher.jigdo_ports(arch)) | 831 | self.assertTrue(publisher.jigdo_ports(arch)) |
3797 | 869 | 832 | ||
3798 | @@ -921,7 +884,7 @@ | |||
3799 | 921 | return_value="img.xz") | 884 | return_value="img.xz") |
3800 | 922 | @mock.patch("cdimage.tree.zsyncmake") | 885 | @mock.patch("cdimage.tree.zsyncmake") |
3801 | 923 | def test_publish_core_binary(self, mock_zsyncmake, *args): | 886 | def test_publish_core_binary(self, mock_zsyncmake, *args): |
3803 | 924 | self.config["DIST"] = "artful" | 887 | self.config["DIST"] = "xenial" |
3804 | 925 | publisher = self.make_publisher("ubuntu-core", "daily-live") | 888 | publisher = self.make_publisher("ubuntu-core", "daily-live") |
3805 | 926 | source_dir = publisher.image_output("amd64") | 889 | source_dir = publisher.image_output("amd64") |
3806 | 927 | touch(os.path.join( | 890 | touch(os.path.join( |
3807 | @@ -1025,17 +988,17 @@ | |||
3808 | 1025 | os.readlink(os.path.join(publisher.publish_base, "current"))) | 988 | os.readlink(os.path.join(publisher.publish_base, "current"))) |
3809 | 1026 | 989 | ||
3810 | 1027 | def test_published_images(self): | 990 | def test_published_images(self): |
3812 | 1028 | self.config["DIST"] = "raring" | 991 | self.config["DIST"] = "trusty" |
3813 | 1029 | publisher = self.make_publisher("ubuntu", "daily-live") | 992 | publisher = self.make_publisher("ubuntu", "daily-live") |
3814 | 1030 | target_dir = os.path.join(publisher.publish_base, "20130321") | 993 | target_dir = os.path.join(publisher.publish_base, "20130321") |
3815 | 1031 | for name in ( | 994 | for name in ( |
3816 | 1032 | "MD5SUMS", | 995 | "MD5SUMS", |
3819 | 1033 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 996 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
3820 | 1034 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 997 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
3821 | 1035 | ): | 998 | ): |
3822 | 1036 | touch(os.path.join(target_dir, name)) | 999 | touch(os.path.join(target_dir, name)) |
3823 | 1037 | self.assertEqual( | 1000 | self.assertEqual( |
3825 | 1038 | set(["raring-desktop-amd64.iso", "raring-desktop-i386.iso"]), | 1001 | set(["trusty-desktop-amd64.iso", "trusty-desktop-i386.iso"]), |
3826 | 1039 | publisher.published_images("20130321")) | 1002 | publisher.published_images("20130321")) |
3827 | 1040 | 1003 | ||
3828 | 1041 | def test_published_core_images(self): | 1004 | def test_published_core_images(self): |
3829 | @@ -1057,12 +1020,12 @@ | |||
3830 | 1057 | 1020 | ||
3831 | 1058 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") | 1021 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") |
3832 | 1059 | def test_mark_current_missing_to_single(self, mock_polish_directory): | 1022 | def test_mark_current_missing_to_single(self, mock_polish_directory): |
3834 | 1060 | self.config["DIST"] = "raring" | 1023 | self.config["DIST"] = "trusty" |
3835 | 1061 | publisher = self.make_publisher("ubuntu", "daily-live") | 1024 | publisher = self.make_publisher("ubuntu", "daily-live") |
3836 | 1062 | target_dir = os.path.join(publisher.publish_base, "20130321") | 1025 | target_dir = os.path.join(publisher.publish_base, "20130321") |
3837 | 1063 | for name in ( | 1026 | for name in ( |
3840 | 1064 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1027 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
3841 | 1065 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1028 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
3842 | 1066 | ): | 1029 | ): |
3843 | 1067 | touch(os.path.join(target_dir, name)) | 1030 | touch(os.path.join(target_dir, name)) |
3844 | 1068 | publisher.mark_current("20130321", ["amd64", "i386"]) | 1031 | publisher.mark_current("20130321", ["amd64", "i386"]) |
3845 | @@ -1073,13 +1036,13 @@ | |||
3846 | 1073 | 1036 | ||
3847 | 1074 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") | 1037 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") |
3848 | 1075 | def test_mark_current_missing_to_mixed(self, mock_polish_directory): | 1038 | def test_mark_current_missing_to_mixed(self, mock_polish_directory): |
3850 | 1076 | self.config["DIST"] = "raring" | 1039 | self.config["DIST"] = "trusty" |
3851 | 1077 | publisher = self.make_publisher("ubuntu", "daily-live") | 1040 | publisher = self.make_publisher("ubuntu", "daily-live") |
3852 | 1078 | target_dir = os.path.join(publisher.publish_base, "20130321") | 1041 | target_dir = os.path.join(publisher.publish_base, "20130321") |
3853 | 1079 | for name in ( | 1042 | for name in ( |
3854 | 1080 | "MD5SUMS", | 1043 | "MD5SUMS", |
3857 | 1081 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1044 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
3858 | 1082 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1045 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
3859 | 1083 | ): | 1046 | ): |
3860 | 1084 | touch(os.path.join(target_dir, name)) | 1047 | touch(os.path.join(target_dir, name)) |
3861 | 1085 | publisher.mark_current("20130321", ["amd64"]) | 1048 | publisher.mark_current("20130321", ["amd64"]) |
3862 | @@ -1087,10 +1050,10 @@ | |||
3863 | 1087 | self.assertFalse(os.path.islink(publish_current)) | 1050 | self.assertFalse(os.path.islink(publish_current)) |
3864 | 1088 | self.assertTrue(os.path.isdir(publish_current)) | 1051 | self.assertTrue(os.path.isdir(publish_current)) |
3865 | 1089 | self.assertCountEqual( | 1052 | self.assertCountEqual( |
3867 | 1090 | ["raring-desktop-amd64.iso", "raring-desktop-amd64.manifest"], | 1053 | ["trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest"], |
3868 | 1091 | os.listdir(publish_current)) | 1054 | os.listdir(publish_current)) |
3869 | 1092 | for name in ( | 1055 | for name in ( |
3871 | 1093 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1056 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
3872 | 1094 | ): | 1057 | ): |
3873 | 1095 | path = os.path.join(publish_current, name) | 1058 | path = os.path.join(publish_current, name) |
3874 | 1096 | self.assertTrue(os.path.islink(path)) | 1059 | self.assertTrue(os.path.islink(path)) |
3875 | @@ -1101,12 +1064,12 @@ | |||
3876 | 1101 | 1064 | ||
3877 | 1102 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") | 1065 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") |
3878 | 1103 | def test_mark_current_single_to_single(self, mock_polish_directory): | 1066 | def test_mark_current_single_to_single(self, mock_polish_directory): |
3880 | 1104 | self.config["DIST"] = "raring" | 1067 | self.config["DIST"] = "trusty" |
3881 | 1105 | publisher = self.make_publisher("ubuntu", "daily-live") | 1068 | publisher = self.make_publisher("ubuntu", "daily-live") |
3882 | 1106 | for date in "20130320", "20130321": | 1069 | for date in "20130320", "20130321": |
3883 | 1107 | for name in ( | 1070 | for name in ( |
3886 | 1108 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1071 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
3887 | 1109 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1072 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
3888 | 1110 | ): | 1073 | ): |
3889 | 1111 | touch(os.path.join(publisher.publish_base, date, name)) | 1074 | touch(os.path.join(publisher.publish_base, date, name)) |
3890 | 1112 | publish_current = os.path.join(publisher.publish_base, "current") | 1075 | publish_current = os.path.join(publisher.publish_base, "current") |
3891 | @@ -1118,13 +1081,13 @@ | |||
3892 | 1118 | 1081 | ||
3893 | 1119 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") | 1082 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") |
3894 | 1120 | def test_mark_current_single_to_mixed(self, mock_polish_directory): | 1083 | def test_mark_current_single_to_mixed(self, mock_polish_directory): |
3896 | 1121 | self.config["DIST"] = "raring" | 1084 | self.config["DIST"] = "trusty" |
3897 | 1122 | publisher = self.make_publisher("ubuntu", "daily-live") | 1085 | publisher = self.make_publisher("ubuntu", "daily-live") |
3898 | 1123 | for date in "20130320", "20130321": | 1086 | for date in "20130320", "20130321": |
3899 | 1124 | for name in ( | 1087 | for name in ( |
3900 | 1125 | "MD5SUMS", | 1088 | "MD5SUMS", |
3903 | 1126 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1089 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
3904 | 1127 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1090 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
3905 | 1128 | ): | 1091 | ): |
3906 | 1129 | touch(os.path.join(publisher.publish_base, date, name)) | 1092 | touch(os.path.join(publisher.publish_base, date, name)) |
3907 | 1130 | publish_current = os.path.join(publisher.publish_base, "current") | 1093 | publish_current = os.path.join(publisher.publish_base, "current") |
3908 | @@ -1133,13 +1096,13 @@ | |||
3909 | 1133 | self.assertFalse(os.path.islink(publish_current)) | 1096 | self.assertFalse(os.path.islink(publish_current)) |
3910 | 1134 | self.assertTrue(os.path.isdir(publish_current)) | 1097 | self.assertTrue(os.path.isdir(publish_current)) |
3911 | 1135 | self.assertCountEqual([ | 1098 | self.assertCountEqual([ |
3914 | 1136 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1099 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
3915 | 1137 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1100 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
3916 | 1138 | ], os.listdir(publish_current)) | 1101 | ], os.listdir(publish_current)) |
3917 | 1139 | for date, arch in (("20130320", "i386"), ("20130321", "amd64")): | 1102 | for date, arch in (("20130320", "i386"), ("20130321", "amd64")): |
3918 | 1140 | for name in ( | 1103 | for name in ( |
3921 | 1141 | "raring-desktop-%s.iso" % arch, | 1104 | "trusty-desktop-%s.iso" % arch, |
3922 | 1142 | "raring-desktop-%s.manifest" % arch, | 1105 | "trusty-desktop-%s.manifest" % arch, |
3923 | 1143 | ): | 1106 | ): |
3924 | 1144 | path = os.path.join(publish_current, name) | 1107 | path = os.path.join(publish_current, name) |
3925 | 1145 | self.assertTrue(os.path.islink(path)) | 1108 | self.assertTrue(os.path.islink(path)) |
3926 | @@ -1153,21 +1116,21 @@ | |||
3927 | 1153 | 1116 | ||
3928 | 1154 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") | 1117 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") |
3929 | 1155 | def test_mark_current_mixed_to_single(self, mock_polish_directory): | 1118 | def test_mark_current_mixed_to_single(self, mock_polish_directory): |
3931 | 1156 | self.config["DIST"] = "raring" | 1119 | self.config["DIST"] = "trusty" |
3932 | 1157 | publisher = self.make_publisher("ubuntu", "daily-live") | 1120 | publisher = self.make_publisher("ubuntu", "daily-live") |
3933 | 1158 | for date in "20130320", "20130321": | 1121 | for date in "20130320", "20130321": |
3934 | 1159 | for name in ( | 1122 | for name in ( |
3935 | 1160 | "MD5SUMS", | 1123 | "MD5SUMS", |
3938 | 1161 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1124 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
3939 | 1162 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1125 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
3940 | 1163 | ): | 1126 | ): |
3941 | 1164 | touch(os.path.join(publisher.publish_base, date, name)) | 1127 | touch(os.path.join(publisher.publish_base, date, name)) |
3942 | 1165 | publish_current = os.path.join(publisher.publish_base, "current") | 1128 | publish_current = os.path.join(publisher.publish_base, "current") |
3943 | 1166 | osextras.ensuredir(publish_current) | 1129 | osextras.ensuredir(publish_current) |
3944 | 1167 | for date, arch in (("20130320", "i386"), ("20130321", "amd64")): | 1130 | for date, arch in (("20130320", "i386"), ("20130321", "amd64")): |
3945 | 1168 | for name in ( | 1131 | for name in ( |
3948 | 1169 | "raring-desktop-%s.iso" % arch, | 1132 | "trusty-desktop-%s.iso" % arch, |
3949 | 1170 | "raring-desktop-%s.manifest" % arch, | 1133 | "trusty-desktop-%s.manifest" % arch, |
3950 | 1171 | ): | 1134 | ): |
3951 | 1172 | os.symlink( | 1135 | os.symlink( |
3952 | 1173 | os.path.join(os.pardir, date, name), | 1136 | os.path.join(os.pardir, date, name), |
3953 | @@ -1179,25 +1142,25 @@ | |||
3954 | 1179 | 1142 | ||
3955 | 1180 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") | 1143 | @mock.patch("cdimage.tree.DailyTreePublisher.polish_directory") |
3956 | 1181 | def test_mark_current_mixed_to_mixed(self, mock_polish_directory): | 1144 | def test_mark_current_mixed_to_mixed(self, mock_polish_directory): |
3958 | 1182 | self.config["DIST"] = "raring" | 1145 | self.config["DIST"] = "trusty" |
3959 | 1183 | publisher = self.make_publisher("ubuntu", "daily-live") | 1146 | publisher = self.make_publisher("ubuntu", "daily-live") |
3960 | 1184 | for date in "20130320", "20130321": | 1147 | for date in "20130320", "20130321": |
3961 | 1185 | for name in ( | 1148 | for name in ( |
3962 | 1186 | "MD5SUMS", | 1149 | "MD5SUMS", |
3969 | 1187 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1150 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
3970 | 1188 | "raring-desktop-amd64+mac.iso", | 1151 | "trusty-desktop-amd64+mac.iso", |
3971 | 1189 | "raring-desktop-amd64+mac.manifest", | 1152 | "trusty-desktop-amd64+mac.manifest", |
3972 | 1190 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1153 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
3973 | 1191 | "raring-desktop-powerpc.iso", | 1154 | "trusty-desktop-powerpc.iso", |
3974 | 1192 | "raring-desktop-powerpc.manifest", | 1155 | "trusty-desktop-powerpc.manifest", |
3975 | 1193 | ): | 1156 | ): |
3976 | 1194 | touch(os.path.join(publisher.publish_base, date, name)) | 1157 | touch(os.path.join(publisher.publish_base, date, name)) |
3977 | 1195 | publish_current = os.path.join(publisher.publish_base, "current") | 1158 | publish_current = os.path.join(publisher.publish_base, "current") |
3978 | 1196 | osextras.ensuredir(publish_current) | 1159 | osextras.ensuredir(publish_current) |
3979 | 1197 | for date, arch in (("20130320", "i386"), ("20130321", "amd64")): | 1160 | for date, arch in (("20130320", "i386"), ("20130321", "amd64")): |
3980 | 1198 | for name in ( | 1161 | for name in ( |
3983 | 1199 | "raring-desktop-%s.iso" % arch, | 1162 | "trusty-desktop-%s.iso" % arch, |
3984 | 1200 | "raring-desktop-%s.manifest" % arch, | 1163 | "trusty-desktop-%s.manifest" % arch, |
3985 | 1201 | ): | 1164 | ): |
3986 | 1202 | os.symlink( | 1165 | os.symlink( |
3987 | 1203 | os.path.join(os.pardir, date, name), | 1166 | os.path.join(os.pardir, date, name), |
3988 | @@ -1206,12 +1169,12 @@ | |||
3989 | 1206 | self.assertFalse(os.path.islink(publish_current)) | 1169 | self.assertFalse(os.path.islink(publish_current)) |
3990 | 1207 | self.assertTrue(os.path.isdir(publish_current)) | 1170 | self.assertTrue(os.path.isdir(publish_current)) |
3991 | 1208 | self.assertCountEqual([ | 1171 | self.assertCountEqual([ |
3994 | 1209 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1172 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
3995 | 1210 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1173 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
3996 | 1211 | ], os.listdir(publish_current)) | 1174 | ], os.listdir(publish_current)) |
3997 | 1212 | for name in ( | 1175 | for name in ( |
4000 | 1213 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1176 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
4001 | 1214 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1177 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
4002 | 1215 | ): | 1178 | ): |
4003 | 1216 | path = os.path.join(publish_current, name) | 1179 | path = os.path.join(publish_current, name) |
4004 | 1217 | self.assertTrue(os.path.islink(path)) | 1180 | self.assertTrue(os.path.islink(path)) |
4005 | @@ -1227,19 +1190,19 @@ | |||
4006 | 1227 | self.assertFalse(os.path.islink(publish_current)) | 1190 | self.assertFalse(os.path.islink(publish_current)) |
4007 | 1228 | self.assertTrue(os.path.isdir(publish_current)) | 1191 | self.assertTrue(os.path.isdir(publish_current)) |
4008 | 1229 | self.assertCountEqual([ | 1192 | self.assertCountEqual([ |
4014 | 1230 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1193 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
4015 | 1231 | "raring-desktop-amd64+mac.iso", | 1194 | "trusty-desktop-amd64+mac.iso", |
4016 | 1232 | "raring-desktop-amd64+mac.manifest", | 1195 | "trusty-desktop-amd64+mac.manifest", |
4017 | 1233 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1196 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
4018 | 1234 | "raring-desktop-powerpc.iso", "raring-desktop-powerpc.manifest", | 1197 | "trusty-desktop-powerpc.iso", "trusty-desktop-powerpc.manifest", |
4019 | 1235 | ], os.listdir(publish_current)) | 1198 | ], os.listdir(publish_current)) |
4020 | 1236 | for date, arch in ( | 1199 | for date, arch in ( |
4021 | 1237 | ("20130320", "amd64+mac"), ("20130320", "powerpc"), | 1200 | ("20130320", "amd64+mac"), ("20130320", "powerpc"), |
4022 | 1238 | ("20130321", "amd64"), ("20130321", "i386"), | 1201 | ("20130321", "amd64"), ("20130321", "i386"), |
4023 | 1239 | ): | 1202 | ): |
4024 | 1240 | for name in ( | 1203 | for name in ( |
4027 | 1241 | "raring-desktop-%s.iso" % arch, | 1204 | "trusty-desktop-%s.iso" % arch, |
4028 | 1242 | "raring-desktop-%s.manifest" % arch, | 1205 | "trusty-desktop-%s.manifest" % arch, |
4029 | 1243 | ): | 1206 | ): |
4030 | 1244 | path = os.path.join(publish_current, name) | 1207 | path = os.path.join(publish_current, name) |
4031 | 1245 | self.assertTrue(os.path.islink(path)) | 1208 | self.assertTrue(os.path.islink(path)) |
4032 | @@ -1257,8 +1220,8 @@ | |||
4033 | 1257 | publisher = self.make_publisher("ubuntu", "daily-live") | 1220 | publisher = self.make_publisher("ubuntu", "daily-live") |
4034 | 1258 | old_target_dir = os.path.join(publisher.publish_base, "20130321") | 1221 | old_target_dir = os.path.join(publisher.publish_base, "20130321") |
4035 | 1259 | for name in ( | 1222 | for name in ( |
4038 | 1260 | "raring-desktop-amd64.iso", "raring-desktop-amd64.manifest", | 1223 | "trusty-desktop-amd64.iso", "trusty-desktop-amd64.manifest", |
4039 | 1261 | "raring-desktop-i386.iso", "raring-desktop-i386.manifest", | 1224 | "trusty-desktop-i386.iso", "trusty-desktop-i386.manifest", |
4040 | 1262 | ): | 1225 | ): |
4041 | 1263 | touch(os.path.join(old_target_dir, name)) | 1226 | touch(os.path.join(old_target_dir, name)) |
4042 | 1264 | target_dir = os.path.join(publisher.publish_base, "20130921") | 1227 | target_dir = os.path.join(publisher.publish_base, "20130921") |
4043 | @@ -1292,8 +1255,6 @@ | |||
4044 | 1292 | ("ubuntu", "daily-live", "desktop", "Ubuntu Desktop"), | 1255 | ("ubuntu", "daily-live", "desktop", "Ubuntu Desktop"), |
4045 | 1293 | ("kubuntu", "daily-live", "desktop", "Kubuntu Desktop"), | 1256 | ("kubuntu", "daily-live", "desktop", "Kubuntu Desktop"), |
4046 | 1294 | ("kubuntu-active", "daily-live", "desktop", "Kubuntu Active"), | 1257 | ("kubuntu-active", "daily-live", "desktop", "Kubuntu Active"), |
4047 | 1295 | ("kubuntu-plasma5", "daily-live", "desktop", | ||
4048 | 1296 | "Kubuntu Plasma 5 Desktop"), | ||
4049 | 1297 | ("edubuntu", "dvd", "dvd", "Edubuntu DVD"), | 1258 | ("edubuntu", "dvd", "dvd", "Edubuntu DVD"), |
4050 | 1298 | ("xubuntu", "daily-live", "desktop", "Xubuntu Desktop"), | 1259 | ("xubuntu", "daily-live", "desktop", "Xubuntu Desktop"), |
4051 | 1299 | ("ubuntu-server", "daily", "server", "Ubuntu Server"), | 1260 | ("ubuntu-server", "daily", "server", "Ubuntu Server"), |
4052 | @@ -1308,8 +1269,6 @@ | |||
4053 | 1308 | ("ubuntu-budgie", "daily-live", "desktop", | 1269 | ("ubuntu-budgie", "daily-live", "desktop", |
4054 | 1309 | "Ubuntu Budgie Desktop"), | 1270 | "Ubuntu Budgie Desktop"), |
4055 | 1310 | ("ubuntu-mate", "daily-live", "desktop", "Ubuntu MATE Desktop"), | 1271 | ("ubuntu-mate", "daily-live", "desktop", "Ubuntu MATE Desktop"), |
4056 | 1311 | ("ubuntu-desktop-next", "daily-preinstalled", | ||
4057 | 1312 | "preinstalled-desktop-next", "Ubuntu Desktop (Unity 8)"), | ||
4058 | 1313 | ): | 1272 | ): |
4059 | 1314 | # Use "daily" here to match bin/post-qa; qa_product shouldn't | 1273 | # Use "daily" here to match bin/post-qa; qa_product shouldn't |
4060 | 1315 | # use the publisher's image_type at all. | 1274 | # use the publisher's image_type at all. |
4061 | @@ -1335,15 +1294,6 @@ | |||
4062 | 1335 | "ubuntu-touch", "daily-preinstalled", "preinstalled-touch", | 1294 | "ubuntu-touch", "daily-preinstalled", "preinstalled-touch", |
4063 | 1336 | "armhf")) | 1295 | "armhf")) |
4064 | 1337 | 1296 | ||
4065 | 1338 | def test_qa_product_ubuntu_touch_custom(self): | ||
4066 | 1339 | publisher = self.make_publisher( | ||
4067 | 1340 | "ubuntu-touch-custom", "daily-preinstalled") | ||
4068 | 1341 | self.assertEqual( | ||
4069 | 1342 | ("Ubuntu Touch Custom armhf", "iso"), | ||
4070 | 1343 | publisher.qa_product( | ||
4071 | 1344 | "ubuntu-touch-custom", "daily-preinstalled", | ||
4072 | 1345 | "preinstalled-touch", "armhf")) | ||
4073 | 1346 | |||
4074 | 1347 | def test_qa_product_ubuntu_preinstalled(self): | 1297 | def test_qa_product_ubuntu_preinstalled(self): |
4075 | 1348 | publisher = self.make_publisher("ubuntu", "daily") | 1298 | publisher = self.make_publisher("ubuntu", "daily") |
4076 | 1349 | self.assertEqual( | 1299 | self.assertEqual( |
4077 | @@ -1365,8 +1315,6 @@ | |||
4078 | 1365 | ("ubuntu", "daily-live", "desktop", "Ubuntu Desktop"), | 1315 | ("ubuntu", "daily-live", "desktop", "Ubuntu Desktop"), |
4079 | 1366 | ("kubuntu", "daily-live", "desktop", "Kubuntu Desktop"), | 1316 | ("kubuntu", "daily-live", "desktop", "Kubuntu Desktop"), |
4080 | 1367 | ("kubuntu-active", "daily-live", "desktop", "Kubuntu Active"), | 1317 | ("kubuntu-active", "daily-live", "desktop", "Kubuntu Active"), |
4081 | 1368 | ("kubuntu-plasma5", "daily-live", "desktop", | ||
4082 | 1369 | "Kubuntu Plasma 5 Desktop"), | ||
4083 | 1370 | ("edubuntu", "dvd", "dvd", "Edubuntu DVD"), | 1318 | ("edubuntu", "dvd", "dvd", "Edubuntu DVD"), |
4084 | 1371 | ("xubuntu", "daily-live", "desktop", "Xubuntu Desktop"), | 1319 | ("xubuntu", "daily-live", "desktop", "Xubuntu Desktop"), |
4085 | 1372 | ("ubuntu-server", "daily", "server", "Ubuntu Server"), | 1320 | ("ubuntu-server", "daily", "server", "Ubuntu Server"), |
4086 | @@ -1381,8 +1329,6 @@ | |||
4087 | 1381 | ("ubuntu-budgie", "daily-live", "desktop", | 1329 | ("ubuntu-budgie", "daily-live", "desktop", |
4088 | 1382 | "Ubuntu Budgie Desktop"), | 1330 | "Ubuntu Budgie Desktop"), |
4089 | 1383 | ("ubuntu-mate", "daily-live", "desktop", "Ubuntu MATE Desktop"), | 1331 | ("ubuntu-mate", "daily-live", "desktop", "Ubuntu MATE Desktop"), |
4090 | 1384 | ("ubuntu-desktop-next/system-image", "daily-preinstalled", | ||
4091 | 1385 | "preinstalled-desktop-next", "Ubuntu Desktop (Unity 8)"), | ||
4092 | 1386 | ): | 1332 | ): |
4093 | 1387 | # Use "daily" here to match bin/post-qa; qa_product shouldn't | 1333 | # Use "daily" here to match bin/post-qa; qa_product shouldn't |
4094 | 1388 | # use the publisher's image_type at all. | 1334 | # use the publisher's image_type at all. |
4095 | @@ -1405,14 +1351,14 @@ | |||
4096 | 1405 | os.makedirs(os.path.join(publisher.publish_base, "20130221")) | 1351 | os.makedirs(os.path.join(publisher.publish_base, "20130221")) |
4097 | 1406 | publisher.post_qa( | 1352 | publisher.post_qa( |
4098 | 1407 | "20130221", [ | 1353 | "20130221", [ |
4101 | 1408 | "ubuntu/daily-live/raring-desktop-i386", | 1354 | "ubuntu/daily-live/trusty-desktop-i386", |
4102 | 1409 | "ubuntu/daily-live/raring-desktop-amd64", | 1355 | "ubuntu/daily-live/trusty-desktop-amd64", |
4103 | 1410 | ]) | 1356 | ]) |
4104 | 1411 | expected = [ | 1357 | expected = [ |
4105 | 1412 | ["Ubuntu Desktop i386", "20130221", ""], | 1358 | ["Ubuntu Desktop i386", "20130221", ""], |
4106 | 1413 | ["Ubuntu Desktop amd64", "20130221", ""], | 1359 | ["Ubuntu Desktop amd64", "20130221", ""], |
4107 | 1414 | ] | 1360 | ] |
4109 | 1415 | self.assertEqual("iso-raring", isotracker_module.tracker.target) | 1361 | self.assertEqual("iso-trusty", isotracker_module.tracker.target) |
4110 | 1416 | self.assertEqual(expected, isotracker_module.tracker.posted) | 1362 | self.assertEqual(expected, isotracker_module.tracker.posted) |
4111 | 1417 | 1363 | ||
4112 | 1418 | os.makedirs(os.path.join( | 1364 | os.makedirs(os.path.join( |
4113 | @@ -1434,14 +1380,14 @@ | |||
4114 | 1434 | publisher = self.make_publisher("ubuntu", "daily-live") | 1380 | publisher = self.make_publisher("ubuntu", "daily-live") |
4115 | 1435 | touch(os.path.join( | 1381 | touch(os.path.join( |
4116 | 1436 | self.temp_dir, "www", "full", "daily-live", "20130315", | 1382 | self.temp_dir, "www", "full", "daily-live", "20130315", |
4118 | 1437 | "raring-desktop-i386.OVERSIZED")) | 1383 | "trusty-desktop-i386.OVERSIZED")) |
4119 | 1438 | publisher.post_qa( | 1384 | publisher.post_qa( |
4121 | 1439 | "20130315", ["ubuntu/daily-live/raring-desktop-i386"]) | 1385 | "20130315", ["ubuntu/daily-live/trusty-desktop-i386"]) |
4122 | 1440 | expected_note = ( | 1386 | expected_note = ( |
4123 | 1441 | "<strong>WARNING: This image is OVERSIZED. This should never " | 1387 | "<strong>WARNING: This image is OVERSIZED. This should never " |
4124 | 1442 | "happen during milestone testing.</strong>") | 1388 | "happen during milestone testing.</strong>") |
4125 | 1443 | expected = [["Ubuntu Desktop i386", "20130315", expected_note]] | 1389 | expected = [["Ubuntu Desktop i386", "20130315", expected_note]] |
4127 | 1444 | self.assertEqual("iso-raring", isotracker_module.tracker.target) | 1390 | self.assertEqual("iso-trusty", isotracker_module.tracker.target) |
4128 | 1445 | self.assertEqual(expected, isotracker_module.tracker.posted) | 1391 | self.assertEqual(expected, isotracker_module.tracker.posted) |
4129 | 1446 | 1392 | ||
4130 | 1447 | publisher = self.make_publisher("kubuntu", "daily-live") | 1393 | publisher = self.make_publisher("kubuntu", "daily-live") |
4131 | @@ -1463,7 +1409,7 @@ | |||
4132 | 1463 | self.assertRaisesRegex( | 1409 | self.assertRaisesRegex( |
4133 | 1464 | Exception, r"Cannot post images from nonexistent directory: .*", | 1410 | Exception, r"Cannot post images from nonexistent directory: .*", |
4134 | 1465 | publisher.post_qa, "bad-date", | 1411 | publisher.post_qa, "bad-date", |
4136 | 1466 | ["ubuntu/daily-live/raring-desktop-i386"]) | 1412 | ["ubuntu/daily-live/trusty-desktop-i386"]) |
4137 | 1467 | 1413 | ||
4138 | 1468 | @mock.patch("subprocess.call", return_value=0) | 1414 | @mock.patch("subprocess.call", return_value=0) |
4139 | 1469 | @mock.patch("cdimage.tree.DailyTreePublisher.make_web_indices") | 1415 | @mock.patch("cdimage.tree.DailyTreePublisher.make_web_indices") |
4140 | @@ -1652,8 +1598,8 @@ | |||
4141 | 1652 | publish_current = os.path.join(publisher.publish_base, "current") | 1598 | publish_current = os.path.join(publisher.publish_base, "current") |
4142 | 1653 | os.makedirs(publish_current) | 1599 | os.makedirs(publish_current) |
4143 | 1654 | os.symlink( | 1600 | os.symlink( |
4146 | 1655 | os.path.join(os.pardir, "20130319", "raring-desktop-i386.iso"), | 1601 | os.path.join(os.pardir, "20130319", "trusty-desktop-i386.iso"), |
4147 | 1656 | os.path.join(publish_current, "raring-desktop-i386.iso")) | 1602 | os.path.join(publish_current, "trusty-desktop-i386.iso")) |
4148 | 1657 | with mkfile(os.path.join( | 1603 | with mkfile(os.path.join( |
4149 | 1658 | self.temp_dir, "etc", "purge-days")) as purge_days: | 1604 | self.temp_dir, "etc", "purge-days")) as purge_days: |
4150 | 1659 | print("daily 1", file=purge_days) | 1605 | print("daily 1", file=purge_days) |
4151 | @@ -1805,16 +1751,10 @@ | |||
4152 | 1805 | return publisher | 1751 | return publisher |
4153 | 1806 | 1752 | ||
4154 | 1807 | def test_image_output(self): | 1753 | def test_image_output(self): |
4165 | 1808 | self.config["DIST"] = "natty" | 1754 | self.config["DIST"] = "precise" |
4166 | 1809 | self.assertEqual( | 1755 | self.assertEqual( |
4167 | 1810 | os.path.join( | 1756 | os.path.join( |
4168 | 1811 | self.config.root, "scratch", "ubuntu-chinese-edition", | 1757 | self.config.root, "scratch", "ubuntu-zh_CN", "precise", |
4159 | 1812 | "natty"), | ||
4160 | 1813 | self.make_publisher("ubuntu", "daily-live").image_output("i386")) | ||
4161 | 1814 | self.config["DIST"] = "oneiric" | ||
4162 | 1815 | self.assertEqual( | ||
4163 | 1816 | os.path.join( | ||
4164 | 1817 | self.config.root, "scratch", "ubuntu-zh_CN", "oneiric", | ||
4169 | 1818 | "daily-live", "live"), | 1758 | "daily-live", "live"), |
4170 | 1819 | self.make_publisher("ubuntu", "daily-live").image_output("i386")) | 1759 | self.make_publisher("ubuntu", "daily-live").image_output("i386")) |
4171 | 1820 | 1760 | ||
4172 | @@ -1906,15 +1846,15 @@ | |||
4173 | 1906 | def test_post_qa_oversized(self): | 1846 | def test_post_qa_oversized(self): |
4174 | 1907 | publisher = self.make_publisher("ubuntu", "daily-live") | 1847 | publisher = self.make_publisher("ubuntu", "daily-live") |
4175 | 1908 | touch(os.path.join( | 1848 | touch(os.path.join( |
4178 | 1909 | self.temp_dir, "www", "china-images", "raring", "daily-live", | 1849 | self.temp_dir, "www", "china-images", "trusty", "daily-live", |
4179 | 1910 | "20130315", "raring-desktop-i386.OVERSIZED")) | 1850 | "20130315", "trusty-desktop-i386.OVERSIZED")) |
4180 | 1911 | publisher.post_qa( | 1851 | publisher.post_qa( |
4182 | 1912 | "20130315", ["ubuntu-zh_CN/raring/daily-live/raring-desktop-i386"]) | 1852 | "20130315", ["ubuntu-zh_CN/trusty/daily-live/trusty-desktop-i386"]) |
4183 | 1913 | expected_note = ( | 1853 | expected_note = ( |
4184 | 1914 | "<strong>WARNING: This image is OVERSIZED. This should never " | 1854 | "<strong>WARNING: This image is OVERSIZED. This should never " |
4185 | 1915 | "happen during milestone testing.</strong>") | 1855 | "happen during milestone testing.</strong>") |
4186 | 1916 | expected = [["Ubuntu Chinese Desktop i386", "20130315", expected_note]] | 1856 | expected = [["Ubuntu Chinese Desktop i386", "20130315", expected_note]] |
4188 | 1917 | self.assertEqual("localized-iso-china-raring", | 1857 | self.assertEqual("localized-iso-china-trusty", |
4189 | 1918 | isotracker_module.tracker.target) | 1858 | isotracker_module.tracker.target) |
4190 | 1919 | self.assertEqual(expected, isotracker_module.tracker.posted) | 1859 | self.assertEqual(expected, isotracker_module.tracker.posted) |
4191 | 1920 | 1860 | ||
4192 | @@ -2123,18 +2063,18 @@ | |||
4193 | 2123 | 2063 | ||
4194 | 2124 | def test_daily_base(self): | 2064 | def test_daily_base(self): |
4195 | 2125 | self.config["PROJECT"] = "ubuntu" | 2065 | self.config["PROJECT"] = "ubuntu" |
4197 | 2126 | self.config["DIST"] = "quantal" | 2066 | self.config["DIST"] = "trusty" |
4198 | 2127 | self.assertEqual( | 2067 | self.assertEqual( |
4199 | 2128 | os.path.join( | 2068 | os.path.join( |
4201 | 2129 | self.temp_dir, "www", "full", "quantal", "daily", "20130327", | 2069 | self.temp_dir, "www", "full", "trusty", "daily", "20130327", |
4202 | 2130 | "i386"), | 2070 | "i386"), |
4203 | 2131 | self.get_publisher().daily_base( | 2071 | self.get_publisher().daily_base( |
4206 | 2132 | "quantal/daily", "20130327", "wubi", "i386")) | 2072 | "trusty/daily", "20130327", "wubi", "i386")) |
4207 | 2133 | self.config["DIST"] = "raring" | 2073 | self.config["DIST"] = "trusty" |
4208 | 2134 | self.assertEqual( | 2074 | self.assertEqual( |
4209 | 2135 | os.path.join( | 2075 | os.path.join( |
4210 | 2136 | self.temp_dir, "www", "full", "daily-live", "20130327", | 2076 | self.temp_dir, "www", "full", "daily-live", "20130327", |
4212 | 2137 | "raring-desktop-i386"), | 2077 | "trusty-desktop-i386"), |
4213 | 2138 | self.get_publisher().daily_base( | 2078 | self.get_publisher().daily_base( |
4214 | 2139 | "daily-live", "20130327", "desktop", "i386")) | 2079 | "daily-live", "20130327", "desktop", "i386")) |
4215 | 2140 | 2080 | ||
4216 | @@ -2191,7 +2131,7 @@ | |||
4217 | 2191 | def test_symlink(self): | 2131 | def test_symlink(self): |
4218 | 2192 | pool_path = os.path.join(self.temp_dir, ".pool", "foo.iso") | 2132 | pool_path = os.path.join(self.temp_dir, ".pool", "foo.iso") |
4219 | 2193 | touch(pool_path) | 2133 | touch(pool_path) |
4221 | 2194 | dist_path = os.path.join(self.temp_dir, "raring", "foo.iso") | 2134 | dist_path = os.path.join(self.temp_dir, "trusty", "foo.iso") |
4222 | 2195 | os.makedirs(os.path.dirname(dist_path)) | 2135 | os.makedirs(os.path.dirname(dist_path)) |
4223 | 2196 | self.get_publisher().symlink(pool_path, dist_path) | 2136 | self.get_publisher().symlink(pool_path, dist_path) |
4224 | 2197 | self.assertEqual( | 2137 | self.assertEqual( |
4225 | @@ -2201,7 +2141,7 @@ | |||
4226 | 2201 | def test_hardlink(self): | 2141 | def test_hardlink(self): |
4227 | 2202 | pool_path = os.path.join(self.temp_dir, ".pool", "foo.iso") | 2142 | pool_path = os.path.join(self.temp_dir, ".pool", "foo.iso") |
4228 | 2203 | touch(pool_path) | 2143 | touch(pool_path) |
4230 | 2204 | dist_path = os.path.join(self.temp_dir, "raring", "foo.iso") | 2144 | dist_path = os.path.join(self.temp_dir, "trusty", "foo.iso") |
4231 | 2205 | os.makedirs(os.path.dirname(dist_path)) | 2145 | os.makedirs(os.path.dirname(dist_path)) |
4232 | 2206 | self.get_publisher().hardlink(pool_path, dist_path) | 2146 | self.get_publisher().hardlink(pool_path, dist_path) |
4233 | 2207 | self.assertEqual(os.stat(pool_path), os.stat(dist_path)) | 2147 | self.assertEqual(os.stat(pool_path), os.stat(dist_path)) |
4234 | @@ -2295,15 +2235,15 @@ | |||
4235 | 2295 | 2235 | ||
4236 | 2296 | def test_target_dir(self): | 2236 | def test_target_dir(self): |
4237 | 2297 | self.config["PROJECT"] = "ubuntu" | 2237 | self.config["PROJECT"] = "ubuntu" |
4239 | 2298 | self.config["DIST"] = "raring" | 2238 | self.config["DIST"] = "trusty" |
4240 | 2299 | self.assertEqual( | 2239 | self.assertEqual( |
4241 | 2300 | os.path.join( | 2240 | os.path.join( |
4243 | 2301 | self.temp_dir, "www", "full", "releases", "raring", "release"), | 2241 | self.temp_dir, "www", "full", "releases", "trusty", "release"), |
4244 | 2302 | self.get_publisher().target_dir("daily", "20130327", "alternate")) | 2242 | self.get_publisher().target_dir("daily", "20130327", "alternate")) |
4245 | 2303 | self.config["PROJECT"] = "kubuntu" | 2243 | self.config["PROJECT"] = "kubuntu" |
4246 | 2304 | self.assertEqual( | 2244 | self.assertEqual( |
4247 | 2305 | os.path.join( | 2245 | os.path.join( |
4249 | 2306 | self.temp_dir, "www", "full", "kubuntu", "releases", "raring", | 2246 | self.temp_dir, "www", "full", "kubuntu", "releases", "trusty", |
4250 | 2307 | "release", "source"), | 2247 | "release", "source"), |
4251 | 2308 | self.get_publisher().target_dir("daily", "20130327", "src")) | 2248 | self.get_publisher().target_dir("daily", "20130327", "src")) |
4252 | 2309 | 2249 | ||
4253 | @@ -2321,17 +2261,17 @@ | |||
4254 | 2321 | 2261 | ||
4255 | 2322 | def test_torrent_dir(self): | 2262 | def test_torrent_dir(self): |
4256 | 2323 | self.config["PROJECT"] = "ubuntu" | 2263 | self.config["PROJECT"] = "ubuntu" |
4258 | 2324 | self.config["DIST"] = "raring" | 2264 | self.config["DIST"] = "trusty" |
4259 | 2325 | self.assertEqual( | 2265 | self.assertEqual( |
4260 | 2326 | os.path.join( | 2266 | os.path.join( |
4261 | 2327 | self.temp_dir, "www", "torrent", "releases", | 2267 | self.temp_dir, "www", "torrent", "releases", |
4263 | 2328 | "raring", "release", "desktop"), | 2268 | "trusty", "release", "desktop"), |
4264 | 2329 | self.get_publisher().torrent_dir("daily-live", "desktop")) | 2269 | self.get_publisher().torrent_dir("daily-live", "desktop")) |
4265 | 2330 | self.config["PROJECT"] = "kubuntu" | 2270 | self.config["PROJECT"] = "kubuntu" |
4266 | 2331 | self.assertEqual( | 2271 | self.assertEqual( |
4267 | 2332 | os.path.join( | 2272 | os.path.join( |
4268 | 2333 | self.temp_dir, "www", "torrent", "kubuntu", "releases", | 2273 | self.temp_dir, "www", "torrent", "kubuntu", "releases", |
4270 | 2334 | "raring", "beta-2", "desktop"), | 2274 | "trusty", "beta-2", "desktop"), |
4271 | 2335 | self.get_publisher(status="beta-2").torrent_dir( | 2275 | self.get_publisher(status="beta-2").torrent_dir( |
4272 | 2336 | "daily-live", "desktop")) | 2276 | "daily-live", "desktop")) |
4273 | 2337 | 2277 | ||
4274 | @@ -2367,9 +2307,9 @@ | |||
4275 | 2367 | 2307 | ||
4276 | 2368 | def test_publish_release_prefixes(self): | 2308 | def test_publish_release_prefixes(self): |
4277 | 2369 | self.config["PROJECT"] = "ubuntu" | 2309 | self.config["PROJECT"] = "ubuntu" |
4279 | 2370 | self.config["DIST"] = "raring" | 2310 | self.config["DIST"] = "trusty" |
4280 | 2371 | self.assertEqual( | 2311 | self.assertEqual( |
4282 | 2372 | ("raring", "raring-beta2"), | 2312 | ("trusty", "trusty-beta2"), |
4283 | 2373 | self.get_publisher( | 2313 | self.get_publisher( |
4284 | 2374 | official="no", status="beta-2").publish_release_prefixes()) | 2314 | official="no", status="beta-2").publish_release_prefixes()) |
4285 | 2375 | self.config["PROJECT"] = "kubuntu" | 2315 | self.config["PROJECT"] = "kubuntu" |
4286 | @@ -2445,16 +2385,16 @@ | |||
4287 | 2445 | def test_publish_release_arch_ubuntu_desktop_no(self, mock_call, *args): | 2385 | def test_publish_release_arch_ubuntu_desktop_no(self, mock_call, *args): |
4288 | 2446 | self.config["PROJECT"] = "ubuntu" | 2386 | self.config["PROJECT"] = "ubuntu" |
4289 | 2447 | self.config["CAPPROJECT"] = "Ubuntu" | 2387 | self.config["CAPPROJECT"] = "Ubuntu" |
4291 | 2448 | self.config["DIST"] = "raring" | 2388 | self.config["DIST"] = "trusty" |
4292 | 2449 | daily_dir = os.path.join( | 2389 | daily_dir = os.path.join( |
4293 | 2450 | self.temp_dir, "www", "full", "daily-live", "20130327") | 2390 | self.temp_dir, "www", "full", "daily-live", "20130327") |
4297 | 2451 | touch(os.path.join(daily_dir, "raring-desktop-i386.iso")) | 2391 | touch(os.path.join(daily_dir, "trusty-desktop-i386.iso")) |
4298 | 2452 | touch(os.path.join(daily_dir, "raring-desktop-i386.manifest")) | 2392 | touch(os.path.join(daily_dir, "trusty-desktop-i386.manifest")) |
4299 | 2453 | touch(os.path.join(daily_dir, "raring-desktop-i386.iso.zsync")) | 2393 | touch(os.path.join(daily_dir, "trusty-desktop-i386.iso.zsync")) |
4300 | 2454 | target_dir = os.path.join( | 2394 | target_dir = os.path.join( |
4302 | 2455 | self.temp_dir, "www", "full", "releases", "raring", "rc") | 2395 | self.temp_dir, "www", "full", "releases", "trusty", "rc") |
4303 | 2456 | torrent_dir = os.path.join( | 2396 | torrent_dir = os.path.join( |
4305 | 2457 | self.temp_dir, "www", "torrent", "releases", "raring", "rc", | 2397 | self.temp_dir, "www", "torrent", "releases", "trusty", "rc", |
4306 | 2458 | "desktop") | 2398 | "desktop") |
4307 | 2459 | osextras.ensuredir(target_dir) | 2399 | osextras.ensuredir(target_dir) |
4308 | 2460 | osextras.ensuredir(torrent_dir) | 2400 | osextras.ensuredir(torrent_dir) |
4309 | @@ -2464,13 +2404,13 @@ | |||
4310 | 2464 | "daily-live", "20130327", "desktop", "i386") | 2404 | "daily-live", "20130327", "desktop", "i386") |
4311 | 2465 | self.assertLogEqual([ | 2405 | self.assertLogEqual([ |
4312 | 2466 | "Copying desktop-i386 image ...", | 2406 | "Copying desktop-i386 image ...", |
4314 | 2467 | "Creating torrent for %s/raring-desktop-i386.iso ..." % target_dir, | 2407 | "Creating torrent for %s/trusty-desktop-i386.iso ..." % target_dir, |
4315 | 2468 | ]) | 2408 | ]) |
4316 | 2469 | self.assertCountEqual([ | 2409 | self.assertCountEqual([ |
4319 | 2470 | "raring-desktop-i386.iso", "raring-desktop-i386.iso.torrent", | 2410 | "trusty-desktop-i386.iso", "trusty-desktop-i386.iso.torrent", |
4320 | 2471 | "raring-desktop-i386.iso.zsync", "raring-desktop-i386.manifest", | 2411 | "trusty-desktop-i386.iso.zsync", "trusty-desktop-i386.manifest", |
4321 | 2472 | ], os.listdir(target_dir)) | 2412 | ], os.listdir(target_dir)) |
4323 | 2473 | target_base = os.path.join(target_dir, "raring-desktop-i386") | 2413 | target_base = os.path.join(target_dir, "trusty-desktop-i386") |
4324 | 2474 | self.assertFalse(os.path.islink("%s.iso" % target_base)) | 2414 | self.assertFalse(os.path.islink("%s.iso" % target_base)) |
4325 | 2475 | self.assertFalse(os.path.islink("%s.manifest" % target_base)) | 2415 | self.assertFalse(os.path.islink("%s.manifest" % target_base)) |
4326 | 2476 | mock_call.assert_called_once_with([ | 2416 | mock_call.assert_called_once_with([ |
4327 | @@ -2479,9 +2419,9 @@ | |||
4328 | 2479 | "%s.iso" % target_base, | 2419 | "%s.iso" % target_base, |
4329 | 2480 | ], stdout=mock.ANY) | 2420 | ], stdout=mock.ANY) |
4330 | 2481 | self.assertCountEqual([ | 2421 | self.assertCountEqual([ |
4332 | 2482 | "raring-desktop-i386.iso", "raring-desktop-i386.iso.torrent", | 2422 | "trusty-desktop-i386.iso", "trusty-desktop-i386.iso.torrent", |
4333 | 2483 | ], os.listdir(torrent_dir)) | 2423 | ], os.listdir(torrent_dir)) |
4335 | 2484 | torrent_base = os.path.join(torrent_dir, "raring-desktop-i386") | 2424 | torrent_base = os.path.join(torrent_dir, "trusty-desktop-i386") |
4336 | 2485 | self.assertEqual( | 2425 | self.assertEqual( |
4337 | 2486 | os.stat("%s.iso" % target_base), os.stat("%s.iso" % torrent_base)) | 2426 | os.stat("%s.iso" % target_base), os.stat("%s.iso" % torrent_base)) |
4338 | 2487 | self.assertEqual( | 2427 | self.assertEqual( |
4339 | @@ -2581,14 +2521,14 @@ | |||
4340 | 2581 | 2521 | ||
4341 | 2582 | def test_target_dir(self): | 2522 | def test_target_dir(self): |
4342 | 2583 | self.config["PROJECT"] = "ubuntu" | 2523 | self.config["PROJECT"] = "ubuntu" |
4344 | 2584 | self.config["DIST"] = "raring" | 2524 | self.config["DIST"] = "trusty" |
4345 | 2585 | self.assertEqual( | 2525 | self.assertEqual( |
4347 | 2586 | os.path.join(self.temp_dir, "www", "simple", "raring"), | 2526 | os.path.join(self.temp_dir, "www", "simple", "trusty"), |
4348 | 2587 | self.get_publisher().target_dir("daily", "20130327", "alternate")) | 2527 | self.get_publisher().target_dir("daily", "20130327", "alternate")) |
4349 | 2588 | self.config["PROJECT"] = "kubuntu" | 2528 | self.config["PROJECT"] = "kubuntu" |
4350 | 2589 | self.assertEqual( | 2529 | self.assertEqual( |
4351 | 2590 | os.path.join( | 2530 | os.path.join( |
4353 | 2591 | self.temp_dir, "www", "simple", "kubuntu", "raring", "source"), | 2531 | self.temp_dir, "www", "simple", "kubuntu", "trusty", "source"), |
4354 | 2592 | self.get_publisher().target_dir("daily", "20130327", "src")) | 2532 | self.get_publisher().target_dir("daily", "20130327", "src")) |
4355 | 2593 | 2533 | ||
4356 | 2594 | def test_version_link(self): | 2534 | def test_version_link(self): |
4357 | @@ -2604,29 +2544,29 @@ | |||
4358 | 2604 | 2544 | ||
4359 | 2605 | def test_pool_dir(self): | 2545 | def test_pool_dir(self): |
4360 | 2606 | self.config["PROJECT"] = "ubuntu" | 2546 | self.config["PROJECT"] = "ubuntu" |
4362 | 2607 | self.config["DIST"] = "raring" | 2547 | self.config["DIST"] = "trusty" |
4363 | 2608 | self.assertEqual( | 2548 | self.assertEqual( |
4364 | 2609 | os.path.join(self.temp_dir, "www", "simple", ".pool"), | 2549 | os.path.join(self.temp_dir, "www", "simple", ".pool"), |
4365 | 2610 | self.get_publisher().pool_dir("daily")) | 2550 | self.get_publisher().pool_dir("daily")) |
4366 | 2611 | self.config["PROJECT"] = "kubuntu" | 2551 | self.config["PROJECT"] = "kubuntu" |
4368 | 2612 | self.config["DIST"] = "raring" | 2552 | self.config["DIST"] = "trusty" |
4369 | 2613 | self.assertEqual( | 2553 | self.assertEqual( |
4370 | 2614 | os.path.join(self.temp_dir, "www", "simple", "kubuntu", ".pool"), | 2554 | os.path.join(self.temp_dir, "www", "simple", "kubuntu", ".pool"), |
4371 | 2615 | self.get_publisher().pool_dir("daily")) | 2555 | self.get_publisher().pool_dir("daily")) |
4372 | 2616 | 2556 | ||
4373 | 2617 | def test_torrent_dir(self): | 2557 | def test_torrent_dir(self): |
4374 | 2618 | self.config["PROJECT"] = "ubuntu" | 2558 | self.config["PROJECT"] = "ubuntu" |
4376 | 2619 | self.config["DIST"] = "raring" | 2559 | self.config["DIST"] = "trusty" |
4377 | 2620 | self.assertEqual( | 2560 | self.assertEqual( |
4378 | 2621 | os.path.join( | 2561 | os.path.join( |
4379 | 2622 | self.temp_dir, "www", "torrent", "simple", | 2562 | self.temp_dir, "www", "torrent", "simple", |
4381 | 2623 | "raring", "desktop"), | 2563 | "trusty", "desktop"), |
4382 | 2624 | self.get_publisher().torrent_dir("daily-live", "desktop")) | 2564 | self.get_publisher().torrent_dir("daily-live", "desktop")) |
4383 | 2625 | self.config["PROJECT"] = "kubuntu" | 2565 | self.config["PROJECT"] = "kubuntu" |
4384 | 2626 | self.assertEqual( | 2566 | self.assertEqual( |
4385 | 2627 | os.path.join( | 2567 | os.path.join( |
4386 | 2628 | self.temp_dir, "www", "torrent", "kubuntu", "simple", | 2568 | self.temp_dir, "www", "torrent", "kubuntu", "simple", |
4388 | 2629 | "raring", "desktop"), | 2569 | "trusty", "desktop"), |
4389 | 2630 | self.get_publisher().torrent_dir("daily-live", "desktop")) | 2570 | self.get_publisher().torrent_dir("daily-live", "desktop")) |
4390 | 2631 | 2571 | ||
4391 | 2632 | def test_want_torrent(self): | 2572 | def test_want_torrent(self): |
4392 | @@ -2776,9 +2716,9 @@ | |||
4393 | 2776 | "ubuntu-13.04-rc-desktop-i386.manifest", | 2716 | "ubuntu-13.04-rc-desktop-i386.manifest", |
4394 | 2777 | ], os.listdir(pool_dir)) | 2717 | ], os.listdir(pool_dir)) |
4395 | 2778 | self.assertFalse(os.path.exists(os.path.join( | 2718 | self.assertFalse(os.path.exists(os.path.join( |
4397 | 2779 | self.temp_dir, "www", "simple", "raring"))) | 2719 | self.temp_dir, "www", "simple", "trusty"))) |
4398 | 2780 | self.assertFalse(os.path.exists(os.path.join( | 2720 | self.assertFalse(os.path.exists(os.path.join( |
4400 | 2781 | self.temp_dir, "www", "torrent", "simple", "raring", "desktop"))) | 2721 | self.temp_dir, "www", "torrent", "simple", "trusty", "desktop"))) |
4401 | 2782 | pool_base = os.path.join(pool_dir, "ubuntu-13.04-rc-desktop-i386") | 2722 | pool_base = os.path.join(pool_dir, "ubuntu-13.04-rc-desktop-i386") |
4402 | 2783 | mock_call.assert_called_once_with([ | 2723 | mock_call.assert_called_once_with([ |
4403 | 2784 | "zsyncmake", "-o", "%s.iso.zsync" % pool_base, | 2724 | "zsyncmake", "-o", "%s.iso.zsync" % pool_base, |
4404 | 2785 | 2725 | ||
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 | 63 | projects = [ | 63 | projects = [ |
4410 | 64 | "edubuntu", | 64 | "edubuntu", |
4411 | 65 | "gobuntu", | 65 | "gobuntu", |
4412 | 66 | "jeos", | ||
4413 | 67 | "kubuntu", | 66 | "kubuntu", |
4414 | 68 | "kubuntu-active", | 67 | "kubuntu-active", |
4415 | 69 | "kubuntu-netbook", | 68 | "kubuntu-netbook", |
4416 | 70 | "kubuntu-plasma5", | ||
4417 | 71 | "lubuntu", | 69 | "lubuntu", |
4418 | 72 | "lubuntu-next", | 70 | "lubuntu-next", |
4419 | 73 | "mythbuntu", | 71 | "mythbuntu", |
4420 | 74 | "ubuntu", | 72 | "ubuntu", |
4421 | 75 | "ubuntu-desktop-next", | ||
4422 | 76 | "ubuntu-gnome", | 73 | "ubuntu-gnome", |
4423 | 77 | "ubuntu-budgie", | 74 | "ubuntu-budgie", |
4424 | 78 | "ubuntu-mate", | 75 | "ubuntu-mate", |
4425 | 79 | "ubuntu-headless", | ||
4426 | 80 | "ubuntu-netbook", | ||
4427 | 81 | "ubuntu-server", | 76 | "ubuntu-server", |
4428 | 82 | "ubuntukylin", | 77 | "ubuntukylin", |
4429 | 83 | "ubuntustudio", | 78 | "ubuntustudio", |
4430 | @@ -376,65 +371,36 @@ | |||
4431 | 376 | @property | 371 | @property |
4432 | 377 | def publish_type(self): | 372 | def publish_type(self): |
4433 | 378 | if self.image_type.endswith("-preinstalled"): | 373 | if self.image_type.endswith("-preinstalled"): |
4439 | 379 | if self.project == "ubuntu-netbook": | 374 | if self.project == "ubuntu-server": |
4435 | 380 | return "preinstalled-netbook" | ||
4436 | 381 | elif self.project == "ubuntu-headless": | ||
4437 | 382 | return "preinstalled-headless" | ||
4438 | 383 | elif self.project == "ubuntu-server": | ||
4440 | 384 | return "preinstalled-server" | 375 | return "preinstalled-server" |
4442 | 385 | elif self.project in ("ubuntu-touch", "ubuntu-touch-custom"): | 376 | elif self.project == "ubuntu-touch": |
4443 | 386 | return "preinstalled-touch" | 377 | return "preinstalled-touch" |
4444 | 387 | elif self.project == "ubuntu-core": | 378 | elif self.project == "ubuntu-core": |
4445 | 388 | return "preinstalled-core" | 379 | return "preinstalled-core" |
4446 | 389 | elif self.project == "ubuntu-desktop-next": | ||
4447 | 390 | return "preinstalled-desktop-next" | ||
4448 | 391 | else: | 380 | else: |
4449 | 392 | return "preinstalled-desktop" | 381 | return "preinstalled-desktop" |
4450 | 393 | elif self.image_type.endswith("-live"): | 382 | elif self.image_type.endswith("-live"): |
4451 | 394 | if self.project == "edubuntu": | 383 | if self.project == "edubuntu": |
4461 | 395 | if self.config["DIST"] <= "edgy": | 384 | return "desktop" |
4462 | 396 | return "live" | 385 | elif self.project == "kubuntu-netbook": |
4454 | 397 | else: | ||
4455 | 398 | return "desktop" | ||
4456 | 399 | elif self.project == "ubuntu-mid": | ||
4457 | 400 | return "mid" | ||
4458 | 401 | elif self.project == "ubuntu-moblin-remix": | ||
4459 | 402 | return "moblin-remix" | ||
4460 | 403 | elif self.project in ("ubuntu-netbook", "kubuntu-netbook"): | ||
4463 | 404 | return "netbook" | 386 | return "netbook" |
4464 | 405 | elif self.project == "ubuntu-server": | 387 | elif self.project == "ubuntu-server": |
4465 | 406 | return "live-server" | 388 | return "live-server" |
4466 | 407 | elif self.project == "ubuntu-core": | 389 | elif self.project == "ubuntu-core": |
4467 | 408 | return "live-core" | 390 | return "live-core" |
4468 | 409 | else: | 391 | else: |
4473 | 410 | if self.config["DIST"] <= "breezy": | 392 | return "desktop" |
4470 | 411 | return "live" | ||
4471 | 412 | else: | ||
4472 | 413 | return "desktop" | ||
4474 | 414 | elif self.image_type.endswith("_dvd") or self.image_type == "dvd": | 393 | elif self.image_type.endswith("_dvd") or self.image_type == "dvd": |
4475 | 415 | return "dvd" | 394 | return "dvd" |
4476 | 416 | else: | 395 | else: |
4477 | 417 | if self.project == "edubuntu": | 396 | if self.project == "edubuntu": |
4484 | 418 | if self.config["DIST"] <= "edgy": | 397 | return "addon" |
4479 | 419 | return "install" | ||
4480 | 420 | elif self.config["DIST"] <= "gutsy": | ||
4481 | 421 | return "server" | ||
4482 | 422 | else: | ||
4483 | 423 | return "addon" | ||
4485 | 424 | elif self.project == "ubuntu-server": | 398 | elif self.project == "ubuntu-server": |
4492 | 425 | if self.config["DIST"] <= "breezy": | 399 | return "server" |
4487 | 426 | return "install" | ||
4488 | 427 | else: | ||
4489 | 428 | return "server" | ||
4490 | 429 | elif self.project == "jeos": | ||
4491 | 430 | return "jeos" | ||
4493 | 431 | elif self.project == "ubuntu-base": | 400 | elif self.project == "ubuntu-base": |
4494 | 432 | return "base" | 401 | return "base" |
4495 | 433 | else: | 402 | else: |
4500 | 434 | if self.config["DIST"] <= "breezy": | 403 | return "alternate" |
4497 | 435 | return "install" | ||
4498 | 436 | else: | ||
4499 | 437 | return "alternate" | ||
4501 | 438 | 404 | ||
4502 | 439 | # Keep this in sync with publish_type above. | 405 | # Keep this in sync with publish_type above. |
4503 | 440 | @staticmethod | 406 | @staticmethod |
4504 | @@ -442,13 +408,13 @@ | |||
4505 | 442 | if publish_type.startswith("preinstalled-"): | 408 | if publish_type.startswith("preinstalled-"): |
4506 | 443 | return "daily-preinstalled" | 409 | return "daily-preinstalled" |
4507 | 444 | elif publish_type in ( | 410 | elif publish_type in ( |
4509 | 445 | "desktop", "live", "mid", "moblin-remix", "netbook", | 411 | "desktop", "live", "netbook", |
4510 | 446 | "live-core", "live-server"): | 412 | "live-core", "live-server"): |
4511 | 447 | return "daily-live" | 413 | return "daily-live" |
4512 | 448 | elif publish_type == "dvd": | 414 | elif publish_type == "dvd": |
4513 | 449 | return "dvd" | 415 | return "dvd" |
4514 | 450 | elif publish_type in ( | 416 | elif publish_type in ( |
4516 | 451 | "addon", "alternate", "base", "install", "jeos", "server"): | 417 | "addon", "alternate", "base", "install", "server"): |
4517 | 452 | return "daily" | 418 | return "daily" |
4518 | 453 | else: | 419 | else: |
4519 | 454 | return None | 420 | return None |
4520 | @@ -474,8 +440,6 @@ | |||
4521 | 474 | def cssincludes(self): | 440 | def cssincludes(self): |
4522 | 475 | if self.project == "kubuntu": | 441 | if self.project == "kubuntu": |
4523 | 476 | return ["//releases.ubuntu.com/include/kubuntu.css"] | 442 | return ["//releases.ubuntu.com/include/kubuntu.css"] |
4524 | 477 | if self.project == "kubuntu-plasma5": | ||
4525 | 478 | return ["//releases.ubuntu.com/include/kubuntu-plasma5.css"] | ||
4526 | 479 | if self.project in ("lubuntu", "lubuntu-next"): | 443 | if self.project in ("lubuntu", "lubuntu-next"): |
4527 | 480 | return ["//cdimage.ubuntu.com/include/lubuntu/style.css"] | 444 | return ["//cdimage.ubuntu.com/include/lubuntu/style.css"] |
4528 | 481 | else: | 445 | else: |
4529 | @@ -485,11 +449,10 @@ | |||
4530 | 485 | def cdtypestr(self, publish_type, image_format): | 449 | def cdtypestr(self, publish_type, image_format): |
4531 | 486 | if image_format in ("tar.gz", "tar.xz", "custom.tar.gz"): | 450 | if image_format in ("tar.gz", "tar.xz", "custom.tar.gz"): |
4532 | 487 | cd = "filesystem archive" | 451 | cd = "filesystem archive" |
4534 | 488 | elif self.config["DIST"] < "quantal": | 452 | elif self.config["DIST"] < "trusty": |
4535 | 489 | if image_format in ("img", "img.gz"): | 453 | if image_format in ("img", "img.gz"): |
4536 | 490 | cd = "image" | 454 | cd = "image" |
4537 | 491 | elif self.project == "ubuntustudio": | 455 | elif self.project == "ubuntustudio": |
4538 | 492 | # Ubuntu Studio is expected to be oversized in Gutsy; sigh. | ||
4539 | 493 | cd = "DVD" | 456 | cd = "DVD" |
4540 | 494 | else: | 457 | else: |
4541 | 495 | cd = "CD" | 458 | cd = "CD" |
4542 | @@ -523,18 +486,12 @@ | |||
4543 | 523 | return "source %s" % cd | 486 | return "source %s" % cd |
4544 | 524 | elif publish_type == "netbook": | 487 | elif publish_type == "netbook": |
4545 | 525 | return "netbook live %s" % cd | 488 | return "netbook live %s" % cd |
4546 | 526 | elif publish_type == "mid": | ||
4547 | 527 | return "MID USB image" | ||
4548 | 528 | elif publish_type == "moblin-remix": | ||
4549 | 529 | return "Moblin live CD" | ||
4550 | 530 | elif publish_type == "active": | 489 | elif publish_type == "active": |
4551 | 531 | return "preview active image" | 490 | return "preview active image" |
4552 | 532 | elif publish_type in ("server-uec", "uec"): | 491 | elif publish_type in ("server-uec", "uec"): |
4553 | 533 | return "UEC image" | 492 | return "UEC image" |
4554 | 534 | elif publish_type == "preinstalled-desktop": | 493 | elif publish_type == "preinstalled-desktop": |
4555 | 535 | return "preinstalled desktop %s" % cd | 494 | return "preinstalled desktop %s" % cd |
4556 | 536 | elif publish_type == "preinstalled-headless": | ||
4557 | 537 | return "preinstalled headless %s" % cd | ||
4558 | 538 | elif publish_type == "preinstalled-server": | 495 | elif publish_type == "preinstalled-server": |
4559 | 539 | return "preinstalled server %s" % cd | 496 | return "preinstalled server %s" % cd |
4560 | 540 | elif publish_type == "preinstalled-netbook": | 497 | elif publish_type == "preinstalled-netbook": |
4561 | @@ -545,8 +502,6 @@ | |||
4562 | 545 | return "preinstalled touch image" | 502 | return "preinstalled touch image" |
4563 | 546 | elif publish_type == "preinstalled-core": | 503 | elif publish_type == "preinstalled-core": |
4564 | 547 | return "preinstalled core image" | 504 | return "preinstalled core image" |
4565 | 548 | elif publish_type == "preinstalled-desktop-next": | ||
4566 | 549 | return "preinstalled desktop next image" | ||
4567 | 550 | elif publish_type == "wubi": | 505 | elif publish_type == "wubi": |
4568 | 551 | return "Wubi %s" % cd | 506 | return "Wubi %s" % cd |
4569 | 552 | else: | 507 | else: |
4570 | @@ -556,35 +511,20 @@ | |||
4571 | 556 | capproject = self.config.capproject | 511 | capproject = self.config.capproject |
4572 | 557 | series = self.config["DIST"] | 512 | series = self.config["DIST"] |
4573 | 558 | 513 | ||
4574 | 559 | if self.project == "mid": | ||
4575 | 560 | # MID has lower memory requirements than others | ||
4576 | 561 | desktop_ram = 128 | ||
4577 | 562 | if self.project == "xubuntu": | 514 | if self.project == "xubuntu": |
4582 | 563 | if series <= "intrepid": | 515 | desktop_ram = 192 |
4579 | 564 | desktop_ram = 128 | ||
4580 | 565 | else: | ||
4581 | 566 | desktop_ram = 192 | ||
4583 | 567 | else: | 516 | else: |
4593 | 568 | if series <= "feisty": | 517 | if series <= "xenial": |
4585 | 569 | desktop_ram = 256 | ||
4586 | 570 | elif series <= "gutsy": | ||
4587 | 571 | desktop_ram = 320 | ||
4588 | 572 | elif series <= "hardy": | ||
4589 | 573 | desktop_ram = 384 | ||
4590 | 574 | elif series <= "maverick": | ||
4591 | 575 | desktop_ram = 256 | ||
4592 | 576 | elif series <= "artful": | ||
4594 | 577 | desktop_ram = 384 | 518 | desktop_ram = 384 |
4595 | 578 | else: | 519 | else: |
4596 | 579 | desktop_ram = 1024 | 520 | desktop_ram = 1024 |
4597 | 580 | 521 | ||
4598 | 581 | if image_format in ("tar.gz", "tar.xz", "custom.tar.gz"): | 522 | if image_format in ("tar.gz", "tar.xz", "custom.tar.gz"): |
4599 | 582 | cd = "filesystem archive" | 523 | cd = "filesystem archive" |
4601 | 583 | elif self.config["DIST"] < "quantal": | 524 | elif self.config["DIST"] <= "precise": |
4602 | 584 | if image_format in ("img", "img.gz"): | 525 | if image_format in ("img", "img.gz"): |
4603 | 585 | cd = "image" | 526 | cd = "image" |
4604 | 586 | elif self.project == "ubuntustudio": | 527 | elif self.project == "ubuntustudio": |
4605 | 587 | # Ubuntu Studio is expected to be oversized in Gutsy; sigh. | ||
4606 | 588 | cd = "dvd" | 528 | cd = "dvd" |
4607 | 589 | else: | 529 | else: |
4608 | 590 | cd = "cd" | 530 | cd = "cd" |
4609 | @@ -612,13 +552,6 @@ | |||
4610 | 612 | cd) | 552 | cd) |
4611 | 613 | self.prefmsg_emitted = True | 553 | self.prefmsg_emitted = True |
4612 | 614 | sentences.append(desktop_req) | 554 | sentences.append(desktop_req) |
4613 | 615 | if self.project == "ubuntu-desktop-next": | ||
4614 | 616 | sentences.append( | ||
4615 | 617 | "This is an experimental image. Please %s for caveats and " | ||
4616 | 618 | "workarounds." % | ||
4617 | 619 | Link("https://wiki.ubuntu.com/Unity8DesktopIso", | ||
4618 | 620 | "read this page on the Ubuntu wiki", | ||
4619 | 621 | show_class=True)) | ||
4620 | 622 | if self.project == "edubuntu": | 555 | if self.project == "edubuntu": |
4621 | 623 | sentences.append( | 556 | sentences.append( |
4622 | 624 | "You can install additional educational programs using " | 557 | "You can install additional educational programs using " |
4623 | @@ -651,24 +584,6 @@ | |||
4624 | 651 | "installer, please file a bug on the %s package." % bug_link, | 584 | "installer, please file a bug on the %s package." % bug_link, |
4625 | 652 | ]) | 585 | ]) |
4626 | 653 | return | 586 | return |
4627 | 654 | elif publish_type == "mid": | ||
4628 | 655 | sentences.append( | ||
4629 | 656 | "The MID USB image allows you to try %s without changing your " | ||
4630 | 657 | "computer at all, and at your option to install it " | ||
4631 | 658 | "permanently later." % capproject) | ||
4632 | 659 | sentences.append( | ||
4633 | 660 | "This USB image is optimized for handheld devices with 4-7\" " | ||
4634 | 661 | "touchscreens and limited processing power.") | ||
4635 | 662 | sentences.append(desktop_req) | ||
4636 | 663 | elif publish_type == "moblin-remix": | ||
4637 | 664 | sentences.append( | ||
4638 | 665 | "The live %s allows you to try Ubuntu Moblin Remix without " | ||
4639 | 666 | "changing your computer at all, and at your option to install " | ||
4640 | 667 | "it permanently later." % cd) | ||
4641 | 668 | sentences.append( | ||
4642 | 669 | "This live %s is optimized for netbooks with screens up to " | ||
4643 | 670 | "10\"." % cd) | ||
4644 | 671 | sentences.append(desktop_req) | ||
4645 | 672 | elif publish_type == "server" or publish_type == "live-server": | 587 | elif publish_type == "server" or publish_type == "live-server": |
4646 | 673 | if self.project == "edubuntu": | 588 | if self.project == "edubuntu": |
4647 | 674 | sentences.append( | 589 | sentences.append( |
4648 | @@ -832,7 +747,6 @@ | |||
4649 | 832 | "hppa": "HP PA-RISC", | 747 | "hppa": "HP PA-RISC", |
4650 | 833 | "i386": "32-bit PC (i386)", | 748 | "i386": "32-bit PC (i386)", |
4651 | 834 | "ia64": "IA-64", | 749 | "ia64": "IA-64", |
4652 | 835 | "lpia": "Low-Power Intel Architecture", | ||
4653 | 836 | "powerpc": "Mac (PowerPC) and IBM-PPC (POWER5)", | 750 | "powerpc": "Mac (PowerPC) and IBM-PPC (POWER5)", |
4654 | 837 | "powerpc+ps3": "PlayStation 3", | 751 | "powerpc+ps3": "PlayStation 3", |
4655 | 838 | "ppc64el": "PowerPC64 Little-Endian", | 752 | "ppc64el": "PowerPC64 Little-Endian", |
4656 | @@ -911,10 +825,6 @@ | |||
4657 | 911 | "Intel processors.") | 825 | "Intel processors.") |
4658 | 912 | elif arch == "ia64": | 826 | elif arch == "ia64": |
4659 | 913 | sentences.append("For Intel Itanium and Itanium 2 computers.") | 827 | sentences.append("For Intel Itanium and Itanium 2 computers.") |
4660 | 914 | elif arch == "lpia": | ||
4661 | 915 | sentences.append( | ||
4662 | 916 | "For devices using the Low-Power Intel Architecture, " | ||
4663 | 917 | "including the A1xx and Atom processors.") | ||
4664 | 918 | elif arch == "powerpc": | 828 | elif arch == "powerpc": |
4665 | 919 | sentences.append( | 829 | sentences.append( |
4666 | 920 | "For Apple Macintosh G3, G4, and G5 computers, including " | 830 | "For Apple Macintosh G3, G4, and G5 computers, including " |
4667 | @@ -922,7 +832,7 @@ | |||
4668 | 922 | "machines.") | 832 | "machines.") |
4669 | 923 | elif arch == "powerpc+ps3": | 833 | elif arch == "powerpc+ps3": |
4670 | 924 | sentences.append("For Sony PlayStation 3 systems.") | 834 | sentences.append("For Sony PlayStation 3 systems.") |
4672 | 925 | if publish_type == "desktop" and self.config["DIST"] >= "gutsy": | 835 | if publish_type == "desktop": |
4673 | 926 | capproject = self.config.capproject | 836 | capproject = self.config.capproject |
4674 | 927 | sentences.append( | 837 | sentences.append( |
4675 | 928 | "(This defaults to installing %s permanently, since there " | 838 | "(This defaults to installing %s permanently, since there " |
4676 | @@ -952,8 +862,7 @@ | |||
4677 | 952 | return | 862 | return |
4678 | 953 | 863 | ||
4679 | 954 | usb_projects = ( | 864 | usb_projects = ( |
4682 | 955 | "ubuntu-mid", "ubuntu-moblin-remix", | 865 | "kubuntu", "kubuntu-active", |
4681 | 956 | "kubuntu", "kubuntu-active", "kubuntu-plasma5", | ||
4683 | 957 | "ubuntu-mate", | 866 | "ubuntu-mate", |
4684 | 958 | ) | 867 | ) |
4685 | 959 | series = self.config["DIST"] | 868 | series = self.config["DIST"] |
4686 | @@ -979,8 +888,8 @@ | |||
4687 | 979 | "However, you may still test it using a DVD, a larger USB " | 888 | "However, you may still test it using a DVD, a larger USB " |
4688 | 980 | "drive, or a virtual machine.") | 889 | "drive, or a virtual machine.") |
4689 | 981 | elif (self.project in usb_projects or | 890 | elif (self.project in usb_projects or |
4692 | 982 | (self.project == "xubuntu" and series >= "raring") or | 891 | (self.project == "xubuntu" and series >= "trusty") or |
4693 | 983 | (self.project == "ubuntu-gnome" and series >= "saucy")): | 892 | (self.project == "ubuntu-gnome" and series >= "trusty")): |
4694 | 984 | sentences.append( | 893 | sentences.append( |
4695 | 985 | "Warning: This image is oversized (which is a bug) and will " | 894 | "Warning: This image is oversized (which is a bug) and will " |
4696 | 986 | "not fit onto a 1GB USB stick.") | 895 | "not fit onto a 1GB USB stick.") |
4697 | @@ -1156,13 +1065,13 @@ | |||
4698 | 1156 | "serveraddon", "addon", | 1065 | "serveraddon", "addon", |
4699 | 1157 | "dvd", | 1066 | "dvd", |
4700 | 1158 | "src", | 1067 | "src", |
4702 | 1159 | "netbook", "mid", "moblin-remix", "mobile", "active", | 1068 | "netbook", "mobile", "active", |
4703 | 1160 | "uec", "server-uec", | 1069 | "uec", "server-uec", |
4704 | 1161 | "preinstalled-desktop", "preinstalled-netbook", | 1070 | "preinstalled-desktop", "preinstalled-netbook", |
4705 | 1162 | "preinstalled-mobile", "preinstalled-active", | 1071 | "preinstalled-mobile", "preinstalled-active", |
4707 | 1163 | "preinstalled-headless", "preinstalled-server", | 1072 | "preinstalled-server", |
4708 | 1164 | "preinstalled-touch", "preinstalled-core", "wubi", | 1073 | "preinstalled-touch", "preinstalled-core", "wubi", |
4710 | 1165 | "preinstalled-desktop-next", "live-core", | 1074 | "live-core", |
4711 | 1166 | ) | 1075 | ) |
4712 | 1167 | 1076 | ||
4713 | 1168 | all_arches = ( | 1077 | all_arches = ( |
4714 | @@ -1178,7 +1087,6 @@ | |||
4715 | 1178 | "ppc64el", | 1087 | "ppc64el", |
4716 | 1179 | "hppa", | 1088 | "hppa", |
4717 | 1180 | "ia64", | 1089 | "ia64", |
4718 | 1181 | "lpia", | ||
4719 | 1182 | "s390x", | 1090 | "s390x", |
4720 | 1183 | "sparc", | 1091 | "sparc", |
4721 | 1184 | ) | 1092 | ) |
4722 | @@ -1254,12 +1162,6 @@ | |||
4723 | 1254 | "<link " | 1162 | "<link " |
4724 | 1255 | "href='http://fonts.googleapis.com/css?family=Ubuntu' " | 1163 | "href='http://fonts.googleapis.com/css?family=Ubuntu' " |
4725 | 1256 | "rel='stylesheet' type='text/css'>", file=header) | 1164 | "rel='stylesheet' type='text/css'>", file=header) |
4726 | 1257 | if self.project == "kubuntu-plasma5": | ||
4727 | 1258 | print( | ||
4728 | 1259 | "<link " | ||
4729 | 1260 | "href='http://fonts.googleapis.com/css?family=Oxygen' " | ||
4730 | 1261 | "rel='stylesheet' type='text/css'>", file=header) | ||
4731 | 1262 | if self.project in ("kubuntu", "kubuntu-plasma5"): | ||
4732 | 1263 | print( | 1165 | print( |
4733 | 1264 | "<link rel=\"icon\" type=\"image/png\" " | 1166 | "<link rel=\"icon\" type=\"image/png\" " |
4734 | 1265 | "href=\"http://www.kubuntu.org/themes/kubuntu10.04/" | 1167 | "href=\"http://www.kubuntu.org/themes/kubuntu10.04/" |
4735 | @@ -1315,11 +1217,8 @@ | |||
4736 | 1315 | if ("full" in reldir.split(os.pardir) and | 1217 | if ("full" in reldir.split(os.pardir) and |
4737 | 1316 | "-alpha-" not in base_prefix and | 1218 | "-alpha-" not in base_prefix and |
4738 | 1317 | base_prefix != self.config.series): | 1219 | base_prefix != self.config.series): |
4741 | 1318 | if self.project in ( | 1220 | if self.project in ("ubuntu", "ubuntu-server"): |
4740 | 1319 | "ubuntu", "ubuntu-server", "ubuntu-netbook"): | ||
4742 | 1320 | url = "http://releases.ubuntu.com/" | 1221 | url = "http://releases.ubuntu.com/" |
4743 | 1321 | elif self.project == "kubuntu" and series <= "oneiric": | ||
4744 | 1322 | url = "http://releases.ubuntu.com/kubuntu/" | ||
4745 | 1323 | else: | 1222 | else: |
4746 | 1324 | url = None | 1223 | url = None |
4747 | 1325 | if url: | 1224 | if url: |
4748 | @@ -1427,17 +1326,9 @@ | |||
4749 | 1427 | 1326 | ||
4750 | 1428 | for path, arch, base in paths: | 1327 | for path, arch, base in paths: |
4751 | 1429 | if arch is None: | 1328 | if arch is None: |
4763 | 1430 | if publish_type == "mid": | 1329 | raise WebIndicesException( |
4764 | 1431 | imgarch = "lpia" | 1330 | "Unknown image type %s!" % |
4765 | 1432 | else: | 1331 | publish_type) |
4755 | 1433 | raise WebIndicesException( | ||
4756 | 1434 | "Unknown image type %s!" % | ||
4757 | 1435 | publish_type) | ||
4758 | 1436 | archstr = self.arch_strings[imgarch] | ||
4759 | 1437 | imagestr = "%s %s" % (archstr, cdtypestr) | ||
4760 | 1438 | htaccessimagestr = "%s for %s computers" % ( | ||
4761 | 1439 | self.titlecase(cdtypestr), archstr) | ||
4762 | 1440 | archdesc = self.archdesc(imgarch, publish_type) | ||
4766 | 1441 | elif publish_type == "src": | 1332 | elif publish_type == "src": |
4767 | 1442 | imagestr = "%s %s" % ( | 1333 | imagestr = "%s %s" % ( |
4768 | 1443 | self.titlecase(cdtypestr), arch) | 1334 | self.titlecase(cdtypestr), arch) |
4769 | @@ -1638,7 +1529,7 @@ | |||
4770 | 1638 | if got_iso or got_img: | 1529 | if got_iso or got_img: |
4771 | 1639 | print(file=header) | 1530 | print(file=header) |
4772 | 1640 | 1531 | ||
4774 | 1641 | if self.config.project in ("ubuntu-touch", "ubuntu-touch-custom"): | 1532 | if self.config.project == "ubuntu-touch": |
4775 | 1642 | for tag in self.ubuntu_touch_legal_notice(): | 1533 | for tag in self.ubuntu_touch_legal_notice(): |
4776 | 1643 | print(tag, file=header) | 1534 | print(tag, file=header) |
4777 | 1644 | print(file=header) | 1535 | print(file=header) |
4778 | @@ -1845,15 +1736,7 @@ | |||
4779 | 1845 | # All Edubuntu images are DVD sized (including arm). | 1736 | # All Edubuntu images are DVD sized (including arm). |
4780 | 1846 | # Ubuntu Studio is always DVD-sized for now. | 1737 | # Ubuntu Studio is always DVD-sized for now. |
4781 | 1847 | return 4700372992 | 1738 | return 4700372992 |
4791 | 1848 | elif self.project in ( | 1739 | elif self.project in ("kubuntu", "kubuntu-active"): |
4783 | 1849 | "ubuntu-mid", "ubuntu-moblin-remix", | ||
4784 | 1850 | ): | ||
4785 | 1851 | # Mobile images are designed for USB drives; arbitrarily pick | ||
4786 | 1852 | # 1GB as a limit. | ||
4787 | 1853 | return 1024 * 1024 * 1024 | ||
4788 | 1854 | elif self.project in ( | ||
4789 | 1855 | "kubuntu", "kubuntu-active", "kubuntu-plasma5", | ||
4790 | 1856 | ): | ||
4792 | 1857 | if self.config["DIST"] >= "xenial": | 1740 | if self.config["DIST"] >= "xenial": |
4793 | 1858 | # Per https://lists.ubuntu.com/archives/ | 1741 | # Per https://lists.ubuntu.com/archives/ |
4794 | 1859 | # ... ubuntu-release/2016-May/003749.html | 1742 | # ... ubuntu-release/2016-May/003749.html |
4795 | @@ -1862,23 +1745,14 @@ | |||
4796 | 1862 | return (1024 * 1024 * 1024) + (1024 * 1024 * 200) | 1745 | return (1024 * 1024 * 1024) + (1024 * 1024 * 200) |
4797 | 1863 | elif (self.project in ("ubuntu", "ubuntukylin") and | 1746 | elif (self.project in ("ubuntu", "ubuntukylin") and |
4798 | 1864 | self.publish_type != "dvd" and | 1747 | self.publish_type != "dvd" and |
4811 | 1865 | self.config["DIST"] >= "quantal"): | 1748 | self.config["DIST"] >= "trusty"): |
4812 | 1866 | # Ubuntu quantal onward has a succession of arbitrary limits. | 1749 | if self.config["DIST"] == "trusty": |
4801 | 1867 | if self.config["DIST"] == "quantal": | ||
4802 | 1868 | return 801000000 | ||
4803 | 1869 | elif self.config["DIST"] == "raring": | ||
4804 | 1870 | if arch == "powerpc": | ||
4805 | 1871 | return 850000000 | ||
4806 | 1872 | else: | ||
4807 | 1873 | return 835000000 | ||
4808 | 1874 | elif self.config["DIST"] == "saucy": | ||
4809 | 1875 | return 950000000 | ||
4810 | 1876 | elif self.config["DIST"] in ("trusty", "utopic", "vivid", "wily"): | ||
4813 | 1877 | return 1.2 * 1000 * 1000 * 1000 | 1750 | return 1.2 * 1000 * 1000 * 1000 |
4814 | 1878 | else: | 1751 | else: |
4815 | 1879 | # next relevant size limit is a 2GB (not 2GiB) USB stick | 1752 | # next relevant size limit is a 2GB (not 2GiB) USB stick |
4816 | 1880 | return 2 * 1000 * 1000 * 1000 | 1753 | return 2 * 1000 * 1000 * 1000 |
4818 | 1881 | elif self.project == "ubuntu-gnome" and self.config["DIST"] >= "saucy": | 1754 | elif (self.project == "ubuntu-gnome" and |
4819 | 1755 | self.config["DIST"] >= "trusty"): | ||
4820 | 1882 | # Per https://lists.ubuntu.com/archives/ | 1756 | # Per https://lists.ubuntu.com/archives/ |
4821 | 1883 | # ... ubuntu-release/2016-May/003740.html | 1757 | # ... ubuntu-release/2016-May/003740.html |
4822 | 1884 | if self.config["DIST"] >= "xenial": | 1758 | if self.config["DIST"] >= "xenial": |
4823 | @@ -1895,7 +1769,7 @@ | |||
4824 | 1895 | elif self.project == "xubuntu" and self.config["DIST"] >= "xenial": | 1769 | elif self.project == "xubuntu" and self.config["DIST"] >= "xenial": |
4825 | 1896 | # https://irclogs.ubuntu.com/2019/02/17/%23ubuntu-release.html#t03:04 | 1770 | # https://irclogs.ubuntu.com/2019/02/17/%23ubuntu-release.html#t03:04 |
4826 | 1897 | return 2 * 1000 * 1000 * 1000 | 1771 | return 2 * 1000 * 1000 * 1000 |
4828 | 1898 | elif self.project == "xubuntu" and self.config["DIST"] >= "raring": | 1772 | elif self.project == "xubuntu" and self.config["DIST"] >= "trusty": |
4829 | 1899 | # http://irclogs.ubuntu.com/2013/02/11/%23xubuntu-devel.html#t21:48 | 1773 | # http://irclogs.ubuntu.com/2013/02/11/%23xubuntu-devel.html#t21:48 |
4830 | 1900 | return 1024 * 1024 * 1024 | 1774 | return 1024 * 1024 * 1024 |
4831 | 1901 | elif self.project == "ubuntu-mate": | 1775 | elif self.project == "ubuntu-mate": |
4832 | @@ -1907,7 +1781,7 @@ | |||
4833 | 1907 | # https://bugs.launchpad.net/bugs/1796368 | 1781 | # https://bugs.launchpad.net/bugs/1796368 |
4834 | 1908 | return 2 * 1000 * 1000 * 1000 | 1782 | return 2 * 1000 * 1000 * 1000 |
4835 | 1909 | elif (self.project in ("lubuntu", "lubuntu-next") and | 1783 | elif (self.project in ("lubuntu", "lubuntu-next") and |
4837 | 1910 | self.config["DIST"] >= "artful"): | 1784 | self.config["DIST"] >= "bionic"): |
4838 | 1911 | # https://irclogs.ubuntu.com/2017/07/27/%23ubuntu-release.html#t23:05 | 1785 | # https://irclogs.ubuntu.com/2017/07/27/%23ubuntu-release.html#t23:05 |
4839 | 1912 | return int(1.5 * 1000 * 1000 * 1000) | 1786 | return int(1.5 * 1000 * 1000 * 1000) |
4840 | 1913 | elif self.project == "lubuntu" and self.config["DIST"] >= "trusty": | 1787 | elif self.project == "lubuntu" and self.config["DIST"] >= "trusty": |
4841 | @@ -1915,11 +1789,7 @@ | |||
4842 | 1915 | # https://irclogs.ubuntu.com/2016/10/01/%23ubuntu-release.html#t19:06 | 1789 | # https://irclogs.ubuntu.com/2016/10/01/%23ubuntu-release.html#t19:06 |
4843 | 1916 | return 1024 * 1024 * 1024 | 1790 | return 1024 * 1024 * 1024 |
4844 | 1917 | elif self.project == "ubuntu-server": | 1791 | elif self.project == "ubuntu-server": |
4850 | 1918 | if self.config["DIST"] == "xenial": | 1792 | if self.config["DIST"] >= "xenial": |
4846 | 1919 | return 1024 * 1024 * 1024 | ||
4847 | 1920 | elif self.config["DIST"] >= "zesty" and arch == "ppc64el": | ||
4848 | 1921 | return 1024 * 1024 * 1024 | ||
4849 | 1922 | elif self.config["DIST"] >= "bionic": | ||
4851 | 1923 | return 1024 * 1024 * 1024 | 1793 | return 1024 * 1024 * 1024 |
4852 | 1924 | else: | 1794 | else: |
4853 | 1925 | return 736665600 | 1795 | return 736665600 |
4854 | @@ -2002,20 +1872,17 @@ | |||
4855 | 2002 | return "iso" | 1872 | return "iso" |
4856 | 2003 | 1873 | ||
4857 | 2004 | def jigdo_ports(self, arch): | 1874 | def jigdo_ports(self, arch): |
4858 | 2005 | series = self.config["DIST"] | ||
4859 | 2006 | cpuarch = arch.split("+")[0] | 1875 | cpuarch = arch.split("+")[0] |
4860 | 2007 | if cpuarch == "powerpc": | 1876 | if cpuarch == "powerpc": |
4861 | 2008 | # https://lists.ubuntu.com/archives/ubuntu-announce/2007-February/ | 1877 | # https://lists.ubuntu.com/archives/ubuntu-announce/2007-February/ |
4862 | 2009 | # 000098.html | 1878 | # 000098.html |
4865 | 2010 | if series > "edgy": | 1879 | return True |
4864 | 2011 | return True | ||
4866 | 2012 | elif cpuarch == "sparc": | 1880 | elif cpuarch == "sparc": |
4867 | 2013 | # https://lists.ubuntu.com/archives/ubuntu-devel-announce/ | 1881 | # https://lists.ubuntu.com/archives/ubuntu-devel-announce/ |
4868 | 2014 | # 2008-March/000400.html | 1882 | # 2008-March/000400.html |
4871 | 2015 | if series < "dapper" or series > "gutsy": | 1883 | return True |
4870 | 2016 | return True | ||
4872 | 2017 | elif cpuarch in ( | 1884 | elif cpuarch in ( |
4874 | 2018 | "arm64", "armel", "armhf", "hppa", "ia64", "lpia", "ppc64el", | 1885 | "arm64", "armel", "armhf", "hppa", "ia64", "ppc64el", |
4875 | 2019 | "s390x"): | 1886 | "s390x"): |
4876 | 2020 | return True | 1887 | return True |
4877 | 2021 | return False | 1888 | return False |
4878 | @@ -2377,17 +2244,14 @@ | |||
4879 | 2377 | for arch in arches: | 2244 | for arch in arches: |
4880 | 2378 | if image_base.endswith("-%s" % arch): | 2245 | if image_base.endswith("-%s" % arch): |
4881 | 2379 | matches = True | 2246 | matches = True |
4884 | 2380 | elif (self.config.project in ("ubuntu-touch", | 2247 | elif (self.config.project == "ubuntu-touch" and |
4883 | 2381 | "ubuntu-touch-custom") and | ||
4885 | 2382 | arch == "armhf" and | 2248 | arch == "armhf" and |
4886 | 2383 | ("-armel+" in image_base or "-armhf+" in image_base)): | 2249 | ("-armel+" in image_base or "-armhf+" in image_base)): |
4887 | 2384 | matches = True | 2250 | matches = True |
4890 | 2385 | elif (self.config.project in ("ubuntu-touch", | 2251 | elif (self.config.project == "ubuntu-touch" and |
4889 | 2386 | "ubuntu-touch-custom") and | ||
4891 | 2387 | arch == "i386" and "-i386+" in image_base): | 2252 | arch == "i386" and "-i386+" in image_base): |
4892 | 2388 | matches = True | 2253 | matches = True |
4895 | 2389 | elif (self.config.project in ("ubuntu-touch", | 2254 | elif (self.config.project == "ubuntu-touch" and |
4894 | 2390 | "ubuntu-touch-custom") and | ||
4896 | 2391 | arch == "arm64" and "-arm64+" in image_base): | 2255 | arch == "arm64" and "-arm64+" in image_base): |
4897 | 2392 | matches = True | 2256 | matches = True |
4898 | 2393 | elif self.config.subproject == "wubi" and image_base == arch: | 2257 | elif self.config.subproject == "wubi" and image_base == arch: |
4899 | @@ -2834,18 +2698,13 @@ | |||
4900 | 2834 | """An object that can publish daily builds of the Chinese edition.""" | 2698 | """An object that can publish daily builds of the Chinese edition.""" |
4901 | 2835 | 2699 | ||
4902 | 2836 | def image_output(self, arch): | 2700 | def image_output(self, arch): |
4915 | 2837 | if self.config["DIST"] < "oneiric": | 2701 | project = "ubuntu" |
4916 | 2838 | return os.path.join( | 2702 | if self.config["UBUNTU_DEFAULTS_LOCALE"]: |
4917 | 2839 | self.config.root, "scratch", "ubuntu-chinese-edition", | 2703 | project = "-".join([ |
4918 | 2840 | self.config.full_series) | 2704 | project, self.config["UBUNTU_DEFAULTS_LOCALE"]]) |
4919 | 2841 | else: | 2705 | return os.path.join( |
4920 | 2842 | project = "ubuntu" | 2706 | self.config.root, "scratch", project, self.config.full_series, |
4921 | 2843 | if self.config["UBUNTU_DEFAULTS_LOCALE"]: | 2707 | self.image_type, "live") |
4910 | 2844 | project = "-".join([ | ||
4911 | 2845 | project, self.config["UBUNTU_DEFAULTS_LOCALE"]]) | ||
4912 | 2846 | return os.path.join( | ||
4913 | 2847 | self.config.root, "scratch", project, self.config.full_series, | ||
4914 | 2848 | self.image_type, "live") | ||
4922 | 2849 | 2708 | ||
4923 | 2850 | @property | 2709 | @property |
4924 | 2851 | def source_extension(self): | 2710 | def source_extension(self): |
4925 | @@ -2871,8 +2730,7 @@ | |||
4926 | 2871 | 2730 | ||
4927 | 2872 | def tree_suffix(self, source): | 2731 | def tree_suffix(self, source): |
4928 | 2873 | # Publish ports/daily to ports/releases/..., etc. | 2732 | # Publish ports/daily to ports/releases/..., etc. |
4931 | 2874 | ubuntu_projects = ( | 2733 | ubuntu_projects = ("ubuntu-server", ) |
4930 | 2875 | "ubuntu-server", "ubuntu-netbook", "ubuntu-mid", "ubuntu-headless") | ||
4932 | 2876 | if "/" in source: | 2734 | if "/" in source: |
4933 | 2877 | project, tail = source.split("/", 1) | 2735 | project, tail = source.split("/", 1) |
4934 | 2878 | if project in ubuntu_projects: | 2736 | if project in ubuntu_projects: |
4935 | @@ -3009,10 +2867,7 @@ | |||
4936 | 3009 | def daily_base(self, source, date, publish_type, arch): | 2867 | def daily_base(self, source, date, publish_type, arch): |
4937 | 3010 | series = self.config["DIST"] | 2868 | series = self.config["DIST"] |
4938 | 3011 | daily_dir = self.daily_dir(source, date, publish_type) | 2869 | daily_dir = self.daily_dir(source, date, publish_type) |
4943 | 3012 | if publish_type in ("netbook", "mid") and series <= "intrepid": | 2870 | if publish_type == "wubi": |
4940 | 3013 | return os.path.join( | ||
4941 | 3014 | daily_dir, "%s-%s" % (self.project, publish_type)) | ||
4942 | 3015 | elif publish_type == "wubi": | ||
4944 | 3016 | return os.path.join(daily_dir, arch) | 2871 | return os.path.join(daily_dir, arch) |
4945 | 3017 | else: | 2872 | else: |
4946 | 3018 | return os.path.join( | 2873 | return os.path.join( |
4947 | @@ -3176,7 +3031,7 @@ | |||
4948 | 3176 | 3031 | ||
4949 | 3177 | def want_manifest(self, publish_type, path): | 3032 | def want_manifest(self, publish_type, path): |
4950 | 3178 | if publish_type in ( | 3033 | if publish_type in ( |
4952 | 3179 | "live", "desktop", "netbook", "mid", "moblin-remix", | 3034 | "live", "desktop", "netbook", |
4953 | 3180 | "uec", "server-uec", "core", "wubi", "server", "live-server", | 3035 | "uec", "server-uec", "core", "wubi", "server", "live-server", |
4954 | 3181 | ): | 3036 | ): |
4955 | 3182 | return True | 3037 | return True |
4956 | @@ -3195,7 +3050,7 @@ | |||
4957 | 3195 | def want_metalink(self, publish_type): | 3050 | def want_metalink(self, publish_type): |
4958 | 3196 | # TODO: maybe others? metalink is only supported for Wubi | 3051 | # TODO: maybe others? metalink is only supported for Wubi |
4959 | 3197 | if publish_type in ( | 3052 | if publish_type in ( |
4961 | 3198 | "netbook", "mid", "moblin-remix", "uec", "server-uec", | 3053 | "netbook", "uec", "server-uec", |
4962 | 3199 | ): | 3054 | ): |
4963 | 3200 | return False | 3055 | return False |
4964 | 3201 | elif publish_type.startswith("preinstalled-"): | 3056 | elif publish_type.startswith("preinstalled-"): |
4965 | @@ -3393,14 +3248,12 @@ | |||
4966 | 3393 | 3248 | ||
4967 | 3394 | # Override the architecture list for these types unconditionally. | 3249 | # Override the architecture list for these types unconditionally. |
4968 | 3395 | # TODO: should reset default-arches for the source project instead | 3250 | # TODO: should reset default-arches for the source project instead |
4970 | 3396 | if (publish_type in ("netbook", "moblin-remix") and | 3251 | if (publish_type == "netbook" and |
4971 | 3397 | not [arch for arch in arches if arch.startswith("armel")]): | 3252 | not [arch for arch in arches if arch.startswith("armel")]): |
4972 | 3398 | arches = ["i386"] | 3253 | arches = ["i386"] |
4973 | 3399 | elif publish_type == "mid": | ||
4974 | 3400 | arches = ["lpia"] | ||
4975 | 3401 | 3254 | ||
4976 | 3402 | # Sanity-check. | 3255 | # Sanity-check. |
4978 | 3403 | if publish_type not in ("netbook", "mid", "src"): | 3256 | if publish_type not in ("netbook", "src"): |
4979 | 3404 | for arch in arches: | 3257 | for arch in arches: |
4980 | 3405 | paths = [] | 3258 | paths = [] |
4981 | 3406 | for ext in ("iso", "img", "img.gz", "img.xz", "img.tar.gz", | 3259 | for ext in ("iso", "img", "img.gz", "img.xz", "img.tar.gz", |
Rebased on trunk, could you please review? Thanks