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

X Strike Force X.Org X11 SVN commit: r524 - in trunk/debian: . scripts



Author: branden
Date: 2005-08-11 18:23:08 -0500 (Thu, 11 Aug 2005)
New Revision: 524

Removed:
   trunk/debian/scripts/getglibcversion
   trunk/debian/scripts/up-scripts
   trunk/debian/scripts/vars
   trunk/debian/scripts/vars.alpha
   trunk/debian/scripts/vars.amd64
   trunk/debian/scripts/vars.arm
   trunk/debian/scripts/vars.hppa
   trunk/debian/scripts/vars.hurd-i386
   trunk/debian/scripts/vars.i386
   trunk/debian/scripts/vars.ia64
   trunk/debian/scripts/vars.kfreebsd-i386
   trunk/debian/scripts/vars.m68k
   trunk/debian/scripts/vars.mips
   trunk/debian/scripts/vars.mipsel
   trunk/debian/scripts/vars.netbsd-i386
   trunk/debian/scripts/vars.powerpc
   trunk/debian/scripts/vars.s390
   trunk/debian/scripts/vars.sh3
   trunk/debian/scripts/vars.sh4
   trunk/debian/scripts/vars.sparc
   trunk/debian/setperms
Modified:
   trunk/debian/README
   trunk/debian/changelog
   trunk/debian/rules
