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