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

xorg: Changes to 'debian-unstable'



 debian/changelog                         |   19 +++
 debian/control                           |   10 -
 debian/scripts/validate-posix-sh         |   63 ----------
 debian/scripts/vars.arm                  |   14 ++
 debian/xserver-xorg.postrm.in            |    2 
 xsf-docs/faq/general.txt                 |   10 +
 xsf-docs/howto/build-mesa.txt            |    3 
 xsf-docs/reference/experimental.txt      |   98 +++++++++++++++
 xsf-docs/reference/git-usage.txt         |  190 +++++++++++++++++++++++++++++++
 xsf-docs/reference/squeeze-backports.txt |    9 +
 10 files changed, 346 insertions(+), 72 deletions(-)

New commits:
commit 19f60cacb0faee0f4ed4770fbf8ae19fdf7a0f19
Author: Cyril Brulebois <kibi@debian.org>
Date:   Thu Jun 2 23:08:17 2011 +0200

    Document the merge.

diff --git a/debian/changelog b/debian/changelog
index 1670d93..30abb2d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,11 @@ xorg (1:7.6+7) UNRELEASED; urgency=low
   * Remove debian/scripts/validate-posix-sh, unused.
   * Address description-synopsis-starts-with-article lintian tag.
   * Bump Standards-Version (no changes needed).
+  * Merge xsf-docs up to the 15ac25a426 commit:
+    - Add: reference/experimental
+    - Add: reference/git-usage
+    - Update: faq/general (firmware for ATI)
+    - and other minor updates.
 
  -- Cyril Brulebois <kibi@debian.org>  Thu, 02 Jun 2011 19:00:42 +0200
 

commit 15ac25a426af414f2cc3fdec1da8aa49d23c06b7
Author: Cyril Brulebois <kibi@debian.org>
Date:   Thu Jun 2 21:16:05 2011 +0200

    reference/git-usage: New doc.