Log:
* Overhaul debian/rules file and debian/scripts directory.
  + In the debugging X server build, change the branding string from
    "(static)" to "(non-modularized)", so people won't assume the X server
    is intended to be e.g., statically linked against libc (but for some
    reason isn't).
  + Add a new Makefile variable, SERVER_WRAPPER_OPT, to control the
    optimization level of the X server wrapper.  DEB_BUILD_OPTIONS
    determines its value.
  + Stop including debian/scripts/vars* files in favor of performing
    architecture-dependent variable assignments directly in the rules file.
    The include mechanism was used for dbs's sake, and is now overkill for
    what we need it for.
  + Rewrite comments documenting usage of targets with stamp files.
  + Declare phony targets and stampdir_targets adjacent to the target
    definitions themselves so they are less likely to get out of sync.
  + Make $(STAMP_DIR) itself a real target.
  + Rename the "prepare" target to "quilt-prepare".
  + Make the "patch", "unpatch", and "patch-audit" rules run more quietly.
  + Wrap some long lines (> 80 columns).  Some couldn't be wrapped without
    making them even uglier.
  + Add targets for the text versions of the Debian X and XTerm FAQs and for
    the X server wrapper.  Stop building them inside the $(STAMP_DIR)/build
    target, and instead have $(STAMP_DIR)/build depend on them.
  + Move targets that exist only for the convience of package maintainers
    (i.e., which are never invoked via dpkg-buildpackage) to the end of the
    file.
  + Make shell usage style consistent.
  + Use the shell's redirection operator to create empty files instead of
    fooling with "touch" (or, God forbid, useless uses of cat).
  + Ensure that there are comments documenting just about everything.
  + Whitespace police: use hard tabs *only* for indenting target definitions
    (once, so Make will pull its head out).  All other indentation is done
    with spaces.

* Drop unneeded scripts:
  - debian/setperms is now unused.
  - debian/scripts/getglibcversion hasn't been used by anything in a long
    time.
  - debian/scripts/up-scripts hasn't been used since we switched from dbs to
    quilt.
  - debian/scripts/vars* are now unused.

* Update package maintainers' documentation in debian/README.
  + Refer to the package as "X.Org X11" to identify it as the monolithic
    release.
  + Expand caveat section for new architecture porters.
  + Break document into sections and give them titles.
  + Document many more of debian/rules's targets by summarizing the
    documentation within debian/rules itself.
  + Copyedit documentation of quilt usage.
  + Add documentation of debian/po directory.
  + Update discussion of debian/patches directory.
  + Condense discussion of MANIFEST and debhelper install files into a new
    section, "Architecture-specific binary package payloads".
  + Direct people's attention to the existence of certain convenience
    scripts in debian/scripts that make some mundane tasks easier.


Modified: trunk/debian/README
===================================================================
--- trunk/debian/README	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/README	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,188 +1,256 @@
 $Id$
 
-This file attempts to explain some of the oddities of the X.Org Debian
-source package by describing the files and directories not usually found in
-a (debhelperized) source package.
+This file attempts to explain some of the oddities of the X.Org X11 Debian
+source package by describing the files and directories not usually found in a
+(debhelperized) source package.
 
-NOTE: A straight build of the X.Org sources without any patches from
-debian/patches will **NOT** work because some non-free fonts had to be
-removed from the source package.  Either turn off the building of fonts, or
-be prepared to edit the Imakefile and fonts.scale files in some of the
-directories under xc/fonts/scaled; see debian/copyright for more
-information.
+NOTE: A straight build of the X.Org X11 sources without any patches from
+debian/patches will **NOT** work because some non-free fonts had to be removed
+from the source package.  Either turn off the building of fonts, or be prepared
+to edit the Imakefile and fonts.scale files in some of the directories under
+xc/fonts/scaled; see debian/copyright for more information.
 
-*** If you're building the X.Org packages on a new architecture for Debian,
-*** be sure to read this entire file, and also check the Architecture: lines
-*** for all packages in the control file.  Not every package is "any" or
-*** "all", and you may need to add your architecture explicitly to the
-*** Architecture: fields of some packages.
+********************************************************************************
+If you're building the X.Org X11 packages on a new architecture for Debian, be
+sure to read this entire file, and also check the Architecture: lines for all
+packages in the control file.  Not every package is "any" or "all", and you may
+need to add your architecture explicitly to the Architecture: fields of some
+packages.  You may also need to add or update conditionals in debian/rules for
+your architecture so that the values of some Make variables are set
+appropriately.  Comments in debian/rules tell you where to do this.
+********************************************************************************
 
-This package uses quilt to manage patches. A basic description of how to use
-this is below.
+Convenience targets in debian/rules
+===================================
+The debian/rules file supports several targets that are not required by Debian
+Policy.  Interesting ones (from a package developer's perspective) include:
 
-Interesting targets supported by the debian/rules file include:
-        debian/rules unpacked     Unpacks the source.
-        debian/rules setup        Unpacks and patches the source.
-        debian/rules patch-audit  Unpacks and patches the source, and
-                                  verifies that there are no offsets or
-                                  fuzz in the patches.  If you are
-                                  contributing a patch, please verify that
-                                  this target works before submitting it;
-                                  it can save the package maintainers a
-                                  considerable amount of time.
-        debian/rules clean        Unpatches the source and removes stampdir,
-                                  build-tree, and various patch-related items
-        debian/rules patch        Patches the source with all patches
-        debian/rules unpatch      Unpatches the source with all patches
-        debian/rules prepare      Sets up the directory so you can begin
-                                  editing patches. VERY IMPORTANT.
+  debian/rules environment          Reports information about the build
+                                    environment, including variable settings
+                                    that control the package build process.
+  debian/rules quilt-prepare        Sets up the package build directory
+                                    structure as quilt expects to find it.  YOU
+                                    MUST RUN THIS TARGET BEFORE ATTEMPTING TO
+                                    USE QUILT.
+  debian/rules patch                Applies all patches to the source tree.
+  debian/rules unpatch              Reverts all patches from the source tree.
+  debian/rules setup                Populates the source tree and does
+                                    housekeeping to prepare for the upstream
+                                    build.
+  debian/rules patch-audit          Applies all patches and verifies that there
+                                    are no fuzzy or broken patches.  If you are
+                                    contributing a patch, please verify that
+                                    this target works before submitting it; it
+                                    can save the package maintainers a
+                                    considerable amount of time.
+  debian/rules updatepo             Updates PO and POT files when a package's
+                                    debconf templates have been changed; see the
+                                    description of the po/ directory, below.
+  debian/rules prune-upstream-tree  Removes files from the upstream source tree
+                                    that are unneeded, or which have licensing
+                                    problems.
+  debian/rules make-orig-tar-gz     Generates an .orig.tar.gz file for the
+                                    source package.
 
-Editing and creating patches:
-  The first thing you need to do is become familiar with the basics of quilt.
-  It comes with a pdf tutorial in /usr/share/doc/quilt as well as an excellent
-  manpage.
+  debian/rules build-server
+  debian/rules install-server
+  debian/rules binary-server
+    The above three rules are for generating "customized" xserver-xorg
+    packages.  Nothing that would appear outside that package is relevant
+    to them.
 
-  To start, you should be in the top level directory, containing the debian
-  directory and the xc directory. First, run debian/rules prepare. This will
-  set up the proper symlinks so that quilt can find the patches it needs to
-  apply. Once this is done, you will see a symlink named "patches" that will
-  point to debian/patches. This is because quilt expects the patches directory
-  to be located at the top level by default. It will set up a ".pc" link as
-  well, which quilt uses internally to store info (this is why you'll want to
-  use debian/rules clean to clean up, rather than just rm -rf'ing what you see,
-  the hidden .pc is easy to forget). It will also create a stampdir that is
-  used to store stamps so debian/rules knows what its done, as well as logs.
+Editing and creating patches
+============================
+The X.Org X11 source tree is very large, and Debian applies many patches to it.
+Because some patches only apply cleanly (or at all) after certain other patches
+have been applied, the large number of patches impose a serious burden on
+merging our patches with new upstream ones.
 
-  Now that the directory is set up, you're going to want to do your thing.
-  Let's start with editing a patch. You'll want to run "quilt push
-  yourpatchname.diff". You're going to want to make your edits now. If you're
-  editing a file that wasn't previously included in the patch, be sure to let
-  quilt know you're doing it by using "quilt add" or "quilt edit". If you're
-  not sure if you need this, you can run "quilt files" to see if your file is
-  already in there, or "quilt patches filename" to see if the current patch
-  edits the specified file. Once you're done editing, run "quilt refresh" to
-  update your patch. All documentation in the patch header will be retained by
-  quilt automatically. If you have made a serious edit, you may want to
-  document it in the header of the patch.
+To mitigate these problems, this package uses "patchwork quilt"[1] to manage
+patches.
 
-  Alternately, you could be creating a new patch. As above, you'll want to set
-  up the tree by running debian/rules prepare. You need to decide where your
-  patch belongs according to the number series specified below. Once you do
-  this, run "quilt push patch-before-yours" specifying the patch that will be
-  the last one applied before your new patch. Then run "quilt new patchname"
-  using the name of the patch (including the appropriate number). Make your
-  edits to the files. As described above, you'll want to be sure quilt knows
-  which files you are editing. When you are finished, run "quilt refresh -u -p 
-  0". This will create a unified diff patch with a strip number of 0. You
-  should then go in to the patches directory and document your patch.
+The first thing you need to do is become familiar with the basics of quilt.
+It comes with a PDF tutorial in /usr/share/doc/quilt as well as an excellent
+manpage.
 
-  You may have a patch that you stole from some other source that you just want
-  to apply and you don't want to deal with adding files by hand. You can use
-  "quilt import -n internal-patch-name file-name" where the internal-patch-name
-  is what you want to call your patch. You'll want to push the patch before
-  yours, as described above, before doing the import, in order to make sure it
-  applies in the right sequence.
+To start, you should be in the upacked source package directory -- this is the
+directory that contains the debian/ and xc/ directories.  Run "debian/rules
+quilt-prepare"; this will set up the proper symlinks so that quilt can find
+the patches it needs to apply.  Once this is done, you will see a symlink
+named "patches" that will point to debian/patches.  This exists because quilt
+expects the patches directory to be located at the top level by default.  The
+"quilt-prepare" target sets up a ".pc" symlink as well, which quilt uses
+internally to store information it needs (this is why you'll want to use
+debian/rules clean to clean up, rather than just rm -rf'ing what you see; the
+hidden .pc is easy to forget).  Finally, "quilt-prepare" creates a stamp
+directory that so that debian/rules knows what it has done -- this directory
+also houses verbose logs of attempts to apply patches.
 
-  Once you're all done with patch work, you'll want to run debian/rules clean
-  to get rid of the things that had to be set up.
+What you do next depends on whether you want to edit an existing patch, or
+create a new one.
 
-scripts:
-  Directory containing utility scripts for dealing with the package.  If any
-  architecture-specific make variables need to be declared, you may do so
-  debian/scripts/vars.$(ARCH).
+Editing an existing patch
+-------------------------
+Run "quilt push yourpatchname.diff".  Make your edits now, directly in the
+source tree.  If you're editing a file that wasn't previously included in the
+patch, you must let quilt know you're doing it by using "quilt add" or "quilt
+edit".  If you're not sure if you need this, you can run "quilt files" to see
+if your file is already in there, or "quilt patches filename" to see if the
+current patch edits the specified file.  Once you're done editing, run "quilt
+refresh" to update your patch.  All documentation in the patch header will be
+retained by quilt automatically.  Always document the changes you have made in
+the header of the patch.
 
-patches:
-  Directory containing patches applied in ASCIIbetical order.
-  numeric prefix indicates disposition of patch
-  000     patches FROM upstream
+Creating a new patch
+--------------------
+Decide where your patch belongs according to the number series specified
+below.  Once you do this, run "quilt push patch-before-yours", where
+"patch-before-yours" specifies the filename of the patch that will be the last
+one applied before your new patch.  Then run "quilt new patchname" using the
+name of the patch (including the appropriate number).  Make your edits to the
+source files, directly in the source tree.  As described above in the case of
+editing existing patches, you'll want to be sure quilt knows which files you
+are editing.  When you are finished, run "quilt refresh -u -p 0".  This will
+create a unified diff patch with a strip number of 0.  You should then go in
+to the patches directory and document your patch by adding a description of it
+to the top of the patch file.
 
-  001-899 patches that should be sent upstream
+You may have a patch that you stole from some other source that you just want
+to apply and you don't want to deal with adding files by hand.  You can use
+"quilt import -n internal-patch-name file-name" where "internal-patch-name"
+is what you want to call your patch.  You'll want to "quilt push" the patch
+before yours -- as described above -- before doing the import, to ensure that
+that it applies in correct sequence.
 
-	001-099		general-purpose patches
-	100-149		sparc/sparc64 architecture patches
-	150-199		powerpc architecture patches
-	200-249		alpha architecture patches
-	250-299		m68k architecture patches
-	300-349		arm architecture patches
-	350-399		mips/mipsel architecture patches
-	400-449		hppa architecture patches
-	450-499		ia64 architecture patches
-	500-549		s390/s390x architecture patches
-	550-599		sh{3,4}{,eb} architecture patches
-	600-649		amd64 architecture patches
-	800-819		Debian GNU/Hurd patches
-	820-839		Debian GNU/kFreeBSD patches
-	840-859		Debian GNU/NetBSD patches
-	860-879		Debian OpenBSD patches
+Once you're all done with patch creation/editing, run "debian/rules clean" to
+get rid of the things that had to be set up.
 
-   900-999 patches that should not be sent upstream
+If this is a patch you intend to share with others, run "debian/rules
+patch-audit" before doing so, so that you know you are not distributing a
+broken or fuzzy patch.
 
-	900-998		Debian-specific behavior and enhancements
-	999		experimental or debugging patches (should not
-			generally be present in a production release)
+Subdirectories of debian/
+=========================
+A description of each of the subdirectories of debian/ found in the unpacked
+source package follows.  (Many more subdirectories are created as part of the
+package build process, but "debian/rules clean" removes them.)
 
-local:
-  This contains Debian-specific programs and documentation that we include
-  in our X.Org binary packages; for instance, our X server wrapper and
-  tools for handling fonts.alias and fonts.scale files are here.
+local/
+------
+This directory contains Debian-specific programs and documentation that we
+include in our X.Org X11 binary packages; for instance, our X server wrapper and
+tools for handling fonts.alias and fonts.scale files are here.
 
-MANIFEST.$(ARCH).{in,all} and MANIFEST.all:
-  These files are here to keep track of what the upstream install rules actually
-  install.  Together, these files create a MANIFEST.$(ARCH) file which reflects
-  what the system expects to be installed after the build.  If this changes, we
-  need to know about it; there may be new files we want to ship, or there may be
-  a build-dependency problem such that files that should be there are not.  This
-  version is compared against one that is generated after the X.Org install
-  rule is run.
+patches/
+--------
+This directory contains patches applied by quilt.  The "series" file determines
+which patches are applied, and in what order.
 
-  *VERY IMPORTANT*: It doesn't do any good to replace the MANIFEST files without
-  making appropriate changes to the debhelper files.  If you find that a new
-  MANIFEST file for your architecture needs to be generated, contact the package
-  maintenance team, the Debian X Strike Force <debian-x@lists.debian.org>.
-  Obviously there are several ways to just shut the manifest check up and
-  proceed with the build process, but if it has changed, it is important to know
-  why.
+Each patch filename has a numeric prefix.  Before quilt was adopted for patch
+management, this number was used for ordering purposes.  Now, it more usefully
+serves as a sort of serial number.
 
-  Once you have updated the appropriate debhelper files specific to your
-  architecture (see the next section), architecture-independent files will need
-  to be removed from the list of architecture-specific files listed for your
-  architecture in MANIFEST.$(ARCH).in.  Anything listed in MANIFEST.all should
-  not be listed in MANIFEST.$(ARCH).in.  Next, start the build again.  Repeat
-  this cycle until there are no more MANIFEST mismatches.  Be sure to get the
-  new canonical version of MANIFEST.$(ARCH) to the X.Org package maintenance
-  team (if you are doing official porting work for the Debian Project).
+000         patches FROM upstream
 
-  NOTE: If a MANIFEST.$(ARCH).all file exists, it is used in place of
-  MANIFEST.all.  This is a rare circumstance, and if you suspect you need to
-  create a MANIFEST.$(ARCH).all file, please contact the X.Org package
-  maintenance team.
+001-899     patches that should be sent upstream
 
-$(package).*.$(ARCH):
-  These exist in cases where the contents of one of the debhelper files is
-  architecture-specific.  As the MANIFEST illustrates, different things get
-  installed for different architectures.  This feature requires debhelper
-  2.1.8 or later and is so noted in the Build-Depends.
+  001-099   general-purpose patches
+  100-149   sparc/sparc64 architecture patches
+  150-199   powerpc architecture patches
+  200-249   alpha architecture patches
+  250-299   m68k architecture patches
+  300-349   arm architecture patches
+  350-399   mips/mipsel architecture patches
+  400-449   hppa architecture patches
+  450-499   ia64 architecture patches
+  500-549   s390/s390x architecture patches
+  550-599   sh{3,4}{,eb} architecture patches
+  600-649   amd64 architecture patches
+  800-819   Debian GNU/Hurd patches
+  820-839   Debian GNU/kFreeBSD patches
+  840-859   Debian GNU/NetBSD patches
+  860-879   Debian OpenBSD patches
 
-  If a debhelper file with the .$(ARCH) extension is not present, debhelper
-  will fall back to the version of the file without any .$(ARCH) extension.
+900-999     patches that should not be sent upstream
 
-  The correctness of the MANIFEST and debhelper files with respect to each other
-  can be checked with the manifest-install-reconcile script in the
-  debian/scripts directory.  Run the script as "manifest-install-reconcile
-  validate".  It is highly recommended that this be done before making an
-  official package release.
+900-998     Debian-specific behavior and enhancements
+999         experimental or debugging patches (should not
+            generally be present in a production release)
 
-po:
-  This directory contains translations of debconf templates.  See the
-  po-debconf(7) manpage for more information.
+You can use the script "find-avail-patch-number" in the scripts/ directory to
+identify an available serial number.
 
-  NOTE: At present, this package needs to use its own modified version of
-  debconf-updatepo, which is kept in debian/scripts.  The "updatepo" target in
-  the debian/rules file will take care of running this modified version for you.
+If you run out of numbers within one of the above ranges (which unfortunately
+seems to happen for the general-purpose patches), just add lowercase letters to
+the number.  For example, if you want to add "025_bar.diff" and "025_foo.diff"
+already exists, name your new patch "025a_bar.diff" instead.
 
-  WARNING: The "updatepo" target should be invoked any time the
-  debian/*.templates files change or a debian/po/*.po translation file is
-  updated.  If it is not, dh_installdebconf will run the stock debconf-updatepo
-  script in a way which will clobber important data.
+Do the best you can to make the textual part of the patch filename a meaningful
+(if very short) summary of the patch --
+"025_fix_xterm_terminal_initialization.diff" is far superior to "025_foo.diff".
 
+po/
+---
+This directory contains translations of debconf templates.  See the
+po-debconf(7) manpage for more information.
+
+Note: At present, this package needs to use its own modified version of
+debconf-updatepo, which is kept in debian/scripts.  The "updatepo" target in
+the debian/rules file will take care of running this modified version for you.
+
+WARNING: The "updatepo" target should be invoked any time the
+debian/*.templates files change or a debian/po/*.po translation file is
+updated.  If it is not, dh_installdebconf will run the stock debconf-updatepo
+script in a way which will clobber important data.
+
+scripts/
+--------
+This directory contains utility scripts for dealing with the source package.
+These are provided for the convenience of package maintainers; they are not
+shipped in any binary package.  Use the "local" directory (see above) for
+those.
+
+Architecture-specific binary package payloads
+---------------------------------------------
+MANIFEST.$(ARCH).{in,all} and MANIFEST.all exist in debian/ to keep track of
+what the upstream install rules actually install.  Together, these files create
+a MANIFEST.$(ARCH) file which reflects what the system expects to be installed
+after the build.  If this changes, we need to know about it; there may be new
+files we want to ship, or there may be a build-dependency problem such that
+files that should be there are not.  This version is compared against one that
+is generated after the upstream install rules are run.
+
+*VERY IMPORTANT*: It doesn't do any good to replace the MANIFEST files without
+making appropriate changes to the debhelper files.  If you find that a new
+MANIFEST file for your architecture needs to be generated, contact the package
+maintenance team, the Debian X Strike Force <debian-x@lists.debian.org>.
+Obviously there are several ways to just shut the manifest check up and proceed
+with the build process, but if it has changed, it is important to know why.
+
+Once you have updated the appropriate debhelper files specific to your
+architecture (see the next section), architecture-independent files will need to
+be removed from the list of architecture-specific files listed for your
+architecture in MANIFEST.$(ARCH).in.  Anything listed in MANIFEST.all should not
+be listed in MANIFEST.$(ARCH).in.  Next, start the build again.  Repeat this
+cycle until there are no more MANIFEST mismatches.  Be sure to get the new
+canonical version of MANIFEST.$(ARCH) to the X.Org X11 package maintenance team
+(if you are doing official porting work for the Debian Project).
+
+NOTE: If a MANIFEST.$(ARCH).all file exists, it is used in place of
+MANIFEST.all.  This is a rare circumstance, and if you suspect you need to
+create a MANIFEST.$(ARCH).all file, please contact the X.Org X11 package
+maintenance team.
+
+Architecture-specific debhelper files (supported since debhelper 2.1.8, so not
+described here) exist in cases where the contents of one of the debhelper files
+is architecture-specific.  As the MANIFEST illustrates, different things get
+installed for different architectures.  The correctness of the MANIFEST and
+debhelper files with respect to each other can be checked with the
+manifest-install-reconcile script in the debian/scripts directory.  Run the
+script as "manifest-install-reconcile validate".  It is highly recommended that
+this be done before making an official package release.
+
+[1] Upstream: http://savannah.nongnu.org/projects/quilt/
+    Debian package name: quilt
+
 vim:set ai et sw=2 sts=2 tw=80:

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/changelog	2005-08-11 23:23:08 UTC (rev 524)
@@ -4,10 +4,67 @@
   * Increment versioning of build-conflict with linux-kernel-headers to (<<
     2.6.13+0rc3-1.1) so that people do not get FTBFSes due to Bug#320515.
 
+  * Overhaul debian/rules file and debian/scripts directory.
+    + In the debugging X server build, change the branding string from
+      "(static)" to "(non-modularized)", so people won't assume the X server
+      is intended to be e.g., statically linked against libc (but for some
+      reason isn't).
+    + Add a new Makefile variable, SERVER_WRAPPER_OPT, to control the
+      optimization level of the X server wrapper.  DEB_BUILD_OPTIONS
+      determines its value.
+    + Stop including debian/scripts/vars* files in favor of performing
+      architecture-dependent variable assignments directly in the rules file.
+      The include mechanism was used for dbs's sake, and is now overkill for
+      what we need it for.
+    + Rewrite comments documenting usage of targets with stamp files.
+    + Declare phony targets and stampdir_targets adjacent to the target
+      definitions themselves so they are less likely to get out of sync.
+    + Make $(STAMP_DIR) itself a real target.
+    + Rename the "prepare" target to "quilt-prepare".
+    + Make the "patch", "unpatch", and "patch-audit" rules run more quietly.
+    + Wrap some long lines (> 80 columns).  Some couldn't be wrapped without
+      making them even uglier.
+    + Add targets for the text versions of the Debian X and XTerm FAQs and for
+      the X server wrapper.  Stop building them inside the $(STAMP_DIR)/build
+      target, and instead have $(STAMP_DIR)/build depend on them.
+    + Move targets that exist only for the convience of package maintainers
+      (i.e., which are never invoked via dpkg-buildpackage) to the end of the
+      file.
+    + Make shell usage style consistent.
+    + Use the shell's redirection operator to create empty files instead of
+      fooling with "touch" (or, God forbid, useless uses of cat).
+    + Ensure that there are comments documenting just about everything.
+    + Whitespace police: use hard tabs *only* for indenting target definitions
+      (once, so Make will pull its head out).  All other indentation is done
+      with spaces.
+
+  * Drop unneeded scripts:
+    - debian/setperms is now unused.
+    - debian/scripts/getglibcversion hasn't been used by anything in a long
+      time.
+    - debian/scripts/up-scripts hasn't been used since we switched from dbs to
+      quilt.
+    - debian/scripts/vars* are now unused.
+
+  * Update package maintainers' documentation in debian/README.
+    + Refer to the package as "X.Org X11" to identify it as the monolithic
+      release.
+    + Expand caveat section for new architecture porters.
+    + Break document into sections and give them titles.
+    + Document many more of debian/rules's targets by summarizing the
+      documentation within debian/rules itself.
+    + Copyedit documentation of quilt usage.
+    + Add documentation of debian/po directory.
+    + Update discussion of debian/patches directory.
+    + Condense discussion of MANIFEST and debhelper install files into a new
+      section, "Architecture-specific binary package payloads".
+    + Direct people's attention to the existence of certain convenience
+      scripts in debian/scripts that make some mundane tasks easier.
+
   [ David Nusinow ]
   * Add missing libfs-dev depends. Thanks Guillem Jover (Closes: #321641)
 
- -- David Nusinow <dnusinow@debian.org>  Thu, 11 Aug 2005 18:35:39 -0400
+ -- Branden Robinson <branden@debian.org>  Thu, 11 Aug 2005 18:20:46 -0500
 
 xorg-x11 (6.8.2.dfsg.1-5) unstable; urgency=low
 

Modified: trunk/debian/rules
===================================================================
--- trunk/debian/rules	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/rules	2005-08-11 23:23:08 UTC (rev 524)
@@ -17,10 +17,7 @@
 # Modified by Fabio Massimo Di Nitto <fabbione@fabbione.net>
 # Acknowledgements to Manoj Srivastava.
 
-# default rule to keep things from going nuts by accident
-default: environment
-
-# debhelper
+# Pass $(DH_OPTIONS) into the environment for debhelper's benefit.
 export DH_OPTIONS
 
 # Work around an aggressive overfeature of groff; see Debian Bug #312935 for
@@ -36,27 +33,30 @@
 # Determine (source) package name from Debian changelog.
 SOURCE_NAME:=$(shell dpkg-parsechangelog -ldebian/changelog \
                         | grep '^Source:' | awk '{print $$2}')
+
 # Determine package version from Debian changelog.
 SOURCE_VERSION:=$(shell dpkg-parsechangelog -ldebian/changelog \
                         | grep '^Version:' | awk '{print $$2}')
+
 # Determine upstream version number.
 UPSTREAM_VERSION:=$(shell echo $(SOURCE_VERSION) | sed 's/-.*//')
 
 # Figure out who's building this package.
-BUILDER:=$(shell echo $${DEBEMAIL:-$${EMAIL:-$$(echo $$LOGNAME@$$(cat /etc/mailname 2> /dev/null))}})
+BUILDER:=$(shell echo $${DEBEMAIL:-$${EMAIL:-$$(echo $$LOGNAME@$$(cat /etc/mailname 2>/dev/null))}})
 
 # Find out if this is an official build; an official build has nothing but
 # digits, dots, and/or the strings "woody" or "sarge" in the Debian part of the
 # version number.  Anything else indicates an unofficial build.
-OFFICIAL_BUILD:=$(shell VERSION=$(SOURCE_VERSION); if ! expr "$$(echo $${VERSION\#\#*-} | sed 's/\(woody\|sarge\)//g')" : ".*[^0-9.].*" > /dev/null 2>&1; then echo yes; fi)
+OFFICIAL_BUILD:=$(shell VERSION=$(SOURCE_VERSION); if ! expr "$$(echo $${VERSION\#\#*-} | sed 's/\(woody\|sarge\)//g')" : ".*[^0-9.].*" >/dev/null 2>&1; then echo yes; fi)
 
 # Set some Imake variables for the regular and server-debugging builds.
 TIMESTAMP:=$(shell env TZ=UTC date +%Y%m%d%H%M%S)
-# NOTE: IMAKE_DEFINES is used later to control whether the specs docs and fonts
+
+# Note: IMAKE_DEFINES is used later to control whether the specs docs and fonts
 # are built (they are not built for architecture-dependent-packages-only
 # builds).
 IMAKE_DEFINES:=-DXorgCustomVersion='\"Debian $(SOURCE_VERSION) $(TIMESTAMP) $(BUILDER)\"'
-SERVERDEBUG_IMAKE_DEFINES:=-DXorgCustomVersion='\"Debian (static) $(SOURCE_VERSION) $(TIMESTAMP) $(BUILDER)\"' -DBuildServersOnly=YES -DDoLoadableServer=NO -DXnestServer=NO -DXVirtualFramebufferServer=NO -DXdmxServer=NO -DDefaultGcc2OptimizeOpt=-O0 -DXprtServer=NO -DBuildXprintLib=NO
+SERVERDEBUG_IMAKE_DEFINES:=-DXorgCustomVersion='\"Debian (non-modularized) $(SOURCE_VERSION) $(TIMESTAMP) $(BUILDER)\"' -DBuildServersOnly=YES -DDoLoadableServer=NO -DXnestServer=NO -DXVirtualFramebufferServer=NO -DXdmxServer=NO -DDefaultGcc2OptimizeOpt=-O0 -DXprtServer=NO -DBuildXprintLib=NO
 
 # If this is an official build, set the BuilderEMailAddr that gets displayed in
 # some error messages.
@@ -71,6 +71,9 @@
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
 # Don't get rid of the space in the next line.
 IMAKE_DEFINES+= -DDefaultGcc2OptimizeOpt=-O0
+SERVER_WRAPPER_OPT=-O0
+else
+SERVER_WRAPPER_OPT=-O2
 endif
 
 # Set up parameters for the Debian build environment.
@@ -91,83 +94,132 @@
  endif
 endif
 
-# Read in important variables.
-include debian/scripts/vars
-# Read in architecture-specific variables of importance.
-include debian/scripts/vars.$(ARCH)
+# Set architecture-specific variables.
 
-# This is where the upstream install rules will put their stuff.
-DEBTREEDIR:=$(CURDIR)/debian/tmp
+# $(XWSC_SPECIAL_DEPENDS) is used to add packages to the dependencies of
+# x-window-system-core.
+#
+# $(XWSD_SPECIAL_DEPENDS) is used to add packages to the dependencies of
+# x-window-system-dev.
+ifneq (,$(findstring $(ARCH),alpha amd64 i386 ia64 kfreebsd-i386 powerpc sparc))
+XWSC_SPECIAL_DEPENDS="xserver-xorg, xlibmesa-dri, "
+XWSD_SPECIAL_DEPENDS="xlibosmesa4-dbg, xlibosmesa-dev, "
+endif
 
-# Because of the stampdir magic, when you actually want to run a rule
-# over, you would have to remove the stamp manually.  Now, just do
-# 'debian/rules <target> <target> ... FORCE=1', and the stamp files
-# that match the given targets will be removed automagically.
-stampdir_targets=genscripts check-manifest
-stampdir_targets+=build install binary-arch binary-indep
-stampdir_targets+=build-server install-server binary-server
-stampdir_targets+=prepare setup
-ifdef FORCE
- DUMMY:=$(shell rm -f $(patsubst %,$(STAMP_DIR)/%,$(filter $(stampdir_targets),$(MAKECMDGOALS))))
+ifneq (,$(findstring $(ARCH),arm hppa hurd-i386 m68k mips mipsel netbsd-i386 sh3 sh4))
+XWSC_SPECIAL_DEPENDS="xserver-xorg, "
 endif
 
-# If this is defined, then none of the 'long' commands will be run.  Useful
-# for testing.
-# test_rules=1
+ifneq (,$(findstring $(ARCH),s390))
+NOT_BUILDING_XORG_X_SERVER=1
+endif
 
+# $(STAMP_DIR) houses stamp files for complex targets.
 STAMP_DIR:=stampdir
+
+# $(SOURCE_DIR) houses one or more source trees.
 SOURCE_DIR:=build-tree
+
+# $(SOURCE_TREE) is the location of the source tree to be compiled.  If there
+# is more than one, others are found using this name plus a suffix to indicate
+# the purpose of the additional tree (e.g., $(SOURCE_TREE)-custom).  The
+# "setup" target is responsible for creating such trees.
 SOURCE_TREE:=$(SOURCE_DIR)/xc
 
-prepare: $(STAMP_DIR)/prepare
-$(STAMP_DIR)/prepare:
-	mkdir $(STAMP_DIR)
-	mkdir $(STAMP_DIR)/patches
-	mkdir $(STAMP_DIR)/log
-	echo 2 > $(STAMP_DIR)/patches/.version
+# $(DEBTREEDIR) is where all install rules are told (via $(DESTDIR)) to place
+# their files.
+DEBTREEDIR:=$(CURDIR)/debian/tmp
+
+# If $(test_rules) is defined, then none of the time-consuming commands within
+# the targets will be run.  Package developers may find this useful for
+# debugging.
+#
+# Note: Do *NOT* uncomment the following line in a package release.
+# test_rules=1
+
+# All "important" targets have four lines:
+#   1) A target name that is invoked by a package-building tool or the user.
+#      This consists of a dependency on a "$(STAMP_DIR)/"-prefixed counterpart.
+#   2) A line delcaring 1) as a phony target (".PHONY:").
+#   3) A "$(STAMP_DIR)/"-prefixed target which does the actual work, and may
+#   depend on other targets.
+#   4) A line declaring 3) as a member of the $(stampdir_targets) variable; the
+#   "$(STAMP_DIR)/" prefix is omitted.
+#
+# This indirection is needed so that the "stamp" files that signify when a rule
+# is done can be located in a separate "stampdir".  Recall that make has no way
+# to know when a goal has been met for a phony target (like "build" or
+# "install").
+#
+# At the end of each "$(STAMP_DIR)/" target, be sure to run the command ">$@"
+# so that the target will not be run again.  Removing the file will make Make
+# run the target over.
+
+# All phony targets should be declared as dependencies of .PHONY, even if they
+# do not have "($STAMP_DIR)/"-prefixed counterparts.
+
+# Define a harmless default rule to keep things from going nuts by accident.
+.PHONY: default
+default: environment
+
+# Set up the $(STAMP_DIR) directory.
+$(STAMP_DIR):
+	mkdir $@
+
+# Set up the package build directory as quilt expects to find it.
+.PHONY: quilt-prepare
+stampdir_targets+=quilt-prepare
+quilt-prepare: $(STAMP_DIR)/quilt-prepare
+$(STAMP_DIR)/quilt-prepare: $(STAMP_DIR)
+	mkdir $(STAMP_DIR)/patches $(STAMP_DIR)/log
+	echo 2 >$(STAMP_DIR)/patches/.version
 	ln -s debian/patches patches
 	ln -s $(STAMP_DIR)/patches .pc
-	if ! [ -x debian/setperms ]; then \
-	  chmod 755 debian/setperms; \
-	fi
-	debian/setperms
+	>$@
 
-	touch $@
-
-patch: $(STAMP_DIR)/patched
-$(STAMP_DIR)/patched: $(STAMP_DIR)/prepare
-	@echo -n "Applying patches... "
-	@if quilt push -a -v > $(STAMP_DIR)/log/patch 2>&1; then \
+# Apply all patches to the upstream source.
+.PHONY: patch
+stampdir_targets+=patch
+patch: $(STAMP_DIR)/patch
+$(STAMP_DIR)/patch: $(STAMP_DIR)/quilt-prepare
+	@echo -n "Applying patches..."; \
+	if quilt push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \
 	  echo "successful."; \
 	else \
-	  echo "failed! (Check $(STAMP_DIR)/log/patch for details)"; \
+	  echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \
 	  exit 1; \
 	fi; \
+	>$@
 
-	touch $@
-
-unpatch: 
-	@if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \
-	  echo -n "Unapplying patches... "; \
-	  if quilt pop -a > $(STAMP_DIR)/log/unpatch 2>&1; then \
-	    echo " successful."; \
+# Revert all patches to the upstream source.
+.PHONY: unpatch
+unpatch:
+	rm -f $(STAMP_DIR)/patch
+	@echo -n "Unapplying patches..."; \
+	if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \
+	  if quilt pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \
+	    echo "successful."; \
 	  else \
-	    echo " failed! (Check $(STAMP_DIR)/log/unpatch for details)"; \
+	    echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \
 	    exit 1; \
 	  fi; \
+	else \
+	  echo "nothing to do."; \
 	fi
 
+# Populate the source tree $(SOURCE_TREE) and do other housekeeping to prepare
+# for the upstream build.
+.PHONY: setup
+stampdir_targets+=setup
 setup: $(STAMP_DIR)/setup
-$(STAMP_DIR)/setup: $(STAMP_DIR)/patched
-	if [ -d $(SOURCE_TREE) ]; then \
-	  rm -rf $(SOURCE_TREE); \
-	fi
+$(STAMP_DIR)/setup: $(STAMP_DIR)/patch
 	mkdir -p $(SOURCE_DIR)
 	find . -maxdepth 1 -mindepth 1 ! -name $(SOURCE_DIR) \
 	     -a ! -name debian -a ! -name patches -a ! -name .pc \
 	     -a ! -name stampdir | xargs -i{} cp -al {} $(SOURCE_DIR)
 ifndef NOT_BUILDING_XORG_X_SERVER
-	# Create source tree for static, debuggable Xorg server.
+	# Create a source tree for the non-modularized, debuggable Xorg X
+	# server.
 	if [ -d $(SOURCE_TREE)-xserver-xorg-dbg ]; then \
 	  rm -rf $(SOURCE_TREE)-xserver-xorg-dbg; \
 	fi
@@ -184,49 +236,58 @@
 	ln -nsf /usr/include/X11/Xcursor imports/include/X11
 	# Xft
 	ln -sf /usr/lib/libXft.* imports/lib
+	>$@
 
-	touch $@
-
-# Rule to clean the maintainer scripts.
+# Clean the generated maintainer scripts.
+.PHONY: cleanscripts
 cleanscripts:
-	rm -f debian/*.config debian/*.postinst debian/*.postrm debian/*.preinst debian/*.prerm
+	rm -f $(STAMP_DIR)/genscripts
+	rm -f debian/*.config \
+	      debian/*.postinst \
+	      debian/*.postrm \
+	      debian/*.preinst \
+	      debian/*.prerm
 	rm -f debian/xserver-xorg-dbg.templates
-	rm -f $(STAMP_DIR)/genscripts
 
+# Clean the package build tree.
+.PHONY: clean
 clean: unpatch cleanscripts
 	dh_testdir
 	rm -f .pc patches
 	rm -rf $(STAMP_DIR) $(SOURCE_DIR)
 	rm -rf imports
-	dh_clean debian/local/xserver-wrapper debian/local/FAQ \
-	         debian/local/xterm.faq.gz debian/shlibs.local \
+	dh_clean debian/local/xserver-wrapper \
+	         debian/local/FAQ \
+	         debian/local/xterm.faq.gz \
+	         debian/shlibs.local \
 	         debian/MANIFEST.$(ARCH) debian/MANIFEST.$(ARCH).new \
 	         debian/po/pothead
 
-# All 'important' targets have 2 lines.  The one that is run by
-# dpkg-buildpackage or the user, and the one that does the actual work.  This
-# indirection is needed so that the 'stamp' files that signify when a rule is
-# done can be located in a separate 'stampdir'.  Recall that make has no way to
-# know when a goal has been met for a phony target (like "build" or "install").
-#
-# At the end of each stampdir target, be sure to run the command 'touch $@'
-# so that the target will not be run again.  Removing the file will make
-# make run the target over.
-
-# Rule to generate the maintainer scripts.
+# Generate the maintainer scripts.
+.PHONY: genscripts
+stampdir_targets+=genscripts
 genscripts: $(STAMP_DIR)/genscripts
-$(STAMP_DIR)/genscripts:
-	for FILE in debian/*.config.in debian/*.postinst.in debian/*.postrm.in debian/*.preinst.in debian/*.prerm.in; do \
+$(STAMP_DIR)/genscripts: $(STAMP_DIR)
+	for FILE in debian/*.config.in \
+	            debian/*.postinst.in \
+	            debian/*.postrm.in \
+	            debian/*.preinst.in \
+	            debian/*.prerm.in; do \
 	  if [ -e "$$FILE" ]; then \
 	    MAINTSCRIPT=$$(echo $$FILE | sed 's/.in$$//'); \
-	    sed -n '1,/^#INCLUDE_SHELL_LIB#$$/p' < $$FILE | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' > $$MAINTSCRIPT.tmp; \
-	    cat debian/shell-lib.sh >> $$MAINTSCRIPT.tmp; \
-	    sed -n '/^#INCLUDE_SHELL_LIB#$$/,$$p' < $$FILE | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >> $$MAINTSCRIPT.tmp; \
-	    sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' -e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' < $$MAINTSCRIPT.tmp > $$MAINTSCRIPT; \
+	    sed -n '1,/^#INCLUDE_SHELL_LIB#$$/p' <$$FILE \
+	      | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >$$MAINTSCRIPT.tmp; \
+	    cat debian/shell-lib.sh >>$$MAINTSCRIPT.tmp; \
+	    sed -n '/^#INCLUDE_SHELL_LIB#$$/,$$p' <$$FILE \
+	      | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >>$$MAINTSCRIPT.tmp; \
+	    sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' \
+	        -e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' \
+	      <$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \
 	    rm $$MAINTSCRIPT.tmp; \
 	  fi; \
 	done
-	# generate xserver-xorg-dbg maintainer scripts from the scripts for xserver-xorg
+	# Generate xserver-xorg-dbg's maintainer scripts from the scripts for
+	# xserver-xorg.
 	for FILE in debian/xserver-xorg.config \
 	            debian/xserver-xorg.postinst \
 	            debian/xserver-xorg.postrm \
@@ -237,67 +298,101 @@
 	    sed -e 's/^# Debian xserver-xorg/&-dbg/' \
 	        -e 's/^THIS_PACKAGE=xserver-xorg/&-dbg/' \
 	        -e 's#^THIS_SERVER=/usr/bin/X11/Xorg#&-debug#' \
-	        < $$FILE > $$MAINTSCRIPT; \
+	        <$$FILE >$$MAINTSCRIPT; \
 	  fi; \
 	done
-	# don't forget the templates file, which doesn't need any substitutions
-	cp debian/xserver-xorg.templates \
+	# Reuse xserver-xorg's templates file for xserver-xorg-dbg.
+	ln debian/xserver-xorg.templates \
 	   debian/xserver-xorg-dbg.templates
-	
 	# Validate syntax of generated shell scripts.
-	sh debian/scripts/validate-posix-sh debian/*.config debian/*.postinst \
-	   debian/*.postrm debian/*.preinst debian/*.prerm
+	sh debian/scripts/validate-posix-sh debian/*.config \
+	                                    debian/*.postinst \
+	                                    debian/*.postrm \
+	                                    debian/*.preinst \
+	                                    debian/*.prerm
+	>$@
 
-	touch $@
-
-# Rule to generate the shlibs.local file.
+# Generate the shlibs.local file.
 debian/shlibs.local:
-	cat debian/*.shlibs > $@
+	cat debian/*.shlibs >$@
 
 # Generate the debconf templates POT file header.
 debian/po/pothead: debian/po/pothead.in
 	sed -e 's/SOURCE_VERSION/$(SOURCE_VERSION)/' \
-	  -e 's/DATE/$(shell date "+%F %X%z"/)' \
-	  <debian/po/pothead.in >$@
+	  -e 's/DATE/$(shell date "+%F %X%z"/)' <$< >$@
 
 # Update POT and PO files.
+.PHONY: updatepo
 updatepo: debian/po/pothead
 	debian/scripts/debconf-updatepo --pot-header=pothead --verbose
 
-build:
-	@echo "This target does nothing.  Please specify \"build-arch-only\" or \"build-all\""
-	@echo "instead.  Note that it is also acceptable to use the \"binary-arch\" or"
-	@echo "\"binary-indep\" targets."
-	@echo
-	@echo "If you are using dpkg-buildpackage, you can safely ignore this message."
+# Generate plain text Debian X FAQ from XHTML.
+debian/local/FAQ: debian/local/FAQ.xhtml
+	$(XHTML2TEXT) $< >$@
 
-# DO NOT CHANGE THIS RULE WITHOUT CHECKING FOR SYNCHRONICITY WITH THE build-server RULE BELOW
+# Compile Debian's X server wrapper.
+debian/local/xserver-wrapper: debian/local/xserver-wrapper.c
+	$(CC) -Wall -g $(SERVER_WRAPPER_OPT) -o $@ $<
+
+# Generate plain text XTerm FAQ from HTML.
+debian/local/xterm.faq.gz: debian/local/xterm.faq.html
+	$(HTML2TEXT) $< >debian/local/xterm.faq
+	# dh_compress doesn't recognize this file extension, so we must
+	# compress it manually.
+	gzip -9f debian/local/xterm.faq
+
+# We deviate from Debian convention when it comes to the "build" target,
+# because there are parts of the build tree that are used only for
+# architecture-independent packages and which are time-consuming to deal with.
+# We desire to switch off building those parts of the tree if we know we are
+# not going to be using them.
+
+# Build the upstream source tree; this is called "real-build" to distinguish it
+# from historical use and meaning of the "build" target in Debian.
+#
+# Note: "real-build"'s $(STAMP_DIR) counterpart is called "build", not
+# "real-build".
+#
+# Note: When updating this target, ensure any applicable changes are also
+# reflected in the build-server target below.
+.PHONY: real-build
+stampdir_targets+=build
 real-build: $(STAMP_DIR)/build
-$(STAMP_DIR)/build: $(STAMP_DIR)/setup $(STAMP_DIR)/genscripts
-	# build Debian's X server wrapper
-	$(CC) -Wall -g -O2 -o debian/local/xserver-wrapper debian/local/xserver-wrapper.c
-	# Generate plain text documents from (X)HTML.
-	$(HTML2TEXT) debian/local/xterm.faq.html >debian/local/xterm.faq
-	gzip -9f debian/local/xterm.faq
-	$(XHTML2TEXT) debian/local/FAQ.xhtml >debian/local/FAQ
+$(STAMP_DIR)/build: $(STAMP_DIR)/setup $(STAMP_DIR)/genscripts debian/local/FAQ debian/local/xserver-wrapper debian/local/xterm.faq.gz
 ifndef test_rules
 	$(MAKE) -C $(SOURCE_TREE) WORLDOPTS="" IMAKE_DEFINES="$(IMAKE_DEFINES)" World
  ifndef NOT_BUILDING_XORG_X_SERVER
 	$(MAKE) -C $(SOURCE_TREE)-xserver-xorg-dbg WORLDOPTS="" IMAKE_DEFINES="$(SERVERDEBUG_IMAKE_DEFINES)" World
  endif
 else
-	# skipping build rule because test_rules was defined
+	# Skipping build rule because "test_rules" was defined.
 endif
-	touch $@
+	>$@
 
-# When creating archiciture-dependent packages only, turn off the building of
-# the specs docs and fonts.  There are also Imake symbols called BuildMiscDocs
-# and InstallHardcopyDocs, but they are not defined by default.
+# When creating only archiciture-dependent packages, turn off the building of
+# the specs docs and fonts, and the installation of "hard copy" documentation.
+# There is also an Imake symbol called BuildMiscDocs, but it is not defined by
+# default.
+.PHONY: build-arch-only build-all
 build-arch-only: IMAKE_DEFINES+= -DBuildSpecsDocs=NO -DBuildFonts=NO -DInstallHardcopyDocs=NO
 build-arch-only: real-build
 build-all: real-build
 
-# DO NOT CHANGE THIS RULE WITHOUT CHECKING FOR SYNCHRONICITY WITH THE install-server RULE BELOW
+# Define a dummy build rule so people who invoke it know what to do instead.
+.PHONY: build
+build:
+	@echo "This target does nothing.  Please specify \"build-arch-only\" or \"build-all\""
+	@echo "instead.  Note that it is also acceptable to use the \"binary-arch\" or"
+	@echo "\"binary-indep\" targets."
+	@echo
+	@echo "If you are using dpkg-buildpackage, you can safely ignore this message."
+
+# Install files to $(DEBTREEDIR).
+#
+# Note: When updating this target, ensure any applicable changes are also
+# reflected in the install-server target below.
+.PHONY: install
+stampdir_targets+=install
 install: $(STAMP_DIR)/install
 $(STAMP_DIR)/install: $(STAMP_DIR)/build
 	dh_testdir
@@ -305,10 +400,13 @@
 ifndef test_rules
 	umask 022
 	dh_clean -k
-	$(MAKE) -C $(SOURCE_TREE) SHELL="/bin/sh -e" DESTDIR=$(DEBTREEDIR) install install.man
-	# install Debian's font tools
+	$(MAKE) -C $(SOURCE_TREE) SHELL="/bin/sh -e" DESTDIR=$(DEBTREEDIR) \
+	  install install.man
+	# Install Debian's font tools.
 	install -m 755 -d $(DEBTREEDIR)/usr/bin $(DEBTREEDIR)/usr/sbin
-	install -m 755 -d $(DEBTREEDIR)/usr/share/man/man1 $(DEBTREEDIR)/usr/share/man/man5 $(DEBTREEDIR)/usr/share/man/man8
+	install -m 755 -d $(DEBTREEDIR)/usr/share/man/man1 \
+	                  $(DEBTREEDIR)/usr/share/man/man5 \
+	                  $(DEBTREEDIR)/usr/share/man/man8
 	for FOO in alias dir scale; do \
 	  install -m 755 debian/local/update-fonts-$$FOO $(DEBTREEDIR)/usr/sbin; \
 	  install -m 644 debian/local/update-fonts-$$FOO.8 $(DEBTREEDIR)/usr/share/man/man8; \
@@ -323,7 +421,7 @@
 	               $(SOURCE_TREE)/programs/Xserver/hw/xfree86/doc/README.fonts \
 	               debian/tmp/usr/X11R6/lib/X11/doc
  else
-	# Install the static, debuggable Xorg server.
+	# Install the non-modularized, debuggable Xorg server.
 	install -m 755 $(SOURCE_TREE)-xserver-xorg-dbg/programs/Xserver/Xorg \
 	               debian/tmp/usr/X11R6/bin/Xorg-debug
 	mkdir -p $(DEBTREEDIR)/etc/X11/cursors
@@ -374,17 +472,23 @@
 	install -m 755 debian/local/xvfb-run $(DEBTREEDIR)/usr/bin
 	install -m 644 debian/local/xvfb-run.1 $(DEBTREEDIR)/usr/share/man/man1
 else
-	# skipping install rule because test_rules was defined
+	# Skipping install rule because "test_rules" was defined.
 endif
-	touch $@
+	>$@
 
+# Use the MANIFEST files to determine whether we're shipping everything we
+# expect to ship, and not shipping anything we don't expect to ship.
+.PHONY: check-manifest
+stampdir_targets+=check-manifest
 check-manifest: $(STAMP_DIR)/check-manifest
 $(STAMP_DIR)/check-manifest: $(STAMP_DIR)/install
-	# compare manifests
-	(cd debian/tmp && find -type f | LC_ALL=C sort | cut -c3-) >debian/MANIFEST.$(ARCH).new
+	# Compare manifests.
+	(cd debian/tmp && find -type f | LC_ALL=C sort | cut -c3-) \
+	  >debian/MANIFEST.$(ARCH).new
 	# Construct MANIFEST files from MANIFEST.$(ARCH).in and
 	# MANIFEST.$(ARCH).all or MANIFEST.all.
-	if expr "$(findstring -DBuildFonts=NO,$(IMAKE_DEFINES))" : "-DBuildFonts=NO" >/dev/null 2>&1; then \
+	if expr "$(findstring -DBuildFonts=NO,$(IMAKE_DEFINES))" \
+	  : "-DBuildFonts=NO" >/dev/null 2>&1; then \
 	  LC_ALL=C sort -u debian/MANIFEST.$(ARCH).in >debian/MANIFEST.$(ARCH); \
 	else \
 	  if [ -e debian/MANIFEST.$(ARCH).all ]; then \
@@ -393,7 +497,7 @@
 	    LC_ALL=C sort -u debian/MANIFEST.$(ARCH).in debian/MANIFEST.all >debian/MANIFEST.$(ARCH); \
 	  fi; \
 	fi
-	# confirm that the installed file list has not changed
+	# Confirm that the installed file list has not changed.
 	if [ -e debian/MANIFEST.$(ARCH) ]; then \
 	  if ! cmp -s debian/MANIFEST.$(ARCH) debian/MANIFEST.$(ARCH).new; then \
 	    diff -U 0 debian/MANIFEST.$(ARCH) debian/MANIFEST.$(ARCH).new || DIFFSTATUS=$$?; \
@@ -402,25 +506,31 @@
 	      1) if [ -n "$$IGNORE_MANIFEST_CHANGES" ]; then \
 	           echo 'MANIFEST check failed; ignoring problem because \$$IGNORE_MANIFEST_CHANGES set' >&2; \
 	           echo 'Please ensure that the package maintainer has an up-to-date version of the' >&2; \
-	           echo 'MANIFEST.$(ARCH) file.' >&2; \
+	           echo 'MANIFEST.$(ARCH).in file.' >&2; \
 	         else \
 	           echo 'MANIFEST check failed; please see debian/README' >&2; \
-			   exit 1; \
+	           exit 1; \
 	         fi; \
 	         ;; \
 	      *) echo "diff reported unexpected exit status $$DIFFSTATUS when performing MANIFEST check" >&2; \
-		     exit 1; \
+	         exit 1; \
 	         ;; \
 	    esac; \
 	  fi; \
 	fi
-	touch $@
+	>$@
 
-# See the build-arch-only target above.
+# Because we build (and install) different files depending on whether or not
+# any architecture-independent packages are being created, the list of files we
+# expect to see will differ; see the discussion of the "build" target above.
+.PHONY: check-manifest-arch check-manifest-indep
 check-manifest-arch: IMAKE_DEFINES+= -DBuildSpecsDocs=NO -DBuildFonts=NO -DInstallHardcopyDocs=NO
 check-manifest-arch: check-manifest
 check-manifest-indep: check-manifest
 
+# Create architecture-independent packages.
+.PHONY: binary-indep
+stampdir_targets+=binary-indep
 binary-indep: check-manifest-indep $(STAMP_DIR)/binary-indep
 $(STAMP_DIR)/binary-indep: DH_OPTIONS=-i
 $(STAMP_DIR)/binary-indep: $(STAMP_DIR)/build $(STAMP_DIR)/install $(STAMP_DIR)/check-manifest
@@ -429,15 +539,16 @@
 	dh_install --sourcedir=debian/tmp
 	dh_installdebconf
 	dh_installdirs
-	# copy the fonts.{alias,scale} files into /etc
+	# Copy the fonts.{alias,scale} files into /etc
 	cp -f $(DEBTREEDIR)/usr/X11R6/lib/X11/fonts/100dpi/fonts.alias debian/xfonts-100dpi/etc/X11/fonts/100dpi/xfonts-100dpi.alias
 	cp -f $(DEBTREEDIR)/usr/X11R6/lib/X11/fonts/75dpi/fonts.alias debian/xfonts-75dpi/etc/X11/fonts/75dpi/xfonts-75dpi.alias
 	cp -f $(DEBTREEDIR)/usr/X11R6/lib/X11/fonts/cyrillic/fonts.alias debian/xfonts-cyrillic/etc/X11/fonts/cyrillic/xfonts-cyrillic.alias
-	# some font aliases go into xfonts-base-transcoded.alias
-	egrep 'iso8859-(8|15)$$' $(DEBTREEDIR)/usr/X11R6/lib/X11/fonts/misc/fonts.alias > debian/xfonts-base-transcoded/etc/X11/fonts/misc/xfonts-base-transcoded.alias
-	egrep -v 'iso8859-(8|15)$$' $(DEBTREEDIR)/usr/X11R6/lib/X11/fonts/misc/fonts.alias > debian/xfonts-base/etc/X11/fonts/misc/xfonts-base.alias
+	# Some font aliases need to be extracted into
+	# xfonts-base-transcoded.alias to accompany the corresponding fonts.
+	egrep 'iso8859-(8|15)$$' $(DEBTREEDIR)/usr/X11R6/lib/X11/fonts/misc/fonts.alias >debian/xfonts-base-transcoded/etc/X11/fonts/misc/xfonts-base-transcoded.alias
+	egrep -v 'iso8859-(8|15)$$' $(DEBTREEDIR)/usr/X11R6/lib/X11/fonts/misc/fonts.alias >debian/xfonts-base/etc/X11/fonts/misc/xfonts-base.alias
 	cp -f $(DEBTREEDIR)/usr/X11R6/lib/X11/fonts/Type1/fonts.scale debian/xfonts-scalable/etc/X11/fonts/Type1/xfonts-scalable.scale
-	# install bug report assistance script
+	# Install xlibs's bug report assistance script.
 	install -m 755 -d debian/xlibs/usr/share/bug/xlibs
 	install -m 755 debian/xlibs.bug.script debian/xlibs/usr/share/bug/xlibs/script
 	dh_installdocs
@@ -452,10 +563,14 @@
 	dh_gencontrol
 	dh_md5sums
 	dh_builddeb
-	touch $@
+	>$@
 
-# DO NOT CHANGE THIS RULE WITHOUT CHECKING FOR SYNCHRONICITY WITH THE binary-server RULE BELOW
-# See the build-arch-only target above.
+# Create architecture-specific packages.
+#
+# Note: When updating this target, ensure any applicable changes are also
+# reflected in the binary-server target below.
+.PHONY: binary-arch
+stampdir_targets+=binary-arch
 binary-arch: check-manifest-arch $(STAMP_DIR)/binary-arch
 $(STAMP_DIR)/binary-arch: DH_OPTIONS=-s
 $(STAMP_DIR)/binary-arch: IMAKE_DEFINES+= -DBuildSpecsDocs=NO -DBuildFonts=NO -DInstallHardcopyDocs=NO
@@ -481,8 +596,9 @@
 	install -m 644 debian/xserver-xorg.bug.presubj debian/xserver-xorg-dbg/usr/share/bug/xserver-xorg-dbg/presubj
 	install -m 755 debian/xserver-xorg.bug.script debian/xserver-xorg-dbg/usr/share/bug/xserver-xorg-dbg/script
 endif
-# (Crudely) test to see if we're shipping xlibmesa-dri for the architecture being built.
-ifneq (,$(findstring xlibmesa-dri,$(XLIBMESA_GL_SPECIAL_DEPENDS)))
+# (Crudely) test to see if we're shipping xlibmesa-dri for the architecture
+# being built.
+ifneq (,$(findstring xlibmesa-dri,$(XWSC_SPECIAL_DEPENDS)))
 	install -m 755 -d debian/xlibmesa-dri/usr/share/bug/xlibmesa-dri
 	install -m 755 debian/xlibmesa-dri.bug.script debian/xlibmesa-dri/usr/share/bug/xlibmesa-dri/script
 endif
@@ -549,16 +665,21 @@
 	dh_shlibdeps -plibdps1 -l$(DEBTREEDIR)/usr/lib -l$(DEBTREEDIR)/usr/X11R6/lib -- -Ldebian/libdps1.shlibs.local
 	dh_shlibdeps -plibx11-6 -l$(DEBTREEDIR)/usr/lib -l$(DEBTREEDIR)/usr/X11R6/lib -- -Ldebian/libx11-6.shlibs.local
 	dh_gencontrol -- -VF:XWSC-Special-Depends=$(XWSC_SPECIAL_DEPENDS) \
-	                 -VF:XWSD-Special-Depends=$(XWSD_SPECIAL_DEPENDS) \
-	                 -VF:Xlibmesa-gl-Special-Depends=$(XLIBMESA_GL_SPECIAL_DEPENDS)
+	                 -VF:XWSD-Special-Depends=$(XWSD_SPECIAL_DEPENDS)
 	dh_md5sums
 	dh_builddeb
-	touch $@
+	>$@
 
+# Create all packages.
+.PHONY: binary
 binary: binary-indep binary-arch
 
-# Use 'debian/rules environment' to help debug architecture-related problems
+# Use "debian/rules environment" to help debug architecture-related problems
 # with the rules file.
+#
+# Note: This rule is for Debian package maintainers' convenience, and is not
+# needed for conventional build scenarios.
+.PHONY: environment
 environment:
 	@echo 'Package build environment (not all variables may be set):'
 	@echo '$$(SOURCE_VERSION)' is \"$(SOURCE_VERSION)\"
@@ -572,13 +693,12 @@
 	@echo '$$(CURDIR)' is \"$(CURDIR)\"
 	@echo '$$(XWSC_SPECIAL_DEPENDS)' is \"$(XWSC_SPECIAL_DEPENDS)\"
 	@echo '$$(XWSD_SPECIAL_DEPENDS)' is \"$(XWSD_SPECIAL_DEPENDS)\"
-	@echo '$$(XLIBMESA_GL_SPECIAL_DEPENDS)' is \"$(XLIBMESA_GL_SPECIAL_DEPENDS)\"
 ifdef NOT_BUILDING_XORG_X_SERVER
 	@echo '*** This architecture does not build the Xorg X server packages.'
 endif
 	@echo 'See debian/control for build dependencies.'
 
-# The following three rules for for generating "customized" xserver-xorg
+# The following three rules are for generating "customized" xserver-xorg
 # packages.  Nothing that would appear outside that package is relevant
 # to them.
 #
@@ -586,11 +706,18 @@
 # changes to one or the other should always be considered for inclusion in
 # the counterpart rule, so that they don't get out of sync with each other.
 
-# DO NOT CHANGE THIS RULE WITHOUT CHECKING FOR SYNCHRONICITY WITH THE build RULE ABOVE
+# When updating this target, ensure any applicable changes are also reflected
+# in the real-build target above.
+#
+# Note: This rule is for the convenience of people who would like to build
+# only xserver-xorg packages (perhaps those doing Xorg X server development
+# themselves); it is not needed for conventional build scenarios.
+.PHONY: build-server
+stampdir_targets+=build-server
 build-server: $(STAMP_DIR)/build-server
-$(STAMP_DIR)/build-server: setup $(STAMP_DIR)/genscripts
+$(STAMP_DIR)/build-server: $(STAMP_DIR)/setup $(STAMP_DIR)/genscripts
 	dh_testdir
-	# Create source tree for static, debuggable Xorg server.
+	# Create source tree for non-modularized, debuggable Xorg server.
 	cp -drl $(SOURCE_TREE) $(SOURCE_TREE)-xserver-xorg-dbg
 ifndef test_rules
 	$(MAKE) -C $(SOURCE_TREE) WORLDOPTS="" IMAKE_DEFINES="$(IMAKE_DEFINES) -DBuildServersOnly=YES" World
@@ -598,9 +725,16 @@
 else
 	# skipping build rule because test_rules was defined
 endif
-	touch $@
+	>$@
 
-# DO NOT CHANGE THIS RULE WITHOUT CHECKING FOR SYNCHRONICITY WITH THE install RULE ABOVE
+# When updating this target, ensure any applicable changes are also reflected
+# in the install target above.
+#
+# Note: This rule is for the convenience of people who would like to build
+# only xserver-xorg packages (perhaps those doing Xorg X server development
+# themselves); it is not needed for conventional build scenarios.
+.PHONY: install-server
+stampdir_targets+=install-server
 install-server: $(STAMP_DIR)/install-server
 $(STAMP_DIR)/install-server: DH_OPTIONS=-pxserver-xorg -pxserver-xorg-dbg
 $(STAMP_DIR)/install-server: $(STAMP_DIR)/build-server
@@ -610,15 +744,22 @@
 	umask 022
 	dh_clean -k
 	$(MAKE) -C $(SOURCE_TREE) SHELL="/bin/sh -e" DESTDIR=$(DEBTREEDIR) install install.man
-	# Install the static, debuggable Xorg server.
+	# Install the non-modularized, debuggable Xorg server.
 	install -m 755 $(SOURCE_TREE)-xserver-xorg-dbg/programs/Xserver/Xorg \
 	               debian/tmp/usr/X11R6/bin/Xorg-debug
 else
 	# skipping install rule because test_rules was defined
 endif
-	touch $@
+	>$@
 
-# DO NOT CHANGE THIS RULE WITHOUT CHECKING FOR SYNCHRONICITY WITH THE binary-arch RULE ABOVE
+# When updating this target, ensure any applicable changes are also reflected
+# in the binary-arch target above.
+#
+# Note: This rule is for the convenience of people who would like to build
+# only xserver-xorg packages (perhaps those doing Xorg X server development
+# themselves); it is not needed for conventional build scenarios.
+.PHONY: binary-server
+stampdir_targets+=binary-server
 binary-server: $(STAMP_DIR)/binary-server
 $(STAMP_DIR)/binary-server: DH_OPTIONS=-pxserver-xorg -pxserver-xorg-dbg
 $(STAMP_DIR)/binary-server: $(STAMP_DIR)/build-server $(STAMP_DIR)/install-server debian/shlibs.local
@@ -655,14 +796,14 @@
 	dh_gencontrol
 	dh_md5sums
 	dh_builddeb
-	touch $@
+	>$@
 
-# This rule removes stuff from the upstream source tree that we don't need, or
-# which has licensing problems.  It must be run before creating the
-# .orig.tar.gz.
+# Remove files from the upstream source tree that we don't need, or which have
+# licensing problems.  It must be run before creating the .orig.tar.gz.
 #
 # Note: This rule is for Debian package maintainers' convenience, and is not
 # needed for conventional build scenarios.
+.PHONY: prune-upstream-tree
 prune-upstream-tree:
 	# Ensure we're in the correct directory.
 	dh_testdir
@@ -678,6 +819,7 @@
 #
 # This rule *IS* the recommended method for creating a new .orig.tar.gz file,
 # for the rare situations when one is needed.
+.PHONY: make-orig-tar-gz
 make-orig-tar-gz: clean prune-upstream-tree
 	( cd .. \
 	  && if ! [ -d $(SOURCE_NAME)-$(UPSTREAM_VERSION) ]; then \
@@ -691,44 +833,55 @@
 	    | gzip -9 >$(SOURCE_NAME)_$(UPSTREAM_VERSION).orig.tar.gz; \
 	  fi )
 
-# Verify that there are no offsets or fuzz in our patches.
+# Verify that there are no offsets or fuzz in the patches we apply.
 #
 # Note: This rule is for Debian package maintainers' convenience, and is not
 # needed for conventional build scenarios.
-patch-audit: prepare unpatch
-	touch stampdir/log/patch; \
-	FUZZY=no; \
-	while [ -n "`quilt next`" ]; do \
-	  RESULT=`quilt push -v | tee -a stampdir/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/'`;\
+.PHONY: patch-audit
+patch-audit: quilt-prepare unpatch
+	@echo -n "Auditing patches..."; \
+	>$(STAMP_DIR)/log/patch; \
+	FUZZY=; \
+	while [ -n "$$(quilt next)" ]; do \
+	  RESULT=$$(quilt push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\
 	  case "$$RESULT" in \
 	    succeeded) \
-	      echo "The patch is fuzzy: `quilt top`"; \
-		  echo "The patch is fuzzy: `quilt top`" > stampdir/log/`quilt top`; \
+	      echo "fuzzy patch: $$(quilt top)" \
+	        | tee -a $(STAMP_DIR)/log/$$(quilt top); \
 	      FUZZY=yes; \
-	    ;; \
+	      ;; \
 	    FAILED) \
-	      echo "The patch is broken: `quilt next`"; \
-		  echo "The patch is fuzzy: `quilt next`" > stampdir/log/`quilt next`; \
+	      echo "broken patch: $$(quilt next)" \
+	        | tee -a $(STAMP_DIR)/log/$$(quilt next); \
 	      exit 1; \
-	    ;; \
+	      ;; \
 	  esac; \
 	done; \
-	if [ $$FUZZY = "yes" ]; then \
-	  echo "There were fuzzy patches. Please Fix."; \
+	if [ -n "$$FUZZY" ]; then \
+	  echo "there were fuzzy patches; please fix."; \
 	  exit 1; \
+	else \
+	  echo "done."; \
 	fi
 
-.PHONY: default
-.PHONY: genscripts cleanscripts
-.PHONY: updatepo
-.PHONY: prepare setup
-.PHONY: patch unpatch
-.PHONY: clean install
-.PHONY: build build-arch-only build-all real-build
-.PHONY: binary binary-arch binary-indep
-.PHONY: check-manifest check-manifest-arch check-manifest-indep
-.PHONY: environment
-.PHONY: build-server install-server binary-server
-.PHONY: prune-upstream-tree make-orig-tar-gz patch-audit
+# If FORCE is defined, define a dummy variable that forces removal of stamp
+# files for targets in the dependency chain.
+#
+# Note: This variable definition is for Debian package maintainers'
+# convenience, and is not needed for conventional build scenarios.
+#
+# When you want to re-run a target that has a stamp file, you do not have to
+# remove the stamp file manually.  Instead, you can do the following:
+#
+# $ debian/rules <target> <target> ... FORCE=1
+#
+# ...and the stamp files that match the given targets will be removed
+# automatically.
+#
+# Ensure that each rule with a stamp file has an update to the value of
+# $(stampdir_targets) adjacent.  Use "+=".
+ifdef FORCE
+ DUMMY:=$(shell rm -f $(patsubst %,$(STAMP_DIR)/%,$(filter $(stampdir_targets),$(MAKECMDGOALS))))
+endif
 
 # vim:set noet ai sts=8 sw=8 tw=0:

Deleted: trunk/debian/scripts/getglibcversion
===================================================================
--- trunk/debian/scripts/getglibcversion	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/getglibcversion	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,58 +0,0 @@
-#!/bin/sh
-# GNU C library version detection shell script.
-# Copyright 1999 Branden Robinson.
-# Licensed under the GNU General Public License, version 2.  See the file
-# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
-
-# $Id: getglibcversion 1348 2004-05-01 17:13:47Z branden $
-
-# This script probably makes about a billion too many assumptions, but it's
-# better than hardcoding the glibc version on a per-architecture basis.
-
-set -e
-
-usage () {
-  echo "Usage: getglibcversion [option]"
-  echo "  Where [option] may be one of:"
-  echo "  --major      return major version only"
-  echo "  --minor      return minor version only"
-  echo "  --ittybitty  return ittybitty version only"
-  echo "With no option, returns major.minor.ittybitty .";
-}
-
-case $# in
-  0) ;;
-  1) case $1 in
-       --help) usage
-               exit 0 ;;
-       --major) RETURN=1 ;;
-       --minor) RETURN=2 ;;
-       --ittybitty) RETURN=3 ;;
-       *) exec 1>&2
-          usage
-          exit 1 ;;
-     esac ;;
-  *) exec 1>&2
-     usage
-     exit 1 ;;
-esac
-
-LIBCLIST=$(cd /lib && ls libc-*.so)
-
-case $(echo $LIBCLIST | wc -l | awk '{print $1}') in
-  0) echo "No GNU C library found!  Aborting." >&2
-     exit 1 ;;
-  1) ;;
-  *) echo "Multiple versions of GNU C library found!  Aborting." >&2
-     exit 1 ;;
-esac
-
-LIBCVERSION=$(echo $LIBCLIST | sed -e 's/libc-//' -e 's/\.so//')
-
-if [ -z $RETURN ]; then
-  echo $LIBCVERSION
-else
-  echo $LIBCVERSION | cut -d. -f$RETURN
-fi
-
-exit 0

Deleted: trunk/debian/scripts/up-scripts
===================================================================
--- trunk/debian/scripts/up-scripts	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/up-scripts	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-# $Id$
-
-if ! [ -d build-tree/xc ]; then
-    mkdir -p build-tree
-    cp -drl xc build-tree
-fi
-
-# vim:set ai sts=4 sw=4 tw=80:

Deleted: trunk/debian/scripts/vars
===================================================================
--- trunk/debian/scripts/vars	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,10 +0,0 @@
-# $Id$
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-#
-# SOURCE_TREE is the location of the patched source tree relative to the
-# unpacked source package directory.
-SOURCE_TREE=build-tree/xc

Deleted: trunk/debian/scripts/vars.alpha
===================================================================
--- trunk/debian/scripts/vars.alpha	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.alpha	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,9 +0,0 @@
-# $Id: vars.alpha 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, xlibmesa-dri, "
-XWSD_SPECIAL_DEPENDS="xlibosmesa4-dbg, xlibosmesa-dev, "
-XLIBMESA_GL_SPECIAL_DEPENDS="xlibmesa-dri, "

Deleted: trunk/debian/scripts/vars.amd64
===================================================================
--- trunk/debian/scripts/vars.amd64	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.amd64	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,9 +0,0 @@
-# $Id: vars.amd64 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, xlibmesa-dri, "
-XWSD_SPECIAL_DEPENDS="xlibosmesa4-dbg, xlibosmesa-dev, "
-XLIBMESA_GL_SPECIAL_DEPENDS="xlibmesa-dri, "

Deleted: trunk/debian/scripts/vars.arm
===================================================================
--- trunk/debian/scripts/vars.arm	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.arm	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,7 +0,0 @@
-# $Id: vars.arm 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, "

Deleted: trunk/debian/scripts/vars.hppa
===================================================================
--- trunk/debian/scripts/vars.hppa	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.hppa	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,7 +0,0 @@
-# $Id: vars.hppa 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, "

Deleted: trunk/debian/scripts/vars.hurd-i386
===================================================================
--- trunk/debian/scripts/vars.hurd-i386	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.hurd-i386	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,7 +0,0 @@
-# $Id: vars.hurd-i386 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, "

Deleted: trunk/debian/scripts/vars.i386
===================================================================
--- trunk/debian/scripts/vars.i386	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.i386	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,9 +0,0 @@
-# $Id: vars.i386 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, xlibmesa-dri, "
-XWSD_SPECIAL_DEPENDS="xlibosmesa4-dbg, xlibosmesa-dev, "
-XLIBMESA_GL_SPECIAL_DEPENDS="xlibmesa-dri, "

Deleted: trunk/debian/scripts/vars.ia64
===================================================================
--- trunk/debian/scripts/vars.ia64	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.ia64	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,9 +0,0 @@
-# $Id: vars.ia64 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, xlibmesa-dri, "
-XWSD_SPECIAL_DEPENDS="xlibosmesa4-dbg, xlibosmesa-dev, "
-XLIBMESA_GL_SPECIAL_DEPENDS="xlibmesa-dri, "

Deleted: trunk/debian/scripts/vars.kfreebsd-i386
===================================================================
--- trunk/debian/scripts/vars.kfreebsd-i386	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.kfreebsd-i386	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,9 +0,0 @@
-# $Id: vars.i386 189 2005-06-11 00:04:27Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, xlibmesa-dri, "
-XWSD_SPECIAL_DEPENDS="xlibosmesa4-dbg, xlibosmesa-dev, "
-XLIBMESA_GL_SPECIAL_DEPENDS="xlibmesa-dri, "

Deleted: trunk/debian/scripts/vars.m68k
===================================================================
--- trunk/debian/scripts/vars.m68k	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.m68k	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,7 +0,0 @@
-# $Id: vars.m68k 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, "

Deleted: trunk/debian/scripts/vars.mips
===================================================================
--- trunk/debian/scripts/vars.mips	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.mips	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,7 +0,0 @@
-# $Id: vars.mips 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, "

Deleted: trunk/debian/scripts/vars.mipsel
===================================================================
--- trunk/debian/scripts/vars.mipsel	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.mipsel	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,7 +0,0 @@
-# $Id: vars.mipsel 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, "

Deleted: trunk/debian/scripts/vars.netbsd-i386
===================================================================
--- trunk/debian/scripts/vars.netbsd-i386	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.netbsd-i386	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,7 +0,0 @@
-# $Id: vars.netbsd-i386 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, "

Deleted: trunk/debian/scripts/vars.powerpc
===================================================================
--- trunk/debian/scripts/vars.powerpc	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.powerpc	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,9 +0,0 @@
-# $Id: vars.powerpc 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, xlibmesa-dri, "
-XWSD_SPECIAL_DEPENDS="xlibosmesa4-dbg, xlibosmesa-dev, "
-XLIBMESA_GL_SPECIAL_DEPENDS="xlibmesa-dri, "

Deleted: trunk/debian/scripts/vars.s390
===================================================================
--- trunk/debian/scripts/vars.s390	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.s390	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,7 +0,0 @@
-# $Id$
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-NOT_BUILDING_XORG_X_SERVER=1

Deleted: trunk/debian/scripts/vars.sh3
===================================================================
--- trunk/debian/scripts/vars.sh3	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.sh3	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,7 +0,0 @@
-# $Id: vars.sh3 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, "

Deleted: trunk/debian/scripts/vars.sh4
===================================================================
--- trunk/debian/scripts/vars.sh4	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.sh4	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,7 +0,0 @@
-# $Id: vars.sh4 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, "

Deleted: trunk/debian/scripts/vars.sparc
===================================================================
--- trunk/debian/scripts/vars.sparc	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/scripts/vars.sparc	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,9 +0,0 @@
-# $Id: vars.sparc 1348 2004-05-01 17:13:47Z branden $
-
-# This file is NOT a shell script.
-#
-# This file gets included by both debian/rules (make) AND the scripts in
-# debian/scripts (Bourne shell).
-XWSC_SPECIAL_DEPENDS="xserver-xorg, xlibmesa-dri, "
-XWSD_SPECIAL_DEPENDS="xlibosmesa4-dbg, xlibosmesa-dev, "
-XLIBMESA_GL_SPECIAL_DEPENDS="xlibmesa-dri, "

Deleted: trunk/debian/setperms
===================================================================
--- trunk/debian/setperms	2005-08-11 22:43:21 UTC (rev 523)
+++ trunk/debian/setperms	2005-08-11 23:23:08 UTC (rev 524)
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-# $Id$
-
-set -e
-
-for FILE in getglibcversion \
-            up-scripts \
-            vars*; do
-  chmod 755 debian/scripts/$FILE
-done
-
-# vim:set ai et sts=2 sw=2 tw=0:



Reply to: