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

xorg-server: Changes to 'debian-unstable'



 ChangeLog                                                              |   90 +++++
 Xext/Makefile.am                                                       |    4 
 Xi/exevents.c                                                          |    2 
 configure.ac                                                           |    6 
 debian/changelog                                                       |   22 +
 debian/control                                                         |   28 +
 debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff |  180 ++++++++++
 debian/patches/02_Add-libgcrypt-as-an-option-for-sha1.diff             |   84 ----
 debian/patches/16-xfree86-fix-build-with-xv-disabled.diff              |   53 ++
 debian/patches/series                                                  |    3 
 debian/rules                                                           |  128 ++++---
 debian/xdmx-tools.install                                              |   14 
 debian/xdmx.install                                                    |    4 
 debian/xnest.install                                                   |    4 
 debian/xserver-common.install                                          |    4 
 debian/xserver-xephyr.install                                          |    4 
 debian/xserver-xfbdev.install                                          |    2 
 debian/xserver-xorg-core-udeb.install                                  |    6 
 debian/xserver-xorg-core.install                                       |   20 -
 debian/xserver-xorg-dev.install                                        |    6 
 debian/xvfb.install                                                    |    8 
 dix/events.c                                                           |   91 +++--
 hw/xfree86/dri2/dri2.c                                                 |    2 
 include/inputstr.h                                                     |   30 +
 24 files changed, 597 insertions(+), 198 deletions(-)

New commits:
commit f3790c2e1fe06b15d9993483f8bd90f90f005ba3
Author: Cyril Brulebois <kibi@debian.org>
Date:   Mon Mar 15 01:49:57 2010 +0100

    Link statically against libnettle.a
    
    Static vs. dynamic could be controlled by an option for extra
    flexibility, but the current patch should do the job for now.

diff --git a/debian/changelog b/debian/changelog
index 17abbf2..8d12681 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -30,7 +30,8 @@ xorg-server (2:1.7.5.902-1) UNRELEASED; urgency=low
      - libxfont-dev
   * Replace 02_Add-libgcrypt-as-an-option-for-sha1.diff with
     02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff so that it's
-    also possible to link against libnettle.
+    also possible to link against libnettle. Link (unconditionally)
+    statically against libnettle.a to avoid an extra udeb for a few bytes.
   * Add nettle-dev to Build-Depends; and pass --with-sha1=libnettle for
     the udeb build (and --with-sha1=libgcrypt for the main build).
 
diff --git a/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff b/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff
index 8603a1a..77f548e 100644
--- a/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff
+++ b/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff
@@ -69,7 +69,7 @@ index c215b5c..e688f94 100644
 +if test "x$with_sha1" = xlibnettle; then
 +        AC_DEFINE([HAVE_SHA1_IN_LIBNETTLE], [1],
 +                  [Use libnettle SHA1 functions])
-+        SHA1_LIBS=-lnettle
++        SHA1_LIBS=/usr/lib/libnettle.a
 +fi
 +# We don't need all of the OpenSSL libraries, just libcrypto
 +AC_CHECK_LIB([crypto], [SHA1_Init], [HAVE_LIBCRYPTO=yes])

commit b2833df454c93a0b7bd8b336c4aa1bdcc8b493a1
Author: Cyril Brulebois <kibi@debian.org>
Date:   Mon Mar 15 00:51:55 2010 +0100

    Add nettle-dev to Build-Depends, pass --with-sha1=lib{gcrypt,nettle} for {main,udeb} builds.

diff --git a/debian/changelog b/debian/changelog
index 293ec98..17abbf2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -31,6 +31,8 @@ xorg-server (2:1.7.5.902-1) UNRELEASED; urgency=low
   * Replace 02_Add-libgcrypt-as-an-option-for-sha1.diff with
     02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff so that it's
     also possible to link against libnettle.
+  * Add nettle-dev to Build-Depends; and pass --with-sha1=libnettle for
+    the udeb build (and --with-sha1=libgcrypt for the main build).
 
  -- Drew Parsons <dparsons@debian.org>  Wed, 03 Mar 2010 23:33:54 +1100
 
diff --git a/debian/control b/debian/control
index df2f6ad..eedfe5c 100644
--- a/debian/control
+++ b/debian/control
@@ -46,6 +46,7 @@ Build-Depends:
  libpixman-1-dev (>= 0.15.20),
  libpciaccess-dev (>= 0.11.0-2),
  libgcrypt-dev,
+ nettle-dev,
  libdbus-1-dev [kfreebsd-amd64 kfreebsd-i386],
  libhal-dev [kfreebsd-amd64 kfreebsd-i386],
  libudev-dev (>= 150-3) [alpha amd64 arm armeb armel avr32 hppa i386 ia64 lpia m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc],
diff --git a/debian/rules b/debian/rules
index 4ea090b..e767aff 100755
--- a/debian/rules
+++ b/debian/rules
@@ -124,6 +124,7 @@ confflags_main = \
 	--enable-kdrive \
 	--enable-xephyr \
 	$(build_xfbdev) \
+	--with-sha1=libgcrypt \
 	$(void)
 
 confflags_udeb = \
@@ -153,6 +154,7 @@ confflags_udeb = \
 	--disable-kdrive \
 	--disable-xephyr \
 	--disable-xfbdev \
+	--with-sha1=libnettle \
 	$(void)
 
 $(STAMP_DIR)/autoreconf: $(STAMP_DIR)/patch

commit c4facd885eae9d0a81132c005db41265dbd9bfca
Author: Cyril Brulebois <kibi@debian.org>
Date:   Mon Mar 15 00:41:23 2010 +0100

    Add libnettle as an extra option for sha1.

