[Lsb-messages] /var/www/bzr/lsb/devel/lsbspec r3850: update top-level README (directory layout)

Mats Wichmann mats at linuxfoundation.org
Wed Dec 5 14:41:28 UTC 2012


------------------------------------------------------------
revno: 3850
committer: Mats Wichmann <mats at linuxfoundation.org>
branch nick: lsbspec
timestamp: Wed 2012-12-05 07:41:28 -0700
message:
  update top-level README (directory layout)
modified:
  README
-------------- next part --------------
=== modified file 'README'
--- a/README	2012-12-01 19:29:23 +0000
+++ b/README	2012-12-05 14:41:28 +0000
@@ -1,59 +1,74 @@
 lsbspec:
 this directory contains most of the source for the LSB specification.
 
-This setup is documented more completely elsewhere, including on the
-LSB Wiki, but just some short notes here:
+This note describes the directory layout, but not how to make use of
+the contents.  That information may be found elsewehere, both in files
+in this tree and on the LSB Wiki, but just some short notes here:
 
 1. LSB is divided into Modules, which are further divided into Submodules.
-In general, each submodule has a directory in lsbspec which contains
-the sources for the pieces of that submodule.  
+   In general, each submodule has a directory in lsbspec which contains
+   the sources for the pieces of that submodule. Each module has a
+   directory as well.
 
 2. The submodule layout is roughly:
 
    intro - frontmatter, including generated lists of libraries,
            referenced specifications, and some intro text
    generic - all the generic material for the submodule
-   [arch1, arch2...] - each of these contains arch-specific
-           materials, omitted if there is none
-
-   Some of these may be further subdivided, e.g. generic may
-   have subdirectories for generic libraries, or groups of libraries.
-
-3. Module directories generally only have an intro directory, the
-   frontmatter needed to glue the submodules together when each
-   submodule's intro directory is omitted.
+   [arch1, arch2...] - each of these contains arch-specific materials,
+           omitted if there is none
+
+   Some of these may be further subdivided, e.g. generic may have
+   subdirectories for generic libraries, or groups of libraries.
+
+   There will usually be some sort of appendix directory as well,
+   usually under the generic/arch directories.
+
+3. Module directories generally only have an intro directory containing
+   the frontmatter needed to glue the submodules together when each
+   submodule's intro directory is omitted, and some structure to generate
+   an appendix for the combined book.
 
 4. Since there's been evolution over more than a decade and for each
-change in convention it wasn't always worth reworing old stuff, some
-things don't follow the current convention.  The main exception is that
-LSB, which corresponds to the submodule now named LSB_Base actually has
-separate parts, ELF and Packaging in their own directories, even though
-these are not officially submodules.  LSB itself is a little more logical
-now than it used to be as C++ (as of 5.0) isn't split out as a separate
-submodule still contained within LSB_Base.  There is also no Core 
-subdirectory to stitch LSB together with other submodules in Core.
+   change in convention it wasn't always worth reworing old stuff, some
+   things don't follow the current convention.  The main exception is that
+   LSB, which corresponds to the submodule now named LSB_Base actually
+   has included pieces ELF and Packaging in their own top-level directories,
+   even though these are not officially submodules.  LSB itself is a
+   little more logical now than it used to be as C++ (as of 5.0) isn't
+   split out as a separate submodule still contained within LSB_Base.
+   There is also no Core subdirectory to stitch LSB together with other
+   submodules in Core, although this change is planned, as is a change
+   to promote ELF and Packaging to submodule status for consistency.
 
-5. Individual generated sgml files which are to be put together into
-published specification are generally described by SGML entities in
-the file "entities".  Where several files are to be combined for a
-submodule, there's usually a file named "contents" which is a list of
-entities needed. Since LSB 5.0, these have been moved into the submodule
-directories from a separate location.
+5. Individual generated sgml files which are to be put together into a
+   published specification are generally described by SGML entities
+   in the file "entities".  This avoids building in long paths in the
+   book build area.  Where several entities are to be combined for a
+   submodule, there's usually a file named "contents" which is a list
+   of entities needed. Since LSB 5.0, these have been moved into the
+   submodule directories from a separate location.
 
 6. There's an exception to "source is here" - data which is roughly
-equivalent to header files, described in the specification as
-Data Definitions, is in a parallel tree which is expected to be at
-../build_env/headers relative to the top level of this tree. This
-is done because the .defs files are generated from exactly the same
-data as the header files that go into the SDK (build_env), so
-they're kept together there.
+   equivalent to header files, described in the specification as
+   Data Definitions, is in a parallel tree which is expected to be at
+   ../build_env/headers relative to the top level of this tree. This is
+   done because the .defs files are generated from exactly the same data
+   as the header files that go into the SDK (build_env), so they're kept
+   together there.
 
 7. Some additonal spec data is generated from the database. This
-material is built by typing "make gensrc" in the appropriate
-directory (the command will descend, so one "make gensrc" at the
-top level gens all of it).  A "make" then combines these pieces
-with static pieces to make the files that will make up the specification.
+   material is built by typing "make gensrc" in the appropriate directory
+   (the command will descend, so one "make gensrc" at the top level gens
+   all of it).  A "make" then combines these pieces with static pieces
+   to make the files that will make up the specification - as noted
+   in (5) above, these are then listed in the entities file.
 
+Directories which begin with lowercase letters contain various additional
+material, which is usually not specification source.  The exception
+would be "matters", which includes some shared boilerplate such as the
+spec license, definitions, copyright statements, etc. "errata" contains
+errata documents for various editions of the specification.
 
 Note that the specifications are not generated here, but rather in
 parallel directories "booksets" and "books".



More information about the lsb-messages mailing list