From 1d0081bdf60944d8ef0935a531dfbcc5f01739c5 Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Wed, 26 Aug 2009 18:20:11 +0200 Subject: [PATCH 01/13] xsfbs.sh: remove unused check_symlinks_and_{bomb,warn} --- debian/xsfbs/xsfbs.sh | 109 ------------------------------------------ 1 file changed, 109 deletions(-) diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index 781826f..4461b1a 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -303,115 +303,6 @@ EOF fi } -check_symlink () { - # syntax: check_symlink symlink - # - # See if specified symlink points where it is supposed to. Return 0 if it - # does, and 1 if it does not. - # - # Primarily used by check_symlinks_and_warn() and check_symlinks_and_bomb(). - - local symlink - - # validate arguments - if [ $# -ne 1 ]; then - usage_error "check_symlink() called with wrong number of arguments;" \ - "expected 1, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - symlink="$1" - - if [ "$(maplink "$symlink")" = "$(readlink "$symlink")" ]; then - return 0 - else - return 1 - fi -} - -check_symlinks_and_warn () { - # syntax: check_symlinks_and_warn symlink ... - # - # For each argument, check for symlink sanity, and warn if it isn't sane. - # - # Call this function from a preinst script in the event $1 is "upgrade" or - # "install". - - local errmsg symlink - - # validate arguments - if [ $# -lt 1 ]; then - usage_error "check_symlinks_and_warn() called with wrong number of" \ - "arguments; expected at least 1, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - while [ -n "$1" ]; do - symlink="$1" - if [ -L "$symlink" ]; then - if ! check_symlink "$symlink"; then - observe "$symlink symbolic link points to wrong location" \ - "$(readlink "$symlink"); removing" - rm "$symlink" - fi - elif [ -e "$symlink" ]; then - errmsg="$symlink exists and is not a symbolic link; this package cannot" - errmsg="$errmsg be installed until this" - if [ -f "$symlink" ]; then - errmsg="$errmsg file" - elif [ -d "$symlink" ]; then - errmsg="$errmsg directory" - else - errmsg="$errmsg thing" - fi - errmsg="$errmsg is removed" - die "$errmsg" - fi - shift - done -} - -check_symlinks_and_bomb () { - # syntax: check_symlinks_and_bomb symlink ... - # - # For each argument, check for symlink sanity, and bomb if it isn't sane. - # - # Call this function from a postinst script. - - local problem symlink - - # validate arguments - if [ $# -lt 1 ]; then - usage_error "check_symlinks_and_bomb() called with wrong number of" - "arguments; expected at least 1, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - while [ -n "$1" ]; do - problem= - symlink="$1" - if [ -L "$symlink" ]; then - if ! check_symlink "$symlink"; then - problem=yes - warn "$symlink symbolic link points to wrong location" \ - "$(readlink "$symlink")" - fi - elif [ -e "$symlink" ]; then - problem=yes - warn "$symlink is not a symbolic link" - else - problem=yes - warn "$symlink symbolic link does not exist" - fi - if [ -n "$problem" ]; then - analyze_path "$symlink" "$(readlink "$symlink")" - find_culprits "$symlink" - die "bad symbolic links on system" - fi - shift - done -} - font_update () { # run $UPDATECMDS in $FONTDIRS From 8eb3d6a5ce9964876e48ea56048f1a5135ef4f28 Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Wed, 26 Aug 2009 18:21:34 +0200 Subject: [PATCH 02/13] xsfbs.sh: remove unused analyze_path --- debian/xsfbs/xsfbs.sh | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index 4461b1a..f869274 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -230,32 +230,6 @@ maplink () { esac } -analyze_path () { - # given a supplied set of pathnames, break each one up by directory and do an - # ls -dl on each component, cumulatively; i.e. - # analyze_path /usr/X11R6/bin -> ls -dl /usr /usr/X11R6 /usr/X11R6/bin - # Thanks to Randolph Chung for this clever hack. - - local f g - - while [ -n "$1" ]; do - reject_whitespace "$1" - g= - message "Analyzing $1:" - for f in $(echo "$1" | tr / \ ); do - if [ -e /$g$f ]; then - ls -dl /$g$f /$g$f.dpkg-* 2> /dev/null || true - g=$g$f/ - else - message "/$g$f: nonexistent; directory contents of /$g:" - ls -l /$g - break - fi - done - shift - done -} - find_culprits () { local f p dpkg_info_dir possible_culprits smoking_guns bad_packages package \ msg From b6c6eceec66066ebac16c85cc75bfa8a4f6cf58a Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Wed, 26 Aug 2009 18:23:06 +0200 Subject: [PATCH 03/13] xsfbs.sh: remove unused maplink function --- debian/xsfbs/xsfbs.sh | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index f869274..7dbb196 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -199,37 +199,6 @@ usage_error () { exit $SHELL_LIB_USAGE_ERROR } - -maplink () { - # returns what symlink should point to; i.e., what the "sane" answer is - # Keep this in sync with the debian/*.links files. - # This is only needed for symlinks to directories. - # - # XXX: Most of these look wrong in the X11R7 world and need to be fixed. - # If we've stopped using this function, fixing it might enable us to re-enable - # it again and catch more errors. - case "$1" in - /etc/X11/xkb/compiled) echo /var/lib/xkb ;; - /etc/X11/xkb/xkbcomp) echo /usr/X11R6/bin/xkbcomp ;; - /usr/X11R6/lib/X11/app-defaults) echo /etc/X11/app-defaults ;; - /usr/X11R6/lib/X11/fs) echo /etc/X11/fs ;; - /usr/X11R6/lib/X11/lbxproxy) echo /etc/X11/lbxproxy ;; - /usr/X11R6/lib/X11/proxymngr) echo /etc/X11/proxymngr ;; - /usr/X11R6/lib/X11/rstart) echo /etc/X11/rstart ;; - /usr/X11R6/lib/X11/twm) echo /etc/X11/twm ;; - /usr/X11R6/lib/X11/xdm) echo /etc/X11/xdm ;; - /usr/X11R6/lib/X11/xinit) echo /etc/X11/xinit ;; - /usr/X11R6/lib/X11/xkb) echo /etc/X11/xkb ;; - /usr/X11R6/lib/X11/xserver) echo /etc/X11/xserver ;; - /usr/X11R6/lib/X11/xsm) echo /etc/X11/xsm ;; - /usr/bin/X11) echo ../X11R6/bin ;; - /usr/bin/rstartd) echo ../X11R6/bin/rstartd ;; - /usr/include/X11) echo ../X11R6/include/X11 ;; - /usr/lib/X11) echo ../X11R6/lib/X11 ;; - *) internal_error "maplink() called with unknown path \"$1\"" ;; - esac -} - find_culprits () { local f p dpkg_info_dir possible_culprits smoking_guns bad_packages package \ msg From 0dd71e12416aa7dc60ed68af8127e04609b125f4 Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Wed, 26 Aug 2009 18:23:53 +0200 Subject: [PATCH 04/13] xsfbs.sh: remove unused find_culprits function --- debian/xsfbs/xsfbs.sh | 47 ------------------------------------------- 1 file changed, 47 deletions(-) diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index 7dbb196..b3f4bbe 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -199,53 +199,6 @@ usage_error () { exit $SHELL_LIB_USAGE_ERROR } -find_culprits () { - local f p dpkg_info_dir possible_culprits smoking_guns bad_packages package \ - msg - - reject_whitespace "$1" - message "Searching for overlapping packages..." - dpkg_info_dir=/var/lib/dpkg/info - if [ -d $dpkg_info_dir ]; then - if [ "$(echo $dpkg_info_dir/*.list)" != "$dpkg_info_dir/*.list" ]; then - possible_culprits=$(ls -1 $dpkg_info_dir/*.list | egrep -v \ - "(xbase-clients|x11-common|xfs|xlibs)") - if [ -n "$possible_culprits" ]; then - smoking_guns=$(grep -l "$1" $possible_culprits || true) - if [ -n "$smoking_guns" ]; then - bad_packages=$(printf "\\n") - for f in $smoking_guns; do - # too bad you can't nest parameter expansion voodoo - p=${f%*.list} # strip off the trailing ".list" - package=${p##*/} # strip off the directories - bad_packages=$(printf "%s\n%s" "$bad_packages" "$package") - done - msg=$(cat < Date: Wed, 26 Aug 2009 18:47:09 +0200 Subject: [PATCH 05/13] xsfbs.sh: remove unused reject_whitespace function --- debian/xsfbs/xsfbs.sh | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index b3f4bbe..45acd59 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -93,22 +93,6 @@ reject_nondigits () { done } -reject_whitespace () { - # syntax: reject_whitespace [ operand ] - # - # scan operand (typically a shell variable whose value cannot be trusted) for - # whitespace characters and barf if any are found - if [ -n "$1" ]; then - # does the operand contain any whitespace? - if expr "$1" : "[[:space:]]" > /dev/null 2>&1; then - # can't use die(), because I want to avoid forward references - echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_whitespace() encountered" \ - "possibly malicious garbage \"$1\"" >&2 - exit $SHELL_LIB_THROWN_ERROR - fi - fi -} - reject_unlikely_path_chars () { # syntax: reject_unlikely_path_chars [ operand ... ] # From 5693792171d885769e58dcccc053c08b11acd12a Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Wed, 26 Aug 2009 18:53:36 +0200 Subject: [PATCH 06/13] xsfbs.mk: no need for shlibs.local --- debian/xsfbs/xsfbs.mk | 4 ---- 1 file changed, 4 deletions(-) diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index f0f8953..1f86848 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -265,10 +265,6 @@ $(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir # debian/*.prerm >$@ -# Generate the shlibs.local file. -debian/shlibs.local: - cat debian/*.shlibs >$@ - 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/inputabiver 2>/dev/null) From bda208ec00d0b7b3632f57fb27e014684cdf73ba Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Fri, 25 Sep 2009 15:33:39 +0200 Subject: [PATCH 07/13] xsfbs.sh: fix typo and remove svn keyword --- debian/xsfbs/xsfbs.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index 45acd59..813fd8d 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -1,5 +1,3 @@ -# $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 @@ -8,7 +6,7 @@ # 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 +# /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". From 9a4314c976e0d22e8d47f5d86163791e407a6ecc Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Fri, 25 Sep 2009 15:43:28 +0200 Subject: [PATCH 08/13] xsfbs.mk: kill obsolete DEFAULT_DCRESOLUTIONS and SOURCE_DIR usage These variables aren't set anywhere. --- debian/xsfbs/xsfbs.mk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 1f86848..82eb45f 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -176,7 +176,7 @@ cleanscripts: xsfclean: cleanscripts unpatch dh_testdir rm -rf .pc - rm -rf $(STAMP_DIR) $(SOURCE_DIR) + rm -rf $(STAMP_DIR) rm -rf imports dh_clean debian/shlibs.local \ debian/po/pothead @@ -252,7 +252,6 @@ $(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir | 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; \ From 2a1b4553fc2c5ba982e8bb8be4c504e28ce79ed1 Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Fri, 25 Sep 2009 16:39:23 +0200 Subject: [PATCH 09/13] xsfbs.mk: remove more obsolete code We can use plain debconf-updatepo, and don't need to clean the 'imports' directory or shlibs.local. --- debian/xsfbs/xsfbs.mk | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 82eb45f..5e16b10 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -177,19 +177,7 @@ xsfclean: cleanscripts unpatch dh_testdir rm -rf .pc rm -rf $(STAMP_DIR) - rm -rf imports - dh_clean debian/shlibs.local \ - 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 + dh_clean # 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. From 734e3b2d1dcfe5db07cb19902617fd1212c0c186 Mon Sep 17 00:00:00 2001 From: Cyril Brulebois Date: Thu, 1 Apr 2010 20:49:15 +0200 Subject: [PATCH 10/13] Fix typo. --- debian/README.source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/README.source b/debian/README.source index 34ab4bf..b09a1ab 100644 --- a/debian/README.source +++ b/debian/README.source @@ -25,7 +25,7 @@ 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 +The .orig.tar.gz upstream source file could be generated using this "upstream-*" branch in the Debian git repository but it is actually copied from upstream tarballs directly. From 8bd2e9b523da35493db1bd781d4ef6bfbbeb2eff Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Tue, 13 Apr 2010 14:06:33 +0200 Subject: [PATCH 11/13] xsfbs.mk: don't use a directory as a make target The timestamp on the directory gets updated each time a file is added in it, which causes useless rebuilds. --- debian/xsfbs/xsfbs.mk | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 5e16b10..351fea5 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -110,14 +110,15 @@ $(STAMP_DIR)/stampdir: .PHONY: prepare stampdir_targets+=prepare prepare: $(STAMP_DIR)/prepare -$(STAMP_DIR)/prepare: $(STAMP_DIR)/log $(STAMP_DIR)/genscripts +$(STAMP_DIR)/prepare: $(STAMP_DIR)/logdir $(STAMP_DIR)/genscripts >$@ -.PHONY: log -stampdir_targets+=log -log: $(STAMP_DIR)/log -$(STAMP_DIR)/log: $(STAMP_DIR)/stampdir +.PHONY: logdir +stampdir_targets+=logdir +logdir: $(STAMP_DIR)/logdir +$(STAMP_DIR)/logdir: $(STAMP_DIR)/stampdir mkdir -p $(STAMP_DIR)/log + >$@ # Apply all patches to the upstream source. .PHONY: patch @@ -145,7 +146,7 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare # Revert all patches to the upstream source. .PHONY: unpatch -unpatch: $(STAMP_DIR)/log +unpatch: $(STAMP_DIR)/logdir rm -f $(STAMP_DIR)/patch @echo -n "Unapplying patches..."; \ if $(QUILT) applied >/dev/null 2>/dev/null; then \ From b045afbd8277ad0c44e29d7c45802053c4335ccd Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Fri, 16 Apr 2010 22:14:46 +0200 Subject: [PATCH 12/13] Update serverabi rule for xserver 1.7.6.901 Add new variables ${xviddriver:Depends} and ${xinpdriver:Depends} for drivers. The ${xserver:Depends} variable is deprecated. --- debian/xsfbs/xsfbs.mk | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 351fea5..77c4a39 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -253,25 +253,33 @@ $(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir # debian/*.prerm >$@ -SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null) +# Compute dependencies for drivers +# +VIDEODEP = $(shell cat /usr/share/xserver-xorg/videodrvdep 2>/dev/null) +INPUTDEP = $(shell cat /usr/share/xserver-xorg/xinputdep 2>/dev/null) + +# these two can be removed post-squeeze 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-input-$(INPUTABI) + ifeq ($(PACKAGE),) PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) endif .PHONY: serverabi serverabi: install -ifeq ($(SERVERMINVERS),) - @echo error: xserver-xorg-dev needs to be installed +ifeq ($(VIDEODEP),) + @echo 'error: xserver-xorg-dev >= 1.7.6.901 needs to be installed' @exit 1 else - echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars + echo "xviddriver:Depends=$(VIDEODEP)" >> debian/$(PACKAGE).substvars + echo "xinpdriver:Depends=$(INPUTDEP)" >> debian/$(PACKAGE).substvars + # the following is there for compatibility... echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars + echo "xserver:Depends=$(VIDEODEP), $(INPUTDEP)" >> debian/$(PACKAGE).substvars endif # vim:set noet ai sts=8 sw=8 tw=0: From 81fc271788605b52e85c2d11635a0371fb44605e Mon Sep 17 00:00:00 2001 From: Cyril Brulebois Date: Sun, 2 May 2010 02:14:45 +0200 Subject: [PATCH 13/13] Add xorg-driver-{video,input} to Provides. --- debian/xsfbs/xsfbs.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 77c4a39..3c59c20 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -261,8 +261,8 @@ INPUTDEP = $(shell cat /usr/share/xserver-xorg/xinputdep 2>/dev/null) # these two can be removed post-squeeze VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null) -VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI) -INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI) +VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI), xorg-driver-video +INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI), xorg-driver-input ifeq ($(PACKAGE),) PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control)