diff --git a/debian/changelog b/debian/changelog
index f813c99..293ec98 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -28,6 +28,9 @@ xorg-server (2:1.7.5.902-1) UNRELEASED; urgency=low
      - libudev-dev
      - libxau-dev
      - libxfont-dev
+  * Replace 02_Add-libgcrypt-as-an-option-for-sha1.diff with
+    02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff so that it's
+    also possible to link against libnettle.
 
  -- Drew Parsons <dparsons@debian.org>  Wed, 03 Mar 2010 23:33:54 +1100
 
diff --git a/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff b/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff
new file mode 100644
index 0000000..8603a1a
--- /dev/null
+++ b/debian/patches/02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff
@@ -0,0 +1,180 @@
+From a6119f6cd7e47041044fcc9c15a6e3f9f189b3ed Mon Sep 17 00:00:00 2001
+From: Cyril Brulebois <kibi@debian.org>
+Date: Sun, 14 Mar 2010 22:01:47 +0100
+Subject: [PATCH] Add libgcrypt and libnettle as options for sha1.
+
+This is an adaptation of the following upstream commit:
+  d2a6a395435919aff8943285f9cbfe6569a9728f
+
+Support is also added for libnettle.
+
+Signed-off-by: Cyril Brulebois <kibi@debian.org>
+---
+diff --git a/configure.ac b/configure.ac
+index c215b5c..e688f94 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1285,26 +1285,66 @@ MIEXT_SHADOW_INC='-I$(top_srcdir)/miext/shadow'
+ MIEXT_SHADOW_LIB='$(top_builddir)/miext/shadow/libshadow.la'
+ CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include'
+ 
+-# OpenSSL used for SHA1 hashing in render/glyph.c, but we don't need all of
+-# the OpenSSL libraries, just libcrypto
+-# Some systems have matching functionality in the smaller/simpler libmd
+-# Builders who want to force a choice can set SHA1_LIB and SHA1_CFLAGS
+-if test "x$SHA1_LIB" = "x" ; then
+-  AC_CHECK_LIB([md], [SHA1Init], [SHA1_LIB="-lmd"
+-            AC_DEFINE([HAVE_SHA1_IN_LIBMD], [1],
+-            [Use libmd SHA1 functions instead of OpenSSL libcrypto])])
+-fi
+-
+-if test "x$SHA1_LIB" = "x" ; then
+-  PKG_CHECK_EXISTS([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
+-                    [HAVE_OPENSSL_PKC=no])
+-  if test "x$HAVE_OPENSSL_PKC" = xyes; then
+-    REQUIRED_LIBS="$REQUIRED_LIBS openssl"
+-  else
+-    AC_CHECK_LIB([crypto], [SHA1_Init], [SHA1_LIB="-lcrypto"],
+-                 [AC_MSG_ERROR([OpenSSL must be installed in order to build the X server.])])
+-  fi
++# SHA1 hashing
++AC_ARG_WITH([sha1],
++            [AS_HELP_STRING([--with-sha1=libmd|libgcrypt|libcrypto|libnettle],
++                            [choose SHA1 implementation])])
++AC_CHECK_LIB([md], [SHA1Init], [HAVE_LIBMD=yes])
++if test "x$with_sha1" = x && test "x$HAVE_LIBMD" = xyes; then
++        with_sha1=libmd
++fi
++if test "x$with_sha1" = xlibmd && test "x$HAVE_LIBMD" != xyes; then
++        AC_MSG_ERROR([libmd requested but not found])
++fi
++if test "x$with_sha1" = xlibmd; then
++        AC_DEFINE([HAVE_SHA1_IN_LIBMD], [1],
++                  [Use libmd SHA1 functions])
++        SHA1_LIBS=-lmd
++fi
++AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes])
++if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then
++        with_sha1=libgcrypt
++fi
++if test "x$with_sha1" = xlibgcrypt; then
++        AC_DEFINE([HAVE_SHA1_IN_LIBGCRYPT], [1],
++                  [Use libgcrypt SHA1 functions])
++        SHA1_LIBS=-lgcrypt
++fi
++AC_CHECK_LIB([nettle], [nettle_sha1_init], [HAVE_LIBNETTLE=yes])
++if test "x$with_sha1" = x && test "x$HAVE_LIBNETTLE" = xyes; then
++        with_sha1=libnettle
++fi
++if test "x$with_sha1" = xlibnettle; then
++        AC_DEFINE([HAVE_SHA1_IN_LIBNETTLE], [1],
++                  [Use libnettle SHA1 functions])
++        SHA1_LIBS=-lnettle
++fi
++# We don't need all of the OpenSSL libraries, just libcrypto
++AC_CHECK_LIB([crypto], [SHA1_Init], [HAVE_LIBCRYPTO=yes])
++PKG_CHECK_MODULES([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
++                  [HAVE_OPENSSL_PKC=no])
++if test "x$HAVE_LIBCRYPTO" = xyes || test "x$HAVE_OPENSSL_PKC" = xyes; then
++        if test "x$with_sha1" = x; then
++                with_sha1=libcrypto
++        fi
++else
++        if test "x$with_sha1" = xlibcrypto; then
++                AC_MSG_ERROR([OpenSSL libcrypto requested but not found])
++        fi
++fi
++if test "x$with_sha1" = xlibcrypto; then
++        if test "x$HAVE_LIBCRYPTO" = xyes; then
++                SHA1_LIBS=-lcrypto
++        else
++                SHA1_LIBS="$OPENSSL_LIBS"
++                SHA1_CFLAGS="$OPENSSL_CFLAGS"
++        fi
++fi
++if test "x$with_sha1" = x; then
++        AC_MSG_ERROR([No suitable SHA1 implementation found])
+ fi
++AC_SUBST(SHA1_LIBS)
++AC_SUBST(SHA1_CFLAGS)
+ 
+ PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
+ PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
+@@ -1326,7 +1366,7 @@ PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
+ #
+ XSERVER_CFLAGS="${XSERVERCFLAGS_CFLAGS} ${SHA1_CFLAGS}"
+ XSERVER_LIBS="$DIX_LIB $CONFIG_LIB $MI_LIB $OS_LIB"
+-XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS} ${SHA1_LIB}"
++XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS} ${SHA1_LIBS}"
+ AC_SUBST([XSERVER_LIBS])
+ AC_SUBST([XSERVER_SYS_LIBS])
+ 
+diff --git a/include/dix-config.h.in b/include/dix-config.h.in
+index 6e450b6..782da4f 100644
+--- a/include/dix-config.h.in
++++ b/include/dix-config.h.in
+@@ -163,6 +163,12 @@
+ /* Define to use libmd SHA1 functions instead of OpenSSL libcrypto */
+ #undef HAVE_SHA1_IN_LIBMD
+ 
++/* Define to use libgcrypt SHA1 functions instead of OpenSSL libcrypto */
++#undef HAVE_SHA1_IN_LIBGCRYPT
++
++/* Define to use libnettle SHA1 functions instead of OpenSSL libcrypto */
++#undef HAVE_SHA1_IN_LIBNETTLE
++
+ /* Define to 1 if you have the `shmctl64' function. */
+ #undef HAVE_SHMCTL64
+ 
+diff --git a/render/glyph.c b/render/glyph.c
+index 7fcdfd9..37e80ec 100644
+--- a/render/glyph.c
++++ b/render/glyph.c
+@@ -28,6 +28,10 @@
+ 
+ #ifdef HAVE_SHA1_IN_LIBMD /* Use libmd for SHA1 */
+ # include <sha1.h>
++#elif defined(HAVE_SHA1_IN_LIBGCRYPT)
++# include <gcrypt.h>
++#elif defined(HAVE_SHA1_IN_LIBNETTLE)
++# include <nettle/sha.h>
+ #else /* Use OpenSSL's libcrypto */
+ # include <stddef.h>  /* buggy openssl/sha.h wants size_t */
+ # include <openssl/sha.h>
+@@ -205,6 +209,33 @@ HashGlyph (xGlyphInfo    *gi,
+     SHA1Update (&ctx, gi, sizeof (xGlyphInfo));
+     SHA1Update (&ctx, bits, size);
+     SHA1Final (sha1, &ctx);
++#elif defined(HAVE_SHA1_IN_LIBGCRYPT) /* Use libgcrypt for SHA1 */
++    static int init;
++    gcry_md_hd_t h;
++    gcry_error_t err;
++
++    if (!init) {
++	if (!gcry_check_version(NULL))
++	    return BadAlloc;
++	gcry_control(GCRYCTL_DISABLE_SECMEM, 0);
++	gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);
++	init = 1;
++    }
++
++    err = gcry_md_open(&h, GCRY_MD_SHA1, 0);
++    if (err)
++	return BadAlloc;
++    gcry_md_write(h, gi, sizeof (xGlyphInfo));
++    gcry_md_write(h, bits, size);
++    memcpy(sha1, gcry_md_read(h, GCRY_MD_SHA1), 20);
++    gcry_md_close(h);
++#elif HAVE_SHA1_IN_LIBNETTLE
++    struct sha1_ctx ctx;
++
++    sha1_init(&ctx);
++    sha1_update(&ctx, sizeof (xGlyphInfo), gi);
++    sha1_update(&ctx, size, bits);
++    sha1_digest(&ctx, 20, sha1);
+ #else /* Use OpenSSL's libcrypto */
+     SHA_CTX ctx;
+     int success;
+-- 
+1.7.0
+
diff --git a/debian/patches/02_Add-libgcrypt-as-an-option-for-sha1.diff b/debian/patches/02_Add-libgcrypt-as-an-option-for-sha1.diff
deleted file mode 100644
index f975aef..0000000
--- a/debian/patches/02_Add-libgcrypt-as-an-option-for-sha1.diff
+++ /dev/null
@@ -1,84 +0,0 @@
-From 6c6bbefdcf8a41dc71f9cbeca7ce972e2661fade Mon Sep 17 00:00:00 2001
-From: Julien Cristau <jcristau@debian.org>
-Date: Thu, 2 Apr 2009 02:34:49 +0200
-Subject: [PATCH] Add libgcrypt as an option for sha1
-
-Included upstream in 1.7.99.x in a different way:
-commit a60e676f1fd243c78859440b87652f523d3f2ec1
----
- configure.ac            |    6 ++++++
- include/dix-config.h.in |    3 +++
- render/glyph.c          |   12 ++++++++++++
- 3 files changed, 21 insertions(+), 0 deletions(-)
-
-Index: xorg-server/configure.ac
-===================================================================
---- xorg-server.orig/configure.ac
-+++ xorg-server/configure.ac
-@@ -1299,6 +1299,12 @@
-             [Use libmd SHA1 functions instead of OpenSSL libcrypto])])
- fi
- 
-+if test "x$SHA1_LIB" = "x"; then
-+  AC_CHECK_LIB([gcrypt], [gcry_md_open], [SHA1_LIB="-lgcrypt"
-+            AC_DEFINE([HAVE_SHA1_IN_LIBGCRYPT], [1],
-+            [Use libgcrypt SHA1 functions instead of OpenSSL libcrypto])])
-+fi
-+
- if test "x$SHA1_LIB" = "x" ; then
-   PKG_CHECK_EXISTS([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
-                     [HAVE_OPENSSL_PKC=no])
-Index: xorg-server/include/dix-config.h.in
-===================================================================
---- xorg-server.orig/include/dix-config.h.in
-+++ xorg-server/include/dix-config.h.in
-@@ -163,6 +163,9 @@
- /* Define to use libmd SHA1 functions instead of OpenSSL libcrypto */
- #undef HAVE_SHA1_IN_LIBMD
- 
-+/* Define to use libgcrypt SHA1 functions instead of OpenSSL libcrypto */
-+#undef HAVE_SHA1_IN_LIBGCRYPT
-+
- /* Define to 1 if you have the `shmctl64' function. */
- #undef HAVE_SHMCTL64
- 
-Index: xorg-server/render/glyph.c
-===================================================================
---- xorg-server.orig/render/glyph.c
-+++ xorg-server/render/glyph.c
-@@ -28,6 +28,8 @@
- 
- #ifdef HAVE_SHA1_IN_LIBMD /* Use libmd for SHA1 */
- # include <sha1.h>
-+#elif defined(HAVE_SHA1_IN_LIBGCRYPT)
-+# include <gcrypt.h>
- #else /* Use OpenSSL's libcrypto */
- # include <stddef.h>  /* buggy openssl/sha.h wants size_t */
- # include <openssl/sha.h>
-@@ -205,6 +207,26 @@
-     SHA1Update (&ctx, gi, sizeof (xGlyphInfo));
-     SHA1Update (&ctx, bits, size);
-     SHA1Final (sha1, &ctx);
-+#elif defined(HAVE_SHA1_IN_LIBGCRYPT) /* Use libgcrypt for SHA1 */
-+    static int init;
-+    gcry_md_hd_t h;
-+    gcry_error_t err;
-+
-+    if (!init) {
-+	if (!gcry_check_version(NULL))
-+	    return BadAlloc;
-+	gcry_control(GCRYCTL_DISABLE_SECMEM, 0);
-+	gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);
-+	init = 1;
-+    }
-+
-+    err = gcry_md_open(&h, GCRY_MD_SHA1, 0);
-+    if (err)
-+	return BadAlloc;
-+    gcry_md_write(h, gi, sizeof (xGlyphInfo));
-+    gcry_md_write(h, bits, size);
-+    memcpy(sha1, gcry_md_read(h, GCRY_MD_SHA1), 20);
-+    gcry_md_close(h);
- #else /* Use OpenSSL's libcrypto */
-     SHA_CTX ctx;
-     int success;
diff --git a/debian/patches/series b/debian/patches/series
index 1ce856f..29afbca 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,7 +1,7 @@
 ## Patches with a number < 100 are applied in debian.
 ## Ubuntu patches start with 100.
 001_fedora_extramodes.patch
