How to use the scripts: ======================================================================== xorg-build.pl: First it is required to clone freedesktop modules. Use "git-config --global xorg-git.protocol protocol" if the default git:// does not apply (doesn't need ://) Use "git-config --global xorg-git.repository repository-url" if anongit.freedesktop.org/git does not apply. Use "git-config --global xorg-git.checkout-dir some/directory" The default value is "$HOME/anongit.freedesktop.org". If you already have a clone, you may set to that value. The script doesn't modify any files, just update or checkout. Now you can run: ./xorg-build.pl -v up to clone or update the required modules. ------------------------------------------------------------------------ Use "git-config --global xorg-git.build-dir /some/build/dir" to specify where to build the modules. The default value is "$HOME/anongit.freedesktop.org/build". Now you can run: ./xorg-build.pl -v co and it will clone from your "mirror", using a command like: git-clone file://freedesktop-mirror/path/name path/name from the build directory root. ------------------------------------------------------------------------ Use "git-config --global xorg-git.dest-dir /some/dir" to specify where to install the build. The default value is "/usr/local/xorg". Use "git-config --global xorg-git-deps-dir /some/dir/deps" to specify where to install dependency files. This directory must exist if using the -g option. If you are installing in a directory that needs root permission, you may also need to run "git-config --global xorg-git.sudo-command sudo" Also, the script xorg-trace.pl must be in your path. You can just create a $HOME/bin and copy it there. Also ensure that $HOME/bin is in your path. Now you can run: ./xorg-buil.pl -v -g -d build -v is verbose mode -g means it will use strace to generate dependency information -d means it will build with debug and with some verbose gcc options build is the script command If if fails at some point, it probably is due to some missing external dependency that you may want to install. Alternatively, you can edit xorg-build.pl and add a 'skip' entry for the module that failed. ======================================================================== xorg-symbols.pl: If everything gone well in the previous step, you can use the script xorg-symbols.pl to check for missing symbols, symbols clashes, etc. To use it, just run something like: ./xorg-symbols.pl -x | less -x is just to avoid too much verbose output when resolving a symbol in the Xorg binary. You can also use it to check the packages of your favourite distro, by using something like: ./xorg-symbols.pl -p /usr -m /usr/lib/xorg/modules:/usr/lib/fglrx/modules -p is the prefix, that defaults to xorg-build.pl's destdir. -m is the module path and ":" can be used to specify multiple paths. ======================================================================== xorg-deps.pl: Finally, the script xorg-deps.pl just parses the dependency information generated by "xorg-build.pl -g" and prints the order packages must be built. To use it, run: ./xorg-deps.pl 2>&1 | less Note that the order may not look logical, as tsort does topological sort, and there is not specific ordering of modules in the "same level". ======================================================================== xorg-trace.pl: This script is run by xorg-build.pl, it may need some rework to be usable in other environments.