I think I have doc/TODO back up-to-date. Please take a minute to look over it and correct or add anything I'm not aware of. -- see shy jo
Important things to do before preview release
=============================================
Here's a list of urgent things we need to do before issuing a preview
release.
* Get the load-* stuff out of NEW.
* Fix mkreiserfs to not hang. (#213314)
* Finish the libdebian-installer transition, get a working install again.
(Done or nearly so.)
* Error handling. We need to make sure the user is told so when
something goes wrong. It's especially bad for debootstrap.
* Progress bar when running mkfs.
* bogl-term refresh problem
* Is cfdisk really the best partitioner we can come up with on i386,
aside from autopartkit?
* Get some new successful CD installation reports with builds newer than
the Oct 8th build.
* Update the web site to include user docs, including links to download
boot media.
Current status
==============
CD installs to i386 and (some) powerpc are working, with many
successful installs (and many bugs).
Some success with other install methods: floppy, netboot, etc.
debian-installer images are built daily for i386, powerpc.
This includes CD images.
debian-installer boot images (i386, powerpc) are available in
the Debian archive, in unstable.
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 kind of a mechanism for udebs to declare what parts of
busybox they need, so we can ensure that all deps are met while
keeping the busybox footprint small.
Packages depending on base-installer should use the
utilities in /target so we can keep busybox's size down.
(We will probably ship without this.)
- lintian support for udebs, to catch all the common gotchas
- ppp support
Not as important for analog dialup, as for ISDN, pppoe.
- wireless support
If you're lucky, you may just get a nearby AP by default, but
there is no wireless-tools, no way to configure it
- some architectures
arm
hurd-i386
sh
s/390
sparc
[30%] Might need large rewrites. Current implementation might
work by accident
---------------------------------------------------------------------
- user documentation
Short term we have the INSTALLATION-HOWTO, but the real
install manual is still being put together, and lacks a
Makefile.
- GUI frontend to cdebconf.
There are some basic implementations. The trick is to make
it a GUI that does not suck, while still using debconf
underneath.
- cdrom-checker
apparently broken (#213054)
- pcmcia support
may work, may not..
pcmcia-modules are not installed onto the target
pcmcia-cs-udeb has a broken (reduced?) pcmcia config
which makes it not work with eg, orinoco
Probably need to re-run hw-detect after loading pcmcia from
the net_driver floppy.
- some architectures
alpha
hppa
ia64
m69k (some subarches)
mips, mipsel
[60%] Needs some work, but does its grunt work
---------------------------------------------------------------------
- I18N
Mostly there.
Still working on various things such as moving menu items
into debconf.
- translations
Varying languages translated to varying degrees.
- language-chooser
The perrenial problem is how to order/present the list of
languages. Many complaints, but it works.
- boot loader installers (lilo, grub, etc)
Work, except for when they don't. See BTS.
- disk formatter
Works, except for reiserfs hang prolem.
- base system installer
debootstrap is stable, and has quite good support in
base-installer
Except for when it fails. See BTS.
In particular, it always fails when used on a non-empty
partition. Many users run into this.
- netcfg
Working, pending rewrite for IPv6 and multiple devices
support.
- anna
Works, mostly. Needs support for Releases files.
Support for signed Release files would be cool, but
needs gpgv-udeb.
Needs to have load-installer properly split out of the anna
binary to save space on root floppy.
- kernel-package integration
Moving to the new linux-kernel-di system, so far only i386
is fully converted.
- disk selector, partitioner
There are two of them, autopartkit and partkit.
partkit needs polish, both work, except for when they
don't. (See BTS.)
- iso-scan
Works, but does not flag the disk the iso is mounted from
as unusable by the rest of the installer.
- web site
http://www.debian.org/devel/debian-installer/
Could be better laid out, lacking some sections, other
parts are quite good.
- archive integration
We probably want to separate testing and unstable at some
point.
Only a few arches (i386, powerpc) have boot media in the
archive.
There is currently no mechanism to promote boot media
or udebs from unstable to testing.
- some architectures
i386
powerpc (some subarches)
[90%] Single missing important feature or bug.
---------------------------------------------------------------------
- install media build system
The mrvn branch needs to be tested and merged.
The dest/ image names need to be reorganised.
- partconf
Reiserfs hangs, in interactive mode.
- hw-detect
Working but needs to be switched over to discover2
- bts
Search for bugs tagged d-i
(Still need a non-manual way to tag our bugs.)
[100%] Those shouldn't need to be touched any more
(famous last words)
---------------------------------------------------------------------
- udpkg
May be eventually replaced with busybox dpkg.
- cd installs
Works mostly.
- net retriever
- cdrom retriever
- ethdetect
- library reduction
Working (on all arches?)
- post-reboot configuration
base-cofig is stable, though stuff may need to be added to
it to handle things d-i doesn't bother with. i18n is
needed.
Integration with debian installer's debconf database still
needs to be done, although the current ugly system works.
- cdebconf
- dhcp
- floppy retriever
- main-menu
- choose-mirror
- busybox integration
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/distribution", NULL); /* unchecked return code ! */
asprintf(&command, "foo %s", debconf->value);
system(command);
* Nothing should send error messages to stderr. If there is an error,
use debconf to display a message. stderr messages will overwrite the
newt frontend.
* 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.
* There needs to be a centralised logging method. Syslog will do, but
we currently have a lot of nasty code that appends messages to
/var/log/messages directly. All of that would be converted to pipe it
to logger. However, this is a problem, because piping a command to
logger loses the exit status of the command. Need some way to run a
command, logging the ouput to syslog, w/o losing exit status.
* udebs should not include md5sums files, or postrm, prerm, preinst
scripts. This includes ones generated by debhelper.
* Use the cdebconf error template type for error messages, instead of
note.
* Most debconf title setting can be replaced with providing the
appropriate title template and letting main-menu set it.
* Some main menu items still need to be updated to provide menu entry
templates.
Attachment:
signature.asc
Description: Digital signature