diff --git a/xsf-docs/reference/git-usage.txt b/xsf-docs/reference/git-usage.txt
new file mode 100644
index 0000000..cdf89dd
--- /dev/null
+++ b/xsf-docs/reference/git-usage.txt
@@ -0,0 +1,190 @@
+Git usage
+=========
+:toc:
+Cyril Brulebois <kibi@debian.org>
+
+
+[NOTE]
+The old documentation is still available on the wiki:
+http://wiki.debian.org/XStrikeForce/git-usage[wiki.debian.org/XSF/git-usage];
+this documentation is just a draft for now.
+
+
+Foreword
+--------
+
+Upstream repositories are hosted on
+http://cgit.freedesktop.org/[git.freedesktop.org]
+
+Debian repositories are hosted on
+http://git.debian.org/[git.debian.org] under the `pkg-xorg/*`
+namespace. Each repository is about a single Debian source package.
+
+We have two types of repositories:
+
+* *regular* packages: 1 upstream repository → 1 Debian repository → 1
+   Debian source package (non-native).
+* *bundle* packages: multiple upstream repositories → 1 Debian
+   repository → 1 Debian source package (native).
+
+A local git repository can have several remotes. In the context of
+Debian packaging, one usually starts by cloning the Debian repository,
+so `origin` will likely point to `git.debian.org`. One can use
+`upstream` to point to `anongit.freedesktop.org`. The following
+documentation assumes this convention.
+
+To get the repository from `git.debian.org` one can run `debcheckout
+$package` (or `debcheckout $package $package.git`), which will use the
+`Vcs-Git` fields in the APT cache to pick the appropriate git
+location. To add the `upstream` remote (using the info stored in
+`debian/watch`), one can use `xsf-remote-add-upstream` script from the
+http://git.debian.org/?p=pkg-xorg/debian/xsf-tools.git[pkg-xorg/debian/xsf-tools.git]
+repository.
+
+**TODO:** There will be more information about how to deal with the
+many repositories maintained by the X Strike Force in a later chapter.
+
+The usual workflow is to keep the target suite in `debian/changelog`
+to `UNRELEASED` until the upload happens, the last commit before a
+commit being only `dch -r`. To achieve that, and to avoid noise since
+those packages are comaintained, it’s advised to set the following
+variable in `~/.devscripts`:
+
+----
+DEBCHANGE_RELEASE_HEURISTIC=changelog
+----
+
+
+Regular packages
+----------------
+
+For most packages (exceptions include `xorg-server`), development is
+linear, and happens in a `master` branch. That `master` branch is
+pushed in the Debian repository as `upstream-$suite`
+(e.g. `upstream-unstable`), depending on the target suite. Usually,
+`upstream-unstable` tracks `upstream/master`.
+
+The packaging is kept in `debian-$suite` branches, branched from
+`upstream-$suite`. When cloning a Debian repository, the default
+branch is `debian-unstable`.
+
+To create the initial packaging from the `upstream-unstable` branch,
+just run `git checkout -b debian-unstable`, add packaging files
+(`changelog`, `control`, `copyright`, `rules` etc. under `debian/`),
+and that’s it.
+
+Here’s how to merge from upstream (`$foo` being a tag or
+`upstream/master`):
+
+----
+    git checkout upstream-unstable
+    git merge $foo
+    git log $foo > ChangeLog
+    dch -v $debianrevision
+    git commit -am 'Bump changelogs.'
+----
+
+`$debianrevision` is usually `$foo` with `-1` appended (first upload),
+and sometimes prepended with a epoch (for example `2:`). Passing
+`$foo-1` is usually a good rule of thumb, since `dch` will complain if
+the epoch is missing (given the specified version string wouldn’t be
+newer than the current one).
+
+When development isn’t linear
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For packages like `xorg-server` and `libx11`, there are stable
+branches which receive updates for a while. Trying to switch from
+`1.10.2` to `1.11.0` might trigger a lot of conflicts. But in the end
+what matters is the changes between `upstream-$suite` and
+`debian-$suite`. Here’s an example, supposing `upstream-unstable` and
+`debian-unstable` are pointing to the “old” branches, and supposing
+the new branch is `upstream/master`:
+
+----
+git checkout -b debian-unstable-new upstream/master
+git merge -s ours upstream-unstable
+git merge debian-unstable
+git branch -d debian-unstable
+git branch -m debian-unstable
+----
+
+Subtitles:
+
+* Create a `debian-unstable-new` branch starting with the upstream
+  `master` branch, and switch to it.
+* “Merge” the old `upstream-unstable` branch, actually keeping only
+  the new upstream branch.
+* Merge the old packaging on top of it.
+* Remove the old branch (so that the name can be reused).
+* Rename the current `debian-unstable-new` branch into
+  `debian-unstable`.
+
+Since the tip of the new `debian-unstable` branch is a descendant of
+the tip of the old `debian-unstable` one, it can be pushed normally.
+
+Since old `upstream-unstable` and new `upstream-unstable` diverged,
+this branch has to be pushed with a `-f` to force the update (it’s not
+a fast-forward).
+
+
+Bundle packages
+---------------
+
+One bundle package is a Debian native package, with just a (Debian)
+tarball, instead of an upstream tarball plus a Debian diff.
+
+There is no upstream branches here, only `debian-$suite`.
+
+The repository contains a `debian/` directory for the packaging, and
+one directory per upstream source. Merging a new upstream release
+means updating the contents of the relevant directory with the
+contents of the new upstream tarball. Fetching new tarballs is
+automated through a specific target: `make -f debian/rules
+get-tarballs`
+
+To perform an update, first run `dch -i` to create a new changelog
+entry if the previous commit was an upload (the new entry targets the
+`UNRELEASED` suite, see “Foreword”).
+
+Assuming `get-tarballs` made `foo-bar.tar.gz` appear in the top-level
+directory, here’s how to update (trailing slashes are not needed, just
+there to clarify we’re working on directories):
+
+----
+git rm -r foo/
+tar xf foo-bar.tar.gz
+mv foo-bar/ foo/
+git add foo/
+dch "foo bar"
+debcommit -a
+----
+
+Using the `xsf-remote-add-upstream` script will create several
+`upstream-$foo` remotes, using info stored in `debian/watch*`. This
+helps browsing the history of a given repository (rather than having
+to look at a big fat diff with autogenerated files in the middle).
+
+
+Upgrade checklist
+-----------------
+
+[NOTE]
+Since it’s likely for a reader of this page to be on her way to update
+a package, here’s a tiny upgrade checklist.
+
+Basic checks include looking into what happened to those files since
+the last packaging update:
+
+* `COPYING`: Update `debian/copyright` accordingly.
+* `configure.ac` (or `configure.in`): Update (build-)dependencies
+  accordingly.
+
+About xorg macros (they show up very often in the diff), they’re
+shipped in the `xutils-dev` package, which contains a file to help map
+macro versions and package versions:
+`/usr/share/doc/xutils-dev/versions`
+
+Some packages might have more specific instructions. That’s the case
+for at least `xorg-server`. See its `debian/README.source`, below the
+generic “how to use quilt” blurb.

