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

xutils-dev: Changes to 'debian-unstable'



 debian/README.source          |   73 +++++++++++++++++++++++++++++++++++
 debian/changelog              |    7 +++
 debian/control                |    2 
 debian/rules                  |   37 +++++++++---------
 debian/xsfbs/repack.sh        |   32 +++++++++++++++
 debian/xsfbs/xsfbs.sh         |   78 --------------------------------------
 util-macros/ChangeLog         |   86 ++++++++++++++++++++++++++++++++++++++++++
 util-macros/configure         |   20 ++++-----
 util-macros/configure.ac      |    2 
 util-macros/xorg-macros.m4.in |   35 +++++++----------
 10 files changed, 245 insertions(+), 127 deletions(-)

New commits:
commit 07f2ed1ee9936fe808577d787204becf939f915b
Author: Julien Cristau <jcristau@debian.org>
Date:   Sun Aug 2 15:06:51 2009 +0200

    Bump Standards-Version to 3.8.2

diff --git a/debian/changelog b/debian/changelog
index cff4359..1ddad88 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,8 @@ xutils-dev (1:7.4+5) UNRELEASED; urgency=low
     3.8), move building each subdir to its own rule, and allow building in
     parallel.  Also call dh_install with --fail-missing to avoid building a
     broken package.
+  * Bump Standards-Version to 3.8.2 due to the above change and the addition
+    of README.source from xsfbs.
 
  -- Julien Cristau <jcristau@debian.org>  Fri, 19 Dec 2008 13:41:50 +0100
 
diff --git a/debian/control b/debian/control
index 3ce310a..a921040 100644
--- a/debian/control
+++ b/debian/control
@@ -4,7 +4,7 @@ Priority: optional
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: David Nusinow <dnusinow@debian.org>, Andres Salomon <dilinger@debian.org>, Julien Cristau <jcristau@debian.org>, Brice Goglin <bgoglin@debian.org>
 Build-Depends: debhelper (>= 5.0.0), pkg-config, quilt, x11proto-core-dev
-Standards-Version: 3.7.3
+Standards-Version: 3.8.2
 Vcs-Git: git://git.debian.org/git/pkg-xorg/app/xutils-dev
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/app/xutils-dev.git
 

commit c83a6ceef8111bbd98273f9026d6943905f7d999
Author: Julien Cristau <jcristau@debian.org>
Date:   Sun Aug 2 15:05:30 2009 +0200

    debian/rules updates
    
    Parse space-separated DEB_BUILD_OPTIONS (policy 3.8), move building each
    subdir to its own rule, and allow building in parallel.  Also call
    dh_install with --fail-missing to avoid building a broken package.

diff --git a/debian/changelog b/debian/changelog
index e14ec64..cff4359 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,10 @@ xutils-dev (1:7.4+5) UNRELEASED; urgency=low
   * Don't call dh_makeshlibs, silences lintian warning.
   * Fix patches 01 and 02 to apply with -p1, to silence lintian.
   * util-macros 1.2.2.
+  * Adjust debian/rules to parse space-separated DEB_BUILD_OPTIONS (policy
+    3.8), move building each subdir to its own rule, and allow building in
+    parallel.  Also call dh_install with --fail-missing to avoid building a
+    broken package.
 
  -- Julien Cristau <jcristau@debian.org>  Fri, 19 Dec 2008 13:41:50 +0100
 
diff --git a/debian/rules b/debian/rules
index c0f2042..c903d41 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,16 +14,17 @@ include debian/xsfbs/xsfbs.mk
 
 # This package contains multiple modules as shipped by upstream. Each module is # contained in a subdirectory in the root dir of the package. You must list each
 # subdirectory explicitly so that the build system knows what to build
-SUBDIRS="gccmakedep imake lndir makedepend util-macros xorg-cf-files"
+SUBDIRS= gccmakedep imake lndir makedepend util-macros xorg-cf-files
 
 CFLAGS = -Wall -g
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
 	CFLAGS += -O0
 else
 	CFLAGS += -O2
 endif
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-	INSTALL_PROGRAM += -s
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+	NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+	MAKEFLAGS += -j$(NUMJOBS)
 endif
 
 DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