-02_Add-libgcrypt-as-an-option-for-sha1.diff
+02_Add-libgcrypt-and-libnettle-as-options-for-sha1.diff
 # 03 and 04 are backports from git master
 03_fedora_glx_versioning.diff
 04_fedora_glx14-swrast.diff

commit dcc2d95371c1875ad37e2bbbaad8a3aeaa39f7ce
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sun Mar 14 20:10:51 2010 +0100

    Revert the libgcrypt*-dev change in Build-Depends.
    
    Static build is going to be used for sha1 functions.

diff --git a/debian/changelog b/debian/changelog
index ab53e44..f813c99 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -24,7 +24,6 @@ xorg-server (2:1.7.5.902-1) UNRELEASED; urgency=low
   * Version/Bump some B-D to make sure xserver-xorg-core-udeb gets its
     dependencies on the (recently-added) udebs rather than on the
     libraries:
-     - libgcrypt11-dev (switching from the virtual libgcrypt-dev package)
      - libpciaccess-dev
      - libudev-dev
      - libxau-dev
diff --git a/debian/control b/debian/control
index 712ac57..df2f6ad 100644
--- a/debian/control
+++ b/debian/control
@@ -45,7 +45,7 @@ Build-Depends:
  libxkbfile-dev (>= 1:0.99.1),
  libpixman-1-dev (>= 0.15.20),
  libpciaccess-dev (>= 0.11.0-2),
