~ubuntu-branches/ubuntu/wily/ubuntu-release-upgrader/wily-proposed

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Config/Profiles:
----------------
* add include directive (or something like this)

CDROM:
-----
 * release notes display in CDROM mode
 * if run from CDROM and we have network -> do a self update
 * support dapper-commercial in sources.list rewriting
 * after "no-network" dist-upgrade it is most likely that the system
   is only half-upgraded and ubuntu-release-upgrader will not be able to do
   the full upgrade. ubuntu-release-upgrader needs to be changed to support
   full dist-upgrades (possible by just calling the dist-upgrader
   in a special mode)

Misc:
-----

* [fabbio]: we probably don't want to remove stuff that moved from main
  to universe (if the user has only main enabled this is considered 
  obsolete). It would also be nice inform about packages that went from
  main->universe. We could ship a list of demotions.
* set bigger timeout than 120s?

breezy->dapper
--------------
- gnome-icon-theme changes a lot, icons move from hicolor to gnome.
  this might have caused a specatular crash during a upgrade


hoary->breezy
-------------
- stop gnome-volume-manager before the hoary->breezy upgrade
  (it will crash otherwise)
- send a "\n" on the libc6 question on hoary->breezy

general
-------
- whitelist removal (pattern? e.g. c102 -> c2a etc) and not
  display it?

Robustness:
-----------
- automatically comment out entires in the sources.list that fail to 
  fetch. 
  Trouble: apt doesn't provide a method to map from a line in th
  sources.list to the indexFile and python-apt dosn't proivde a way to
  get all the metaIndexes in sources.list, nor a way to get the
  pkgIndexFiles from the metaIndexes (metaIndex is not available in 
  python-apt at all)
  What we could do is to write DistUpgradeCache.update(), check the
  DescURI for each failed item and guess from it what sources.list
  line failed (e.g. uri.endswith("Sources{.bz2|.gz") -> deb-src, get
  base-uri, find 'dists' in uri etc)
  
- don't stop if a single pkg fails to upgrade:
  - the problem here is apt, in apt-pkg/deb/dpkgpm.cc it will stop if
    dpkg returns a non-zero exit code. The problem with this is of course
    that this may happen in the middle of the upgrade, leaving half the
    packages unpacked but not configured or loads of packages unconfigured.
    One possible solution is to not stop in apt but try to continue as long
    as possible. The problem here is that e.g. if libnoitfy0 explodes and
    evolution, update-notifer depend on it, continuing means to evo and u-n
    can't be upgraded and dpkg explodes on them too. This is not more worse
    than what we have right now I guess.