commit 7cbdcdd618ab1462f19aad8c5ff50d1c9791ba4e
Author: Cyril Brulebois <kibi@debian.org>
Date:   Thu Jun 2 19:53:43 2011 +0200

    Bump Standards-Version (no changes needed).

diff --git a/debian/changelog b/debian/changelog
index d9a99c5..1670d93 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,7 @@ xorg (1:7.6+7) UNRELEASED; urgency=low
     to have them +x.
   * Remove debian/scripts/validate-posix-sh, unused.
   * Address description-synopsis-starts-with-article lintian tag.
+  * Bump Standards-Version (no changes needed).
 
  -- Cyril Brulebois <kibi@debian.org>  Thu, 02 Jun 2011 19:00:42 +0200
 
diff --git a/debian/control b/debian/control
index 74c9c29..ce58f68 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: x11
 Priority: optional
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: Drew Parsons <dparsons@debian.org>, Cyril Brulebois <kibi@debian.org>
-Standards-Version: 3.9.1
+Standards-Version: 3.9.2
 Build-Depends:
  debhelper (>= 7),
  po-debconf,

commit aba1a28f7b8abde0014d6e748fe88895ed6e2957
Author: Cyril Brulebois <kibi@debian.org>
Date:   Thu Jun 2 19:53:15 2011 +0200

    Address description-synopsis-starts-with-article lintian tag.

diff --git a/debian/changelog b/debian/changelog
index f41203d..d9a99c5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,7 @@ xorg (1:7.6+7) UNRELEASED; urgency=low
   * Set the same permissions on all debian/scripts/vars.* files: no need
     to have them +x.
   * Remove debian/scripts/validate-posix-sh, unused.
+  * Address description-synopsis-starts-with-article lintian tag.
 
  -- Cyril Brulebois <kibi@debian.org>  Thu, 02 Jun 2011 19:00:42 +0200
 
diff --git a/debian/control b/debian/control
index c3492ae..74c9c29 100644
--- a/debian/control
+++ b/debian/control
@@ -42,7 +42,7 @@ Depends:
  x11-xkb-utils
 Recommends:
  libgl1-mesa-dri,
-Description: the X.Org X server
+Description: X.Org X server
  This package depends on the full suite of the server and drivers for the
  X.Org X server.  It does not provide the actual server itself.
 
@@ -55,7 +55,7 @@ Recommends:
  ${F:XServer-Xorg-Video-Recommends},
 Replaces: xserver-xorg-driver-all
 Conflicts: xserver-xorg-driver-all
-Description: the X.Org X server -- output driver metapackage
+Description: X.Org X server -- output driver metapackage
  This package depends on the full suite of output drivers for the X.Org X server
  (Xorg).  It does not provide any drivers itself, and may be removed if you wish
  to only have certain drivers installed.
@@ -67,7 +67,7 @@ Depends:
  ${misc:Depends},
 Recommends:
  ${F:XServer-Xorg-Input-Recommends},
-Description: the X.Org X server -- input driver metapackage
+Description: X.Org X server -- input driver metapackage
  This package depends on the full suite of input drivers for the X.Org X server
  (Xorg).  It does not provide any drivers itself, and may be removed if you wish
  to only have certain drivers installed.
@@ -170,7 +170,7 @@ Depends:
  xserver-xorg-dev,
  xtrans-dev,
  ${misc:Depends},