- libgcrypt11-dev (>= 1.4.5-3),
+ libgcrypt-dev,
  libdbus-1-dev [kfreebsd-amd64 kfreebsd-i386],
  libhal-dev [kfreebsd-amd64 kfreebsd-i386],
  libudev-dev (>= 150-3) [alpha amd64 arm armeb armel avr32 hppa i386 ia64 lpia m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc],

commit a2b484fddc6ae6c48b78fc49b6de89a0769dd786
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sun Mar 14 19:49:22 2010 +0100

    Use XC-Package-Type to save some memory.

diff --git a/debian/control b/debian/control
index 3813c68..712ac57 100644
--- a/debian/control
+++ b/debian/control
@@ -126,7 +126,7 @@ Description: Xorg X server - core server
  This package is built from the X.org xserver module.
 
 Package: xserver-xorg-core-udeb
-Package-Type: udeb
+XC-Package-Type: udeb
 Section: debian-installer
 Architecture: any
 Depends:

commit 844725bcc542f2c9e3a26b70912e4aa31cb49879
Author: Cyril Brulebois <kibi@debian.org>
Date:   Mon Feb 8 12:05:49 2010 +0000

    Enable DGA for the udeb, needed for the fbdev driver.

diff --git a/debian/rules b/debian/rules
index 1cd482d..4ea090b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -135,7 +135,7 @@ confflags_udeb = \
 	--disable-record \
 	--disable-xv \
 	--disable-xvmc \
