home *** CD-ROM | disk | FTP | other *** search
- Notes on creating RiscBSD distribution sets
- -------------------------------------------
-
- Author: Mark Brinicombe
-
- NOTE: These are brief notes on creating installation sets for RiscBSD
- I am writing this at 3.30AM so accuracy is not garenteed.
-
- I am working on a new set of script files that will help to build sets.
- These will be ready for RiscBSD 1.2 and will be made available then.
-
- Ok here goes ...
-
- There are two elements to a installation set.
-
- 1. The set tar file
- 2. The set descriptor (*.set file)
-
-
- 1. The set tar file.
-
- The set tar file is a tar file containing all the files to be included
- in the installation set. All files should be tarred relative to /
- Leading / should not be included. Either tar or pax can be used to
- do this (I use pax).
- The resulting tar file should be compressed with gzip. Preferrably
- using --best (-9) compression factor.
- The compressed tar file should then be split into a number of parts
- each of which should be less or equal to 1457663 bytes long.
- Each part should be sequentially labeled with a 2 digit extension
- (i.e. .00 .01 .02 .03 ...)
-
- Either split in the base set or bsplit in the local set can be
- used to split the tar file.
- There is a small advantage in using bsplit. It has builtin defaults
- for generating the required size parts with the correct extensions.
-
- e.g.
- bsplit myset.tar.gz
-
- will generates the files
- myset.00
- myset.01
- ...
-
-
- 2. The set descriptor
-
- The set descriptor is a simple ASCII file that consists
- of a series of lines containing a tag and a value
- This file provides information such as version numbers,
- description, checksums etc.
-
- The format of each line is as follows
-
- <tag>: <value>
-
- The following tags are defined
-
- tag value
- --- -----
-
- set This is the name of the set. This is should be set to the
- same value as the sname field. This is only required for
- backwards compatibility
-
- sname This is the short name for the set (see below).
-
- rname This is the real name for the set (see below).
-
- major This is the set major version number. This should match
- RiscBSD version number the set was built for * 100.
- (i.e. 120 for RiscBSD 1.2)
-
- minor This is the set minor version number. This should be
- the release number of this set * 100. Release numbers
- should start from 1.00
-
- vers This is the version number of the set package.
-
- desc The set description. This tag can be used multiple times
- for oong descriptions. Ideally the description should not
- be more that 2 lines.
- Note: There are times when only the first list of the
- description will be printed so this should be taken into
- consideration.
-
- depend A list of set names that this set depends on. If the sets
- listed here are not installed then the set will not be
- installed
-
- req A list of set names that this set requires. These are other
- sets that are required. At the end of an installation if
- these sets are not installed a warning message will be
- printed to notify the user.
-
- type The type of the set. This is one of the follow
- MAND Mandatory
- OPT Optional set
- REC Recommended set
-
- All user contributed sets should be optional sets. Mandatory
- sets are only for some of the NetBSD base sets.
- Recommedend sets are sets that while not required are
- normally expected to be installed.
-
- parts The number of parts the tar file was split into. This allows
- the installer to check that all the parts are present.
-
- cksum.<part> The checksum for tar file part <part>
-
- detail Extra detail on the set. This can contain a longer
- description of the set. This tag may be used mulitple times.
-
- date The date the set was built.
-
- author The author of the set package. This should be a name
- followed by an email address.
-
- porter The porter of the set package to RiscBSD. This should be a
- name followed by an email address.
-
- maintainer The maintainer of the set. This should be a name followed by
- an email address.
-
- extra Extra information that does not yet have a better tag.
-
-
-
- There is a script /usr/local/sbin/updatedistrib that is part of the local
- set. This file can be used to update the checksums in the set file.
- Place the set file and the set parts in the same directory and run the
- command
- /usr/local/sbin/updatedistrib <setname>
-
-
- Set names
- ---------
-
- Each set should have two names, a short name and a real name.
- The short name should only contain alphnumeric, -+_ characters.
- Ideally it should be no more than 8 characters.
- The short name is intended for use as the base for the set filenames.
- i.e. <sname>.set and <sname>.00 ...
- This allows for easy transfer on DOS floppies.
-
- The real name for a set is a longer name that describes the sets
- position in the distribution heirarchy. This name is made up of
- a series of distribution branches separated by '.' characters.
- i.e. <root>.[<primary.branch>].[<branch>].<set>
-
- Although this is not used in the current version of inst, future
- versions and graphic version will use this information
-
- The idea is that branches can be wildcarded during installation etc.
-
- The current roots are
-
- contrib
- gnu
- netbsd
- source
- x11r6
-
- Primary branches are
-
- apps
- base
- contrib
- netbsd
- utils
- games
-
- The exact structuring of the tree is not fixed yet, I'm still working on it.
-
- Some examples are
-
- netbsd.base NetBSD base set
- netbsd.text NetBSD text set
- source.netbsd.usr.bin NetBSD usr.bin source set
-
- x11r6.base X11R6 base set
- x11r6.base.fonts X11R6 base fonts
- x11r6.games.xpilot Xpilot
- x11r6.apps.xmosaic Mosaic for X11
- source.x11r6.apps.xmosaic source for Mosaic for X11
- x11r6.contrib.mumail MuMail user contrib set
-
- If folks are not sure on the real name for a set, email me for one.
-
-
-
-
-
- Appendix A: Example set file
-
- set: base
- sname: base
- rname: netbsd.base
- major: 120
- minor: 100
- vers: 1.2A
- desc: base Base distribution
- desc: Base binaries and other files, full directory structure
- depend:
- req: etc misc
- type: MAND
- parts: 4
- cksum.00:
- cksum.01:
- cksum.02:
- cksum.03:
- detail: Base distribution from NetBSD 1.2 base.
- date: 3rd June 1996
- author: NetBSD Foundation <netbsd-users@netbsd.org>
- porter: Mark Brinicombe <mark@netbsd.org>
- maintainer: Mark Brinicombe <mark@netbsd.org>
- extra: Nothing extra to go here.
-
-
- Appendix B: Example set build
-
- cd /usr/distrib
- [edit xmosaic.set]
- (cd / ; tar cf /usr/distrib/xmosaic.tar ./usr/X11R6/bin/Mosaic \
- ./usr/X11R6/lib/X11/app-defaults/Mosaic)
- gzip -9 xmosaic.tar
- /usr/local/bin/bsplit xmosaic.tar.gz
- rm xmosaic.tar.gz
- /usr/local/sbin/updatedistrib xmosaic
-
- You now have xmosaic.set and xmosaic.[0-9][0-9] ready for release.
-
-
- Appendix C: Example set build (from file list)
-
- cd /usr/distrib
- [edit xmosaic.files]
- [edit xmosaic.set]
- (cd / ; cat /usr/distrib/xmosaic.files | sort | pax -w -d | gzip -9 \
- >/usr/distrib/xmosaic.tar.gz
- /usr/local/bin/bsplit xmosaic.tar.gz
- rm xmosaic.tar.gz
- /usr/local/sbin/updatedistrib xmosaic
-
- You now have xmosaic.set and xmosaic.[0-9][0-9] ready for release.
-