Help compiling 4.3.0 for 3.1 stable
I would really appreciate someone helping me - via email or via this
list. I am trying to compile xfree86 4.3.0 on my Debian 3.1 stable
machine.
I want to rewrite the mouse acceleration code in xf86Xinput.c, resulting
in a new XFree86 server I can run and use without upsetting anything
else. I don't know enough about X to attempt compiling and installing a
more current version on this, my main computer. I will make the new
acceleration code freely available.
This is what I figured out so far, based on the dbs documentation and
the debian/README file. I have not been able to find any direct
instructions on how to patch and compile XFree86 on Debian.
I installed packages dbs (0.34), debhelper (4.2.3), build-essential
(10.1), debian-builder (1.3-5), devscripts (2.8.14). dbs is "Doogies
Build System":
http://packages.debian.org/stable/devel/dbs
http://snoopy.apana.org.au/~bam/debian/faq/#dbs
>From http://packages.qa.debian.org/x/xfree86.html I downloaded:
/zz/xfree86_4.3.0.dfsg.1.orig.tar.gz
/zz/xfree86_4.3.0.dfsg.1-14sarge1.diff.gz
I untargzipped the upstream source tarball:
tar -xzf xfree86_4.3.0.dfsg.1.orig.tar.gz
This creates:
/zz/xfree86-4.3.0/
/zz/xfree86-4.3.0/xfree86-4.3.0.tar.gz
I ungzipped the diff file which will be used to create a /debian
subdirectory and its descendent directories:
gunzip xfree86_4.3.0.dfsg.1-14sarge1.diff.gz
This creates:
/zz/xfree86_4.3.0.dfsg.1-14sarge1.diff
I used this diff file to create the debian directory, its files and
subdirectories:
cd xfree86-4.3.0
patch --verbose -p1 < ../xfree86_4.3.0.dfsg.1-14sarge1.diff
cd ..
Now I have:
/zz/xfree86-4.3.0/
/zz/xfree86-4.3.0/xfree86-4.3.0.tar.gz
/zz/xfree86-4.3.0/debian/
/zz/xfree86-4.3.0/debian/local/
/zz/xfree86-4.3.0/debian/patches/
/zz/xfree86-4.3.0/debian/po/
/zz/xfree86-4.3.0/debian/scripts/
/zz/xfree86-4.3.0/debian/README
/zz/xfree86-4.3.0/debian/rules
/zz/xfree86-4.3.0/debian/... and many more files
I also created some directories for dbs, but this may be non-essential
or bad:
/zz/xfree86-4.3.0/build-tree/
/zz/xfree86-4.3.0/stampdir/
/zz/xfree86-4.3.0/stampdir/patch/
/zz/xfree86-4.3.0/stampdir/unpack/
Now, as best I understand it, I should be able to unpack the main source
tree from xfree86-4.3.0.tar.gz with the command, given from
/zz/xfree86-4.3.0/:
make debian/rules unpacked
I could untargzip it myself, but I am trying to stick by standard
procedure, since the debian/rules system is too complex for me to fully
understand so far.
After that I should be able to apply the appropriate patches from
debian/patches/ to the source tree by:
make debian/rules setup
However, when I run these I get:
make: Nothing to be done for `debian/rules'.
make: *** No rule to make target `unpacked'. Stop.
debian/rules does include the correct dbs file, and that file does
exist. (Copying the file rather than including it makes no difference.)
# Use the DBS archive/patch handling system.
SCRIPT_DIR = /usr/share/dbs
TAR_DIR = xc
include $(SCRIPT_DIR)/dbs-build.mk
I have not been able to understand this file, but it does contain such a
target:
unpacked: $(unpacked)
$(unpacked): $(STAMP_DIR)/created
mkdir -p $(STAMP_DIR)/sources $(SOURCE_DIR) . . .
Presumably this dbs approach should work. Later versions use quilt, but
I think the debian/rules makefile is specifically crafted for this
version and to work only with dbs. I want to use dbs and debian/rules
because I assume I need some or all of the debian/patches applied to the
source tree before I have a hope of compiling a server which is the same
or similar to the binary I am currently using. I wouldn't know how else
to apply the correct patches.
Sorry to ask about non-bleeding edge code. I hope to contribute a much
nicer mouse acceleration system for general use.
- Robin http://www.firstpr.com.au
Reply to: