sb2-show(1)

NAME
sb2-show - sb2 diagnostics tool

SYNOPSIS
sb2-show [-b binary_name ] [-m mode ] [-f function ] [-D ] [-v ] command [parameters]

DESCRIPTION
sb2-show is a tool for querying and testing what scratchbox2 does "behind the scenes".

The two most common uses are testing path mapping (commands path and which ) and finding out how programs are executed (the exec command). Additionally, there are some commands that are intended to be used internally by scratchbox2 itself, and not so useful for a normal user.

sb2-show must be executed inside a scratchbox2 session (see sb2(1) for details about creating sessions)

COMMANDS
Common commands:

path [path1] [path2] [pathN]
    Show mapping results for listed pathnames

which [path1] [path2]..
    Show mappings of pathnames, a less verbose variant of the path command (useful when using sb2-show from scripts)

exec program_path [arg1] [arg2]..
    Show how a program would be executed, together with environment modifications.

realcwd
    Show real current working directory (Inside a session /bin/pwd will usually report virtual paths, and this is the only way to determine the real wroking directory).

Commands for non-interactive use and debugging of scratchbox2:

exec-cmdline file [argv1] [argv2]..
    show execve() modifications on a single line (does not show full details, useful when using sb2-show from scripts)

log-error 'message'
    Add an error message to the logfile

log-warning 'message'
    Add a warning message to the logfile

verify-pathlist-mappings required-fix [ignorelist]
    Reads list of paths from stdin and checks that all paths will be mapped to a required prefix. This is used by sb2-check-pkg-mappings, (an internal utility).

execluafile filename
    Load and execute Lua code from file.

binarytype realpath
    detect & show type of program at realpath (which is an already mapped path)

var variablename
    show value of an internal string variable

libraryinterface
    show preload library interface version (the Lua <-> C code interface)

qemu-debug-exec file argv0 [argv1] [argv2]..
    show command line that can be used to start target binary under qemu gdbserver

OPTIONS

-v  verbose.

-b binary_name
    show using binary_name as name of the calling program

-f function
    show using function as callers name (full name of library or system call)

-D  Ignore directories while verifying path lists (effective only for the verify-pathlist-mappings command)

-t  report elapsed time (real time elapsed while executing the command)

-x file
    Load and execute Lua code from file before executing the command. Useful for debugging and tuning lua scripts of sb2.

-X file
    Load and execute Lua code from file after executing the command. Useful for debugging and tuning lua scripts of sb2.

-g port
    use port as qemu gdbserver listening port (default port is 1234). See command qemu-debug-exec

EXAMPLES

Show where the /etc directory gets mapped:

$ sb2 sb2-show path /etc
/etc => /opt/maemo/tools/etc (readonly)

(exact results depend on how sb2-init was executed; what mapping mode is the default, etc.)

Typically, home directories are not mapped:

$ sb2 sb2-show path /home/yourname
/home/yourname => /home/yourname

In development modes, host-compatible versions of tools are executed:

$ sb2 sb2-show exec /bin/ls
File    /bin/ls
Mapped  /opt/maemo/tools/bin/ls (readonly)
argv[0] /bin/ls
 ...

But in the emulation mode, only target's executables are used. Try also:

$ sb2 -e sb2-show exec /bin/ls

SEE ALSO
sb2(1), sb2-config(1), sb2-logz(1), sb2-init(1)

AUTHOR
Lauri Aarnio