blob: 23e17f58e3d50d083d8f89c77a522b927ec13c22 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
Significant bugs:
- fix problems with file resolution
- fix wandering problems
- use -v properly
- problem when you specify no filters.
- segfault when you specify no project
- using sscanf() for doing parsing is a bad idea
- separation of packages only works now for WR LDAT
- calculate full paths, rather than guessing that paths with no directory can be ignored. This requires replacing strace with a custom LD_PRELOAD library
Missing features:
1. Removing false positives when building local binaries.
Many packages first compile a local binary, then use this local binary to compile some other source for the target. This situation can be detected when local include and libraries are accessed, but then a binary in the target is executed.
This should be treated as a warning.
2. Process trees
Track the processes that accessed the files, and create a file tree.
3. Correlate to console output
Use timestamped console output to correlate to the file accesses, which helps figure out where in a package build a file is being accessed. Create an interactive tool to guide the user through this.
4. Detect when a local binary is accessed when a build system-provided tool could be used
Many build systems provide versions of tools that are sometimes found on the hos distribution. This situation can be detected by correlating binaries accessed to a list of build system-provided binaries.
5. Mult-distribution predictive requirements generation
Sometimes, it is useful to generate a required package list without having to do the profile on the host. This could be done by having access to that distribution's package database and comparing to a list of files accessed. Note that this can never be accurate, since files are found in different places, and library versions may be different.
|