debian/changelog | 8 debian/control | 2 debian/copyright | 4 debian/xsfbs/xsfbs-autoreconf.mk | 150 ++++++ debian/xsfbs/xsfbs.mk | 388 ++++++++++++++++ debian/xsfbs/xsfbs.sh | 907 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 1458 insertions(+), 1 deletion(-)
New commits: commit 8ec0e959a962f5f97a12a539b947be6956020796 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Tue Jul 24 18:37:26 2007 +0200 * Add myself to Uploaders and remove Branden with his permission. diff --git a/debian/changelog b/debian/changelog index fad5214..ee888c1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,8 +2,9 @@ xfonts-100dpi (1:1.0.0-4) unstable; urgency=low * Add upstream URL to debian/copyright (closes: #434286). Thanks, Josip Rodin! + * Add myself to Uploaders and remove Branden with his permission. - -- Julien Cristau <[EMAIL PROTECTED]> Tue, 24 Jul 2007 18:27:39 +0200 + -- Julien Cristau <[EMAIL PROTECTED]> Tue, 24 Jul 2007 18:36:55 +0200 xfonts-100dpi (1:1.0.0-3) unstable; urgency=medium diff --git a/debian/control b/debian/control index 9e667bf..c239f33 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: xfonts-100dpi Section: x11 Priority: optional Maintainer: Debian X Strike Force <debian-x@lists.debian.org> -Uploaders: David Nusinow <[EMAIL PROTECTED]>, Branden Robinson <[EMAIL PROTECTED]> +Uploaders: David Nusinow <[EMAIL PROTECTED]>, Julien Cristau <[EMAIL PROTECTED]> Build-Depends: debhelper (>= 5.0.31), pkg-config, xutils, xfonts-utils (>= 1:1.0.0-3) Standards-Version: 3.7.2 commit 85a54e771c0395f7e44f16db5ccf476a8919849e Author: Julien Cristau <[EMAIL PROTECTED]> Date: Tue Jul 24 18:30:59 2007 +0200 Add upstream URL to debian/copyright. diff --git a/debian/changelog b/debian/changelog index 2fe7e71..fad5214 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xfonts-100dpi (1:1.0.0-4) unstable; urgency=low + + * Add upstream URL to debian/copyright (closes: #434286). + Thanks, Josip Rodin! + + -- Julien Cristau <[EMAIL PROTECTED]> Tue, 24 Jul 2007 18:27:39 +0200 + xfonts-100dpi (1:1.0.0-3) unstable; urgency=medium [ Eugene Konev ] diff --git a/debian/copyright b/debian/copyright index 850cf94..b1dfd90 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,3 +1,7 @@ +This package contains the font-adobe-100dpi, font-bh-100dpi, +font-bh-lucidatypewriter-100dpi and font-bitstream-100dpi tarballs +downloaded from: http://xorg.freedesktop.org/releases/individual/font/ + Copyright 1984-1989, 1994 Adobe Systems Incorporated. Copyright 1988, 1994 Digital Equipment Corporation. commit 12a633f722a2ff9677728d1e2ae56767f804232a Author: Brice Goglin <[EMAIL PROTECTED]> Date: Thu Jul 12 16:06:22 2007 +0200 Fix "display the output of quilt push/pop". Fix commit 16d97b30b91da02d5a3edc2b895cbd4a1995f62d to check the return value of quilt, not the one of tee. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 5f13302..bfca7bb 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -147,9 +147,11 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare fi; \ if $(QUILT) next >/dev/null 2>&1; then \ echo -n "Applying patches..."; \ - if $(QUILT) push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \ + if $(QUILT) push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \ + cat $(STAMP_DIR)/log/patch; \ echo "successful."; \ else \ + cat $(STAMP_DIR)/log/patch; \ echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \ exit 1; \ fi; \ @@ -164,9 +166,11 @@ unpatch: rm -f $(STAMP_DIR)/patch @echo -n "Unapplying patches..."; \ if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \ - if $(QUILT) pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \ + if $(QUILT) pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \ + cat $(STAMP_DIR)/log/unpatch; \ echo "successful."; \ else \ + cat $(STAMP_DIR)/log/unpatch; \ echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \ exit 1; \ fi; \ commit e29b56820909668b062fdba72458ee9483a4ae44 Author: Brice Goglin <[EMAIL PROTECTED]> Date: Mon Jul 9 21:50:47 2007 +0200 Minor fixes in the patching system. * Fix debian/rules to not be confused by ~/.quiltrc or QUILT_PATCHES (as in #369920). * Display which patches are applied and removed instead of just the first one (for #428090). diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 2930c1e..5f13302 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -21,6 +21,11 @@ # Pass $(DH_OPTIONS) into the environment for debhelper's benefit. export DH_OPTIONS +# force quilt to not use ~/.quiltrc +QUILT = quilt --quiltrc /dev/null +# force QUILT_PATCHES to the default in case it is exported in the environment +QUILT_PATCHES = patches/ + # Set up parameters for the upstream build environment. # Determine (source) package name from Debian changelog. @@ -140,9 +145,9 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \ exit 1; \ fi; \ - if quilt next >/dev/null 2>&1; then \ + if $(QUILT) next >/dev/null 2>&1; then \ echo -n "Applying patches..."; \ - if quilt push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \ + if $(QUILT) push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \ echo "successful."; \ else \ echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \ @@ -159,7 +164,7 @@ unpatch: rm -f $(STAMP_DIR)/patch @echo -n "Unapplying patches..."; \ if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \ - if quilt pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \ + if $(QUILT) pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \ echo "successful."; \ else \ echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \ @@ -295,17 +300,17 @@ patch-audit: 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/');\ + 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 "fuzzy patch: $$(quilt top)" \ - | tee -a $(STAMP_DIR)/log/$$(quilt top); \ + echo "fuzzy patch: $$($(QUILT) top)" \ + | tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \ FUZZY=yes; \ ;; \ FAILED) \ - echo "broken patch: $$(quilt next)" \ - | tee -a $(STAMP_DIR)/log/$$(quilt next); \ + echo "broken patch: $$($(QUILT) next)" \ + | tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \ exit 1; \ ;; \ esac; \ commit 16d97b30b91da02d5a3edc2b895cbd4a1995f62d Author: Brice Goglin <[EMAIL PROTECTED]> Date: Mon Jul 9 19:06:05 2007 +0200 Fix displaying of patches applied by quilt. As requested in bug #428090, we silence the output of quilt next and display the output of quilt push/pop. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 63dde45..2930c1e 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -140,9 +140,9 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \ exit 1; \ fi; \ - if quilt next; then \ + if quilt next >/dev/null 2>&1; then \ echo -n "Applying patches..."; \ - if quilt push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \ + if quilt push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \ echo "successful."; \ else \ echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \ @@ -159,7 +159,7 @@ 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 \ + if quilt pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \ echo "successful."; \ else \ echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \ commit 271778bd6338575afa3e4ae7f614f38cdff8e2fb Author: Branden Robinson <[EMAIL PROTECTED](none)> Date: Thu Apr 12 23:18:32 2007 -0400 Test for existence of debian/patches directory before creating a symlink to it. This prevents packages that apply no patches from ending up with a broken symlink in them. Remove SVN keyword. Update copyright notice. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index d88c6db..63dde45 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -1,11 +1,10 @@ #!/usr/bin/make -f -# $Id$ -# Debian rules file for xorg-x11 source package +# Debian X Strike Force Build System (XSFBS): Make portion # Copyright 1996 Stephen Early # Copyright 1997 Mark Eichin -# Copyright 1998-2005 Branden Robinson +# Copyright 1998-2005, 2007 Branden Robinson # Copyright 2005 David Nusinow # # Licensed under the GNU General Public License, version 2. See the file @@ -127,7 +126,7 @@ $(STAMP_DIR)/prepare: $(STAMP_DIR)/stampdir if [ ! -e $(STAMP_DIR)/log ]; then \ mkdir $(STAMP_DIR)/log; \ fi; \ - if [ ! -e patches ]; then \ + if [ -e debian/patches ] && [ ! -e patches ]; then \ ln -s debian/patches patches; \ fi; \ >$@ commit 72811b4cede7275a35d36b44bcb5f431a8aa0133 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Fri Mar 2 20:28:15 2007 +0100 Fix copy/paste typo in the input driver provides. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 0343aec..d88c6db 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -359,7 +359,7 @@ VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null) SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS)) VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI) -INPDRIVER_PROVIDES = xserver-xorg-video-$(INPUTABI) +INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI) ifeq ($(PACKAGE),) PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) endif commit 4a943db2564c4f573ce2f5f676a841267e961f16 Author: David Nusinow <[EMAIL PROTECTED]> Date: Thu Mar 1 22:06:04 2007 -0500 Fix one missed bit from the serverabiver -> serverminver rename diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index cfc5496..0343aec 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -366,7 +366,7 @@ endif .PHONY: serverabi serverabi: -ifeq ($(SERVERABI),) +ifeq ($(SERVERMINVERS),) @echo error: xserver-xorg-dev needs to be installed @exit 1 else commit 1344bb9deda5ba54215d0ec5b164706999236b0b Author: David Nusinow <[EMAIL PROTECTED]> Date: Wed Feb 28 23:08:17 2007 -0500 Fix typo that prevented the input abi versioning from working. Good catch Julien diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 5e8cf41..cfc5496 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -356,7 +356,7 @@ debian/shlibs.local: SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null) VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) -INPUTABI = $(shell cat /usr/share/xserver-xorg/driverabiver 2>/dev/null) +INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null) SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS)) VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI) INPDRIVER_PROVIDES = xserver-xorg-video-$(INPUTABI) commit a0c9602f38e9d47d7a76b7b345e7e8bbb29b752f Author: David Nusinow <[EMAIL PROTECTED]> Date: Tue Feb 27 21:50:20 2007 -0500 Add support for X server input ABI versioning diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index d54ffd3..5e8cf41 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -355,9 +355,11 @@ debian/shlibs.local: cat debian/*.shlibs >$@ SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null) -SERVERABI = $(shell cat /usr/share/xserver-xorg/serverabiver 2>/dev/null) +VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) +INPUTABI = $(shell cat /usr/share/xserver-xorg/driverabiver 2>/dev/null) SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS)) -DRIVER_PROVIDES = xserver-xorg-video-$(SERVERABI) +VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI) +INPDRIVER_PROVIDES = xserver-xorg-video-$(INPUTABI) ifeq ($(PACKAGE),) PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) endif @@ -369,7 +371,8 @@ ifeq ($(SERVERABI),) @exit 1 else echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars - echo "xviddriver:Provides=$(DRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars + echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars + echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars endif include debian/xsfbs/xsfbs-autoreconf.mk commit 00fc799ec3107c0c29286b75e780bef82c1fa137 Author: David Nusinow <[EMAIL PROTECTED]> Date: Wed Feb 21 22:47:30 2007 -0500 Fix name of serverminver diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index ae767b1..d54ffd3 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -354,7 +354,7 @@ $(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir debian/shlibs.local: cat debian/*.shlibs >$@ -SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminvers 2>/dev/null) +SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null) SERVERABI = $(shell cat /usr/share/xserver-xorg/serverabiver 2>/dev/null) SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS)) DRIVER_PROVIDES = xserver-xorg-video-$(SERVERABI) commit dacefd5a6bb9f786c78f35358273e3214c7492e9 Author: David Nusinow <[EMAIL PROTECTED]> Date: Wed Feb 21 21:37:52 2007 -0500 Update serverabi generation to also account for driver Provides * Have the drivers use the file serverminver instead of serverabiver in order to generate the versioned dependency on the server. This is clearer naming. * Use serverabiver to actually store the server's video ABI version. This is used to generate the Provides: line for drivers so the server can depend on them properly. This goes in to the substvar xviddriver:Provides. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index dbb2872..ae767b1 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -354,8 +354,10 @@ $(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir debian/shlibs.local: cat debian/*.shlibs >$@ +SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminvers 2>/dev/null) SERVERABI = $(shell cat /usr/share/xserver-xorg/serverabiver 2>/dev/null) -SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERABI)) +SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS)) +DRIVER_PROVIDES = xserver-xorg-video-$(SERVERABI) ifeq ($(PACKAGE),) PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) endif @@ -367,6 +369,7 @@ ifeq ($(SERVERABI),) @exit 1 else echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars + echo "xviddriver:Provides=$(DRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars endif include debian/xsfbs/xsfbs-autoreconf.mk commit 9ed8b0c26438b90f187ef7c165d5a76cf8f340eb Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sat Feb 17 16:01:41 2007 +0100 Add new "serverabi" rule to generate drivers dependency on the server. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 7b8206e..dbb2872 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -354,6 +354,21 @@ $(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir debian/shlibs.local: cat debian/*.shlibs >$@ +SERVERABI = $(shell cat /usr/share/xserver-xorg/serverabiver 2>/dev/null) +SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERABI)) +ifeq ($(PACKAGE),) +PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) +endif + +.PHONY: serverabi +serverabi: +ifeq ($(SERVERABI),) + @echo error: xserver-xorg-dev needs to be installed + @exit 1 +else + echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars +endif + include debian/xsfbs/xsfbs-autoreconf.mk # vim:set noet ai sts=8 sw=8 tw=0: commit 502f9412dcaa6abd23b94372d86824c895cea3b8 Author: David Nusinow <[EMAIL PROTECTED]> Date: Sun Feb 4 20:43:28 2007 -0500 Move the files so they'll be put in debian/xsfbs automatically when pulled in to our git repos diff --git a/debian/xsfbs/xsfbs-autoreconf.mk b/debian/xsfbs/xsfbs-autoreconf.mk new file mode 100644 index 0000000..dce8fc8 --- /dev/null +++ b/debian/xsfbs/xsfbs-autoreconf.mk @@ -0,0 +1,150 @@ +#!/usr/bin/make -f +# $Id$ + +# Automagical conversion of autoreconf results into quilt patches. + +# Copyright 2006 Eugene Konev +# +# 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>. + +# The idea behind this is storing changes produced by autoreconf as a +# separate patch on quilt stack (on top of stack actually). +# The only usable target here is 'autoreconf`. Other targets are not +# supposed to be called directly. DO NOT invoke them, unless you know what +# you are doing. +# The autoreconf target will check if files with names in $(RECONF_CHECKFILES) +# were changed during patching (from upstream version or from previously +# autoreconfed version) and call actual autoreconfing if they were. +# The actual autoreconfing target (doautoreconf) WILL FAIL after +# calling autoreconf and pushing changes into quilt stack by design. It +# should never be invoked by automatic build process. +# The proposed use is adding autoreconf into clean's prerequisites before +# xsfclean like: +# - clean: xsfclean +# + clean: autoreconf xsfclean +# This will ensure it is called when you build package with dpkg-buildpackage. + +# This dir will be used for producing diff of autoreconfed tree +RECONF_DIR := xsfautoreconf + +# This files will be checked for changes +RECONF_CHECKFILES += configure.ac Makefile.am + +# This files will not be hardlinked but copied +RECONF_NOLINKFILES += aclocal.m4 + +# This files/dirs will be pruned after autoreconf run +RECONF_PRUNEFILES += autom4te.cache config.h.in~ aclocal.m4~ + +# Internal target. Never invoke directly. +stampdir_target+=check.md5sum +$(STAMP_DIR)/check.md5sum: + dh_testdir + $(MAKE) -f debian/rules prepare + for F in $(RECONF_CHECKFILES); do \ + find . -wholename ./$(STAMP_DIR) -prune -o -name $$F -print | \ + LC_ALL=C sort | xargs --no-run-if-empty md5sum >>$@; \ + done + +# Internal target. Never invoke directly. +$(STAMP_DIR)/clean.md5sum: + dh_testdir + $(MAKE) -f debian/rules unpatch + rm -f $(STAMP_DIR)/check.md5sum + $(MAKE) -f debian/rules $(STAMP_DIR)/check.md5sum + mv $(STAMP_DIR)/check.md5sum $@ + +# Internal target. Never invoke directly. +debian/patches/patched.md5sum: + dh_testdir + [ -f $(STAMP_DIR)/clean.md5sum ] || \ + $(MAKE) -f debian/rules $(STAMP_DIR)/clean.md5sum + + $(MAKE) -f debian/rules patch + rm -f $(STAMP_DIR)/check.md5sum + $(MAKE) -f debian/rules $(STAMP_DIR)/check.md5sum + if ! diff $(STAMP_DIR)/clean.md5sum \ + $(STAMP_DIR)/check.md5sum > /dev/null; then \ + $(MAKE) -f debian/rules doautoreconf; \ + else \ + mv $(STAMP_DIR)/check.md5sum $@; \ + fi + +# Internal target. Never invoke directly. +,PHONY: doautoreconf +doautoreconf: patch + quilt push -a >>$(STAMP_DIR)/log/autoreconf 2>&1 || true + if quilt applied | grep ^autoreconf.diff$$ > /dev/null; then \ + quilt pop -a >>$(STAMP_DIR)/log/autoreconf 2>&1; \ + quilt rename -p autoreconf.diff autoreconf-old.diff \ + >>$(STAMP_DIR)/log/autoreconf 2>&1; \ + quilt delete autoreconf-old.diff >>$(STAMP_DIR)/log/autoreconf 2>&1; \ + quilt push -a >>$(STAMP_DIR)/log/autoreconf 2>&1; \ + fi + + if [ -e $(RECONF_DIR) ]; then \ + echo "ERROR: $(RECONF_DIR) already exists. Cleanup by hand"; \ + exit 1; \ + fi + + mkdir -p $(RECONF_DIR)/before + find . -maxdepth 1 -mindepth 1 ! -wholename ./$(RECONF_DIR) \ + -a ! -wholename ./debian -a ! -wholename ./patches \ + -a ! -wholename ./.pc -a ! -wholename ./$(STAMP_DIR) | \ + xargs -i{} cp -al {} $(RECONF_DIR)/before/ + + for F in $(RECONF_PRUNEFILES); do \ + find $(RECONF_DIR)/before -name $$F -print | \ + xargs --no-run-if-empty rm -r; \ + done + + cp -al $(RECONF_DIR)/before $(RECONF_DIR)/after + + for F in $(RECONF_NOLINKFILES); do \ + find . -wholename ./$(RECONF_DIR) -prune -o -wholename ./debian \ + -prune -o -wholename ./$(STAMP_DIR) -prune -o -name $$F \ + -print | \ + xargs --no-run-if-empty -i{} cp --remove-destination {} \ + $(RECONF_DIR)/after/{}; \ + done + + cd $(RECONF_DIR)/after && autoreconf -v --install && \ + for F in $(RECONF_PRUNEFILES); do \ + find . -name $$F -print | \ + xargs --no-run-if-empty rm -r; \ + done + + cd $(RECONF_DIR) && diff -Nru before after > autoreconf.diff || true + + quilt import $(RECONF_DIR)/autoreconf.diff \ + >>$(STAMP_DIR)/log/autoreconf 2>&1 + + mv $(STAMP_DIR)/check.md5sum debian/patches/patched.md5sum + + rm -r $(RECONF_DIR) && rm -f patches/autoreconf-old.diff + + @echo + @echo "****************************************************************" + @echo " This target is made to fail INTENTIONALLY. It should NEVER " + @echo " be invoked during automatic builds. " + @echo + @echo " This target was invoked because you added/removed/changed " + @echo " patches which modify either configure.ac or Makefile.am and, " + @echo " thus, require autoreconf run. And all autoreconfing should " + @echo " happen before uploading. " + @echo + @echo " (See also debian/xsfbs/xsfbs-autoreconf.mk) " + @echo + @echo " If you see this message, autoreconfing actually SUCCEEDED, " + @echo " and your build should finish successfully, when rerun. " + @echo "****************************************************************" + @echo + exit 1; + +.PHONY: autoreconf +autoreconf: debian/patches/patched.md5sum patch $(STAMP_DIR)/check.md5sum + if ! diff $(STAMP_DIR)/check.md5sum \ + debian/patches/patched.md5sum > /dev/null; then \ + $(MAKE) -f debian/rules doautoreconf; \ + fi diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk new file mode 100755 index 0000000..7b8206e --- /dev/null +++ b/debian/xsfbs/xsfbs.mk @@ -0,0 +1,359 @@ +#!/usr/bin/make -f +# $Id$ + +# Debian rules file for xorg-x11 source package + +# Copyright 1996 Stephen Early +# Copyright 1997 Mark Eichin +# Copyright 1998-2005 Branden Robinson +# Copyright 2005 David Nusinow +# +# 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>. + +# Originally by Stephen Early <[EMAIL PROTECTED]> +# Modified by Mark W. Eichin <[EMAIL PROTECTED]> +# Modified by Adam Heath <[EMAIL PROTECTED]> +# Modified by Branden Robinson <[EMAIL PROTECTED]> +# Modified by Fabio Massimo Di Nitto <[EMAIL PROTECTED]> +# Modified by David Nusinow <[EMAIL PROTECTED]> +# Acknowledgements to Manoj Srivastava. + +# Pass $(DH_OPTIONS) into the environment for debhelper's benefit. +export DH_OPTIONS + +# Set up parameters for the upstream build environment. + +# 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/-.*//') + +# Determine the source version without the epoch for make-orig-tar-gz +NO_EPOCH_VER:=$(shell echo $(UPSTREAM_VERSION) | sed 's/^.://') + +# Figure out who's building this package. +BUILDER:=$(shell echo $${DEBEMAIL:-$${EMAIL:-$$(echo [EMAIL PROTECTED](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) + +# Set up parameters for the Debian build environment. + +# Determine our architecture. +BUILD_ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH) +# Work around some old-time dpkg braindamage. +BUILD_ARCH:=$(subst i486,i386,$(BUILD_ARCH)) +# The DEB_HOST_ARCH variable may be set per the Debian cross-compilation policy. +ifdef DEB_HOST_ARCH + ARCH:=$(DEB_HOST_ARCH) +else + # dpkg-cross sets the ARCH environment variable; if set, use it. + ifdef ARCH + ARCH:=$(ARCH) + else + ARCH:=$(BUILD_ARCH) + endif +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 +#FIXME We need to define this in our debian/rules file + +# $(DEBTREEDIR) is where all install rules are told (via $(DESTDIR)) to place +# their files. +DEBTREEDIR:=$(CURDIR)/debian/tmp + +# 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: + +# Set up the $(STAMP_DIR) directory. +.PHONY: stampdir +stampdir_targets+=stampdir +stampdir: $(STAMP_DIR)/stampdir +$(STAMP_DIR)/stampdir: + mkdir $(STAMP_DIR) + >$@ + +# Set up the package build directory as quilt expects to find it. +.PHONY: prepare +stampdir_targets+=prepare +prepare: $(STAMP_DIR)/genscripts $(STAMP_DIR)/prepare $(STAMP_DIR)/patches $(STAMP_DIR)/log +$(STAMP_DIR)/prepare: $(STAMP_DIR)/stampdir + if [ ! -e $(STAMP_DIR)/patches ]; then \ + mkdir $(STAMP_DIR)/patches; \ + ln -s $(STAMP_DIR)/patches .pc; \ + echo 2 >$(STAMP_DIR)/patches/.version; \ + fi; \ + if [ ! -e $(STAMP_DIR)/log ]; then \ + mkdir $(STAMP_DIR)/log; \ + fi; \ + if [ ! -e patches ]; then \ + ln -s debian/patches patches; \ + fi; \ + >$@ + +# Apply all patches to the upstream source. +.PHONY: patch +stampdir_targets+=patch +patch: $(STAMP_DIR)/patch +$(STAMP_DIR)/patch: $(STAMP_DIR)/prepare + if ! [ `which quilt` ]; then \ + echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \ + exit 1; \ + fi; \ + if quilt next; then \ + 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)"; \ + exit 1; \ + fi; \ + else \ + echo "No patches to apply"; \ + fi; \ + >$@ + +# 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)"; \ + exit 1; \ + fi; \ + else \ + echo "nothing to do."; \ + fi + +# Clean the generated maintainer scripts. +.PHONY: cleanscripts +cleanscripts: + rm -f $(STAMP_DIR)/genscripts + rm -f debian/*.config \ + debian/*.postinst \ + debian/*.postrm \ + debian/*.preinst \ + debian/*.prerm + +# Clean the package build tree. +.PHONY: xsfclean +xsfclean: cleanscripts unpatch + dh_testdir + rm -f .pc patches + rm -rf $(STAMP_DIR) $(SOURCE_DIR) + rm -rf imports + dh_clean debian/shlibs.local \ + debian/MANIFEST.$(ARCH) debian/MANIFEST.$(ARCH).new \ + debian/po/pothead + +# 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"/)' <$< >$@ + +# Update POT and PO files. +.PHONY: updatepo +updatepo: debian/po/pothead + debian/scripts/debconf-updatepo --pot-header=pothead --verbose + +# 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 + # 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 \ + LC_ALL=C sort -u debian/MANIFEST.$(ARCH).in >debian/MANIFEST.$(ARCH); \ + else \ + if [ -e debian/MANIFEST.$(ARCH).all ]; then \ + LC_ALL=C sort -u debian/MANIFEST.$(ARCH).in debian/MANIFEST.$(ARCH).all >debian/MANIFEST.$(ARCH); \ + else \ + 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. + 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=$$?; \ + case $${DIFFSTATUS:-0} in \ + 0) ;; \ + 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).in file.' >&2; \ + else \ + echo 'MANIFEST check failed; please see debian/README' >&2; \ + exit 1; \ + fi; \ + ;; \ + *) echo "diff reported unexpected exit status $$DIFFSTATUS when performing MANIFEST check" >&2; \ + exit 1; \ + ;; \ + esac; \ + fi; \ + fi + >$@ + +# 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 + +# 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 + grep -rvh '^#' debian/prune/ | xargs --no-run-if-empty rm -rf + +# Change to what should be the correct directory, ensure it is, and if +# so, create the .orig.tar.gz file. Exclude the debian directory and its +# contents, and any .svn directories and their contents (so that we can safely +# build an .orig.tar.gz from SVN checkout, not just an export). +# +# Note: This rule is for Debian package maintainers' convenience, and is not +# needed for conventional build scenarios. +# +# 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 [ $(shell basename $(CURDIR)) != $(SOURCE_NAME)-$(NO_EPOCH_VER) ]; then \ + echo "Our current working directory has the wrong name. Renaming..." >&2; \ + mv $(CURDIR) $(SOURCE_NAME)-$(NO_EPOCH_VER); \ + fi; \ + tar --exclude=debian --exclude=debian/* \ + --exclude=.svn --exclude=.svn/* \ + -cf - $(SOURCE_NAME)-$(NO_EPOCH_VER) \ + | gzip -9 >$(SOURCE_NAME)_$(NO_EPOCH_VER).orig.tar.gz; \ + ) + +# 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. +.PHONY: patch-audit +patch-audit: 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 "fuzzy patch: $$(quilt top)" \ + | tee -a $(STAMP_DIR)/log/$$(quilt top); \ + FUZZY=yes; \ + ;; \ + FAILED) \ + echo "broken patch: $$(quilt next)" \ + | tee -a $(STAMP_DIR)/log/$$(quilt next); \ + exit 1; \ + ;; \ + esac; \ + done; \ + if [ -n "$$FUZZY" ]; then \ + echo "there were fuzzy patches; please fix."; \ + exit 1; \ + else \ + echo "done."; \ + fi + +# Generate the maintainer scripts. +.PHONY: genscripts +stampdir_targets+=genscripts +genscripts: $(STAMP_DIR)/genscripts +$(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir + 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/xsfbs/xsfbs.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)/' \ + -e 's/@DEFAULT_DCRESOLUTIONS@/$(DEFAULT_DCRESOLUTIONS)/' \ + <$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \ + rm $$MAINTSCRIPT.tmp; \ + fi; \ + done + # Validate syntax of generated shell scripts. + #sh debian/scripts/validate-posix-sh debian/*.config \ + # debian/*.postinst \ + # debian/*.postrm \ + # debian/*.preinst \ + # debian/*.prerm + >$@ + +# Generate the shlibs.local file. +debian/shlibs.local: + cat debian/*.shlibs >$@ + +include debian/xsfbs/xsfbs-autoreconf.mk + +# vim:set noet ai sts=8 sw=8 tw=0: diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh new file mode 100644 index 0000000..52473ca --- /dev/null +++ b/debian/xsfbs/xsfbs.sh @@ -0,0 +1,907 @@ +# $Id$ + +# This is the X Strike Force shell library for X Window System package +# maintainer scripts. It serves to define shell functions commonly used by +# such packages, and performs some error checking necessary for proper operation +# of those functions. By itself, it does not "do" much; the maintainer scripts +# invoke the functions defined here to accomplish package installation and +# removal tasks. + +# If you are reading this within a Debian package maintainer script (e.g., +# /var/lib/dpkg)info/PACKAGE.{config,preinst,postinst,prerm,postrm}), you can +# skip past this library by scanning forward in this file to the string +# "GOBSTOPPER". -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]