Product SiteDocumentation Site

Chapter 5. Manual pages

appcompile — Compile software automatically
depscan — Detect binary dependencies
lig++ — Wrapper around g++ to create more portable apps
ligcc — Wrapper around gcc to create more portable apps
likey — Manage Listaller's key database
lipa — Listaller command-line tool
lipkgen — Listaller package builder
relaytool — Generate a file that can be used instead of linking directly against a library
runapp — Run an application

Name

appcompile — Compile software automatically

Synopsis

appcompile [OPTION ...]

Description

This manual page documents briefly the appcompile command.
appcompile automatically compiles applications from source code. It will detect the build system (cmake, automake, ...) and then perform the necessary steps to generate the binary. appcompile can be used together with libuild, the Listaller build tool, to compile applications easily.

Options

-s, --sourcedir=DIRECTORY
Path to source of the application which should be compiled.
-o, --target_dir=DIRECTORY
Path where the resulting binaries should be installed to.
--strip
Strip debug information from resulting binaries.
--version
Display version number of appcompile
--verbose
Turn on verbose mode (this can be used for debugging).

See Also

lipkgen (1), depscan (1).
Additional documentation can be found on http://listaller.tenstral.net.

AUTHOR

This manual page was written by Matthias Klumpp .

Name

depscan — Detect binary dependencies

Synopsis

depscan [OPTION ...]

Description

This manual page documents briefly the depscan command.
depscan reads library dependencies of binary files in a directory and ouputs them in form of a list.

Options

-r, --recursive
Search for binaries in recursive mode.
--out-simpletext
Output simple, machine-readable text.
-c, --out-components
Output dependencies as Listaller components (versioned, if version could be determined).
--version
Display version number of depscan
-v, --verbose
Turn on verbose mode (useful for debugging purposes).

See Also

lipkgen (1).
Additional documentation can be found on http://listaller.tenstral.net.

AUTHOR

This manual page was written by Matthias Klumpp .

Name

lig++ — Wrapper around g++ to create more portable apps

Synopsis

lig++ [OPTION ...]

Description

This manual page documents briefly the lig++ command.
lig++ is a wrapper around ligcc. It allows you to create more portable executables, see the ligcc manual page for more information.

Options

See the manpage of g++(1) for more information about possible options.
There are also several environment variables available to modify lig++'s behavior check the documentation for more information.

See Also

libuild (1), ligcc(1), gcc(1).
Additional documentation can be found on http://listaller.tenstral.net.

AUTHOR

This manual page was written by Matthias Klumpp .

Name

ligcc — Wrapper around gcc to create more portable apps

Synopsis

ligcc [OPTION ...]

Description

This manual page documents briefly the ligcc command.
ligcc is a wrapper around gcc. It allows you to create more portable executables by doing three things:
  • Forces the linker to link against older glibc symbols. Users who are using an older version of glibc will no longer get "undefined symbol GLIBC_2.4 in /lib/libc.so"-style error messages.
  • Allows you to easily statically link to any other library.
  • Automatically removes bogus dependencies. For example, your program uses libfoo. libfoo uses libpng internally, but your app does not. Yet the pkg-config file for libfoo specifies "-lfoo -lpng" is linker parameters. And tadaa - you now have a bogus dependency on libpng! LiGCC automatically removes the -lpng for you if your app doesn't use libpng directly.
  • Add $ORIGIN/../lib to the binary's library search path. $ORIGIN is the directory in which the binary exists. This ensures that your binary can find library dependencies which are placed in the 'lib' folder under the same prefix. You might want to install custom libraries into /lib. If you set $APBUILD_PROJECTNAME, ligcc will also add $ORIGIN/../lib/$APBUILD_PROJECTNAME to the library search path.

Options

See the manpage of gcc(1) for more information about possible options.
There are also several environment variables available to modify ligcc's behavior check the documentation for more information.

See Also

lig++ (1), gcc(1).
Additional documentation can be found on http://listaller.tenstral.net.

AUTHOR

This manual page was written by Matthias Klumpp .

Name

likey — Manage Listaller's key database

Synopsis

likey {COMMAND} [OPTIONS ...]

Description

This manual page documents briefly the likey command.
likey allows administrators to manage Listaller's database of trusted GPG keys.

Options

-l, --lookup PATTERN
Look for key matching PATTERN in the key database.
-i, --import FPR
Import public key with the given fingerprint from a public keyserver.
-v, --version
Display version number of likey
--verbose
Turn on verbose mode (this can be used for debugging).

See Also

runapp (1), lipa (1).
Additional documentation can be found on http://listaller.tenstral.net.

AUTHOR

This manual page was written by Matthias Klumpp .

Name

lipa — Listaller command-line tool

