[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: