Xorg Protocol Headers
Downloading Xorg Protocol Headers
First, create a list of files to be downloaded. This file will also
be used to verify the integrity of the downloads when complete:
cat > proto-7.md5 << "EOF"
1a05fb01fa1d5198894c931cf925c025 bigreqsproto-1.1.2.tar.bz2
98482f65ba1e74a08bf5b056a4031ef0 compositeproto-0.4.2.tar.bz2
998e5904764b82642cc63d97b4ba9e95 damageproto-1.2.1.tar.bz2
4ee175bbd44d05c34d43bb129be5098a dmxproto-2.3.1.tar.bz2
b2721d5d24c04d9980a0c6540cb5396a dri2proto-2.8.tar.bz2
a3d2cbe60a9ca1bf3aea6c93c817fee3 dri3proto-1.0.tar.bz2
e7431ab84d37b2678af71e29355e101d fixesproto-5.0.tar.bz2
36934d00b00555eaacde9f091f392f97 fontsproto-2.1.3.tar.bz2
5565f1b0facf4a59c2778229c1f70d10 glproto-1.4.17.tar.bz2
b290a463af7def483e6e190de460f31a inputproto-2.3.2.tar.bz2
94afc90c1f7bef4a27fdd59ece39c878 kbproto-1.0.7.tar.bz2
92f9dda9c870d78a1d93f366bcb0e6cd presentproto-1.1.tar.bz2
a46765c8dcacb7114c821baf0df1e797 randrproto-1.5.0.tar.bz2
1b4e5dede5ea51906f1530ca1e21d216 recordproto-1.14.2.tar.bz2
a914ccc1de66ddeb4b611c6b0686e274 renderproto-0.11.1.tar.bz2
cfdb57dae221b71b2703f8e2980eaaf4 resourceproto-1.2.0.tar.bz2
edd8a73775e8ece1d69515dd17767bfb scrnsaverproto-1.2.2.tar.bz2
fe86de8ea3eb53b5a8f52956c5cd3174 videoproto-2.3.3.tar.bz2
5f4847c78e41b801982c8a5e06365b24 xcmiscproto-1.2.2.tar.bz2
70c90f313b4b0851758ef77b95019584 xextproto-7.3.0.tar.bz2
120e226ede5a4687b25dd357cc9b8efe xf86bigfontproto-1.2.0.tar.bz2
a036dc2fcbf052ec10621fd48b68dbb1 xf86dgaproto-2.1.tar.bz2
1d716d0dac3b664e5ee20c69d34bc10e xf86driproto-2.1.1.tar.bz2
e793ecefeaecfeabd1aed6a01095174e xf86vidmodeproto-2.3.1.tar.bz2
9959fe0bfb22a0e7260433b8d199590a xineramaproto-1.2.1.tar.bz2
16791f7ca8c51a20608af11702e51083 xproto-7.0.31.tar.bz2
EOF
To download the needed files using wget, use the following commands:
mkdir proto &&
cd proto &&
grep -v '^#' ../proto-7.md5 | awk '{print $2}' | wget -i- -c \
-B https://www.x.org/pub/individual/proto/ &&
md5sum -c ../proto-7.md5
Installation of Xorg Protocol Headers
Note
When installing multiple packages in a script, the installation
needs to be done as the root user. There are three general
options that can be used to do this:
-
Run the entire script as the root user (not recommended).
-
Use the sudo
command from the Sudo-1.8.20p2 package.
-
Use su -c "command
arguments" (quotes required) which will ask
for the root password for every iteration of the loop.
One way to handle this situation is to create a short
bash function that
automatically selects the appropriate method. Once the command is
set in the environment, it does not need to be set again.
as_root()
{
if [ $EUID = 0 ]; then $*
elif [ -x /usr/bin/sudo ]; then sudo $*
else su -c \\"$*\\"
fi
}
export -f as_root
First, start a subshell that will exit on error:
bash -e
Install all of the packages by running the following commands:
for package in $(grep -v '^#' ../proto-7.md5 | awk '{print $2}')
do
packagedir=${package%.tar.bz2}
tar -xf $package
pushd $packagedir
./configure $XORG_CONFIG
as_root make install
popd
rm -rf $packagedir
done
Finally, exit the shell that was started earlier:
exit
Command Explanations
bash -e: This command
starts a subshell that will exit if any command returns a value
other than 0, causing the for loop to exit immediately if an error
occurs. This also eliminates the need for the && construct used
elsewhere in the book.
Contents
Installed Programs:
None
Installed Libraries:
None
Installed Directories:
$XORG_PREFIX
/include/GL, $XORG_PREFIX
/include/X11, $XORG_PREFIX
/share/doc/bigreqsproto,
$XORG_PREFIX
/share/doc/compositeproto,
$XORG_PREFIX
/share/doc/damageproto,
$XORG_PREFIX
/share/doc/dri2proto,
$XORG_PREFIX
/share/doc/dri3proto,
$XORG_PREFIX
/share/doc/fixesproto,
$XORG_PREFIX
/share/doc/fontsproto,
$XORG_PREFIX
/share/doc/kbproto,
$XORG_PREFIX
/share/doc/presentproto,
$XORG_PREFIX
/share/doc/randrproto,
$XORG_PREFIX
/share/doc/recordproto,
$XORG_PREFIX
/share/doc/renderproto,
$XORG_PREFIX
/share/doc/resourceproto,
$XORG_PREFIX
/share/doc/scrnsaverproto,
$XORG_PREFIX
/share/doc/videoproto,
$XORG_PREFIX
/share/doc/xcmiscproto,
$XORG_PREFIX
/share/doc/xextproto and
$XORG_PREFIX
/share/doc/xproto
Last updated on 2017-08-20 21:46:20 -0700