Synopsis

lipa {COMMAND} [OPTIONS ...]

Description

This manual page documents briefly the lipa command.
lipa is a simple tool to control Listaller using a command-line interface. It allows modifying basic settings, installing new applications, removing applications, requesting information about Listaller's database state and performing other maintenance tasks.

Options

-i, --install IPKPACKAGE
Install a new application from a distro-independent IPK package.
-r, --remove APPIDENTIFIER
Remove an application which mathes the given name or application-id.
-l, --list-apps, --all
List applications installed using Listaller.
To include all other applications too, the --all flag can be appended.
--version
Display version number of lipa
--verbose
Turn on verbose mode (this can be used for debugging).

See Also

runapp (1).
Additional documentation can be found on http://listaller.tenstral.net.

AUTHOR

This manual page was written by Matthias Klumpp .

Name

lipkgen — Listaller package builder

Synopsis

lipkgen {-b} [OPTION ...]

Description

This manual page documents briefly the lipkgen command.
lipkgen is a simple tool to build IPK application packages directly from software sources or binary files using a package recipe.

Options

-b, --build
Build IPK package using the IPK source files in the ipkinstall folder in current directory.
-s, --sourcedir=DIRECTORY
Set the IPK package source directory.
-o, --outdir=DIRECTORY
Set an output path were the resulting package should be saved.
--sign
Sign the resulting package with your GPG key.
--version
Display version number of lipkgen
--verbose
Turn on verbose mode (this can be used for debugging).

See Also

runapp (1), lipa(1).
Additional documentation can be found on http://listaller.tenstral.net.

AUTHOR

This manual page was written by Matthias Klumpp .

Name

relaytool — Generate a file that can be used instead of linking directly against a library

Synopsis

relaytool [OPTION ...] [LINKER COMMAND ...]

Description

This manual page documents briefly the relaytool command.
relaytool is a program to provide a more convenient interface to dlopen/dlsym. It lets you write the same style of code you would when using a normal hard link (-lwhatever), but the symbols are actually lazy-linked at runtime. You can use the symbols libwhatever_is_present and libwhatever_symbol_is_present() to find out what APIs are actually available at runtime.
In other words, the need to use function pointers and lots of manual calls to dlsym() is eliminated, and it becomes much simpler to soft link to things as a result. If a symbol is missing at runtime and you call it anyway, your application will abort and an error message is printed that states which function was called. If a variable is missing at runtime, the value is always -1.

Options

--relay LIB
If a matching -lLIB is found, generate a file that can be used instead of linking directly to LIB. The name of the file is echoed on stdout. Multiple --relay can be used together, a file will be generated for each matching ones.
--replace-all-libs
Generate a file for every -lLIB parameter.
--minimal-list OBJ_LIST
Will look in OBJ_LIST for undefined symbols, and generate a file creating only the needed symbols for each LIB.
--partial-map MAP_FILE
Generate a file creating only the symbols contained in MAP_FILE. Will apply to all further -lLIB parameters, so in general is not suitable to multiple libs in the same invocation of relaytool.
--no-replace
Echo -lLIB on stdout even if a --relay LIB is found, so it'll be linked in normally.
--multilink [SONAMES...]
If a library has different SONAMES on different Linux distributions you can specify the various SONAMES that it's known by here. Relaytool will attempt to load them (in the order provided) until one if found. This cannot be used with multiple --relay options. The first SONAME in the list will be used as the name in the _is_present variable and _symbol_is_present function.
--out-dir DIRECTORY
Write stub file to DIRECTORY instead of CWD.

Linker commands

-LPATH
Add PATH to the list of paths to search for LIBs.
-lLIB
If a matching --relay LIB is found (or if --replace-all-libs is specified), generate a file that can be used instead of linking directly to LIB. If there's no --relay LIB, echo -lLIB to stdout.
All other linker commands are passed as is to stdout.

Other commands

-h, --help
Show some help.
--version
Display version information of relaytool

See Also

lipkgen (1), ligcc(1), gcc(1).
Additional documentation can be found on http://listaller.tenstral.net/wiki/doku.php/relaytool.

AUTHOR

This manual page was written by Matthias Klumpp .

Name

runapp — Run an application

Synopsis

runapp {APPNAME}

Description

This manual page documents briefly the runapp command.
runapp runs applications installed using Listaller. It will set the application environment, initiate a sanbox and do everything else needed to run the application. runapp can also execute every other application found on the system, even those which were not installed using Listaller.

Options

--version
Display version number of runapp
--verbose
Turn on verbose mode (this can be used for debugging).

See Also

lipa (1).
Additional documentation can be found on http://listaller.tenstral.net.

AUTHOR

This manual page was written by Matthias Klumpp .