-	--disable-dga \
+	--enable-dga \
 	--disable-screensaver \
 	--disable-xdmcp \
 	--disable-xdm-auth-1 \

commit 7f92ddf7a29f817d91078b32c57b0a9a0f85fa44
Author: Julien Cristau <jcristau@debian.org>
Date:   Mon Feb 8 02:10:06 2010 +0100

    Strip some modules from the udeb

diff --git a/debian/rules b/debian/rules
index e9d92a4..1cd482d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -218,6 +218,13 @@ install: build
 	find debian/tmp/*/usr/lib/xorg -type f -name '*.la' | \
 	  xargs rm -f
 	
+	# remove modules not needed in d-i
+	rm -r debian/tmp/udeb/usr/lib/xorg/modules/multimedia
+	rm -f debian/tmp/udeb/usr/lib/xorg/modules/libxaa.so
+	rm -f debian/tmp/udeb/usr/lib/xorg/modules/libexa.so
+	rm -f debian/tmp/udeb/usr/lib/xorg/modules/libwfb.so
+	rm -f debian/tmp/udeb/usr/lib/xorg/modules/libxf8_16bpp.so
+	
 	install -m 755 debian/local/xvfb-run debian/tmp/main/usr/bin
 	install debian/local/xvfb-run.1 debian/tmp/main/usr/share/man/man1
 

commit 89225395696f8ba04acff392c0dd28a8c340f7db
Author: Julien Cristau <jcristau@debian.org>
Date:   Mon Feb 8 02:05:48 2010 +0100

    Add patch to fix Xorg build with XV disabled.

diff --git a/debian/changelog b/debian/changelog
index 0598ad7..ab53e44 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ xorg-server (2:1.7.5.902-1) UNRELEASED; urgency=low
   [ Julien Cristau ]
   * config/udev: fix adding unnamed devices.
   * Build two flavours, one for the main package and one for the udeb.
+  * Add patch to fix Xorg build with XV disabled.
 
   [ Timo Aaltonen ]
   * Add 16-config-dont-filter-input-subsys.diff so for instance serial
diff --git a/debian/patches/16-xfree86-fix-build-with-xv-disabled.diff b/debian/patches/16-xfree86-fix-build-with-xv-disabled.diff
new file mode 100644
index 0000000..184301f
--- /dev/null
+++ b/debian/patches/16-xfree86-fix-build-with-xv-disabled.diff
@@ -0,0 +1,53 @@
+From fe7575e929d65e8c798104ec2f72b879051694d3 Mon Sep 17 00:00:00 2001
+From: Julien Cristau <jcristau@debian.org>
+Date: Mon, 8 Feb 2010 02:04:33 +0100
+Subject: [PATCH] xfree86: fix build with xv disabled
+
+---
+ hw/xfree86/modes/xf86Crtc.c |    2 ++
+ hw/xfree86/modes/xf86Crtc.h |    2 ++
+ 2 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
+index 30b49af..62f8737 100644
+--- a/hw/xfree86/modes/xf86Crtc.c
++++ b/hw/xfree86/modes/xf86Crtc.c
+@@ -3009,6 +3009,7 @@ xf86_crtc_box_area(BoxPtr box)
+     return (int) (box->x2 - box->x1) * (int) (box->y2 - box->y1);
+ }
+ 
++#ifdef XV
+ /*
+  * Return the crtc covering 'box'. If two crtcs cover a portion of
+  * 'box', then prefer 'desired'. If 'desired' is NULL, then prefer the crtc
+@@ -3097,6 +3098,7 @@ xf86_crtc_clip_video_helper(ScrnInfoPtr pScrn,
+ 
+     return ret;
+ }
++#endif
+ 
+ xf86_crtc_notify_proc_ptr
+ xf86_wrap_crtc_notify (ScreenPtr screen, xf86_crtc_notify_proc_ptr new)
+diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h
+index 9baa956..2fb32c1 100644
+--- a/hw/xfree86/modes/xf86Crtc.h
++++ b/hw/xfree86/modes/xf86Crtc.h
+@@ -908,6 +908,7 @@ xf86_hide_cursors (ScrnInfoPtr scrn);
+ extern _X_EXPORT void
+ xf86_cursors_fini (ScreenPtr screen);
+ 
++#ifdef XV
+ /*
+  * For overlay video, compute the relevant CRTC and
+  * clip video to that.
+@@ -926,6 +927,7 @@ xf86_crtc_clip_video_helper(ScrnInfoPtr pScrn,
+ 			    RegionPtr   reg,
+ 			    INT32	width,
+ 			    INT32	height);
++#endif
+     
+ extern _X_EXPORT xf86_crtc_notify_proc_ptr
+ xf86_wrap_crtc_notify (ScreenPtr pScreen, xf86_crtc_notify_proc_ptr new);
+-- 
+1.6.6.1
+
diff --git a/debian/patches/series b/debian/patches/series
index f38fd97..1ce856f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,4 @@
 14-config-add-example-udev-rules.diff
 15-config-udev-look-for-xkb-rules-model-layout-variant-.diff
 16-config-dont-filter-input-subsys.diff
+16-xfree86-fix-build-with-xv-disabled.diff

commit 957b82c13d6ca022679d0a3c23bbf580cb94d209
Author: Julien Cristau <jcristau@debian.org>
Date:   Mon Feb 8 01:11:09 2010 +0100

    Build two flavours, one for the main package and one for the udeb.

diff --git a/debian/changelog b/debian/changelog
index f82b1cf..0598ad7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ xorg-server (2:1.7.5.902-1) UNRELEASED; urgency=low
 
   [ Julien Cristau ]
   * config/udev: fix adding unnamed devices.
+  * Build two flavours, one for the main package and one for the udeb.
 
   [ Timo Aaltonen ]
   * Add 16-config-dont-filter-input-subsys.diff so for instance serial
diff --git a/debian/rules b/debian/rules
index 15b7a8a..e9d92a4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -76,31 +76,13 @@ confflags += \
 	     --with-int10=x86emu \
 	     --with-os-vendor="$(VENDOR)" \
 	     --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" \
-	     --with-default-font-path="/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType,built-ins" \
 	     --with-xkb-path=/usr/share/X11/xkb \
 	     --with-xkb-output=/var/lib/xkb \
 	     --disable-builddocs \
 	     --disable-install-libxf86config \
 	     --disable-null-root-cursor \
-	     --enable-aiglx \
-	     --enable-glx-tls \
-	     --enable-registry \
-	     --enable-composite \
 	     --enable-mitshm \
 	     --enable-xres \
-	     --enable-record \
-	     --enable-xv \
-	     --enable-xvmc \
-	     --enable-dga \
-	     --enable-screensaver \
-	     --enable-xdmcp \
-	     --enable-xdm-auth-1 \
-	     --enable-glx \
-	     $(dri) \
-	     --enable-xinerama \
-	     --enable-xf86vidmode \
-	     --enable-xace \
-	     $(selinux) \
 	     --disable-xcsecurity \
 	     --disable-xcalibrate \
 	     --disable-tslib \
@@ -109,28 +91,79 @@ confflags += \
 	     --disable-xf86bigfont \
 	     --enable-dpms \
 	     $(config_backend) \
-	     --enable-xfree86-utils \
 	     --enable-xorg \
-	     --enable-dmx \
-	     --enable-xvfb \
-	     --enable-xnest \
 	     --disable-xquartz \
 	     --disable-xwin \
-	     --enable-kdrive \
-	     --enable-xephyr \
 	     --disable-xsdl \
 	     --disable-xfake \
-	     $(build_xfbdev) \
 	     --disable-install-setuid
 
-configure: $(STAMP_DIR)/patch
+confflags_main = \
+	--with-default-font-path="/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType,built-ins" \
+	--enable-aiglx \
+	--enable-glx-tls \
+	--enable-registry \
+	--enable-composite \
+	--enable-record \
+	--enable-xv \
+	--enable-xvmc \
+	--enable-dga \
+	--enable-screensaver \
+	--enable-xdmcp \
+	--enable-xdm-auth-1 \
+	--enable-glx \
+	$(dri) \
+	--enable-xinerama \
+	--enable-xf86vidmode \
+	--enable-xace \
+	$(selinux) \
+	--enable-xfree86-utils \
+	--enable-dmx \
+	--enable-xvfb \
+	--enable-xnest \
+	--enable-kdrive \
+	--enable-xephyr \
+	$(build_xfbdev) \
+	$(void)
+
+confflags_udeb = \
+	--with-default-font-path="built-ins" \
+	--disable-aiglx \
+	--disable-glx-tls \
+	--disable-registry \
+	--disable-composite \
+	--disable-record \
+	--disable-xv \
+	--disable-xvmc \
+	--disable-dga \
+	--disable-screensaver \
+	--disable-xdmcp \
+	--disable-xdm-auth-1 \
+	--disable-glx \
+	--disable-dri \
+	--disable-dri2 \
+	--disable-xinerama \
+	--disable-xf86vidmode \
+	--disable-xace \
+	--disable-xselinux \
+	--disable-xfree86-utils \
+	--disable-dmx \
+	--disable-xvfb \
+	--disable-xnest \
+	--disable-kdrive \
+	--disable-xephyr \
+	--disable-xfbdev \
+	$(void)
+
+$(STAMP_DIR)/autoreconf: $(STAMP_DIR)/patch
 	dh_testdir
 	autoreconf -vfi
+	>$@
 
-build/config.status: configure
+$(STAMP_DIR)/configure-%: $(STAMP_DIR)/autoreconf
 	dh_testdir
-	mkdir -p build
-	cd build && \
+	mkdir -p build-$*
+	cd build-$* && \
 	../configure \
 	  --prefix=/usr \
 	  --mandir=\$${prefix}/share/man \
@@ -138,29 +171,32 @@ build/config.status: configure
 	  --sysconfdir=/etc \
 	  --localstatedir=/var \
 	  $(confflags) \
+	  $(confflags_$*) \
 	  CFLAGS="$(CFLAGS)" \
 	  CPPFLAGS="$(CPPFLAGS)"
+	>$@
 
-build: build-stamp tests-stamp
-build-stamp: build/config.status
+$(STAMP_DIR)/build-%: $(STAMP_DIR)/configure-%
 	dh_testdir
-	cd build && $(MAKE)
+	cd build-$* && $(MAKE)
 	>$@
 
-tests-stamp: build-stamp
-	cd build && $(MAKE) check
+$(STAMP_DIR)/tests-%: $(STAMP_DIR)/build-%
+	cd build-$* && $(MAKE) check
 	>$@
 
+build: $(STAMP_DIR)/build-main $(STAMP_DIR)/build-udeb
+build: $(STAMP_DIR)/tests-main $(STAMP_DIR)/tests-udeb
+
 clean: xsfclean
 	dh_testdir
 	dh_testroot
-	rm -f build-stamp tests-stamp
 	
 	rm -f config.cache config.log config.status
 	rm -f */config.cache */config.log */config.status
 	rm -f conftest* */conftest*
 	rm -rf autom4te.cache */autom4te.cache
