auto-buildrequires-preload: Use libc.so name from GNU headers
[autobuildrequires.git] / autobuildrequires.pod
1 =head1 NAME
2
3 autobuildrequires - Work out the BuildRequires of an RPM build automatically
4
5 =head1 SYNOPSIS
6
7   auto-br-rpmbuild -ba foo.spec
8
9   auto-br [build-command ...]
10
11 =head1 DESCRIPTION
12
13 Autobuildrequires analyzes an RPM package build to find out what
14 BuildRequires lines it needs.
15
16 Instead of using C<rpmbuild>, use this command:
17
18  auto-br-rpmbuild -ba foo.spec
19
20 (all the usual rpmbuild flags are supported).  The command will build
21 your package and then output a list of C<BuildRequires> lines that it
22 thinks your package needs.
23
24 If your build command is more complex and/or doesn't use rpmbuild,
25 then use:
26
27  auto-br [build-command ...]
28
29 For example:
30
31  auto-br make
32
33 =head1 HOW IT WORKS
34
35 The basic "magic" is a C C<LD_PRELOAD> module,
36 F<auto-buildrequires-preload.c>, which intercepts some system calls to
37 determine which files the build is looking at.  Those get logged to a
38 simple text file.
39
40 The Perl analysis script, F<auto-br-analyze.pl>, runs afterwards on
41 the logfile, and uses rpm to find out which packages those files
42 belong to.  Those are printed out as the list of BuildRequires.
43
44 A shell script, F<auto-br>, brings the whole thing together.
45
46 =head1 EXIT STATUS
47
48 This program returns 0 if successful, or non-zero if there was an
49 error.
50
51 =head1 SEE ALSO
52
53 L<rpmbuild(8)>,
54 L<http://www.rpm.org/max-rpm/>
55
56 =head1 AUTHORS
57
58 Richard W.M. Jones L<http://people.redhat.com/~rjones/>
59
60 =head1 COPYRIGHT
61
62 Copyright (C) 2008-2015 Red Hat Inc.