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

Et voila! (was: Re: Slink not installable from CDs)



Martin Schulze wrote:
> I brought it up already but nobody jumped on.

Great, this time people were sensitively watching.

> Slink currently cannot be installed on a single-cd system using cd images.

Everybody agrees?

> Heiko Schlittermann has written a new dselect installation method
> that supports multiple cds.[1]  The reason why he hasn't uploaded
> it yet is that it depends on a hax0red version of dpkg-scanpackages
> to support a new field for each package "CD" which contains the
> CD on which the package is stored.

I have negotiated myself with Heiko, picked the package from him,
debugged and grok'ed it, verified it, wrote some documentation for it,
corrected some text, completed it with a specialized version of
dpkg-scanpackages, included an adjusted manpage and got Che_Fox to
proofread the text.


Here is how it works:


Installation methods for multiple binary CDs
--------------------------------------------

 This package provides three new methods to be used within dselect in
 order to access Debian binary package stored across multiple binary CD
 ROMS.  It will install itself into the methods directory from dselect
 so the user will be able to use them immediately.

 These are the three new methods:

  . Multiple binary CD-ROMs

  . Multiple binary CD-ROMs, accessed through NFS

  . Multiple binary CD-ROMs, pre-mounted

Acquiring package data
---------------------

 Since this method is derived from the `mounted' method the user is
 able to access up to five binary directories within `dists/stable':

  . main
  . contrib
  . non-free
  . non-US
  . local

 The selected method will try to read the `Packages' file from each of
 these directories if it is available.

Installing the files
--------------------

 At the beginning of the installation the `multicd' package will sort
 the list of to-be-installed packages and install them CD by CD.  If a
 different CD-ROM is required the user will be prompted to exchange
 the CD-ROM.

Preparing multiple binary CD-ROMs
---------------------------------

 Since the `multicd' methods need to know which packages are on which
 CD-ROMs one cannot use regular `Packages' files.  An additional data
 field "X-Medium:" is required.  The first CD-ROM from the set should
 contain all `Packages' files.  To be more convenient you should
 include the `Packages' files on all CD-ROMs.  Additionally the
 package needs to gain information which CD-ROM is currently used.
 Thus each CD-ROM contains the file `.disk/info' which contains the
 symbolic name for the CD-ROM as specified by "X-Medium:".

 In order to be able to create the modified Packages files, this
 package installs a modified version of `dpkg-scanpackages' in
 /usr/bin.  You'll need to specify the used medium with `-m medium'.

 To split the `main' distribution into two CD-ROMs you'll need to
 create a `Packages' file for each `binary-$arch' directory.
 Afterwards you simply append the second one to the first one and
 put the resulting `Packages' file into both `binary-$arch'
 directories.

dpkg-scanpackages
-----------------

 This package provides an improved version of `dpkg-scanpackages'
 which comes with the following additional features:

  . It can read compressed overrides files

  . Using `-m <medium>' you can tell the program to add the new data
    field "X-Medium:" for each record in the output.

 This version is installed using `dpkg-divert' which will disable the
 original `dpkg-scanpackages' program.

Sample Layout
-------------

 CD1 .disk/info = "Debian GNU/Linux binary-i386"
     dists/stable/main/binary-all/
                       binary-i386/Packages.gz
                       binary-i386/net/foo.deb
                  contrib/binary-i386/Packages.gz
                  non-free/binary-i386/Packages.gz
                  non-US/binary-i386/Packages.gz

 CD2 .disk/info = "Debian GNU/Linux contrib-i386"
     dists/stable/main/binary-i386/Packages.gz
                  contrib/binary-all/
                          binary-i386/Packages.gz
                          binary-i386/net/foo.deb
                  non-free/binary-i386/Packages.gz
                  non-US/binary-i386/Packages.gz

 CD3 .disk/info = "Debian GNU/Linux non-free-i386"
     dists/stable/main/binary-i386/Packages.gz
                  contrib/binary-i386/Packages.gz
                  non-free/binary-all/
                           binary-i386/Packages.gz
                           binary-i386/net/foo.deb
                  non-US/binary-all/

 To re-generate the Packages file you have to chdir into
 `dists/stable/$part' and issue `dpkg-scanpackages' as follows.  It's
 assumed that you have copied and gunzipped the overrides files in
 /tmp.

 CD1: dpkg-scanpackages -m "Debian GNU/Linux binary-i386" \
        binary-i386 /pub/debian/indices/override.hamm.gz \
        dists/stable/ > binary-i386/Packages

 CD2: dpkg-scanpackages -m "Debian GNU/Linux contrib-i386" \
        binary-i386 /pub/debian/indices/override.hamm.contrib.gz \
        dists/stable/ > binary-i386/Packages

 CD3: dpkg-scanpackages -m "Debian GNU/Linux non-free-i386" \
        binary-i386 /pub/debian/indices/override.hamm.non-free.gz \
        dists/stable/ > binary-i386/Packages

Please direct comments to Martin Schulze <joey@infodrom.north.de>


Quite easy, isn't it?

> Guy, or who the current maintainer of dpkg-scanpackges is, I'd also
> like to hear your oppionon about adding an "--cd <n>" option to
> dpkg-scanpackages.

Retracted.  It's now `-m medium', which can be used more generalized
as description for the CD-ROM.

Since our installation procedure from CD-ROM obviously needs this
package, we've used "Section: base".

I have put a prelimnary version of this package on my ftp server.  I'd
like you to check and test it.  I plan that Heiko or myself will
upload this package at about 7pm GMT so it will meet the next dinstall
run.

ftp://ftp.infodrom.north.de/pub/people/joey/debian/dpkg-multicd_0.7.1.dsc
ftp://ftp.infodrom.north.de/pub/people/joey/debian/dpkg-multicd_0.7.1.tar.gz
ftp://ftp.infodrom.north.de/pub/people/joey/debian/dpkg-multicd_0.7.1_all.deb

James, dark: Can you add an appropriate override line for this package?

Regards,

	Joey

-- 
The MS-DOS filesystem is nice for removable media.  -- H. Peter Anvin

Attachment: pgp8GMd00Yvg2.pgp
Description: PGP signature


Reply to: