Monday 9 August 2010

LAP - X - Part 1, Download

We now come to one of the trickiest parts of the installation - building the X server, or in other words, creating our graphical interface. If one had hoped that this would be as simple as downloading the 'x' package and installing it, then one is about to be seriously fucking disappointed.

This post will deal solely with downloading all the install files that we are going to need in due course. The software packages come in two varieties. First stand alone packages which achieve one thing, and second groups of packages which are gathered together by the LFS team in 'themes'.

We have to even run a short script just to download the themed packages otherwise we'd be here all fecking day.

Let's just get the stuff downloaded, and I will try to work it all out afterwards.

umount -v /media/amiga
sudo mkdir /media/lfs
sudo mount -v -t ext3 /dev/disk/by-label/amiga /media/lfs
cd /media/lfs/sources

Lets make a new directory for the xorg sources, as there will be so many of them.

mkdir xorg
chmod -v a+wt xorg
cd xorg
wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/proto-7.5-2.wget
wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/proto-7.5-2.md5

What we have just downloaded is a list of files and their md5sums (a way of checking the file has downloaded properly). We are going to make another subdirectory just to store these files.

mkdir proto
cd proto

What we now do is get the [wget] program to automatically process that list of files, downloading each one.
grep -v '^#' ../proto-7.5-2.wget | wget -i- -c -B http://xorg.freedesktop.org/releases/individual/proto/

That command looks nasty but I think that the [grep] bit spits out the file names from the [.wget] file, and [|] pipes them to [wget]. The [-i-] option tells [wget] to expect a list of file names from the other side of the [|] pipe. It is also told to [c]ontinue any partial downloads, and the [B] option means attach the following URL to the filename to download it. It finished with this message for me:

Downloaded: 24 files, 1.7M in 20s (90.4 KB/s)

Lastly we run md5sum to check the downloaded files have arrived properly.

md5sum -c ../proto-7.5-2.md5

Assuming that has worked (lots of 'OK's), move on to the next list, which we deal with in exactly the same way:

cd ..
wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/util-7.5-2.wget
wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/util-7.5-2.md5
mkdir util
cd util
grep -v '^#' ../util-7.5-2.wget | wget -i- -c -B http://xorg.freedesktop.org/releases/individual/util/
md5sum -c ../util-7.5-2.md5

Wait a minute, all that palaver was for two fucking files? It would literally have been less effort to just wget each of them individually.

cd ..

Taking the order BLFS presents these packages, the next two are stand alone:

wget http://xorg.freedesktop.org/releases/individual/lib/libXau-1.0.5.tar.bz2
wget http://xorg.freedesktop.org/releases/individual/lib/libXdmcp-1.0.3.tar.bz2

The next package we are supposed to download is the X Libraries. However, dependency issues raise their head at this point and we are forced into downloading some extra packages first.

wget http://ftp.gnu.org/pub/gnu/ed/ed-1.4.tar.gz
wget http://downloads.sourceforge.net/freetype/freetype-2.3.12.tar.bz2
wget http://downloads.sourceforge.net/freetype/freetype-doc-2.3.12.tar.bz2
wget http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz
wget http://fontconfig.org/release/fontconfig-2.8.0.tar.gz

Then back to lists:

wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/lib-7.5-2.wget
wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/lib-7.5-2.md5
mkdir lib
cd lib
grep -v '^#' ../lib-7.5-2.wget | wget -i- -c -B http://xorg.freedesktop.org/releases/individual/lib/

Downloaded: 31 files, 10M in 1m 34s (114 KB/s)

md5sum -c ../lib-7.5-2.md5
cd ..

The next few downloads are all dependencies of the next theme'd package.

wget http://xorg.freedesktop.org/releases/individual/data/xbitmaps-1.1.0.tar.bz2
wget http://downloads.sourceforge.net/libpng/libpng-1.2.42.tar.bz2
wget http://anduin.linuxfromscratch.org/sources/BLFS/conglomeration/libpng/libpng-1.2.42-apng-1.patch
wget http://xcb.freedesktop.org/dist/libpthread-stubs-0.1.tar.bz2
wget http://dri.freedesktop.org/libdrm/libdrm-2.4.14.tar.bz2
wget ftp://ftp.freedesktop.org/pub/mesa/7.6/MesaLib-7.6.tar.bz2
wget ftp://ftp.freedesktop.org/pub/mesa/7.6/MesaDemos-7.6.tar.bz2

And another list:

wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/app-7.5-2.wget
wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/app-7.5-2.md5

mkdir app
cd app
grep -v '^#' ../app-7.5-2.wget | wget -i- -c -B http://xorg.freedesktop.org/releases/individual/app/
md5sum -c ../app-7.5-2.md5

Downloaded: 39 files, 4.3M in 1m 3s (69.7 KB/s)

cd ..

Another one off:

wget http://xorg.freedesktop.org/releases/individual/data/xcursor-themes-1.0.2.tar.bz2

And then another list:

wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/font-7.5-2.wget
wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/font-7.5-2.md5
mkdir font
cd font
grep -v '^#' ../font-7.5-2.wget | wget -i- -c -B http://xorg.freedesktop.org/releases/individual/font/

Downloaded: 37 files, 15M in 2m 8s (117 KB/s)

md5sum -c ../font-7.5-2.md5
cd ..

And some dependency stuff before the next package:

wget http://cpan.org/authors/id/M/MS/MSERGEANT/XML-Parser-2.36.tar.gz
wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.bz2

Then a couple of xorg packages:

wget http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-1.7.tar.bz2
wget http://xorg.freedesktop.org/releases/individual/app/luit-1.0.4.tar.bz2

Followed by another dependency, and the important sounding xorg-server:

wget http://cairographics.org/releases/pixman-0.15.20.tar.gz
wget http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.7.1.tar.bz2

The last themed group is the driver files for the hardware you have. This is a bit tricky, but first download the list files:

wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/driver-7.5-2.wget
wget http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg/driver-7.5-2.md5

Now you do not want to download ALL the driver files – only the ones appropriate to your system. I edited the wget file as follows:

nano driver-7.5-2.wget

And I put a '#' to comment out each line apart from
xf86-input-evdev-2.3.0.tar.bz2
xf86-input-joystick-1.4.99.2.tar.bz2 
xf86-input-keyboard-1.4.0.tar.bz2 
xf86-input-mouse-1.5.0.tar.bz2 
xf86-input-synaptics-1.2.0.tar.bz2 
xf86-video-dummy-0.3.2.tar.bz2
xf86-video-fbdev-0.4.1.tar.bz2
xf86-video-intel-2.9.1.tar.bz2
xf86-video-vesa-2.2.1.tar.bz2

And I put the same '#' in the md5sum file by running:

nano driver-7.5-2.md5

I then downloaded and checked the files I have selected:
mkdir driver
cd driver
grep -v '^#' ../driver-7.5-2.wget | wget -i- -c -B http://xorg.freedesktop.org/releases/individual/driver/

Downloaded: 9 files, 2.9M in 16s (181 KB/s)
Downloaded: 7 files, 2.3M in 12s (207 KB/s)

md5sum -c ../driver-7.5-2.md5
cd ..

Finally, download this stand alone program:

wget ftp://invisible-island.net/xterm/xterm-253.tgz

Next time we find out what exactly the fuck all this is for, and what we do with it.

No comments:

Post a Comment