Package frysk.sysroot

This package implements frysk's sysroot support for handling a special system directory heirarchy.

See:
          Description

Class Summary
SysRoot Map from a Task's executable to its special root directory.
SysRootCache Map from a Task's executable to its special root directory.
SysRootFile  
TestSysRoot  
 

Package frysk.sysroot Description

This package implements frysk's sysroot support for handling a special system directory heirarchy.

Overview

Frysk supports a way to find source files, debuginfo files, and libraries in a special system directory heirarchy. For example if mock(1) is used to build a package, then we would with a directory that looked like:
  test-sysroot/usr/bin:
   funit-quicksort*

  test-sysroot/usr/lib:
   debug/  libbubble.so*

  test-sysroot/usr/lib/debug/usr/bin:
   funit-quicksort.debug*

  test-sysroot/usr/lib/debug/usr/lib:
   funit-bubblesort.debug*

  test-sysroot/usr/src:
   debug/

  test-sysroot/usr/src/debug:
   funit-bubblesort.c  funit-quicksort.c
The command fhpd -sysroot test-sysroot funit-quicksort will search the test-sysroot heirarchy for executable files, debuginfo files, and libraries. The -sysroot option is also available for most frysk commands and for the load, core, and attach requests.

Implementation

Frysk assumes all accesses to source, debuginfo, and libraries are through a sysroot, with the default sysroot being /. LinuxExeFactory.java and LinuxCoreFactory.java support sysroots via:
SysRootCache.java - Get the sysroot that corresponds to a given task.
SysRoot.java - Return members of the sysroot heirarchy, for example the directory where libraries are located.
SysRootFile.java - Allows the management of files as a pair.