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

Reply via email to