-	rm -rf build
+	rm -rf build-*
 	rm -f compile config.guess config.sub configure depcomp install-sh
 	rm -f ltmain.sh missing INSTALL aclocal.m4 ylwrap
 	rm -f include/do-not-use-config.h.in
@@ -175,14 +211,15 @@ install: build
 	dh_clean -k
 	dh_installdirs
 	
-	cd build && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+	cd build-main && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp/main install
+	cd build-udeb && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp/udeb install
 	
 	# oh, yuck.
-	find $(CURDIR)/debian/tmp/usr/lib/xorg -type f -name '*.la' | \
+	find debian/tmp/*/usr/lib/xorg -type f -name '*.la' | \
 	  xargs rm -f
 	
-	install -m 755 debian/local/xvfb-run debian/tmp/usr/bin
-	install debian/local/xvfb-run.1 debian/tmp/usr/share/man/man1
+	install -m 755 debian/local/xvfb-run debian/tmp/main/usr/bin
+	install debian/local/xvfb-run.1 debian/tmp/main/usr/share/man/man1
 
 # stub to start building deb files, used by binary-indep and binary-arch
 binary-initial:
diff --git a/debian/xdmx-tools.install b/debian/xdmx-tools.install
index b189c40..dc868c2 100644
--- a/debian/xdmx-tools.install
+++ b/debian/xdmx-tools.install
@@ -1,7 +1,7 @@
-usr/bin/dmx*
-usr/bin/vdltodmx
-usr/bin/xdmx
-usr/bin/xdmxconfig
-usr/share/man/man1/vdltodmx.1
-usr/share/man/man1/dmxtodmx.1
-usr/share/man/man1/xdmxconfig.1
+main/usr/bin/dmx*	usr/bin
+main/usr/bin/vdltodmx	usr/bin
+main/usr/bin/xdmx	usr/bin
+main/usr/bin/xdmxconfig	usr/bin
+main/usr/share/man/man1/vdltodmx.1	usr/share/man/man1
+main/usr/share/man/man1/dmxtodmx.1	usr/share/man/man1
+main/usr/share/man/man1/xdmxconfig.1	usr/share/man/man1
diff --git a/debian/xdmx.install b/debian/xdmx.install
index e212e19..c6a37eb 100644
--- a/debian/xdmx.install
+++ b/debian/xdmx.install
@@ -1,2 +1,2 @@
-usr/bin/Xdmx
-usr/share/man/man1/Xdmx.1
+main/usr/bin/Xdmx	usr/bin
+main/usr/share/man/man1/Xdmx.1	usr/share/man/man1
diff --git a/debian/xnest.install b/debian/xnest.install
index c04b581..b11a15e 100644
--- a/debian/xnest.install
+++ b/debian/xnest.install
@@ -1,2 +1,2 @@
-usr/bin/Xnest
-usr/share/man/man1/Xnest.1
+main/usr/bin/Xnest	usr/bin
+main/usr/share/man/man1/Xnest.1	usr/share/man/man1
diff --git a/debian/xserver-common.install b/debian/xserver-common.install
index 46a7630..232cc98 100644
--- a/debian/xserver-common.install
+++ b/debian/xserver-common.install
@@ -1,2 +1,2 @@
-usr/lib/xorg/protocol.txt
-usr/share/man/man1/Xserver.1
+main/usr/lib/xorg/protocol.txt	usr/lib/xorg
+main/usr/share/man/man1/Xserver.1	usr/share/man/man1
diff --git a/debian/xserver-xephyr.install b/debian/xserver-xephyr.install
index 24fe4ac..c0939e6 100644
--- a/debian/xserver-xephyr.install
+++ b/debian/xserver-xephyr.install
@@ -1,2 +1,2 @@
-usr/bin/Xephyr
-usr/share/man/man1/Xephyr.1
+main/usr/bin/Xephyr	usr/bin
+main/usr/share/man/man1/Xephyr.1	usr/share/man/man1
diff --git a/debian/xserver-xfbdev.install b/debian/xserver-xfbdev.install
index c7faa98..32abbb7 100644
--- a/debian/xserver-xfbdev.install
+++ b/debian/xserver-xfbdev.install
@@ -1 +1 @@
-usr/bin/Xfbdev
+main/usr/bin/Xfbdev	usr/bin
diff --git a/debian/xserver-xorg-core-udeb.install b/debian/xserver-xorg-core-udeb.install
index dbebab5..92130ee 100644
--- a/debian/xserver-xorg-core-udeb.install
+++ b/debian/xserver-xorg-core-udeb.install
@@ -1,6 +1,6 @@
 # from xserver-common:
-usr/lib/xorg/protocol.txt
+udeb/usr/lib/xorg/protocol.txt	usr/lib/xorg
 
 # from xserver-xorg-core:
-usr/lib/xorg/modules
-usr/bin/Xorg
+udeb/usr/lib/xorg/modules	usr/lib/xorg
+udeb/usr/bin/Xorg	usr/bin
diff --git a/debian/xserver-xorg-core.install b/debian/xserver-xorg-core.install
index e34d93d..48c1c93 100644
--- a/debian/xserver-xorg-core.install
+++ b/debian/xserver-xorg-core.install
@@ -1,10 +1,10 @@
-usr/lib/xorg/modules/
-usr/bin/Xorg
-usr/share/man/man1/Xorg.1
-usr/share/man/man4/exa.4
-usr/share/man/man4/fbdevhw.4
-usr/share/man/man5/xorg.conf.5
-usr/bin/cvt
-usr/bin/gtf
-usr/share/man/man1/cvt.1
-usr/share/man/man1/gtf.1
+main/usr/lib/xorg/modules	usr/lib/xorg
+main/usr/bin/Xorg	usr/bin
+main/usr/share/man/man1/Xorg.1	usr/share/man/man1
+main/usr/share/man/man4/exa.4	usr/share/man/man4
+main/usr/share/man/man4/fbdevhw.4	usr/share/man/man4
+main/usr/share/man/man5/xorg.conf.5	usr/share/man/man5
+main/usr/bin/cvt	usr/bin
+main/usr/bin/gtf	usr/bin
+main/usr/share/man/man1/cvt.1	usr/share/man/man1
+main/usr/share/man/man1/gtf.1	usr/share/man/man1
diff --git a/debian/xserver-xorg-dev.install b/debian/xserver-xorg-dev.install
index 391cef2..36df50e 100644
--- a/debian/xserver-xorg-dev.install
+++ b/debian/xserver-xorg-dev.install
@@ -1,3 +1,3 @@
-usr/include/xorg/*
-usr/lib/pkgconfig/xorg-server.pc
-usr/share/aclocal/*
+main/usr/include/xorg	usr/include
+main/usr/lib/pkgconfig/xorg-server.pc	usr/lib/pkgconfig
+main/usr/share/aclocal	usr/share
diff --git a/debian/xvfb.install b/debian/xvfb.install
index 7a2095e..9fb2663 100644
--- a/debian/xvfb.install
+++ b/debian/xvfb.install
@@ -1,4 +1,4 @@
-usr/bin/Xvfb
-usr/bin/xvfb-run
-usr/share/man/man1/xvfb-run.1
-usr/share/man/man1/Xvfb.1
+main/usr/bin/Xvfb	usr/bin
+main/usr/bin/xvfb-run	usr/bin
+main/usr/share/man/man1/xvfb-run.1	usr/share/man/man1
+main/usr/share/man/man1/Xvfb.1	usr/share/man/man1

commit 5c05f611022681fb5f4eb62145c5b9ca7c1a70e0
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sun Feb 7 01:21:10 2010 +0000

    Version/Bump some B-D to make sure xserver-xorg-core-udeb gets its dependencies on udebs.

diff --git a/debian/changelog b/debian/changelog
index d02e27f..f82b1cf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -19,6 +19,14 @@ xorg-server (2:1.7.5.902-1) UNRELEASED; urgency=low
 
   [ Cyril Brulebois ]
   * Add udeb needed for the graphical installer: xserver-xorg-core-udeb.
+  * Version/Bump some B-D to make sure xserver-xorg-core-udeb gets its
+    dependencies on the (recently-added) udebs rather than on the
+    libraries:
+     - libgcrypt11-dev (switching from the virtual libgcrypt-dev package)
+     - libpciaccess-dev
+     - libudev-dev
+     - libxau-dev
+     - libxfont-dev
 
  -- Drew Parsons <dparsons@debian.org>  Wed, 03 Mar 2010 23:33:54 +1100
 
diff --git a/debian/control b/debian/control
index 4480fb7..3813c68 100644
--- a/debian/control
+++ b/debian/control
@@ -37,22 +37,22 @@ Build-Depends:
  x11proto-xf86dga-dev (>= 2.0.99.1),
  x11proto-xf86vidmode-dev (>= 2.2.99.1),
  xtrans-dev (>= 1.2.2),
- libxau-dev (>= 1:0.99.1),
+ libxau-dev (>= 1:1.0.5-2),
  x11proto-input-dev (>= 1.9.99.902),
  x11proto-dri2-dev (>= 2.1),
  libxdmcp-dev (>= 1:0.99.1),
- libxfont-dev,
+ libxfont-dev (>= 1:1.4.1-2),
  libxkbfile-dev (>= 1:0.99.1),
  libpixman-1-dev (>= 0.15.20),
- libpciaccess-dev (>= 0.10.7),
- libgcrypt-dev,
+ libpciaccess-dev (>= 0.11.0-2),
+ libgcrypt11-dev (>= 1.4.5-3),
  libdbus-1-dev [kfreebsd-amd64 kfreebsd-i386],
  libhal-dev [kfreebsd-amd64 kfreebsd-i386],
- libudev-dev [alpha amd64 arm armeb armel avr32 hppa i386 ia64 lpia m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc],
+ libudev-dev (>= 150-3) [alpha amd64 arm armeb armel avr32 hppa i386 ia64 lpia m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc],
  libselinux1-dev (>= 2.0.80) [alpha amd64 arm armeb armel avr32 hppa i386 ia64 lpia m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc],
  libaudit-dev [alpha amd64 arm armeb armel avr32 hppa i386 ia64 lpia m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc],
  x11proto-xf86dri-dev (>= 2.1.0),
- libdrm-dev (>= 2.4.3) [!hurd-i386], 
+ libdrm-dev (>= 2.4.3) [!hurd-i386],
  x11proto-gl-dev (>= 1.4.9),
  mesa-common-dev (>= 7.5),


Reply to: