Differences between revisions 16 and 17
Revision 16 as of 2009-03-21 12:16:14
Size: 3304
Editor: FranklinPiat
Comment: embed image
Revision 17 as of 2009-03-21 12:18:17
Size: 3321
Editor: FranklinPiat
Comment: image link is broken
Deletions are marked like this. Additions are marked like this.
Line 120: Line 120:
{{http://www.carlospc.org/images/brainstorming.png}}  * http://www.carlospc.org/images/brainstorming.png ''(broken link)''

Features

o New and clean design focus in modularity.

o Main programming language: python

o A real configuration file. (debian-cd.conf)

  • Everything you thing that it can be configurable will be here.

    Note: If you plan to use python ConfigObj can be a good tool to parse the configuration file.

o Retrieve .deb and .udeb packages from a mirror, like debian-installer does.

  • debian-cd.conf must have this line: debian-cd-ng will download all Packages.gz from: This will simplify the logic, it doesn't matter if it's a local mirror or a remote mirror.

    Note: You could depend on and use debpartial-mirror (it's written in Python).

o Conserve major features from debian-cd

o Smart warnings

  • If there is a problem (not critical):
    1. point what's happening
    2. show how to solve
    If something goes wrong:
    1. point what's happening
    2. show how to solve the problem

o Mix binary and source in the same CD/DVD

  • Just for one CD/DVD: Once you have the binary tree and the source tree:
    1. Calculate if there is enough space to combine both in one media.
    2. If so combine both trees into a single.

o ?MedyaType input variable that would tell me:

  • 1 - businesscard CD 2 - netinst CD 3 - usual CD 4 - DVD

o Deep check of dependencies

  • Mix dependencies of the package with run-time checks

o Cleaner output to the shell

Structure

o data/

  • External data This directory should be the same that the current.

o debian-cd

  • Main executable program This will be the access point for doing anything.

o debian-cd.conf

  • Main configuration file Main config file, a simple conf file.

o doc/

  • Documentation This dir will contain all the documentation of the system.

o tools/

  • All the backend of debian-cd This dir will contain all the libraries (mainly, coded in python).

Components

  1. conf-parser. Load configuration.
    • o Get all the variables needed parsing debian-cd.conf o Check for unset variables, if it's missing one essential variable show the
      • error and stop.
  2. sweeper. This will clean the workspace.
  3. pre-checks. Initial checks.
    • o Check that the "Packages" file is well-formed. o Check the mirror using the information provided by the Packages file. o Check that the mirror contains all the packages needed that belongs to base section.
  4. gen-bootable
    • o make the CDs/DVDs bootable, it's needed to add disk-arch stuff.
  5. gen-tree, for each CD/DVD
    • o bin-tree o source-tree
  6. gen-md5list
  7. gen-images (Jigdo, iso, torrents, ...)
    • o bin-images o src-images o hibryd-images (mix binary and sources)
  8. gen-imagesums

Design

References