File: TODO

package info (click to toggle)
debian-installer 20070308etch7
  • links: PTS
  • area: main
  • in suites: etch
  • size: 4,284 kB
  • ctags: 142
  • sloc: xml: 9,843; sh: 1,623; makefile: 784; perl: 496; awk: 100
file content (177 lines) | stat: -rw-r--r-- 5,835 bytes parent folder | download | duplicates (2)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
This TODO list can only touch on some larger issues, but there are a great
many open bugs on various components of the installer. See all bugs tagged
d-i in the BTS. Also, there are many unprocessed installation-reports.


Status for different parts of debian-installer.  The numbers are
approximate (as in +/- 50%) and may change in any direction, at any
time.

[0%] Not begun
---------------------------------------------------------------------
	- some architectures
		hurd-i386 (we will ship w/o this)
		sh (we will ship w/o this)
	- support for non-free udebs
		Driver disks are already supported, but that is not really
		good enough for etch.

[30%] Might need large rewrites. Current implementation might
      work by accident
---------------------------------------------------------------------
	- persistent disk device names
		With udev, the best approach, according to Md, is to use
		the /dev/disk/ persistent devices which should always be
		the same. Would need partman, bootloader installer,
		probably other changes.

[60%] Needs some work, but does its grunt work
---------------------------------------------------------------------
	- I18N
		Mostly done, still filling in minor holes.
	- translations
		Varying languages translated to varying degrees.
		http://people.debian.org/~seppy/d-i/translation-status.html
	- boot loader installers (lilo, grub, etc)
		Work, except for when they don't. See BTS.
	- disk selector, partitioner
		We have switched to partman everything except a couple of
		subarches and s390.
	- web site
		http://www.debian.org/devel/debian-installer/
		Could be better laid out, lacking some sections, other
		parts are quite good.
	- archive integration
		No automatic propagation to testing.
		No source propagation for udeb sources!
		http://people.debian.org/~joeyh/d-i/testing-summary.html
	- hw-detect
		Working, but various issues with specific hardware.
	- pcmcia support
		Much improved, generally works now.
		Automatic PCI resource range exclusion based on probing
		still needed, work in progress.
	- low memory support
		Where "low" is 24-46 mb!
		Works, but user must be careful to set up swap ASAP.
		There is no sanity checking, and some bad failure modes.
		More work needed for 16 mb installs.
	- user documentation
		Installation manual is up-to-date for i386.
		Needs sanity checking for other architectures.
	- developer documentation
		We understand it, but it could be improved.
	- integrate/document rescue mode support
		Needs bootloader configuration (done on x86, sparc, ia64).
		Needs easy ways to do common tasks like reinstalling a
		bootloader (done for grub and yaboot).
	- g-i
		Working pretty well, still a few known bugs and UI issues.
	- ppp support
		Not as important for analog dialup, as for ISDN, pppoe.
		pppoe-udeb works
	- most architectures
		i386
		ia64
		powerpc
		mips
		mipsel
		m68k (some subarches)
			- bvme floppies need root to build
		alpha
		sparc
			- floppies need root to build
		arm
		hppa
		amd64
		s390

[90%] Single missing important feature or bug.
---------------------------------------------------------------------
	- iso-scan
		Works, but does not flag the disk the iso is mounted from
		as unusable by the rest of the installer.
	- netcfg
		Working, pending rewrite for IPv6.
	- localechooser
		The perennial problem is how to order/present the list of
		languages. Many complaints, but it works.
	- base system installer
		Improve kernel selection. Knowing about some kind of
		preference order for kernels would be good. (Kamion)
	- anna
		Needs support for Release files.
	- preseeding
		Works pretty well.
		Some things still cannot be preseeded. This is generally a
		bug in the udeb's use of debconf.

[100%] Those shouldn't need to be touched any more 
       (famous last words)
---------------------------------------------------------------------
	- udpkg
	- cd installs
	- net retriever
	- cdrom retriever
	- ethdetect
	- cdebconf
	- floppy retriever
	- main-menu
	- choose-mirror
	- busybox integration
	- install media build system
	- kernel-package integration
	- library reduction
	- wireless support
	- save-logs
	- 2.6 support
	- udev


Post-etch goals
================

	- fix pkg-lists names to match images (joeyh)
	- consistent indentation of all shell scripts
	  (with a style that minimises size on initrd! :-) (joeyh)
	- 16 mb installs
	- finish partman (anton)
	- handle debian upgrades in partman (anton)
	- fai integration (markos)
	- use same device names in installer and installed
	  system (kamion)
	- non-linux d-i (jbailey)
	- moon-buggy udeb (cts@debian)
	- britney and udebs
	- fai disk config files in d-i (holger)
	- low(er) mem (zboob)
	- uml for testing d-i (anton)
	- post reboot network configuration (kamion)
	- real deb from archdetect udeb (luther)
	- integrate selinux installation into the installer, for a painless
	  install (joeyh/manoj?)
	- add a xen server task (joeyh)
		- requires a way to install the xen kernel, which might
		  mean moving kernel etc package installation from the end
		  of base-installer to the end of pkgsel

Common problems and transitions
===============================

This is a list of common mistakes that need to be corrected throughout the
code base:

  * All debconf commands that INPUT, GO, GET or SET questions should check
    their return value. This is pure evil:

    debconf->command(debconf, "GET", "mirror/suite", NULL); /* unchecked return code ! */
    asprintf(&command, "foo %s", debconf->value);
    system(command);

  * cdebconf's debconfclient.h has a set of macros for calling debconf
    (debconf_get() and so on)
    These should perhaps be used consistently throughout the code for
    clarity.

  * udebs should not include md5sums files, or postrm, prerm, preinst
    scripts. Linda will find these pretty well.