[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Multi-Volume description files.

Here's a proposal I wrote a little while ago describing a very general
multiple volume description file format.

This allows
	- packages files to be on first CD or on each CD (or any
	- no changes required to Packages file format.
	- vendors can add additional CDs or sections fairly easily.
	- complete flexibility in packages layout -- no assumptions
	are made about how the volumes are laid out, except for
	the presence of volume identity and the package description

It needs
	- tools to read these files, and remember which volume each
	package is located on (e.g. just put an entry in the local
	packages database).
	- tools need to prompt for the right CD to be inserted.
	- some sorting of package order via CD might be nice to
	reduce swapping.


Debian GNU/Linux
Installation from Multi-Volume Removable Media.

To allow flexible installation from multi-volume removable media
the following scheme is proposed.  Note that although I will use
the term "CD" to refer to a particular data storage media, this
scheme is quite general, and can be applied to DVD, Zip disks,
removable hard drives or even floppies.

The scheme works by associating each CD with a name.
This name should correspond with the label on the front of the CD.
The name is available on the CD, so the system can find out which CD is in
the drive at any time.

One CD in any set contains a file in the root directory called "contents".
It is a text file containing the following fields:
    SetName: <name of the CD set>
    SetVendor: <name of the vendor who prepared the CD set (optional)> 
     <multi line description of the CD set>
    SetName: Debian 2.0r2 for x86
    SetVendor: FunkyLinux Productions
     FunkyLinux is proud to present the all singing all
     dancing Debian 2.0r2.
     This CD set consists of the main Debian distribution
     and the non-US section.
     We also include a section of software specifically for
     disco enthusiasts.  This is not in the default selection,
     but be sure to choose it if you want it.

This simply describes the name of the CD set, the vendor, and says
what is on it.  The user might be prompted with this information, and
asked whether they want to add all the suggested sets of packages to
their available packages list (see below for suggested sets).
Or the system can just store this information, or even ignore it
if it is not needed.

The rest of the fields are optional, but you would usually expect
one or more of:

    PackagesName: <name of a set of packages>
    PackagesMedia: <name of the media that these packages are found on>
    PackagesPath: <path from the media root to the packages directory>
    PackagesFileMedia: <name of the media that the packages file is on>
    PackagesFile: <path to the Packages file, relative to root>
    PackagesSuggested: <yes|no : whether it is the default to install
    	these packages>
     <multi line description of this set of packages>

    PackagesName: main
    PackagesMedia: Debian 2.0r2 CD 1
    PackagesPath: /debian
    PackagesFileMedia: Debian 2.0r2 CD 1
    PackagesFile: /debian/dists/main/binary-i386/Packages.gz
    PackagesSuggested: yes
     The main packages for Debian 2.0.  All this software meets the
     Debian Free Software Guidelines (see your manual for a definition
     of this term).
     Unless you're sure you don't want it, you should probably add this
     package set to your available packages.
This describes the location of a group of packages.  Note that the
Packages.gz file can be on a different CD to the packages themselves,
if desired (it's probably useful to put them all on the first CD, to
make first time updates easier).  Users can also be prompted to
see if they actually own all the CDs -- if not, it would be reasonably
easy to ignore Packages files for packages that are stored on a
different CD.

The suggested field decides whether this is a "default" choice of
packages.  Specialized sets of packages could be "no" by default
(for example "math" or "hamradio") to stop users even having to worry
about them.  Again, users can be prompted, but it is not necessary.

You can have more than one of these.  The example above could be
immediately followed by:

    PackagesName: non-US
    PackagesMedia: Debian 2.0r2 CD 2
    PackagesPath: /debian-non-US
    PackagesFileMedia: Debian 2.0r2 CD 1
    PackagesFile: /extras/Packages-non-US.gz
    PackagesSuggested: no
     The non-US section.  These packages have export restrictions in
     some places.  See if you can guess where.

    PackagesName: disco
    PackagesMedia: Debian 2.0r2 Disco CD
    PackagesPath: /debian-disco
    PackagesFileMedia: Debian 2.0r2 CD 1
    PackagesFile: /disco/Packages.gz
    PackagesSuggested: yes
     Disco utilities.  A special feature of the "FunkyLinux"
     Debian distribution.

A blank line separates each Packages*: set.


Because I dislike being quoted I lie almost constantly when talking 
about my work.
		-- Terry Gilliam

Tyson Dowd   <tyson@tyse.net>   http://tyse.net/

Reply to: