home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 July / CMCD0704.ISO / Software / Complet / FreeDOS / fdbootcd.iso / FREEDOS / DOCS / DISTRIB.TXT < prev    next >
Text File  |  2004-01-03  |  6KB  |  123 lines

  1. This document describes the layout and contents of packages.
  2. The FreeDOS project uses the ZIP format for packaging its software.
  3.  
  4.  
  5. ***
  6. Repackaging the original maintainers archives for use as packages
  7. by the FreeDOS installer --- or --- Packages for a FreeDOS distribution
  8.  
  9. History, a question asked by Bernd Blaauw on the old Topica fd-dev list:
  10.  
  11. ...
  12. BB> For me, the problem is I cannot find a formal specification on how to
  13. BB> repack packages.  A release package gets transformed in a "binary package"
  14. BB> and a "source package", which each need some formal directory structure
  15. BB> and rules of which files to include in which package.
  16. ...
  17.  
  18.  
  19. Related documentation:
  20.  
  21. http://fd-doc.sourceforge.net/faq/cgi-bin/viewfaq.cgi?faq=Installing_FreeDOS/25
  22. ("What is the directory structure for the FreeDOS installer?")
  23.  
  24. http://fd-doc.sourceforge.net/mini/en/distrib.txt
  25. ("How to create a FreeDOS distribution, Mini-Howto")
  26.  
  27. http://fd-doc.sourceforge.net/howto/en/distrib.txt
  28. ("FreeDOS Distribution HOWTO")
  29.  
  30.  
  31. Whenever creating new or updated packages, it is often helpful
  32. to look at the layout of the current/previous packages and
  33. use that as a guideline of what goes where.  
  34.  
  35. However please note: 
  36. The following information is regarding packages included
  37. within the distribution and I don't recommend maintainers
  38. release standalone packages that follow it exactly; ie the
  39. {program} component in directories should be ommitted and the
  40. full license text should be included.  However, splitting
  41. the packages into source & binary, with binary being subdivided
  42. into at least DOC, NLS, other is a big help!
  43.  
  44. The layout of the binary packages is:
  45. BIN\{program}.exe         
  46. // and any additional files required, e.g. BIN\FDISK.INI or BIN\KEY\*.key ...
  47. DOC\{program}\
  48. HELP\{program}.{lang}
  49. NLS\
  50. APPINFO\{program}.lsm
  51.  
  52. - All directories other than BIN are optional 
  53.  (technically bin is optional, but its a pointless package without an executable :)
  54.  
  55. -Each package is created to be installed relative to the main DOS
  56.  directory selected at install time, so BIN will become C:\FDOS\BIN
  57.  if C:\FDOS is the user selected location, or may be D:\BLAH\FDOS\B7\BIN
  58.  if user installs to D:\BLAH\FDOS\B7.  Nothing should go into .\
  59.  unless it is global to all packages; presently this is used only by
  60.  two packages, GPLv2, which has COPYING - the GPL v2 license text,
  61.  and SAMCFG, which includes sample & documented config.sys and autoexec.bat
  62.  files.  
  63.  
  64. -To reduce some space, packages [meant for inclusion with
  65.  the distribution and not seperately] have a stub license file that
  66.  points the user to COPYING or indicates the file should be replaced
  67.  with full text if distributed seperately from the distribution.
  68.  
  69. -Within BIN should be the actual program executable and any
  70.  additional files it requires for running, such as configuration files.
  71.  If not already compressed, one may compact the exe with a program
  72.  such as UPX or APACK (see their respective licenses for conditions
  73.  of doing so), as long as --8086 or equivalent option is used!
  74.  
  75. -Within DOC\{program}\ subdirectory should be any files within the
  76.  original archive's DOC, DOCS, or similar directory, otherwise
  77.  anything that looks like useful user documentation (developer
  78.  docs may also be added).
  79.  
  80. -Within HELP is one or more help files [one for each language],
  81.  which unless included with the original archive means just
  82.  HELP\{program}.EN is included.  If a help file for use by
  83.  fasthelp is included, then it is used unmodified, otherwise
  84.  a help file is created.  Depending on the program and included
  85.  docs, this may be simply the README renamed (or possibly with
  86.  some supplemental text added), a combination (possibly with
  87.  formatting edits) of included docs, or simply the program's
  88.  internal help, "BIN\{program}.exe /? > HELP\{program}.EN"
  89.  
  90. -NLS is optional unless the program includes text catalogs
  91.  for one or more languages, these usually are in a NLS
  92.  subdirectory of the original archive.
  93.  
  94. -And a copy of the LSM is placed in APPINFO, so user's can
  95. easily see what version is included, who maintains it, and
  96. where to check for updates.
  97.  
  98. For the source packages, place the contents of the original
  99. archive into SOURCE\{program}\.  If the original archive is
  100. split, then do this with the source variant and you are done,
  101. otherwise remove any executables and anything else you feel
  102. appropriate (i.e. duplicates that are in the binary
  103. package already, but please don't remove items that aren't
  104. otherwise available).  Usually I just remove the binary
  105. files and leave it as the author/maintainer packaged it.
  106.  
  107. Once all the the packages have been created and the corresponding
  108. installer data file (e.g. BASE.1 & BASE.END) are created,
  109. run through the install and see which packages need correcting;
  110. one will eventually forget to place some docs in a subdirectory
  111. with the program's name, ie straight into DOC\ instead of
  112. DOC\{program}\ or similar, which needs to be corrected.  Once
  113. this is done then comes the fun part.  For a CD or large media
  114. install, create a single zip with all the packages, this is
  115. BASE1.ZIP, for smaller disk sizes, subdivide this into sets
  116. that will fit on the disk, split BASE.1 into corresponding
  117. sets, zip each one up, placing BASE.END with the last one;
  118. this will be the files BASE1.ZIP, BASE2.ZIP, BASE3.ZIP, ...
  119. for however many sets are required.  Be sure to retest
  120. your small sets to insure you didn't forget any packages and
  121. your BASE.1 splitup matches the actual zips.
  122.  
  123. Jeremy