@@ -36,19 +37,19 @@ else
 endif
 
 
-build: genscripts patch build-stamp
-build-stamp:
-	dh_testdir
-	for FILE in "$(SUBDIRS)"; do \
-		test -d "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE) || mkdir "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE); \
-		(cd "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE) && \
-		../"$$FILE"/configure --prefix=/usr --mandir=\$${prefix}/share/man \
-		             --infodir=\$${prefix}/share/info $(confflags) \
-		             CFLAGS="$(CFLAGS)" && \
-		$(MAKE)) || exit 1; \
-	done
+build: build-stamp
+build-stamp: $(STAMP_DIR)/genscripts $(foreach dir, $(SUBDIRS), $(STAMP_DIR)/build-$(dir))
+	>$@
 
-	touch build-stamp
+$(STAMP_DIR)/build-%: $(STAMP_DIR)/patch
+	mkdir -p $*-obj-$(DEB_BUILD_GNU_TYPE)
+	cd $*-obj-$(DEB_BUILD_GNU_TYPE) && \
+		../$*/configure --prefix=/usr --mandir=\$${prefix}/share/man \
+		--infodir=\$${prefix}/share/info $(confflags) \
+		CFLAGS="$(CFLAGS)"
+	cd $*-obj-$(DEB_BUILD_GNU_TYPE) && \
+		$(MAKE)
+	>$@
 
 clean: xsfclean
 	dh_testdir
@@ -69,7 +70,7 @@ install: build
 	dh_clean -k
 	dh_installdirs
 
-	for FILE in "$(SUBDIRS)"; do \
+	for FILE in $(SUBDIRS); do \
 		cd "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install ; \
 		cd ..; \
 	done
@@ -80,7 +81,7 @@ binary-arch: build install
 	dh_testroot
 
 	dh_installdocs
-	dh_install --sourcedir=debian/tmp --list-missing
+	dh_install --sourcedir=debian/tmp --fail-missing
 	dh_installchangelogs
 	dh_link
 	dh_strip

commit b8edfc2fcc56ac06971e6f334de5fef45a2a42ac
Author: Julien Cristau <jcristau@debian.org>
Date:   Sun Aug 2 14:48:11 2009 +0200

    util-macros 1.2.2.

diff --git a/debian/changelog b/debian/changelog
index ef2f31d..e14ec64 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ xutils-dev (1:7.4+5) UNRELEASED; urgency=low
 
   * Don't call dh_makeshlibs, silences lintian warning.
   * Fix patches 01 and 02 to apply with -p1, to silence lintian.
+  * util-macros 1.2.2.
 
  -- Julien Cristau <jcristau@debian.org>  Fri, 19 Dec 2008 13:41:50 +0100
 
diff --git a/util-macros/ChangeLog b/util-macros/ChangeLog
index 702386b..a21ec23 100644
--- a/util-macros/ChangeLog
+++ b/util-macros/ChangeLog
@@ -1,3 +1,89 @@
+commit 347e2ae727ac43026776154172ca1ad0360c903c
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date:   Thu Jun 18 11:26:09 2009 -0700
+
+    Version bump: 1.2.2
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit b885bb59ec23bb338c8df68e40c6ef2c2a9325cc
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date:   Mon Jun 8 14:17:06 2009 +0100
+
+    Use correct CWARNFLAGS when cross compiling
+    
+    Rather than checking the version of some random gcc which happens to be in
+    the path to determine which warning flags are supported, we should check the
+    gcc we are going to use for the build
+    
+    For example, when cross-compiling, if the host gcc is >= 3.4 but the
+    cross-compiler gcc is not, this will cause unsupported warning flags to be
+    used
+    
+    This seems to work, but I don't know enough autofoolery to be sure this is
+    right...
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit 21a957428aa69b03f585378dc6e70ad9f5c513c6
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Feb 6 12:28:03 2009 -0800
+
+    Use m4 for XORG_MACROS_VERSION to error during autoconf
+    
+    Check the needed macros version with m4 so that the proper version is
+    determined during autoconf. This prevents a faulty configure from being
+    generated.
+    
+    Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 72d82ed965f9cfbc310897ec17d2dc10bddcef4e
+Author: Dan <danstowell+xorg@gmail.com>
+Date:   Thu Feb 19 06:50:30 2009 -0800
+
+    Fix incorrect warning message in XORG_MACROS_VERSION
+    
+    Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit b3a43fbe312d4da796aa1fcb04a8a27f7961641d
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Feb 5 13:30:27 2009 -0800
+
+    Restore part of the XORG_MACROS_VERSION comment
+    
+    The 1.1 or later part is actually important since XORG_MACROS_VERSION
+    didn't exist before then.
+    
+    Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit f05148fa57a1ebdb75135f026b7c5f4678a3b293
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Feb 5 09:17:17 2009 -0800
+
+    Fix comment in XORG_MACROS_VERSION on usage
+    
+    The comment recommending checking XORG_MACROS_VERSION with m4_ifndef was
+    flawed for two reasons:
+    
+     * m4_fatal should be used if the macro is not defined. There's no use
+       generating configure if the macro doesn't exist. Just fail during
+       autoconf.
+     * There's no reason to mention the version needed in the message. That
+       check does not do version verification. That's what the actual macro
+       is for.
+    
+    Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 96585612d17d31fa9dd0f5c260fc33f72be9a75f
+Author: Jeremy Huddleston <jeremy@redxiii.local>
+Date:   Sun Feb 1 21:09:44 2009 -0800
+
+    XORG_CWARNFLAGS: += is not valid for appending in bourn scripts
+    
+    Fixes:
+    
+    ./configure: line 12921: CWARNFLAGS+= -Wold-style-definition -Wdeclaration-after-statement: command not found
+
 commit 58803c60b73110a49aecec4202e7820887633bcc
 Author: Alan Coopersmith <alan.coopersmith@sun.com>
 Date:   Tue Dec 16 15:05:46 2008 -0800
diff --git a/util-macros/configure b/util-macros/configure
index e65549a..310451e 100755
--- a/util-macros/configure
+++ b/util-macros/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for util-macros 1.2.1.
+# Generated by GNU Autoconf 2.61 for util-macros 1.2.2.
 #
 # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
 #
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='util-macros'
 PACKAGE_TARNAME='util-macros'
-PACKAGE_VERSION='1.2.1'
-PACKAGE_STRING='util-macros 1.2.1'
+PACKAGE_VERSION='1.2.2'
+PACKAGE_STRING='util-macros 1.2.2'
 PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
 
 ac_subst_vars='SHELL
@@ -1147,7 +1147,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures util-macros 1.2.1 to adapt to many kinds of systems.
+\`configure' configures util-macros 1.2.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1213,7 +1213,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of util-macros 1.2.1:";;
+     short | recursive ) echo "Configuration of util-macros 1.2.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1284,7 +1284,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-util-macros configure 1.2.1
+util-macros configure 1.2.2
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1298,7 +1298,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by util-macros $as_me 1.2.1, which was
+It was created by util-macros $as_me 1.2.2, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -1988,7 +1988,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='util-macros'
- VERSION='1.2.1'
+ VERSION='1.2.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2635,7 +2635,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by util-macros $as_me 1.2.1, which was
+This file was extended by util-macros $as_me 1.2.2, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -2678,7 +2678,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-util-macros config.status 1.2.1
+util-macros config.status 1.2.2
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/util-macros/configure.ac b/util-macros/configure.ac
index 36153dc..e142e93 100644
--- a/util-macros/configure.ac
+++ b/util-macros/configure.ac
@@ -23,7 +23,7 @@ dnl Process this file with autoconf to create configure.
 
 AC_PREREQ([2.57])
 AC_INIT([util-macros],
-        [1.2.1],
+        [1.2.2],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 
diff --git a/util-macros/xorg-macros.m4.in b/util-macros/xorg-macros.m4.in
index cbdcfa6..bcf8c44 100644
--- a/util-macros/xorg-macros.m4.in
+++ b/util-macros/xorg-macros.m4.in
@@ -35,27 +35,24 @@ dnl of the copyright holder.
 # your configure.ac with the minimum required version, such as:
 # XORG_MACROS_VERSION(1.1)
 #
-# To force at least a version with this macro defined, also add:
-# m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])])
+# To ensure that this macro is defined, also add:
+# m4_ifndef([XORG_MACROS_VERSION],
+#     [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
 #
 #
 # See the "minimum version" comment for each macro you use to see what 
 # version you require.
-AC_DEFUN([XORG_MACROS_VERSION],[
-	[XORG_MACROS_needed_version=$1
-	XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'`
-	XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
-	AC_MSG_CHECKING([if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}])
-	[XORG_MACROS_version=@VERSION@
-	XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'`
-	XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
-	if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then
-		AC_MSG_ERROR([configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x])
-	fi
-	if test $XORG_MACROS_minor -lt $XORG_MACROS_needed_minor ; then
-		AC_MSG_ERROR([configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer])
-	fi
-	AC_MSG_RESULT([yes, $XORG_MACROS_version])
+m4_defun([XORG_MACROS_VERSION],[
+m4_define([vers_have], [@VERSION@])
+m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
+m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
+m4_if(m4_cmp(maj_have, maj_needed), 0,,
+    [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
+m4_if(m4_version_compare(vers_have, [$1]), -1,
+    [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
+m4_undefine([vers_have])
+m4_undefine([maj_have])
+m4_undefine([maj_needed])
 ]) # XORG_MACROS_VERSION
 
 # XORG_PROG_RAWCPP()
@@ -445,9 +442,9 @@ if  test "x$GCC" = xyes ; then
     CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
 -Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
 -Wbad-function-cast"
-    case `gcc -dumpversion` in
+    case `$CC -dumpversion` in
     3.4.* | 4.*)
-	CWARNFLAGS+=" -Wold-style-definition -Wdeclaration-after-statement"
+	CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
 	;;
     esac
 else

commit 8f72294ada477f003888b6776883c1dd98289f3f
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Jun 3 03:37:37 2009 +0200

    Kill custom readlink function
    
    This was needed for very, very old versions of debianutils.
    Closes: #498890

diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
index 197eb74..781826f 100644
--- a/debian/xsfbs/xsfbs.sh
+++ b/debian/xsfbs/xsfbs.sh
@@ -303,16 +303,6 @@ EOF
   fi
 }
 
-# we require a readlink command or shell function
-if ! which readlink > /dev/null 2>&1; then
-  message "The readlink command was not found.  Please install version" \
-          "1.13.1 or later of the debianutils package."
-  readlink () {
-    # returns what symlink in $1 actually points to
-    perl -e '$l = shift; exit 1 unless -l $l; $r = readlink $l; exit 1 unless $r; print "$r\n"' "$1"
-  }
-fi
-
 check_symlink () {
   # syntax: check_symlink symlink
   #

commit 7deebf983f53c505bc25171ab77fdc408f250a6e
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue May 26 15:58:19 2009 +0200

    xsfbs: don't run dpkg --print-installation-architecture
    
    This is deprecated in new dpkg, and had no users anyway.

diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
index 8840ff9..197eb74 100644
--- a/debian/xsfbs/xsfbs.sh
+++ b/debian/xsfbs/xsfbs.sh
@@ -57,8 +57,6 @@ EOF
   exit $SHELL_LIB_USAGE_ERROR
 fi
 
-ARCHITECTURE="$(dpkg --print-installation-architecture)"
-
 if [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
   RECONFIGURE="true"
 else

commit 4178d948cd66a938222d0d7c6353ee8d60229e40
Author: David Nusinow <dnusinow@debian.org>
Date:   Mon May 25 20:08:50 2009 -0400

    Add README.source

diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..34ab4bf
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,73 @@
+------------------------------------------------------
+Quick Guide To Patching This Package For The Impatient
+------------------------------------------------------
+
+1. Make sure you have quilt installed
+2. Unpack the package as usual with "dpkg-source -x"
+3. Run the "patch" target in debian/rules
+4. Create a new patch with "quilt new" (see quilt(1))
+5. Edit all the files you want to include in the patch with "quilt edit" 
+   (see quilt(1)).
+6. Write the patch with "quilt refresh" (see quilt(1))
+7. Run the "clean" target in debian/rules
+
+Alternatively, instead of using quilt directly, you can drop the patch in to 
+debian/patches and add the name of the patch to debian/patches/series.
+
+------------------------------------
+Guide To The X Strike Force Packages
+------------------------------------
+
+The X Strike Force team maintains X packages in git repositories on
+git.debian.org in the pkg-xorg subdirectory. Most upstream packages
+are actually maintained in git repositories as well, so they often
+just need to be pulled into git.debian.org in a "upstream-*" branch.
+Otherwise, the upstream sources are manually installed in the Debian
+git repository.
+
+The .orig.tar.gz upstream source file could be generated this
+"upstream-*" branch in the Debian git repository but it is actually
+copied from upstream tarballs directly.
+
+Due to X.org being highly modular, packaging all X.org applications
+as their own independent packages would have created too many Debian
+packages. For this reason, some X.org applications have been grouped
+into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils,
+x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils.
+Most packages, including the X.org server itself and all libraries
+and drivers are, however maintained independently.
+
+The Debian packaging is added by creating the "debian-*" git branch
+which contains the aforementioned "upstream-*" branch plus the debian/
+repository files.
+When a patch has to be applied to the Debian package, two solutions
+are involved:
+* If the patch is available in one of the upstream branches, it
+  may be git'cherry-picked into the Debian repository. In this
+  case, it appears directly in the .diff.gz.
+* Otherwise, the patch is added to debian/patches/ which is managed
+  with quilt as documented in /usr/share/doc/quilt/README.source.
+
+quilt is actually invoked by the Debian X packaging through a larger
+set of scripts called XSFBS. XSFBS brings some other X specific
+features such as managing dependencies and conflicts due to the video
+and input driver ABIs.
+XSFBS itself is maintained in a separate repository at
+  git://git.debian.org/pkg-xorg/xsfbs.git
+and it is pulled inside the other Debian X repositories when needed.
+
+The XSFBS patching system requires a build dependency on quilt. Also
+a dependency on $(STAMP_DIR)/patch has to be added to debian/rules
+so that the XSFBS patching occurs before the actual build. So the
+very first target of the build (likely the one running autoreconf)
+should depend on $(STAMP_DIR)/patch. It should also not depend on
+anything so that parallel builds are correctly supported (nothing
+should probably run while patching is being done). And finally, the
+clean target should depend on the xsfclean target so that patches
+are unapplied on clean.
+
+When the upstream sources contain some DFSG-nonfree files, they are
+listed in text files in debian/prune/ in the "debian-*" branch of
+the Debian repository. XSFBS' scripts then take care of removing
+these listed files during the build so as to generate a modified
+DFSG-free .orig.tar.gz tarball.

commit fa6396d6bf68b9a0154089146287245f9ad60a1e
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Feb 25 21:31:03 2009 +0100

    xsfbs: repack.sh needs to be executable

diff --git a/debian/xsfbs/repack.sh b/debian/xsfbs/repack.sh
old mode 100644
new mode 100755

commit 2ed171f9f390de4e97141c0016d3ba615e8c943e
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Feb 17 17:20:42 2009 +0100

    xsfbs.sh: kill {,de}register_x_lib_dir_with_ld_so
    
    libx11's postinst was the only post-sarge user, and it's gone now.

diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
index 72efa95..8840ff9 100644
--- a/debian/xsfbs/xsfbs.sh
+++ b/debian/xsfbs/xsfbs.sh
@@ -719,72 +719,6 @@ run () {
   fi
 }
 
-register_x_lib_dir_with_ld_so () {
-  # syntax: register_x_lib_dir_with_ld_so
-  #
-  # Configure the dynamic loader ld.so to search /usr/X11R6/lib for shared
-  # libraries.
-  #
-  # Call this function from the postinst script of a package that places a
-  # shared library in /usr/X11R6/lib, before invoking ldconfig.
-
-  local dir ldsoconf
-
-  dir="/usr/X11R6/lib"
-  ldsoconf="/etc/ld.so.conf"
-
-  # is the line not already present?
-  if ! fgrep -qsx "$dir" "$ldsoconf"; then
-    observe "adding $dir directory to $ldsoconf"
-    echo "$dir" >> "$ldsoconf"
-  fi
-}
-
-deregister_x_lib_dir_with_ld_so () {
-  # syntax: deregister_x_lib_dir_with_ld_so
-  #
-  # Configure dynamic loader ld.so to not search /usr/X11R6/lib for shared
-  # libraries, if and only if no shared libaries remain there.
-  #
-  # Call this function from the postrm script of a package that places a shared
-  # library in /usr/X11R6/lib, in the event "$1" is "remove", and before
-  # invoking ldconfig.
-
-  local dir ldsoconf fgrep_status cmp_status
-
-  dir="/usr/X11R6/lib"
-  ldsoconf="/etc/ld.so.conf"
-
-  # is the line present?
-  if fgrep -qsx "$dir" "$ldsoconf"; then
-    # are there any shared objects in the directory?
-    if [ "$(echo "$dir"/lib*.so.*.*)" = "$dir/lib*.so.*.*" ]; then
-      # glob expansion produced nothing, so no shared libraries are present
-      observe "removing $dir directory from $ldsoconf"
-      # rewrite the file (very carefully)
-      set +e
-      fgrep -svx "$dir" "$ldsoconf" > "$ldsoconf.dpkg-tmp"
-      fgrep_status=$?
-      set -e
-      case $fgrep_status in
-        0|1) ;; # we don't actually care if any lines matched or not
-        *) die "error reading \"$ldsoconf\"; fgrep exited with status" \
-          "$fgrep_status" ;;
-      esac
-      set +e
-      cmp -s "$ldsoconf.dpkg-tmp" "$ldsoconf"
-      cmp_status=$?
-      set -e
-      case $cmp_status in
-        0) rm "$ldsoconf.dpkg-tmp" ;; # files are identical
-        1) mv "$ldsoconf.dpkg-tmp" "$ldsoconf" ;; # files differ
-        *) die "error comparing \"$ldsoconf.dpkg-tmp\" to \"$ldsoconf\";" \
-          "cmp exited with status $cmp_status" ;;
-      esac
-    fi
-  fi
-}
-
 make_symlink_sane () {
   # syntax: make_symlink_sane symlink target
   #

commit 84b7d5bf7a57cab80ba3696ce95028c2f67ba76d
Author: Julien Cristau <jcristau@debian.org>
Date:   Sun Feb 1 01:31:31 2009 +0100

    xsfbs: add a repack script for uscan
    
    This will automatically prune upstream tarballs

diff --git a/debian/xsfbs/repack.sh b/debian/xsfbs/repack.sh
new file mode 100644
index 0000000..5935cc9
--- /dev/null
+++ b/debian/xsfbs/repack.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+set -e
+
+if ! [ -d debian/prune ]; then
+	exit 0
+fi
+
+if [ "x$1" != x--upstream-version ]; then
+	exit 1
+fi
+
+version="$2"
+filename="$3"
+
+if [ -z "$version" ] || ! [ -f "$filename" ]; then
+	exit 1
+fi
+
+dir="$(pwd)"
+tempdir="$(mktemp -d)"
+
+cd "$tempdir"
+tar xf "$dir/$filename"
+cat "$dir"/debian/prune/* | while read file; do rm -f */$file; done
+
+tar czf "$dir/$filename" *
+cd "$dir"
+rm -rf "$tempdir"
+echo "Done pruning upstream tarball"
+
+exit 0


Reply to: