
  x-check-deps.pl is a script to generate information about dependencies
among x11- packages.

  It should be noted that the "modular" build is somewhat new in Xorg,
as in X Consortium and older organizations managing X Standards, and
still used by XFree86, a different build system, based on imake was
used. Imakefiles and the imake utility, as well as a few other programs
are no longer used (and should soon or later be removed from the
Mandriva installation, as they serve no purpose).

  The "modular" build imposes a problem for "packagers" where there is
no dependency tracking, like on monolithic builds, for example the kernel
source tree that is all stored in a single build directory.

  To resolve the problem of dependency tracking, the script "x-check-deps.pl"
stores information gathered by autotools, usually in a directory named ".deps".
The information stored by autotools is basically in the format:
<target>: <list-of-dependencies>
And the information stored by x-check-symbols.pl is gathered by reading all
autotools dependencies, and generating a hash table about dependencies, to
ensure a dependency is listed only once, and the hash value is the file
modification time. Dependency about files inside the build directory is not
stored, only system installed files. And warnings are printed when finding
non standard dependencies (i.e. files outside of the build directory, and
not in /usr/include or /usr/lib/gcc/.

  x-check-deps.pl creates a file named <module>.deps with the contents:
<dependency>:<mtime> # <rpm-package-name>
where <dependency> is usually the name of a header file and <mtime> is
the mtime field of the data returned by perl function File::stat::stat.
<rpm-package-name> is the result of "rpm -qf <dependency>".

  x-check-deps.pl also creates a file named <module>-<pkgsystem>.deps with
the contents:
<pkgname> # <dependency-list>
where <pkgsystem> is rpm for Mandriva, <pkgname> is the package name as
return by ``rpm -qf <dependency>'', and dependency list is all files
in <pkgname> required by <module>.

  Both .deps files generated are expected to generate results that require
user intervention by looking at the diffs, and choosing to rebuild certain
packages, as the script can only point modified/new dependencies.

  Options for x-check-symbols.pl include:

-h or -?	Prints a short summary of available options
-p <path>	Path to root build directory. Usually the script should
		be run from this directory, and the default value is "."
-d <path>	Old dependency file. This option is used to 
-n <name>	Base name of dependency file to generate. The dependency
		file is always generated in the root build directory, and
		defaults to the basename of the root build directory, with
		the extension ".deps" appended.
-c		Check only mode. Does not create a new deps file.
		Requires option -d being set.
-f		"Fast" mode. Doesn't query rpm about the package of a
		dependency. This information is stored as a comment in
		the dependencies file, to help track packagers to track
		packages.
		When "fast mode" is used, it will also not generate the
		file with information about dependency <pkgsystem> (rpm)
		packages.
-s		Silent mode. Avoid some spurious warnings or log messages.


  The x-check-deps.pl script is used for both, building a dependency file,
and optionally checking agains't another dependency file, that should match
the installed package (and available to Mandriva users), and after this check
it will print information about dependency files that have changed, and
serve as a hint to know that that package needs to be rebuilt as API/ABI
may have changed.
