debian/changelog | 4 debian/copyright | 4 debian/local/update-fonts-alias | 37 - debian/local/update-fonts-scale | 52 -- debian/xsfbs/xsfbs-autoreconf.mk | 150 ++++++ debian/xsfbs/xsfbs.mk | 388 ++++++++++++++++ debian/xsfbs/xsfbs.sh | 907 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 1488 insertions(+), 54 deletions(-)
New commits: commit 5334becaa7a698061af67f705210fa310386bc97 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Wed Jul 25 02:05:29 2007 +0200 Further cleanup of update-fonts-alias and update-fonts-scale. Unroll some loops which only ran once since the transition code for /usr/X11R6 was dropped. diff --git a/debian/local/update-fonts-alias b/debian/local/update-fonts-alias index baf6159..508e313 100644 --- a/debian/local/update-fonts-alias +++ b/debian/local/update-fonts-alias @@ -119,14 +119,11 @@ while [ -n "$1" ]; do fi VALIDDEST= - for DIR in "$X11R7DIR"; do - [ -n "$DIR" ] || continue - if [ -d "$DIR" ]; then + if [ -d "$X11R7DIR" ]; then VALIDDEST=yes - else - warn "$DIR does not exist or is not a directory" - fi - done + else + warn "$X11R7DIR does not exist or is not a directory" + fi if [ -z "$VALIDSRC" ] || [ -z "$VALIDDEST" ]; then continue @@ -135,34 +132,28 @@ while [ -n "$1" ]; do # Are there any files to process? if [ "$(echo "$ETCDIR"/*.alias "$ETC7DIR"/*.alias)" != "$ETCDIR/*.alias $ETC7DIR/*.alias" ] then - for XDIR in "$X11R7DIR"; do - if [ -z "$XDIR" ] || ! [ -d "$XDIR" ]; then - continue - fi + if [ -n "$X11R7DIR" ] && [ -d "$X11R7DIR" ]; then # Write the new alias file in a temporary location in case we are # interrupted. - cat >"$XDIR/fonts.alias.update-new" <<EOF + cat >"$X11R7DIR/fonts.alias.update-new" <<EOF !! fonts.alias -- automatically generated file. DO NOT EDIT. !! To modify, see update-fonts-alias(8). EOF for FILE in "$ETCDIR"/*.alias "$ETC7DIR"/*.alias; do [ -e "$FILE" ] || continue - echo "!! $FILE" >>"$XDIR/fonts.alias.update-new" - cat "$FILE" >>"$XDIR/fonts.alias.update-new" + echo "!! $FILE" >>"$X11R7DIR/fonts.alias.update-new" + cat "$FILE" >>"$X11R7DIR/fonts.alias.update-new" done - mv "$XDIR/fonts.alias.update-new" "$XDIR/fonts.alias" - done + mv "$X11R7DIR/fonts.alias.update-new" "$X11R7DIR/fonts.alias" + fi else - for XDIR in "$X11R7DIR"; do - if [ -z "$XDIR" ] || ! [ -d "$XDIR" ]; then - continue - fi + if [ -n "$X11R7DIR" ] && [ -d "$X11R7DIR" ]; then # There are no files to process; remove any alias file already in # the font directory. - rm -f "$XDIR/fonts.alias" + rm -f "$X11R7DIR/fonts.alias" # Remove the font directory if it is empty. - rmdir "$XDIR" >/dev/null 2>&1 || true - done + rmdir "$X11R7DIR" >/dev/null 2>&1 || true + fi fi done diff --git a/debian/local/update-fonts-scale b/debian/local/update-fonts-scale index 01f861c..163d550 100644 --- a/debian/local/update-fonts-scale +++ b/debian/local/update-fonts-scale @@ -126,14 +126,11 @@ while [ -n "$1" ]; do fi VALIDDEST= - for DIR in "$X11R7DIR"; do - [ -n "$DIR" ] || continue - if [ -d "$DIR" ]; then - VALIDDEST=yes - else - warn "$DIR does not exist or is not a directory" - fi - done + if [ -d "$X11R7DIR" ]; then + VALIDDEST=yes + else + warn "$X11R7DIR does not exist or is not a directory" + fi if [ -z "$VALIDSRC" ] || [ -z "$VALIDDEST" ]; then continue @@ -142,10 +139,7 @@ while [ -n "$1" ]; do # Are there any files to process? if [ "$(echo "$ETCDIR"/*.scale "$ETC7DIR"/*.scale)" != "$ETCDIR/*.scale $ETC7DIR/*.scale" ] then - for XDIR in "$X11R7DIR"; do - if [ -z "$XDIR" ] || ! [ -d "$XDIR" ]; then - continue - fi + if [ -n "$X11R7DIR" ] && [ -d "$X11R7DIR" ]; then for SCALEFILE in "$ETCDIR"/*.scale "$ETC7DIR"/*.scale; do [ -e "$SCALEFILE" ] || continue # Only write fonts to the .scale file that actually exist, so @@ -156,42 +150,40 @@ while [ -n "$1" ]; do # XXX: This technique will be tricked into yielding false # negatives if the font filename has whitespace in it. while read FONTFILE FONTNAME; do - if [ -f "$XDIR/$FONTFILE" ]; then + if [ -f "$X11R7DIR/$FONTFILE" ]; then echo "$FONTFILE $FONTNAME" \ - >>"$XDIR/fonts.scale.update-tmp" + >>"$X11R7DIR/fonts.scale.update-tmp" else trace "$SCALEFILE references nonexistent font file" \ "$FONTFILE; skipping" fi done <"$SCALEFILE" done - if [ -e "$XDIR/fonts.scale.update-tmp" ]; then + if [ -e "$X11R7DIR/fonts.scale.update-tmp" ]; then # Write the new scale file to a temporary location in case we # are interrupted. Write the new count to the top of file. Use # cat and pipe to wc so wc doesn't report the filename. - cat "$XDIR/fonts.scale.update-tmp" | wc -l | tr -d '[:blank:]' \ - >"$XDIR/fonts.scale.update-new" - cat "$XDIR/fonts.scale.update-tmp" \ - >>"$XDIR/fonts.scale.update-new" - mv "$XDIR/fonts.scale.update-new" "$XDIR/fonts.scale" - rm "$XDIR/fonts.scale.update-tmp" + cat "$X11R7DIR/fonts.scale.update-tmp" \ + | wc -l | tr -d '[:blank:]' \ + >"$X11R7DIR/fonts.scale.update-new" + cat "$X11R7DIR/fonts.scale.update-tmp" \ + >>"$X11R7DIR/fonts.scale.update-new" + mv "$X11R7DIR/fonts.scale.update-new" "$X11R7DIR/fonts.scale" + rm "$X11R7DIR/fonts.scale.update-tmp" else # No font in the processed *.scale files was in the current # directory, so remove fonts.scale. - rm -f "$XDIR/fonts.scale" + rm -f "$X11R7DIR/fonts.scale" fi - done + fi else - for XDIR in "$X11R7DIR"; do - if [ -z "$XDIR" ] || ! [ -d "$XDIR" ]; then - continue - fi + if [ -n "$X11R7DIR" ] && [ -d "$X11R7DIR" ]; then # No files to process; remove any fonts.scale file already in the # font directory. - rm -f "$XDIR/fonts.scale" + rm -f "$X11R7DIR/fonts.scale" # Remove the font directory if it is empty. - rmdir "$XDIR" >/dev/null 2>&1 || true - done + rmdir "$X11R7DIR" >/dev/null 2>&1 || true + fi fi done commit b3a2aab6abc4e6d3f67ce2b894e12e26db9878e9 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Wed Jul 25 01:42:39 2007 +0200 Add upstream URL to debian/copyright. diff --git a/debian/changelog b/debian/changelog index 6c6262a..552d6ff 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,8 +2,10 @@ xfonts-utils (1:1.0.1-2) UNRELEASED; urgency=low * update-fonts-{alias,dir,scale}: stop messing with X11R6 dirs (closes: #389085). + * Add upstream URL to debian/copyright (closes: #434289). Thanks, Josip + Rodin! - -- Julien Cristau <[EMAIL PROTECTED]> Fri, 30 Mar 2007 16:08:45 +0200 + -- Julien Cristau <[EMAIL PROTECTED]> Wed, 25 Jul 2007 01:41:41 +0200 xfonts-utils (1:1.0.1-1) unstable; urgency=low diff --git a/debian/copyright b/debian/copyright index 5f56263..dec3ee2 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,3 +1,7 @@ +This package contains the bdftopcf, font-util, mkfontdir and mkfontscale +utilities downloaded +from http://xorg.freedesktop.org/releases/individual/font/ + Copyright 1987, 1990, 1991, 1993, 1998 The Open Group Copyright (c) 2001-2003 by Juliusz Chroboczek Copyright (c) 2002 by Tomohiro KUBOTA 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; \ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]