Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

The script offlineObf.py copies specified includes and libraries to an installation which may be used by SCons. It handles only Linux for now, but it shouldn't be too difficult to add Windows as long as the original build organization there is similar to that of flight builds on Linux. Here is the help output:

Wiki MarkupUsage: offlineObf.py \ [options\] fsw_version
Options:   \
  -h, \--help            show this help message and exit   \-p PKGLIST, \--help            show this help message and exit
  -p PKGLIST, --package_list=PKGLIST &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file containing list of fsw packages (<mjr> <mnr>) and &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; what to do with them.&nbsp; Default: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        file containing list of fsw packages (<mjr> <mnr>) and
                        what to do with them.  Default:
                        <fsw_version>_package_list.txt &nbsp; \
  --input_binary=INPUTBINARY &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input binary tag \[default: linux-gcc\] &nbsp; \-c COMPILER, \--compiler=COMPILER &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compiler \[default: substring of output binary tag &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; following final hyphen\] &nbsp; \--output_binary=OUTPUTBINARY &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; output binary tag \[default:
                        input binary tag [default: linux-gcc]
  -c COMPILER, --compiler=COMPILER
                        compiler [default: substring of output binary tag
                        following final hyphen]
  --output_binary=OUTPUTBINARY
                        output binary tag [default: redhat4-i686-32bit-gcc34\] &nbsp; \]
  --input_root=INPUTROOT &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input fsw build root \[default:
                        Input fsw build root [default: /afs/slac.stanford.edu/ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        g/glast/flight/ltx_root_<fsw_version>\] &nbsp; \]
  --output_parent=OUTPUT &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Output root parent \[default:
                        Output root parent [default: $GLAST_EXT/obf\] &nbsp; \]
  --overwrite=OVERWRITE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Overwrite existing installation if any \[default: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; False\
                        Overwrite existing installation if any [default:
                        False]

The package list file used for B1-1-3 starts out like this:

Wiki Markup\# Input package list for offlineObf.py \
# Format: \#&nbsp;&nbsp; MAJ&nbsp;&nbsp; MIN&nbsp; VER&nbsp;&nbsp; \[inc\] \[src\] \[lib \| Format:
#   MAJ   MIN  VER   [inc] [src] [lib | (lib=LIBNAME)*\] \#&nbsp; \[&nbsp;&nbsp; \] signifies optional; \| is ]
#  [   ] signifies optional; | is "or"; \
# ( ) are just for grouping in the template and do not actually appear \# \#&nbsp; inc&nbsp; recursively copy include directory to
#
#  inc  recursively copy include directory to new-include-root/MIN \#&nbsp; lib&nbsp; copy all libraries to
#  lib  copy all libraries to new-lib-root \#&nbsp;
lib=LIBNAME&nbsp; LIBNAME  copy specific library&nbsp; LIBNAME to specific library  LIBNAME to new-lib-root \#&nbsp; src&nbsp; copy everything matching
#  src  copy everything matching ..source/MIN/src/*.h to new-include-root/src PHY&nbsp; EFC&nbsp;
PHY  EFC  V4-3-0&nbsp;&nbsp;&nbsp;&nbsp; inc src lib=efc PHY&nbsp; XFC&nbsp; V0-1-2&nbsp;&nbsp;&nbsp;&nbsp; inc PHY&nbsp; EDS&nbsp; V2-9-1&nbsp;&nbsp;&nbsp;&nbsp; inc 0     inc src lib=efc
PHY  XFC  V0-1-2     inc
PHY  EDS  V2-9-1     inc lib

The package list file has to be hand-generated for each new Flight Software build.

...