-Description: the X.Org X Window System development libraries
+Description: X.Org X Window System development libraries
  This metapackage provides the development libraries for the X.Org X Window
  System.
  .

commit 46831401f5ff822fdc9b9e3f719900ba95dd1e0a
Author: Cyril Brulebois <kibi@debian.org>
Date:   Thu Jun 2 19:24:43 2011 +0200

    Remove debian/scripts/validate-posix-sh, unused.

diff --git a/debian/changelog b/debian/changelog
index 07d5df8..f41203d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,7 @@ xorg (1:7.6+7) UNRELEASED; urgency=low
     Margaritis!
   * Set the same permissions on all debian/scripts/vars.* files: no need
     to have them +x.
+  * Remove debian/scripts/validate-posix-sh, unused.
 
  -- Cyril Brulebois <kibi@debian.org>  Thu, 02 Jun 2011 19:00:42 +0200
 
diff --git a/debian/scripts/validate-posix-sh b/debian/scripts/validate-posix-sh
deleted file mode 100644
index d799369..0000000
--- a/debian/scripts/validate-posix-sh
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/sh
-
-
-# Run this before committing changes to shell scripts.
-
-PROGNAME=${0##*/}
-
-ASH="ash -n"
-BASH="bash --posix -n"
-DASH="dash -n"
-KSH="ksh -n"
-POSH="posh -n"
-ERROR=""
-
-usage () {
-    cat <<EOF
-Usage: $PROGNAME SCRIPT ...
-Perform syntax checks on each SCRIPT with POSIX-compatible shells available on
-the system.
-EOF
-}
-
-howl () {
-    echo "$PROGNAME: error; $*" >&2
-}
-
-warn () {
-    echo "$PROGNAME: warning; $*" >&2
-}
-
-if [ -z "$1" ]; then
-    usage >&2
-    exit 2
-fi
-
-while [ -n "$1" ]; do
-    if ! [ -r "$1" ]; then
-        howl "\"$1\" does not exist or is not readable"
-        usage >&2
-        exit 2
-    fi
-    for SH in "$BASH" "$DASH" "$KSH" "$POSH"; do
-        CMD=${SH%% *}
-        if which "$CMD" >/dev/null 2>&1; then
-            if ! $SH "$1"; then
-                echo "$PROGNAME: \"$1\" failed syntax check with $CMD"
-                error="yes"
-            fi
-        else
-            warn "cannot verify correctness of \"$1\" with $CMD; shell not" \
-                 "available"
-        fi
-    done
-    shift
-done
-
-if [ -n "$ERROR" ]; then
-  exit 1
-fi
-
-exit 0
-
-# vim:set ai et sts=4 sw=4 tw=80:

commit d25035b59bd5e02c06757c2f1b7064692e263e5a
Author: Cyril Brulebois <kibi@debian.org>
Date:   Thu Jun 2 19:23:56 2011 +0200

    Set the same permissions on all debian/scripts/vars.* files: no need to have them +x.

diff --git a/debian/changelog b/debian/changelog
index afefbd3..07d5df8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,8 @@ xorg (1:7.6+7) UNRELEASED; urgency=low
     Bernhard R. Link!
   * Add support for armhf (Closes: #605841), Thanks, Konstantinos
     Margaritis!
+  * Set the same permissions on all debian/scripts/vars.* files: no need
+    to have them +x.
 
  -- Cyril Brulebois <kibi@debian.org>  Thu, 02 Jun 2011 19:00:42 +0200
 
diff --git a/debian/scripts/vars.alpha b/debian/scripts/vars.alpha
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.amd64 b/debian/scripts/vars.amd64
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.arm b/debian/scripts/vars.arm
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.hppa b/debian/scripts/vars.hppa
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.i386 b/debian/scripts/vars.i386
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.ia64 b/debian/scripts/vars.ia64
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.kfreebsd-amd64 b/debian/scripts/vars.kfreebsd-amd64
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.kfreebsd-i386 b/debian/scripts/vars.kfreebsd-i386
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.m32r b/debian/scripts/vars.m32r
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.m68k b/debian/scripts/vars.m68k
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.mips b/debian/scripts/vars.mips
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.mipsel b/debian/scripts/vars.mipsel
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.powerpc b/debian/scripts/vars.powerpc
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.ppc64 b/debian/scripts/vars.ppc64
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.s390 b/debian/scripts/vars.s390
old mode 100755
new mode 100644
diff --git a/debian/scripts/vars.sparc b/debian/scripts/vars.sparc
old mode 100755
new mode 100644

commit 65aa191aaee83413b22c00aa7057bf9aa6ab8604
Author: Cyril Brulebois <kibi@debian.org>
Date:   Thu Jun 2 19:16:07 2011 +0200

    Add support for armhf (Closes: #605841), Thanks, Konstantinos Margaritis!

diff --git a/debian/changelog b/debian/changelog
index f7c0eba..afefbd3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ xorg (1:7.6+7) UNRELEASED; urgency=low
 
   * Remove long obsolete XF86Config-4 on purge (Closes: #610450). Thanks,
     Bernhard R. Link!
+  * Add support for armhf (Closes: #605841), Thanks, Konstantinos
+    Margaritis!
 
  -- Cyril Brulebois <kibi@debian.org>  Thu, 02 Jun 2011 19:00:42 +0200
 
diff --git a/debian/scripts/vars.armhf b/debian/scripts/vars.armhf
new file mode 100644
index 0000000..db0ec34
--- /dev/null
+++ b/debian/scripts/vars.armhf
@@ -0,0 +1,14 @@
+
+# This file is NOT a shell script.
+#
+# This file gets included by both debian/rules (make) AND the scripts in
+# debian/scripts (Bourne shell).
+XSERVER_XORG_VIDEO_DEPENDS="xserver-xorg-video-ati, \
+	xserver-xorg-video-fbdev, \
+	xserver-xorg-video-nouveau, \
+	xserver-xorg-video-vesa, \
+"
+
+XSERVER_XORG_INPUT_DEPENDS="xserver-xorg-input-evdev, \
+	xserver-xorg-input-synaptics, \
+	xserver-xorg-input-wacom"

commit 1087fbc35e001a3bf5b2524a6d4cb7e386a34c57
Author: Cyril Brulebois <kibi@debian.org>
Date:   Tue Jan 18 21:03:23 2011 +0100

    Remove long obsolete XF86Config-4 on purge (Closes: #610450).
    
    Thanks, Bernhard R. Link!

diff --git a/debian/changelog b/debian/changelog
index 3aa6a35..f7c0eba 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg (1:7.6+7) UNRELEASED; urgency=low
+
+  * Remove long obsolete XF86Config-4 on purge (Closes: #610450). Thanks,
+    Bernhard R. Link!
+
+ -- Cyril Brulebois <kibi@debian.org>  Thu, 02 Jun 2011 19:00:42 +0200
+
 xorg (1:7.6+6) unstable; urgency=low
 
   * Merge xsf-docs up to the bd39472b0c commit:
diff --git a/debian/xserver-xorg.postrm.in b/debian/xserver-xorg.postrm.in
index 4fd7aca..652629b 100644
--- a/debian/xserver-xorg.postrm.in
+++ b/debian/xserver-xorg.postrm.in
@@ -31,7 +31,7 @@ if [ "$1" = "purge" ]; then
   rm -f "$SERVER_SYMLINK"
   rm -f "$XORGCONFIG_CHECKSUM" "$XORGCONFIG_ROSTER"
   rm -f "$SERVER_SYMLINK_CHECKSUM" "$SERVER_SYMLINK_ROSTER"
-  rm -f "$XORGCONFIG"
+  rm -f "$XORGCONFIG" "$XF86CONFIG"
 
   for DIR in "$CONFIG_DIR" "$CONFIG_AUX_DIR"; do
       rmdir "$DIR" 2> /dev/null || true

commit 43b3e3dea1765812360d3750120710f47f9d4450
Author: Cyril Brulebois <kibi@debian.org>
Date:   Fri May 27 12:41:44 2011 +0200

    faq/general: Mention ati+firmware.

diff --git a/xsf-docs/faq/general.txt b/xsf-docs/faq/general.txt
index f2ea07a..015c6af 100644
--- a/xsf-docs/faq/general.txt
+++ b/xsf-docs/faq/general.txt
@@ -30,6 +30,16 @@ All drivers
    preferences, through the `-dpi` X server command line option (see
    ++Xserver++’s manual page), or through ++xrandr++’s `--dpi` option.
 
+Ati driver
+~~~~~~~~~~
+
+ * _Why is it I’m getting low performances, or even crashes?_ +
+   Make sure you have installed the
+   link:http://packages.debian.org/firmware-linux&exact=1[`firmware-linux`
+   package].  The driver might still be working without the firmware,
+   but using code paths which aren’t supported as well as the “normal”
+   ones.
+
 Intel driver
 ~~~~~~~~~~~~
 

commit fb2ff93ba6fb6e405626b6c7ae23c2680f5d76d3
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sun May 1 22:28:08 2011 +0200

    reference/squeeze-backports: nouveau can't be backported.

diff --git a/xsf-docs/reference/squeeze-backports.txt b/xsf-docs/reference/squeeze-backports.txt
index 2104097..11c2e30 100644
--- a/xsf-docs/reference/squeeze-backports.txt
+++ b/xsf-docs/reference/squeeze-backports.txt
@@ -45,7 +45,7 @@ Video drivers
 
  * `ati`: Drivers for ATI cards.
  * `intel`: Driver for Intel cards.
- * `nouveau`: Driver for NVidia cards.
+ * `nouveau`: Driver for NVidia cards. Not possible since upstream’s http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-nouveau.git;a=commit;h=a4d580bf05d7aac1d486e5d1ba9a2201c026e5f5[a4d580bf05].
  * `fbdev` and `vesa`: Generic drivers.
  * `dummy`: Dummy driver, suitable when there’s no monitor connected.
 

commit fddb111136c1d124e53265d1ee1832e9922ebb57
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sun May 1 22:08:15 2011 +0200

    reference/squeeze-backports: No need for mach64 and r128.

diff --git a/xsf-docs/reference/squeeze-backports.txt b/xsf-docs/reference/squeeze-backports.txt
index 83982be..2104097 100644
--- a/xsf-docs/reference/squeeze-backports.txt
+++ b/xsf-docs/reference/squeeze-backports.txt
@@ -43,12 +43,17 @@ Input drivers
 Video drivers
 ~~~~~~~~~~~~~
 
- * `ati`, `mach64`, `r128`: Drivers for ATI cards.
+ * `ati`: Drivers for ATI cards.
  * `intel`: Driver for Intel cards.
  * `nouveau`: Driver for NVidia cards.
  * `fbdev` and `vesa`: Generic drivers.
  * `dummy`: Dummy driver, suitable when there’s no monitor connected.
 
+.Note
+There are a few other drivers for ATI cards (`mach64`, `r128`), which
+are pulled by `ati`, but there are versions available in `squeeze`
+already, so backporting them isn’t required.
+
 
 Libraries
 ~~~~~~~~~

commit 16428f3bc83f4e1614449d0580de7847584ae62c
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Apr 6 06:38:31 2011 +0200

    build-mesa: Add --prefix=/usr.
    
    In case somebody's interested in e.g. the headers, ship everything
    under /usr (since we already have /usr/lib/… for the shared objects).

diff --git a/xsf-docs/howto/build-mesa.txt b/xsf-docs/howto/build-mesa.txt
index 78fb5b2..c6e1b90 100644
--- a/xsf-docs/howto/build-mesa.txt
+++ b/xsf-docs/howto/build-mesa.txt
@@ -107,7 +107,8 @@ $ autoreconf -vfi
 Here’s what the `./configure` call will look like:
 
 ----
-$ ./configure --enable-driglx-direct \
+$ ./configure --prefix=/usr \
+              --enable-driglx-direct \
               --enable-gallium \
               --enable-gles-overlay \
               --enable-gles1 \

commit a214fc59e4942e5dd69dead256dbb64217eaad28
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sun Apr 3 19:24:17 2011 +0200

    experimental: More or less final tweaks.

diff --git a/xsf-docs/reference/experimental.txt b/xsf-docs/reference/experimental.txt
index 506e2ea..522ef3f 100644
--- a/xsf-docs/reference/experimental.txt
+++ b/xsf-docs/reference/experimental.txt
@@ -20,7 +20,7 @@ A quick overview of how things work upstream for the server:
 It doesn’t make much sense to try and package `master` on a continuous
 fashion, since the ABI can be broken multiple times, without a bump
 for the ABI version numbers every time. It’s usually done once a bunch
-of majors changes landed, and when things are supposed to be stable
+of major changes landed, and when things are supposed to be stable
 for a while. On the packaging side, as explained on the
 link:dependencies.html[dependencies between server and drivers] page,
 a bump means the need for a rebuild of the relevant drivers (input
@@ -29,8 +29,8 @@ and/or video).
 That’s why the idea is to concentrate on upstream release candidates
 and official releases. Depending on available developer time (both
 upstream and in Debian), several branches can be developed/maintained
-in parallel, so both `1.9` and `1.10` can be worth having at the same
-time.
+in parallel, so it can be worth having several versions available in
+parallel, which is where `experimental` is handy.
 
 Keeping on with this example, with `1.9` in `unstable`, release
 candidates for `1.10` can be uploaded to `experimental`, along with a
@@ -44,7 +44,8 @@ To avoid repetitive and sometimes pointless work, it’s probably a good
 idea to upload (to `experimental` as well) only a few drivers built
 against the server in `experimental`. ABI might be bumped between
 release candidates (that happened between `1.10rc3` and `1.10` for
-example), so drivers would need to be rebuilt.
+example), so drivers would need to be rebuilt (even though binNMUs
+might help).
 
 The proposed drivers can be seen on the
 link:squeeze-backports.html[backports policy for squeeze] page, along
@@ -54,7 +55,7 @@ with a tiny description for each.
 Building drivers in experimental
 --------------------------------
 
-Having a driver in experimental doesn’t change much: It is sufficient
+Having a driver in `experimental` doesn’t change much: It is sufficient
 to declare a build-dependency against `xserver-xorg-dev (>=
 $serverminver)`, where `$serverminver` can be seen in:
 
@@ -81,7 +82,7 @@ Instead, that seems more natural:
 
  * `1.42-1` to `unstable`.
  * `1.42-1+exp1` to `experimental`: bump the build-dep.
- * `1.42-2` to `unstable`: add a bugfix to `unstable`’s version.
+ * `1.42-2` to `unstable`: add a bugfix to ++unstable++’s version.
  * `1.42-2+exp1` to `experimental`: rebuild against experimental
    (merging or rebasing the build-dep bump).
 

commit 553f78a335650aadb9b79734ef85fb9e464a7574
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sun Apr 3 19:05:21 2011 +0200

    experimental: Add a note about “double uploads”.

diff --git a/xsf-docs/reference/experimental.txt b/xsf-docs/reference/experimental.txt
index 99f513f..506e2ea 100644
--- a/xsf-docs/reference/experimental.txt
+++ b/xsf-docs/reference/experimental.txt
@@ -81,6 +81,17 @@ Instead, that seems more natural:
 
  * `1.42-1` to `unstable`.
  * `1.42-1+exp1` to `experimental`: bump the build-dep.
- * `1.42-2` to `unstable`: add a bugfix.
+ * `1.42-2` to `unstable`: add a bugfix to `unstable`’s version.
  * `1.42-2+exp1` to `experimental`: rebuild against experimental
    (merging or rebasing the build-dep bump).
+
+****
+.Note
+
+Remember `experimental` is special. With the above sequence of
+uploads, if the `1.42-2+exp1` version isn’t uploaded, the
+`1.42-1+exp1` upload might disappear from `experimental` after some
+time, since the version in `unstable` is more recent: the “obsolete”
+package goes away. That’s why it’s important to remember uploading to
+`experimental` as well when uploading a new driver to `unstable`.
+****

commit be963b3947257dd9a7782c0eb204dd64901514d4
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sun Apr 3 18:55:49 2011 +0200

    experimental: Mention selected drivers, and how to build.

diff --git a/xsf-docs/reference/experimental.txt b/xsf-docs/reference/experimental.txt
index 512bc38..99f513f 100644
--- a/xsf-docs/reference/experimental.txt
+++ b/xsf-docs/reference/experimental.txt
@@ -36,3 +36,51 @@ Keeping on with this example, with `1.9` in `unstable`, release
 candidates for `1.10` can be uploaded to `experimental`, along with a
 few drivers so that it’s actually useful.
 
+
+Selecting drivers
+-----------------
+
+To avoid repetitive and sometimes pointless work, it’s probably a good
+idea to upload (to `experimental` as well) only a few drivers built
+against the server in `experimental`. ABI might be bumped between
+release candidates (that happened between `1.10rc3` and `1.10` for
+example), so drivers would need to be rebuilt.
+
+The proposed drivers can be seen on the
+link:squeeze-backports.html[backports policy for squeeze] page, along
+with a tiny description for each.
+
+
+Building drivers in experimental
+--------------------------------
+
+Having a driver in experimental doesn’t change much: It is sufficient
+to declare a build-dependency against `xserver-xorg-dev (>=
+$serverminver)`, where `$serverminver` can be seen in:
+
+ * `debian/serverminver` in the `xorg-server` source package: see its
+   first line.
+ * `/usr/share/xserver-xorg/inputdrvdep`: see the needed version of
+   `xserver-xorg-core`.
+ * `/usr/share/xserver-xorg/videodrvdep`: ditto.
+
+So, for a given version of a driver in `unstable`, bumping the
+build-dep version and uploading to `experimental` should be enough,
+providing it doesn’t require further changes (source code changes are
+sometimes needed to support building against a newer server). When
+that happens, the revision number can be constructed by appending
+`+exp1`. The idea here is to avoid things like:
+
+ * `1.42-1` to `unstable`.
+ * `1.42-2` to `experimental`: bump the build-dep.
+ * `1.42-3` to `unstable`: revert the build-dep bump, add a bugfix.
+ * `1.42-4` to `experimental`: build the build-dep again, keep the bugfix.
+ * etc.
+
+Instead, that seems more natural:
+
+ * `1.42-1` to `unstable`.
+ * `1.42-1+exp1` to `experimental`: bump the build-dep.
+ * `1.42-2` to `unstable`: add a bugfix.
+ * `1.42-2+exp1` to `experimental`: rebuild against experimental
+   (merging or rebasing the build-dep bump).

commit adbac8e5711754ab9de0270db89de9c6285b7e45
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sun Apr 3 05:20:35 2011 +0200

    experimental: New documentation.
    
    Let's try and document the specific handling of sid+experimental
    packages for server+drivers.

diff --git a/xsf-docs/reference/experimental.txt b/xsf-docs/reference/experimental.txt
new file mode 100644
index 0000000..512bc38
--- /dev/null
+++ b/xsf-docs/reference/experimental.txt
@@ -0,0 +1,38 @@
+Handling multiple server versions thanks to experimental
+========================================================
+Cyril Brulebois <kibi@debian.org>
+
+
+Context
+-------
+
+A quick overview of how things work upstream for the server:
+
+ * Patches get reviewed and merged into the `master` branch.
+ * After a few release candidates, `master` gets tagged (say: `1.10`
+   or `1.10.0`), and a stable branch (`server-1.10-branch` in this
+   case) is created to receive bug fixes.
+ * Those bug fixes usually are cherry-picks from commits in the
+   `master` branch.
+ * This leads to stable bugfix releases: `1.10.1`, `1.10.2`, and
+   so on.
+
+It doesn’t make much sense to try and package `master` on a continuous
+fashion, since the ABI can be broken multiple times, without a bump
+for the ABI version numbers every time. It’s usually done once a bunch
+of majors changes landed, and when things are supposed to be stable
+for a while. On the packaging side, as explained on the
+link:dependencies.html[dependencies between server and drivers] page,
+a bump means the need for a rebuild of the relevant drivers (input
+and/or video).
+
+That’s why the idea is to concentrate on upstream release candidates
+and official releases. Depending on available developer time (both
+upstream and in Debian), several branches can be developed/maintained
+in parallel, so both `1.9` and `1.10` can be worth having at the same
+time.
+
+Keeping on with this example, with `1.9` in `unstable`, release
+candidates for `1.10` can be uploaded to `experimental`, along with a
+few drivers so that it’s actually useful.
+


Reply to: