Gathering the sources
I'm assuming that you've followed my previous article and have installed the tool-chain we'll be using to build our server. I'll also be writing this assuming bash syntax. If you use a different shell, you'll have to adjust. As in my last article, I'll be doing the build from a Mandrake machine. But this time I'll be NFS mounting my NSLU2 disk so that my build will automatically end up where I need to run it.
The first step in this process is to create a work area for the packages that we're going to build. I created a directory called iTunes under my home directory on the NSLU2. Next we'll need to get all of the various source packages required. We'll naturally start with the
A glance at the documentation shows that we'll need libid3tag, the library used for ID3 tag reading and gdbm, the GUN database manager. A quick test I did showed that we will also need the zlib compression library. I fetched libid3tag from here, gdbm from here and zlib from here. I placed all of the required packages in my iTunes directory. After un-tarring them, you'll end up with a gdbm-1.8.3 directory, a libid3tag-0.15.1b directory, a
Before we start the build, we'll set up some common environment variables that will be used during the
I created a setup.sh file with the following definitions :
export BASE=/mnt/nslu2/data/jim/iTunes/ export LINUX=$HOME/snapgear/linux-2.4.x/include/ export TOOLSBASE=$HOME/gpl_code_2.03/usr/
local/openrg/armsaeb/bin/armv4b-hardhat-linux export CC=$TOOLSBASE-gcc export STRIP=$TOOLSBASE-strip export RANLIB=$TOOLSBASE-ranlib export LDFLAGS=-L$BASE/lib export CFLAGS="-I$BASE/include/ -I$LINUX"
(Note that in the setup.sh file the line starting with "export TOOLSBASE" and the next indented line are entered as one line with no space between them.)
BASE is defined to be the top level of my working area while LINUX points to the snapgear Linux source tree. TOOLSBASE is where my