home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / riscbsd / docs / making_set < prev   
Encoding:
Text File  |  1996-10-07  |  6.7 KB  |  247 lines

  1. Notes on creating RiscBSD distribution sets
  2. -------------------------------------------
  3.  
  4. Author: Mark Brinicombe
  5.  
  6. NOTE: These are brief notes on creating installation sets for RiscBSD
  7. I am writing this at 3.30AM so accuracy is not garenteed.
  8.  
  9. I am working on a new set of script files that will help to build sets.
  10. These will be ready for RiscBSD 1.2 and will be made available then.
  11.  
  12. Ok here goes ...
  13.  
  14. There are two elements to a installation set.
  15.  
  16. 1. The set tar file
  17. 2. The set descriptor (*.set file)
  18.  
  19.  
  20. 1. The set tar file.
  21.  
  22. The set tar file is a tar file containing all the files to be included
  23. in the installation set. All files should be tarred relative to /
  24. Leading / should not be included. Either tar or pax can be used to
  25. do this (I use pax).
  26. The resulting tar file should be compressed with gzip. Preferrably
  27. using --best (-9) compression factor.
  28. The compressed tar file should then be split into a number of parts
  29. each of which should be less or equal to 1457663 bytes long.
  30. Each part should be sequentially labeled with a 2 digit extension
  31. (i.e. .00 .01 .02 .03 ...)
  32.  
  33. Either split in the base set or bsplit in the local set can be
  34. used to split the tar file.
  35. There is a small advantage in using bsplit. It has builtin defaults
  36. for generating the required size parts with the correct extensions.
  37.  
  38. e.g. 
  39. bsplit myset.tar.gz
  40.  
  41. will generates the files
  42. myset.00
  43. myset.01
  44. ...
  45.  
  46.  
  47. 2. The set descriptor
  48.  
  49. The set descriptor is a simple ASCII file that consists
  50. of a series of lines containing a tag and a value
  51. This file provides information such as version numbers,
  52. description, checksums etc.
  53.  
  54. The format of each line is as follows
  55.  
  56. <tag>:    <value>
  57.  
  58. The following tags are defined
  59.  
  60. tag        value
  61. ---        -----
  62.  
  63. set        This is the name of the set. This is should be set to the
  64.         same value as the sname field. This is only required for
  65.         backwards compatibility
  66.  
  67. sname        This is the short name for the set (see below).
  68.  
  69. rname        This is the real name for the set (see below).
  70.     
  71. major        This is the set major version number. This should match
  72.         RiscBSD version number the set was built for * 100.
  73.         (i.e. 120 for RiscBSD 1.2)
  74.  
  75. minor        This is the set minor version number. This should be
  76.         the release number of this set * 100. Release numbers
  77.         should start from 1.00
  78.  
  79. vers        This is the version number of the set package.
  80.  
  81. desc        The set description. This tag can be used multiple times
  82.         for oong descriptions. Ideally the description should not
  83.         be more that 2 lines.
  84.         Note: There are times when only the first list of the
  85.         description will be printed so this should be taken into
  86.         consideration.
  87.  
  88. depend        A list of set names that this set depends on. If the sets
  89.         listed here are not installed then the set will not be
  90.         installed
  91.  
  92. req        A list of set names that this set requires. These are other
  93.         sets that are required. At the end of an installation if
  94.         these sets are not installed a warning message will be
  95.         printed to notify the user.
  96.  
  97. type        The type of the set. This is one of the follow
  98.         MAND    Mandatory
  99.         OPT    Optional set
  100.         REC    Recommended set
  101.  
  102.         All user contributed sets should be optional sets. Mandatory
  103.         sets are only for some of the NetBSD base sets.
  104.         Recommedend sets are sets that while not required are
  105.         normally expected to be installed.
  106.  
  107. parts        The number of parts the tar file was split into. This allows
  108.         the installer to check that all the parts are present.
  109.  
  110. cksum.<part>    The checksum for tar file part <part>
  111.  
  112. detail        Extra detail on the set. This can contain a longer
  113.         description of the set. This tag may be used mulitple times.
  114.  
  115. date        The date the set was built.
  116.  
  117. author        The author of the set package. This should be a name
  118.         followed by an email address.
  119.  
  120. porter        The porter of the set package to RiscBSD. This should be a
  121.         name followed by an email address.
  122.  
  123. maintainer    The maintainer of the set. This should be a name followed by
  124.         an email address.
  125.  
  126. extra        Extra information that does not yet have a better tag.
  127.  
  128.  
  129.  
  130. There is a script /usr/local/sbin/updatedistrib that is part of the local
  131. set. This file can be used to update the checksums in the set file.
  132. Place the set file and the set parts in the same directory and run the
  133. command
  134. /usr/local/sbin/updatedistrib <setname>
  135.  
  136.  
  137. Set names
  138. ---------
  139.  
  140. Each set should have two names, a short name and a real name.
  141. The short name should only contain alphnumeric, -+_ characters.
  142. Ideally it should be no more than 8 characters.
  143. The short name is intended for use as the base for the set filenames.
  144. i.e. <sname>.set and <sname>.00 ...
  145. This allows for easy transfer on DOS floppies.
  146.  
  147. The real name for a set is a longer name that describes the sets
  148. position in the distribution heirarchy. This name is made up of
  149. a series of distribution branches separated by '.' characters.
  150. i.e. <root>.[<primary.branch>].[<branch>].<set>
  151.  
  152. Although this is not used in the current version of inst, future
  153. versions and graphic version will use this information
  154.  
  155. The idea is that branches can be wildcarded during installation etc.
  156.  
  157. The current roots are
  158.  
  159. contrib
  160. gnu
  161. netbsd
  162. source
  163. x11r6
  164.  
  165. Primary branches are
  166.  
  167. apps
  168. base
  169. contrib
  170. netbsd
  171. utils
  172. games
  173.  
  174. The exact structuring of the tree is not fixed yet, I'm still working on it.
  175.  
  176. Some examples are
  177.  
  178. netbsd.base            NetBSD base set
  179. netbsd.text            NetBSD text set
  180. source.netbsd.usr.bin        NetBSD usr.bin source set
  181.  
  182. x11r6.base            X11R6 base set
  183. x11r6.base.fonts        X11R6 base fonts
  184. x11r6.games.xpilot        Xpilot
  185. x11r6.apps.xmosaic        Mosaic for X11
  186. source.x11r6.apps.xmosaic    source for Mosaic for X11
  187. x11r6.contrib.mumail        MuMail user contrib set
  188.  
  189. If folks are not sure on the real name for a set, email me for one.
  190.  
  191.  
  192.  
  193.  
  194.  
  195. Appendix A: Example set file
  196.  
  197. set:    base
  198. sname:    base
  199. rname:    netbsd.base
  200. major:    120
  201. minor:    100
  202. vers:    1.2A
  203. desc:    base        Base distribution
  204. desc:            Base binaries and other files, full directory structure
  205. depend:
  206. req:    etc misc
  207. type:    MAND
  208. parts:    4
  209. cksum.00:    
  210. cksum.01:    
  211. cksum.02:    
  212. cksum.03:    
  213. detail:    Base distribution from NetBSD 1.2 base.
  214. date:    3rd June 1996
  215. author:    NetBSD Foundation <netbsd-users@netbsd.org>
  216. porter:    Mark Brinicombe <mark@netbsd.org>
  217. maintainer:    Mark Brinicombe <mark@netbsd.org>
  218. extra:    Nothing extra to go here.
  219.  
  220.  
  221. Appendix B: Example set build
  222.  
  223. cd /usr/distrib
  224. [edit xmosaic.set]
  225. (cd / ; tar cf /usr/distrib/xmosaic.tar ./usr/X11R6/bin/Mosaic \
  226. ./usr/X11R6/lib/X11/app-defaults/Mosaic)
  227. gzip -9 xmosaic.tar
  228. /usr/local/bin/bsplit xmosaic.tar.gz
  229. rm xmosaic.tar.gz
  230. /usr/local/sbin/updatedistrib xmosaic
  231.  
  232. You now have xmosaic.set and xmosaic.[0-9][0-9] ready for release.
  233.  
  234.  
  235. Appendix C: Example set build (from file list)
  236.  
  237. cd /usr/distrib
  238. [edit xmosaic.files]
  239. [edit xmosaic.set]
  240. (cd / ; cat /usr/distrib/xmosaic.files | sort | pax -w -d | gzip -9 \
  241. >/usr/distrib/xmosaic.tar.gz
  242. /usr/local/bin/bsplit xmosaic.tar.gz
  243. rm xmosaic.tar.gz
  244. /usr/local/sbin/updatedistrib xmosaic
  245.  
  246. You now have xmosaic.set and xmosaic.[0-9][0-9] ready for release.
  247.