1 |
Stefan Jones wrote: |
2 |
|
3 |
>So I have started making a small C program which does the |
4 |
>"Checking dynamic linking consistency..." part of the revdep-rebuild |
5 |
>program (I think this the the most time intensive part). |
6 |
> |
7 |
>This program can then be called by the script. |
8 |
> |
9 |
>So far all I see the program needing to do is |
10 |
>read /root/.revdep-rebuild.1_files and |
11 |
>use /root/.revdep-rebuild.2_ldpath as the LD_LIBRARY_PATH |
12 |
>and write any bad files to /root/.revdep-rebuild.3_rebuild |
13 |
> |
14 |
> |
15 |
> |
16 |
|
17 |
I have finished doing the above for linux/glibc, it can be found at |
18 |
http://dev.gentoo.org/~cretin/revdep-rebuild.tar.bz2 |
19 |
|
20 |
I just made a small C-program to check the dependencies, it uses |
21 |
ld-linux.so.2 check if the file is an ELF and then to check if it's |
22 |
libraries are present. |
23 |
|
24 |
For other archs you can use present system or do something else, the |
25 |
original revdep-rebuild script is still used, just a bit is cut out and |
26 |
uses the binary instead, so other archs can use the old code easily. |
27 |
|
28 |
The speed up is quite noticeable: |
29 |
( see results.txt in the tarball ) |
30 |
|
31 |
Now we have: |
32 |
real 0m46.803s |
33 |
user 0m4.544s |
34 |
sys 0m41.075s |
35 |
|
36 |
Instead of: |
37 |
real 8m12.674s |
38 |
user 0m20.569s |
39 |
sys 7m41.593s |
40 |
|
41 |
for revdep-rebuild --keep-temp -i -- -p |
42 |
|
43 |
Anyway, this is really proof of concept only, can do another version |
44 |
using scanelf using a list from another source of all available system |
45 |
libraries (ldconfig -p on linux) |
46 |
|
47 |
Stefan |
48 |
-- |
49 |
gentoo-dev@g.o mailing list |