Introduction

Overview

Auto dependency builder is a tool for analysis files accessed during building a package. It also can be used for buildtime and runtime dependency analysis.

The tool can block an access to files of defined packages.

It is released under GNU GPL license.

Status

Autodep is in active developing.

Installing

Note

TODO: make an overlay and ebuild

Running

autodep [options] <command>
--help, -h

show this help message and exit

-b, --block

strict mode: deny all access to non-dependency packages

--blockpkgs=PACKAGES

block an access to files from this packages

-f , --files

show accessed files and not founded files

-v , --verbose

show non-important packages, show unknown package and unknown stage

-C , --nocolor

don’t output color

--hooklib

use ld_preload logging approach(default)

--fusefs

use fuse logging approach(slow, but reliable)

Example: showfsevents.py -b lsof,cowsay emerge bash

Hooklib vs Fusefs

  Hooklib Fusefs
Who can use this approach? Any user Only root
Is approach allows blocking an access to files? YES YES
Is overhead in performance big? NO YES [1]
What events are logged? Most [2] ALL
When is it recomended to use an approach? For analysis of buildtime dependencies For analysis of runtime dependencies
Is any pre-requirements for using an approach? NO FUSE must be enabled in kernel

Notes

[1]Fuse file system is slower than normal one. Program reads many files while launching, so this will take more time than usual.
[2]Loading of dynamic libraries and direct syscalls will not be logged.

Examples

1. Get the potential dependencies of a xchat package:

autodep emerge xchat

2. Get the potential dependencies of a xchat package, blocking x11-misc/util-macros package:

autodep emerge --block x11-misc/util-macros emerge xchat

3. Get the potential dependencies of a xchat package, and show files accessed:

autodep --files emerge xchat

4. Get the runtime dependencies of a xchat and show files accessed:

autodep --fusefs --files xchat

Indices and tables

Table Of Contents

Previous topic

Autodep’s documentation

Next topic

Internals

This Page