Re: Help compiling 4.3.0 for 3.1 stable
Thanks very much Aaron for your help. For the benefit of newbies with
similar questions, and without wanting to continue discussion on this
list, here is what I did.
BTW, Google has a new code search service:
http://www.google.com/codesearch/advanced_code_search
> You will almost certainly need to install a number of additional
> packages;
>
> apt-get build-dep xfree86
>
> should take care of that step.
Indeed - 30 packages which I won't list here.
As you suggested, I downloaded the .dsc file and used dpkg-source:
In a directory "zz/" with:
xfree86_4.3.0.dfsg.1.orig.tar.gz
xfree86_4.3.0.dfsg.1-14sarge1.diff.gz
xfree86_4.3.0.dfsg.1-14sarge1.dsc
I ran:
dpkg-source -x xfree86_4.3.0.dfsg.1-14sarge1.dsc
This gave me:
zz/xfree86-4.3.0.dfsg.1/
zz/xfree86-4.3.0.dfsg.1/xfree86-4.3.0.tar.gz
zz/xfree86-4.3.0.dfsg.1/debian/
zz/xfree86-4.3.0.dfsg.1/debian/local/
zz/xfree86-4.3.0.dfsg.1/debian/patches/
zz/xfree86-4.3.0.dfsg.1/debian/po/
zz/xfree86-4.3.0.dfsg.1/debian/scripts/
zz/xfree86-4.3.0.dfsg.1/debian/README
zz/xfree86-4.3.0.dfsg.1/debian/rules << Executable
zz/xfree86-4.3.0.dfsg.1/debian/... and many more files
Then from zz/xfree86-4.3.0.dfsg.1/:
debian/rules unpacked
created:
zz/xfree86-4.3.0.dfsg.1/stampdir/
zz/xfree86-4.3.0.dfsg.1/stampdir/log/
zz/xfree86-4.3.0.dfsg.1/stampdir/sources/
zz/XF-comp/xfree86-4.3.0.dfsg.1/build-tree/
zz/xfree86-4.3.0.dfsg.1/build-tree/xc/
zz/xfree86-4.3.0.dfsg.1/build-tree/xc/config/
zz/xfree86-4.3.0.dfsg.1/build-tree/xc/doc/ etc. - the source tree
Now:
debian/rules setup
works like a charm. It applies about 240 patches from debian/patches.
Being a newbie, I didn't know what to do next, so I looked at
debian/rules to find a target which would compile the whole thing. I
chose "build-arch-only" without too much thought.
debian/rules build-arch-only
After 1.5 hours, I had a largish (22 Megs) XFree86 server binary (I
guess it compiled in all the drivers rather than making them modules) in:
zz/xfree86-4.3.0.dfsg.1/build-tree/xc/programs/Xserver/
which I could copy to /usr/X11R6/bin/ in place of the old 1.7 Meg
version. This runs fine. There was also a very large XFree86 in
another tree under:
zz/xfree86-4.3.0.dfsg.1/build-tree/xc-xserver-xfree86-dbg/
which I guess is full of debugging information.
Googling reveals that this "build-arch-only" target is not favoured:
http://lists.debian.org/debian-x/2006/04/msg00064.html
and that most people use dpkg-buildpackage instead.
I found that I could change some code in:
zz/xfree86-4.3.0.dfsg.1/build-tree/xc/programs/Xserver/hw/xfree86/common/xf86Xinput.c
and recompile the server only from:
zz/xfree86-4.3.0.dfsg.1/build-tree/xc/programs/Xserver/
with:
make Makefile
make Makefiles
make includes
make depend
make
The resulting XFree86 server in that directory embodied my changes.
Other newbies might pursue more conventional approaches to building via:
man dpkg-buildpackage
http://people.debian.org/~mpalmer/debian-mentors_FAQ.html
http://www-128.ibm.com/developerworks/linux/library/l-debpkg.html
http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules
- Robin http://www.firstpr.com.au
Reply to: