ChangeLog | 15 + aclocal.m4 | 2 configure | 20 - configure.ac | 2 debian/changelog | 22 +- debian/control | 2 debian/patches/01_gen_pci_ids.diff | 12 - debian/rules | 2 debian/xsfbs/xsfbs-autoreconf.mk | 150 -------------- debian/xsfbs/xsfbs.mk | 51 +--- debian/xsfbs/xsfbs.sh | 387 +++++++++++++++++++------------------ ltmain.sh | 2 src/alp_driver.c | 10 13 files changed, 286 insertions(+), 391 deletions(-)
New commits: commit 73204f6d24ac286592a59f20c22b62a174eeb5c2 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Thu Sep 4 14:49:29 2008 +0200 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index ac9079d..534fae0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,8 @@ -xserver-xorg-video-cirrus (1:1.2.1-2) UNRELEASED; urgency=low +xserver-xorg-video-cirrus (1:1.2.1-2) experimental; urgency=low * Build against xserver 1.5. - -- Julien Cristau <[EMAIL PROTECTED]> Wed, 19 Mar 2008 20:55:15 +0100 + -- Julien Cristau <[EMAIL PROTECTED]> Thu, 04 Sep 2008 14:49:26 +0200 xserver-xorg-video-cirrus (1:1.2.1-1) unstable; urgency=low commit b5f4f9f7ff79e933236a9241ba91315d1e59827b Author: Julien Cristau <[EMAIL PROTECTED]> Date: Thu Sep 4 14:46:14 2008 +0200 Build against xserver 1.5. diff --git a/debian/changelog b/debian/changelog index 04b55b8..ac9079d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ xserver-xorg-video-cirrus (1:1.2.1-2) UNRELEASED; urgency=low - * Build against xserver 1.5 rc1. + * Build against xserver 1.5. -- Julien Cristau <[EMAIL PROTECTED]> Wed, 19 Mar 2008 20:55:15 +0100 diff --git a/debian/control b/debian/control index 45cf38f..8de852f 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: x11 Priority: optional Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Uploaders: David Nusinow <[EMAIL PROTECTED]>, Brice Goglin <[EMAIL PROTECTED]> -Build-Depends: debhelper (>= 5), pkg-config, quilt, xserver-xorg-dev (>= 2:1.4.99.901), x11proto-video-dev, x11proto-core-dev, x11proto-fonts-dev, x11proto-randr-dev, x11proto-render-dev, x11proto-xext-dev, dpkg-dev (>= 1.14.17) +Build-Depends: debhelper (>= 5), pkg-config, quilt, xserver-xorg-dev (>= 2:1.5), x11proto-video-dev, x11proto-core-dev, x11proto-fonts-dev, x11proto-randr-dev, x11proto-render-dev, x11proto-xext-dev, dpkg-dev (>= 1.14.17) Standards-Version: 3.7.3 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-cirrus Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-cirrus.git commit 86e7669f5d912824e341ea487a6257ec5433eb90 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Thu Jul 17 15:44:45 2008 +0200 xsfbs.mk: make 'log' a separate target 'prepare' runs genscripts, and we don't want that in unpatch, so create stampdir/log in a separate target, and make unpatch depend on that instead of prepare. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 984e81c..f0f8953 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -110,10 +110,15 @@ $(STAMP_DIR)/stampdir: .PHONY: prepare stampdir_targets+=prepare prepare: $(STAMP_DIR)/prepare -$(STAMP_DIR)/prepare: $(STAMP_DIR)/stampdir $(STAMP_DIR)/genscripts - mkdir -p $(STAMP_DIR)/log +$(STAMP_DIR)/prepare: $(STAMP_DIR)/log $(STAMP_DIR)/genscripts >$@ +.PHONY: log +stampdir_targets+=log +log: $(STAMP_DIR)/log +$(STAMP_DIR)/log: $(STAMP_DIR)/stampdir + mkdir -p $(STAMP_DIR)/log + # Apply all patches to the upstream source. .PHONY: patch stampdir_targets+=patch @@ -140,7 +145,7 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare # Revert all patches to the upstream source. .PHONY: unpatch -unpatch: $(STAMP_DIR)/prepare +unpatch: $(STAMP_DIR)/log rm -f $(STAMP_DIR)/patch @echo -n "Unapplying patches..."; \ if $(QUILT) applied >/dev/null 2>/dev/null; then \ commit 50619e730fcaf422ffa4451468520526b2a830b8 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Wed Jul 16 18:42:14 2008 +0200 xsfbs.mk: update the list of releases, and drop some unused code we haven't had a separate source tree since modularization. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index 2350f80..984e81c 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -44,9 +44,9 @@ NO_EPOCH_VER:=$(shell echo $(UPSTREAM_VERSION) | sed 's/^.://') 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 +# digits, dots, and/or the codename of a release 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) +OFFICIAL_BUILD:=$(shell VERSION=$(SOURCE_VERSION); if ! expr "$$(echo $${VERSION\#\#*-} | sed 's/\(woody\|sarge\|etch\|lenny\)//g')" : ".*[^0-9.].*" >/dev/null 2>&1; then echo yes; fi) # Set up parameters for the Debian build environment. @@ -69,16 +69,6 @@ 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 commit 6c29758eb1a2798f6b77516b7a75dc399769d217 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Wed Jul 16 18:22:01 2008 +0200 xsfbs.mk: more parallel make fixing diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index fa2431e..2350f80 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -119,8 +119,8 @@ $(STAMP_DIR)/stampdir: # 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)/prepare: $(STAMP_DIR)/stampdir +prepare: $(STAMP_DIR)/prepare +$(STAMP_DIR)/prepare: $(STAMP_DIR)/stampdir $(STAMP_DIR)/genscripts mkdir -p $(STAMP_DIR)/log >$@ commit 78b3958b14a5298165d8500d711342be1b7b6463 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Wed Jul 16 18:22:01 2008 +0200 xsfbs.mk: fix the prepare target for parallel make diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index b871b3b..fa2431e 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -119,11 +119,9 @@ $(STAMP_DIR)/stampdir: # 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)/log +prepare: $(STAMP_DIR)/genscripts $(STAMP_DIR)/prepare $(STAMP_DIR)/prepare: $(STAMP_DIR)/stampdir - if [ ! -e $(STAMP_DIR)/log ]; then \ - mkdir $(STAMP_DIR)/log; \ - fi; \ + mkdir -p $(STAMP_DIR)/log >$@ # Apply all patches to the upstream source. commit 4c2fb5aa80a15b5a9a9b51b03c7dc30496a22561 Author: Brice Goglin <[EMAIL PROTECTED]> Date: Sat May 31 13:23:24 2008 +0200 Update xsfbs/quilt patching rules to be compatible with the "3.0 (quilt)" source package. Thanks to Raphael Hertzog. See http://lists.debian.org/debian-x/2008/05/msg01250.html for details. diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk index c11923f..b871b3b 100755 --- a/debian/xsfbs/xsfbs.mk +++ b/debian/xsfbs/xsfbs.mk @@ -21,10 +21,8 @@ # 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/ +# force quilt to not use ~/.quiltrc and to use debian/patches +QUILT = QUILT_PATCHES=debian/patches quilt --quiltrc /dev/null # Set up parameters for the upstream build environment. @@ -121,19 +119,11 @@ $(STAMP_DIR)/stampdir: # 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 +prepare: $(STAMP_DIR)/genscripts $(STAMP_DIR)/prepare $(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 debian/patches ] && [ ! -e patches ]; then \ - ln -s debian/patches patches; \ - fi; \ >$@ # Apply all patches to the upstream source. @@ -162,10 +152,10 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare # Revert all patches to the upstream source. .PHONY: unpatch -unpatch: +unpatch: $(STAMP_DIR)/prepare rm -f $(STAMP_DIR)/patch @echo -n "Unapplying patches..."; \ - if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \ + if $(QUILT) applied >/dev/null 2>/dev/null; then \ if $(QUILT) pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \ cat $(STAMP_DIR)/log/unpatch; \ echo "successful."; \ @@ -192,7 +182,7 @@ cleanscripts: .PHONY: xsfclean xsfclean: cleanscripts unpatch dh_testdir - rm -rf .pc patches + rm -rf .pc rm -rf $(STAMP_DIR) $(SOURCE_DIR) rm -rf imports dh_clean debian/shlibs.local \ commit dcf4204d5328834172df80951a18de014b0f74ef Author: Julien Cristau <[EMAIL PROTECTED]> Date: Fri May 30 12:26:18 2008 +0200 xsfbs.sh: use 'local' now that policy allows it Policy 3.7.3 allows /bin/sh scripts to use 'local'. diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index 0c7607a..72efa95 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -238,19 +238,19 @@ analyze_path () { # analyze_path /usr/X11R6/bin -> ls -dl /usr /usr/X11R6 /usr/X11R6/bin # Thanks to Randolph Chung for this clever hack. - #local f g + local f g while [ -n "$1" ]; do reject_whitespace "$1" - _g= + 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/ + 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 + message "/$g$f: nonexistent; directory contents of /$g:" + ls -l /$g break fi done @@ -259,27 +259,27 @@ analyze_path () { } find_culprits () { - #local f p dpkg_info_dir possible_culprits smoking_guns bad_packages package \ - # msg + 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 \ + 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 + 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") + package=${p##*/} # strip off the directories + bad_packages=$(printf "%s\n%s" "$bad_packages" "$package") done - _msg=$(cat <<EOF + msg=$(cat <<EOF The following packages appear to have file overlaps with the X.Org packages; these packages are either very old, or in violation of Debian Policy. Try upgrading each of these packages to the latest available version if possible: @@ -291,17 +291,17 @@ Tracking System. You may want to refer the package maintainer to section 12.8 of the Debian Policy manual. EOF ) - message "$_msg" - message "The overlapping packages are: $_bad_packages" + message "$msg" + message "The overlapping packages are: $bad_packages" else message "no overlaps found." fi fi else - message "cannot search; no matches for $_dpkg_info_dir/*.list." + message "cannot search; no matches for $dpkg_info_dir/*.list." fi else - message "cannot search; $_dpkg_info_dir does not exist." + message "cannot search; $dpkg_info_dir does not exist." fi } @@ -323,7 +323,7 @@ check_symlink () { # # Primarily used by check_symlinks_and_warn() and check_symlinks_and_bomb(). - #local symlink + local symlink # validate arguments if [ $# -ne 1 ]; then @@ -332,9 +332,9 @@ check_symlink () { exit $SHELL_LIB_USAGE_ERROR fi - _symlink="$1" + symlink="$1" - if [ "$(maplink "$_symlink")" = "$(readlink "$_symlink")" ]; then + if [ "$(maplink "$symlink")" = "$(readlink "$symlink")" ]; then return 0 else return 1 @@ -349,7 +349,7 @@ check_symlinks_and_warn () { # Call this function from a preinst script in the event $1 is "upgrade" or # "install". - #local errmsg symlink + local errmsg symlink # validate arguments if [ $# -lt 1 ]; then @@ -359,25 +359,25 @@ check_symlinks_and_warn () { 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" + 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" + 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" + errmsg="$errmsg thing" fi - _errmsg="$_errmsg is removed" - die "$_errmsg" + errmsg="$errmsg is removed" + die "$errmsg" fi shift done @@ -390,7 +390,7 @@ check_symlinks_and_bomb () { # # Call this function from a postinst script. - #local problem symlink + local problem symlink # validate arguments if [ $# -lt 1 ]; then @@ -400,24 +400,24 @@ check_symlinks_and_bomb () { 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")" + 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" + elif [ -e "$symlink" ]; then + problem=yes + warn "$symlink is not a symbolic link" else - _problem=yes - warn "$_symlink symbolic link does not exist" + problem=yes + warn "$symlink symbolic link does not exist" fi - if [ -n "$_problem" ]; then - analyze_path "$_symlink" "$(readlink "$_symlink")" - find_culprits "$_symlink" + if [ -n "$problem" ]; then + analyze_path "$symlink" "$(readlink "$symlink")" + find_culprits "$symlink" die "bad symbolic links on system" fi shift @@ -427,9 +427,9 @@ check_symlinks_and_bomb () { font_update () { # run $UPDATECMDS in $FONTDIRS - #local dir cmd shortcmd x_font_dir_prefix + local dir cmd shortcmd x_font_dir_prefix - _x_font_dir_prefix="/usr/share/fonts/X11" + x_font_dir_prefix="/usr/share/fonts/X11" if [ -z "$UPDATECMDS" ]; then usage_error "font_update() called but \$UPDATECMDS not set" @@ -441,32 +441,32 @@ font_update () { reject_unlikely_path_chars "$UPDATECMDS" reject_unlikely_path_chars "$FONTDIRS" - for _dir in $FONTDIRS; do - if [ -d "$_x_font_dir_prefix/$_dir" ]; then - for _cmd in $UPDATECMDS; do - if which "$_cmd" > /dev/null 2>&1; then - _shortcmd=${_cmd##*/} - observe "running $_shortcmd in $_dir font directory" - _cmd_opts= - if [ "$_shortcmd" = "update-fonts-alias" ]; then - _cmd_opts=--x11r7-layout + for dir in $FONTDIRS; do + if [ -d "$x_font_dir_prefix/$dir" ]; then + for cmd in $UPDATECMDS; do + if which "$cmd" > /dev/null 2>&1; then + shortcmd=${cmd##*/} + observe "running $shortcmd in $dir font directory" + cmd_opts= + if [ "$shortcmd" = "update-fonts-alias" ]; then + cmd_opts=--x11r7-layout fi - if [ "$_shortcmd" = "update-fonts-dir" ]; then - _cmd_opts=--x11r7-layout + if [ "$shortcmd" = "update-fonts-dir" ]; then + cmd_opts=--x11r7-layout fi - if [ "$_shortcmd" = "update-fonts-scale" ]; then - _cmd_opts=--x11r7-layout + if [ "$shortcmd" = "update-fonts-scale" ]; then + cmd_opts=--x11r7-layout fi - $_cmd $_cmd_opts $_dir || warn "$_cmd $_cmd_opts $_dir" \ + $cmd $cmd_opts $dir || warn "$cmd $cmd_opts $dir" \ "failed; font directory data may not" \ "be up to date" else - warn "$_cmd not found; not updating corresponding $_dir font" \ + warn "$cmd not found; not updating corresponding $dir font" \ "directory data" fi done else - warn "$_dir is not a directory; not updating font directory data" + warn "$dir is not a directory; not updating font directory data" fi done } @@ -485,7 +485,7 @@ remove_conffile_prepare () { # version (or installed over a version removed-but-not-purged) prior to the # one in which the conffile was obsoleted. - #local conffile current_checksum + local conffile current_checksum # validate arguments if [ $# -lt 2 ]; then @@ -494,19 +494,19 @@ remove_conffile_prepare () { exit $SHELL_LIB_USAGE_ERROR fi - _conffile="$1" + conffile="$1" shift - # does the _conffile even exist? - if [ -e "$_conffile" ]; then + # does the conffile even exist? + if [ -e "$conffile" ]; then # calculate its checksum - _current_checksum=$(md5sum < "$_conffile" | sed 's/[[:space:]].*//') + current_checksum=$(md5sum < "$conffile" | sed 's/[[:space:]].*//') # compare it to each supplied checksum while [ -n "$1" ]; do - if [ "$_current_checksum" = "$1" ]; then + if [ "$current_checksum" = "$1" ]; then # we found a match; move the confffile and stop looking - observe "preparing obsolete conffile $_conffile for removal" - mv "$_conffile" "$_conffile.$THIS_PACKAGE-tmp" + observe "preparing obsolete conffile $conffile for removal" + mv "$conffile" "$conffile.$THIS_PACKAGE-tmp" break fi shift @@ -553,7 +553,7 @@ remove_conffile_commit () { # Call this function from a postinst script after having used # remove_conffile_prepare() in the preinst. - #local conffile + local conffile # validate arguments if [ $# -ne 1 ]; then @@ -562,12 +562,12 @@ remove_conffile_commit () { exit $SHELL_LIB_USAGE_ERROR fi - _conffile="$1" + conffile="$1" # if the temporary file created by remove_conffile_prepare() exists, remove it - if [ -e "$_conffile.$THIS_PACKAGE-tmp" ]; then - observe "committing removal of obsolete conffile $_conffile" - rm "$_conffile.$THIS_PACKAGE-tmp" + if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then + observe "committing removal of obsolete conffile $conffile" + rm "$conffile.$THIS_PACKAGE-tmp" fi } @@ -580,7 +580,7 @@ remove_conffile_rollback () { # or "abort-install" is after having used remove_conffile_prepare() in the # preinst. - #local conffile + local conffile # validate arguments if [ $# -ne 1 ]; then @@ -589,13 +589,13 @@ remove_conffile_rollback () { exit $SHELL_LIB_USAGE_ERROR fi - _conffile="$1" + conffile="$1" # if the temporary file created by remove_conffile_prepare() exists, move it # back - if [ -e "$_conffile.$THIS_PACKAGE-tmp" ]; then - observe "rolling back removal of obsolete conffile $_conffile" - mv "$_conffile.$THIS_PACKAGE-tmp" "$_conffile" + if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then + observe "rolling back removal of obsolete conffile $conffile" + mv "$conffile.$THIS_PACKAGE-tmp" "$conffile" fi } @@ -615,7 +615,7 @@ replace_conffile_with_symlink_prepare () { # version (or installed over a version removed-but-not-purged) prior to the # one in which the conffile was obsoleted. - #local conffile current_checksum + local conffile current_checksum # validate arguments if [ $# -lt 3 ]; then @@ -624,16 +624,16 @@ replace_conffile_with_symlink_prepare () { exit $SHELL_LIB_USAGE_ERROR fi - _oldconffile="$1" + oldconffile="$1" shift - _newconffile="$1" + newconffile="$1" shift remove_conffile_prepare "$_oldconffile" "$@" - # If $_oldconffile still exists, then md5sums didn't match. + # If $oldconffile still exists, then md5sums didn't match. # Copy it to new one. - if [ -f "$_oldconffile" ]; then - cp "$_oldconffile" "$_newconffile" + if [ -f "$oldconffile" ]; then + cp "$oldconffile" "$newconffile" fi } @@ -647,7 +647,7 @@ replace_conffile_with_symlink_commit () { # Call this function from a postinst script after having used # replace_conffile_with_symlink_prepare() in the preinst. - #local conffile + local conffile # validate arguments if [ $# -ne 1 ]; then @@ -656,9 +656,9 @@ replace_conffile_with_symlink_commit () { exit $SHELL_LIB_USAGE_ERROR fi - _conffile="$1" + conffile="$1" - remove_conffile_commit "$_conffile" + remove_conffile_commit "$conffile" } replace_conffile_with_symlink_rollback () { @@ -674,7 +674,7 @@ replace_conffile_with_symlink_rollback () { # You should have used replace_conffile_with_symlink_prepare() in the # preinst. - #local conffile + local conffile # validate arguments if [ $# -ne 2 ]; then @@ -683,12 +683,12 @@ replace_conffile_with_symlink_rollback () { exit $SHELL_LIB_USAGE_ERROR fi - _oldconffile="$1" - _newconffile="$2" + oldconffile="$1" + newconffile="$2" remove_conffile_rollback "$_oldconffile" - if [ -f "$_newconffile" ]; then - rm "$_newconffile" + if [ -f "$newconffile" ]; then + rm "$newconffile" fi } @@ -703,7 +703,7 @@ run () { # those cases the return value of the debconf command *must* be checked # before the string returned by debconf is used for anything. - #local retval + local retval # validate arguments if [ $# -lt 1 ]; then @@ -712,10 +712,10 @@ run () { exit $SHELL_LIB_USAGE_ERROR fi - "$@" || _retval=$? + "$@" || retval=$? - if [ ${_retval:-0} -ne 0 ]; then - observe "command \"$*\" exited with status $_retval" + if [ ${retval:-0} -ne 0 ]; then + observe "command \"$*\" exited with status $retval" fi } @@ -728,15 +728,15 @@ register_x_lib_dir_with_ld_so () { # 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 + local dir ldsoconf - _dir="/usr/X11R6/lib" - _ldsoconf="/etc/ld.so.conf" + 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" + if ! fgrep -qsx "$dir" "$ldsoconf"; then + observe "adding $dir directory to $ldsoconf" + echo "$dir" >> "$ldsoconf" fi } @@ -750,36 +750,36 @@ deregister_x_lib_dir_with_ld_so () { # library in /usr/X11R6/lib, in the event "$1" is "remove", and before # invoking ldconfig. - #local dir ldsoconf fgrep_status cmp_status + local dir ldsoconf fgrep_status cmp_status - _dir="/usr/X11R6/lib" - _ldsoconf="/etc/ld.so.conf" + dir="/usr/X11R6/lib" + ldsoconf="/etc/ld.so.conf" # is the line present? - if fgrep -qsx "$_dir" "$_ldsoconf"; then + if fgrep -qsx "$dir" "$ldsoconf"; then # are there any shared objects in the directory? - if [ "$(echo "$_dir"/lib*.so.*.*)" = "$_dir/lib*.so.*.*" ]; then + 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" + observe "removing $dir directory from $ldsoconf" # rewrite the file (very carefully) set +e - fgrep -svx "$_dir" "$_ldsoconf" > "$_ldsoconf.dpkg-tmp" - _fgrep_status=$? + fgrep -svx "$dir" "$ldsoconf" > "$ldsoconf.dpkg-tmp" + fgrep_status=$? set -e - case $_fgrep_status in + 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" ;; + *) die "error reading \"$ldsoconf\"; fgrep exited with status" \ + "$fgrep_status" ;; esac set +e - cmp -s "$_ldsoconf.dpkg-tmp" "$_ldsoconf" - _cmp_status=$? + 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" ;; + 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 @@ -811,17 +811,17 @@ make_symlink_sane () { # We could just use the positional parameters as-is, but that makes things # harder to follow. - #local symlink target + local symlink target - _symlink="$1" - _target="$2" + symlink="$1" + target="$2" - if [ -L "$_symlink" ] && [ "$(readlink "$_symlink")" = "$_target" ]; then - observe "link from $_symlink to $_target already exists" + if [ -L "$symlink" ] && [ "$(readlink "$symlink")" = "$target" ]; then + observe "link from $symlink to $target already exists" else - observe "creating symbolic link from $_symlink to $_target" - mkdir -p "${_target%/*}" "${_symlink%/*}" - ln -s -b -S ".dpkg-old" "$_target" "$_symlink" + observe "creating symbolic link from $symlink to $target" + mkdir -p "${target%/*}" "${symlink%/*}" + ln -s -b -S ".dpkg-old" "$target" "$symlink" fi } @@ -857,73 +857,73 @@ migrate_dir_to_symlink () { # We could just use the positional parameters as-is, but that makes things # harder to follow. - local _new _old + local new old - _old="$1" - _new="$2" + old="$1" + new="$2" # Is old location a symlink? - if [ -L "$_old" ]; then + if [ -L "$old" ]; then # Does it already point to new location? - if [ "$(readlink "$_old")" = "$_new" ]; then + if [ "$(readlink "$old")" = "$new" ]; then # Nothing to do; migration has already been done. - observe "migration of $_old to $_new already done" + observe "migration of $old to $new already done" return 0 else # Back it up. - warn "backing up symbolic link $_old as $_old.dpkg-old" - mv -b "$_old" "$_old.dpkg-old" + warn "backing up symbolic link $old as $old.dpkg-old" + mv -b "$old" "$old.dpkg-old" fi fi # Does old location exist, but is not a directory? - if [ -e "$_old" ] && ! [ -d "$_old" ]; then + if [ -e "$old" ] && ! [ -d "$old" ]; then # Back it up. - warn "backing up non-directory $_old as $_old.dpkg-old" - mv -b "$_old" "$_old.dpkg-old" + warn "backing up non-directory $old as $old.dpkg-old" + mv -b "$old" "$old.dpkg-old" fi - observe "migrating $_old to $_new" + observe "migrating $old to $new" # Is new location a symlink? - if [ -L "$_new" ]; then + if [ -L "$new" ]; then # Does it point the wrong way, i.e., back to where we're migrating from? - if [ "$(readlink "$_new")" = "$_old" ]; then + if [ "$(readlink "$new")" = "$old" ]; then # Get rid of it. - observe "removing symbolic link $_new which points to $_old" - rm "$_new" + observe "removing symbolic link $new which points to $old" + rm "$new" else # Back it up. - warn "backing up symbolic link $_new as $_new.dpkg-old" - mv -b "$_new" "$_new.dpkg-old" + warn "backing up symbolic link $new as $new.dpkg-old" + mv -b "$new" "$new.dpkg-old" fi fi # Does new location exist, but is not a directory? - if [ -e "$_new" ] && ! [ -d "$_new" ]; then - warn "backing up non-directory $_new as $_new.dpkg-old" - mv -b "$_new" "$_new.dpkg-old" + if [ -e "$new" ] && ! [ -d "$new" ]; then + warn "backing up non-directory $new as $new.dpkg-old" + mv -b "$new" "$new.dpkg-old" fi # Create new directory if it does not yet exist. - if ! [ -e "$_new" ]; then - observe "creating $_new" - mkdir -p "$_new" + if ! [ -e "$new" ]; then + observe "creating $new" + mkdir -p "$new" fi # Copy files in old location to new location. Back up any filenames that # already exist in the new location with the extension ".dpkg-old". - observe "copying files from $_old to $_new" - if ! (cd "$_old" && cp -a -b -S ".dpkg-old" . "$_new"); then - die "error(s) encountered while copying files from $_old to $_new" + observe "copying files from $old to $new" + if ! (cd "$old" && cp -a -b -S ".dpkg-old" . "$new"); then + die "error(s) encountered while copying files from $old to $new" fi # Remove files at old location. - observe "removing $_old" - rm -r "$_old" + observe "removing $old" + rm -r "$old" # Create symlink from old location to new location. - make_symlink_sane "$_old" "$_new" + make_symlink_sane "$old" "$new" } # vim:set ai et sw=2 ts=2 tw=80: commit d9066a28b95e1a74e9f6ebac8e71e07fca321cd1 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Tue May 20 18:53:28 2008 +0200 xsfbs.sh: add remove_conffile_lookup This variant of remove_conffile_prepare looks for the given conffile's canonical md5sum in dpkg's status database itself instead of using provided values. diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh index a90ff7d..0c7607a 100644 --- a/debian/xsfbs/xsfbs.sh +++ b/debian/xsfbs/xsfbs.sh @@ -514,6 +514,37 @@ remove_conffile_prepare () { fi } +remove_conffile_lookup () { + # syntax: remove_conffile_lookup package filename + # + # Lookup the md5sum of a conffile in dpkg's database, and prepare for removal + # if it matches the actual file's md5sum. + # + # Call this function when you would call remove_conffile_prepare but only + # want to check against dpkg's status database instead of known checksums. + + local package conffile old_md5sum + + # validate arguments + if [ $# -ne 2 ]; then + usage_error "remove_conffile_lookup() called with wrong number of" \ + "arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + package="$1" + conffile="$2" + + if ! [ -e "$conffile" ]; then + return + fi + old_md5sum="$(dpkg-query -W -f='${Conffiles}' "$package" | \ + awk '{ if (match($0, "^ '"$conffile"' ")) print $2}')" -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]