x11-apps: Changes to 'debian-unstable'
debian/README.source | 73 ----
debian/changelog | 7
debian/copyright | 22 -
debian/xsfbs/repack.sh | 32 -
debian/xsfbs/xsfbs.mk | 293 ----------------
debian/xsfbs/xsfbs.sh | 853 -------------------------------------------------
6 files changed, 7 insertions(+), 1273 deletions(-)
New commits:
commit 721688d0fac7f4f26de89cd2cb1f0b82f05b27c9
Author: Julien Cristau <jcristau@debian.org>
Date: Wed Dec 25 18:48:58 2013 +0100
Update debian/copyright.
diff --git a/debian/changelog b/debian/changelog
index 3f126b8..c754e14 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
x11-apps (7.7+3) UNRELEASED; urgency=medium
* Delete debian/xsfbs/, not used anymore.
+ * Update debian/copyright.
-- Julien Cristau <jcristau@debian.org> Wed, 25 Dec 2013 18:47:47 +0100
diff --git a/debian/copyright b/debian/copyright
index 91eea29..dc32bf3 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -942,28 +942,6 @@ xman:
other dealings in this Software without prior written authorization
from the X Consortium.
- Copyright 2004 Roland Mainz <roland.mainz@nrubsig.org>
-
- Permission to use, copy, modify, distribute, and sell this software and its
- documentation for any purpose is hereby granted without fee, provided that
- the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation.
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name of The Open Group shall not be
- used in advertising or otherwise to promote the sale, use or other dealings
- in this Software without prior written authorization from The Open Group.
-
xmore:
This is a stub file. This package has not yet had its complete licensing
information compiled. Please see the individual source files for details on
commit 6751003f8f14a8da011664df38404e66f0331525
Author: Julien Cristau <jcristau@debian.org>
Date: Wed Dec 25 18:48:01 2013 +0100
Delete debian/xsfbs/, not used anymore.
diff --git a/debian/README.source b/debian/README.source
deleted file mode 100644
index 34ab4bf..0000000
--- a/debian/README.source
+++ /dev/null
@@ -1,73 +0,0 @@
-------------------------------------------------------
-Quick Guide To Patching This Package For The Impatient
-------------------------------------------------------
-
-1. Make sure you have quilt installed
-2. Unpack the package as usual with "dpkg-source -x"
-3. Run the "patch" target in debian/rules
-4. Create a new patch with "quilt new" (see quilt(1))
-5. Edit all the files you want to include in the patch with "quilt edit"
- (see quilt(1)).
-6. Write the patch with "quilt refresh" (see quilt(1))
-7. Run the "clean" target in debian/rules
-
-Alternatively, instead of using quilt directly, you can drop the patch in to
-debian/patches and add the name of the patch to debian/patches/series.
-
-------------------------------------
-Guide To The X Strike Force Packages
-------------------------------------
-
-The X Strike Force team maintains X packages in git repositories on
-git.debian.org in the pkg-xorg subdirectory. Most upstream packages
-are actually maintained in git repositories as well, so they often
-just need to be pulled into git.debian.org in a "upstream-*" branch.
-Otherwise, the upstream sources are manually installed in the Debian
-git repository.
-
-The .orig.tar.gz upstream source file could be generated this
-"upstream-*" branch in the Debian git repository but it is actually
-copied from upstream tarballs directly.
-
-Due to X.org being highly modular, packaging all X.org applications
-as their own independent packages would have created too many Debian
-packages. For this reason, some X.org applications have been grouped
-into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils,
-x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils.
-Most packages, including the X.org server itself and all libraries
-and drivers are, however maintained independently.
-
-The Debian packaging is added by creating the "debian-*" git branch
-which contains the aforementioned "upstream-*" branch plus the debian/
-repository files.
-When a patch has to be applied to the Debian package, two solutions
-are involved:
-* If the patch is available in one of the upstream branches, it
- may be git'cherry-picked into the Debian repository. In this
- case, it appears directly in the .diff.gz.
-* Otherwise, the patch is added to debian/patches/ which is managed
- with quilt as documented in /usr/share/doc/quilt/README.source.
-
-quilt is actually invoked by the Debian X packaging through a larger
-set of scripts called XSFBS. XSFBS brings some other X specific
-features such as managing dependencies and conflicts due to the video
-and input driver ABIs.
-XSFBS itself is maintained in a separate repository at
- git://git.debian.org/pkg-xorg/xsfbs.git
-and it is pulled inside the other Debian X repositories when needed.
-
-The XSFBS patching system requires a build dependency on quilt. Also
-a dependency on $(STAMP_DIR)/patch has to be added to debian/rules
-so that the XSFBS patching occurs before the actual build. So the
-very first target of the build (likely the one running autoreconf)
-should depend on $(STAMP_DIR)/patch. It should also not depend on
-anything so that parallel builds are correctly supported (nothing
-should probably run while patching is being done). And finally, the
-clean target should depend on the xsfclean target so that patches
-are unapplied on clean.
-
-When the upstream sources contain some DFSG-nonfree files, they are
-listed in text files in debian/prune/ in the "debian-*" branch of
-the Debian repository. XSFBS' scripts then take care of removing
-these listed files during the build so as to generate a modified
-DFSG-free .orig.tar.gz tarball.
diff --git a/debian/changelog b/debian/changelog
index 7706edb..3f126b8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+x11-apps (7.7+3) UNRELEASED; urgency=medium
+
+ * Delete debian/xsfbs/, not used anymore.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 25 Dec 2013 18:47:47 +0100
+
x11-apps (7.7+2) unstable; urgency=medium
* xclipboard 1.1.3
diff --git a/debian/xsfbs/repack.sh b/debian/xsfbs/repack.sh
deleted file mode 100755
index 5935cc9..0000000
--- a/debian/xsfbs/repack.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if ! [ -d debian/prune ]; then
- exit 0
-fi
-
-if [ "x$1" != x--upstream-version ]; then
- exit 1
-fi
-
-version="$2"
-filename="$3"
-
-if [ -z "$version" ] || ! [ -f "$filename" ]; then
- exit 1
-fi
-
-dir="$(pwd)"
-tempdir="$(mktemp -d)"
-
-cd "$tempdir"
-tar xf "$dir/$filename"
-cat "$dir"/debian/prune/* | while read file; do rm -f */$file; done
-
-tar czf "$dir/$filename" *
-cd "$dir"
-rm -rf "$tempdir"
-echo "Done pruning upstream tarball"
-
-exit 0
diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk
deleted file mode 100755
index f0f8953..0000000
--- a/debian/xsfbs/xsfbs.mk
+++ /dev/null
@@ -1,293 +0,0 @@
-#!/usr/bin/make -f
-
-# Debian X Strike Force Build System (XSFBS): Make portion
-
-# Copyright 1996 Stephen Early
-# Copyright 1997 Mark Eichin
-# Copyright 1998-2005, 2007 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 <sde1000@debian.org>
-# Modified by Mark W. Eichin <eichin@kitten.gen.ma.us>
-# Modified by Adam Heath <doogie@debian.org>
-# Modified by Branden Robinson <branden@debian.org>
-# Modified by Fabio Massimo Di Nitto <fabbione@fabbione.net>
-# Modified by David Nusinow <dnusinow@debian.org>
-# Acknowledgements to Manoj Srivastava.
-
-# Pass $(DH_OPTIONS) into the environment for debhelper's benefit.
-export DH_OPTIONS
-
-# 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.
-
-# 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 $$LOGNAME@$$(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 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\|etch\|lenny\)//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
-
-# $(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)/prepare
-$(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
-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 >/dev/null 2>&1; then \
- echo -n "Applying patches..."; \
- 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; \
- else \
- echo "No patches to apply"; \
- fi; \
- >$@
-
-# Revert all patches to the upstream source.
-.PHONY: unpatch
-unpatch: $(STAMP_DIR)/log
- rm -f $(STAMP_DIR)/patch
- @echo -n "Unapplying patches..."; \
- 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."; \
- else \
- cat $(STAMP_DIR)/log/unpatch; \
- 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 -rf .pc
- rm -rf $(STAMP_DIR) $(SOURCE_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
-
-# 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
-
-# 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 >$@
-
-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)
-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
- @exit 1
-else
- echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars
- echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
- echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
-endif
-
-# vim:set noet ai sts=8 sw=8 tw=0:
diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
deleted file mode 100644
index 781826f..0000000
--- a/debian/xsfbs/xsfbs.sh
+++ /dev/null
@@ -1,853 +0,0 @@
-# $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".
-
-SOURCE_VERSION=@SOURCE_VERSION@
-OFFICIAL_BUILD=@OFFICIAL_BUILD@
-
-# Use special abnormal exit codes so that problems with this library are more
-# easily tracked down.
-SHELL_LIB_INTERNAL_ERROR=86
-SHELL_LIB_THROWN_ERROR=74
-SHELL_LIB_USAGE_ERROR=99
-
-# old -> new variable names
-if [ -z "$DEBUG_XORG_PACKAGE" ] && [ -n "$DEBUG_XFREE86_PACKAGE" ]; then
- DEBUG_XORG_PACKAGE="$DEBUG_XFREE86_PACKAGE"
-fi
-if [ -z "$DEBUG_XORG_DEBCONF" ] && [ -n "$DEBUG_XFREE86_DEBCONF" ]; then
- DEBUG_XORG_DEBCONF="$DEBUG_XFREE86_DEBCONF"
-fi
-
-# initial sanity checks
-if [ -z "$THIS_PACKAGE" ]; then
- cat >&2 <<EOF
-Error: package maintainer script attempted to use shell library without
-definining \$THIS_PACKAGE shell variable. Please report the package name,
-version, and the text of this error message to the Debian Bug Tracking System.
-Visit <http://www.debian.org/Bugs/Reporting> on the World Wide Web for
-instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the
-"doc-debian" package, or install the "reportbug" package and use the command of
-the same name to file a report against version $SOURCE_VERSION of this package.
-EOF
- exit $SHELL_LIB_USAGE_ERROR
-fi
-
-if [ -z "$THIS_SCRIPT" ]; then
- cat >&2 <<EOF
-Error: package maintainer script attempted to use shell library without
-definining \$THIS_SCRIPT shell variable. Please report the package name,
-version, and the text of this error message to the Debian Bug Tracking System.
-Visit <http://www.debian.org/Bugs/Reporting> on the World Wide Web for
-instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the
-"doc-debian" package, or install the "reportbug" package and use the command of
-the same name to file a report against version $SOURCE_VERSION of the
-"$THIS_PACKAGE" package.
-EOF
- exit $SHELL_LIB_USAGE_ERROR
-fi
-
-if [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
- RECONFIGURE="true"
-else
- RECONFIGURE=
-fi
-
-if ([ "$1" = "install" ] || [ "$1" = "configure" ]) && [ -z "$2" ]; then
- FIRSTINST="yes"
-fi
-
-if [ -z "$RECONFIGURE" ] && [ -z "$FIRSTINST" ]; then
- UPGRADE="yes"
-fi
-
-trap "message;\
- message \"Received signal. Aborting $THIS_PACKAGE package $THIS_SCRIPT script.\";\
- message;\
- exit 1" HUP INT QUIT TERM
-
-reject_nondigits () {
- # syntax: reject_nondigits [ operand ... ]
- #
- # scan operands (typically shell variables whose values cannot be trusted) for
- # characters other than decimal digits and barf if any are found
- while [ -n "$1" ]; do
- # does the operand contain anything but digits?
- if ! expr "$1" : "[[:digit:]]\+$" > /dev/null 2>&1; then
- # can't use die(), because it wraps message() which wraps this function
- echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_nondigits() encountered" \
- "possibly malicious garbage \"$1\"" >&2
- exit $SHELL_LIB_THROWN_ERROR
- fi
- shift
- 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 ... ]
- #
- # scan operands (typically shell variables whose values cannot be trusted) for
- # characters unlikely to be seen in a path and which the shell might
- # interpret and barf if any are found
- while [ -n "$1" ]; do
- # does the operand contain any funny characters?
- if expr "$1" : '.*[!$&()*;<>?|].*' > /dev/null 2>&1; then
- # can't use die(), because I want to avoid forward references
- echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_unlikely_path_chars()" \
- "encountered possibly malicious garbage \"$1\"" >&2
- exit $SHELL_LIB_THROWN_ERROR
- fi
- shift
- done
-}
-
-# Query the terminal to establish a default number of columns to use for
-# displaying messages to the user. This is used only as a fallback in the
-# event the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while
-# the script is running, and this cannot, only being calculated once.)
-DEFCOLUMNS=$(stty size 2> /dev/null | awk '{print $2}') || true
-if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" > /dev/null 2>&1; then
- DEFCOLUMNS=80
-fi
-
-message () {
- # pretty-print messages of arbitrary length
- reject_nondigits "$COLUMNS"
- echo "$*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} >&2
-}
-
-observe () {
- # syntax: observe message ...
- #
- # issue observational message suitable for logging someday when support for
- # it exists in dpkg
- if [ -n "$DEBUG_XORG_PACKAGE" ]; then
- message "$THIS_PACKAGE $THIS_SCRIPT note: $*"
- fi
-}
-
-warn () {
- # syntax: warn message ...
- #
- # issue warning message suitable for logging someday when support for
- # it exists in dpkg; also send to standard error
- message "$THIS_PACKAGE $THIS_SCRIPT warning: $*"
-}
-
-die () {
- # syntax: die message ...
- #
- # exit script with error message
- message "$THIS_PACKAGE $THIS_SCRIPT error: $*"
- exit $SHELL_LIB_THROWN_ERROR
-}
-
-internal_error () {
- # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
- message "internal error: $*"
- if [ -n "$OFFICIAL_BUILD" ]; then
- message "Please report a bug in the $THIS_SCRIPT script of the" \
- "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \
- "Tracking System. Include all messages above that mention the" \
- "$THIS_PACKAGE package. Visit " \
- "<http://www.debian.org/Bugs/Reporting> on the World Wide Web for" \
- "instructions, read the file" \
- "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \
- "package, or install the reportbug package and use the command of" \
- "the same name to file a report."
- fi
- exit $SHELL_LIB_INTERNAL_ERROR
-}
-
-usage_error () {
- message "usage error: $*"
- message "Please report a bug in the $THIS_SCRIPT script of the" \
- "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \
- "Tracking System. Include all messages above that mention the" \
- "$THIS_PACKAGE package. Visit " \
- "<http://www.debian.org/Bugs/Reporting> on the World Wide Web for" \
- "instructions, read the file" \
- "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \
- "package, or install the reportbug package and use the command of" \
- "the same name to file a report."
- 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
-}
-
-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
-
- 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 <<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:
-for example, with the command "apt-get install". If no newer version of a
-package is available, you will have to remove it; for example, with the command
-"apt-get remove". If even the latest available version of the package has
-this file overlap, please file a bug against that package with the Debian Bug
-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"
- else
- message "no overlaps found."
- fi
- fi
- else
- message "cannot search; no matches for $dpkg_info_dir/*.list."
- fi
- else
- message "cannot search; $dpkg_info_dir does not exist."
- 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
-
- local dir cmd shortcmd x_font_dir_prefix
-
- x_font_dir_prefix="/usr/share/fonts/X11"
-
- if [ -z "$UPDATECMDS" ]; then
- usage_error "font_update() called but \$UPDATECMDS not set"
- fi
- if [ -z "$FONTDIRS" ]; then
- usage_error "font_update() called but \$FONTDIRS not set"
- fi
-
- 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
- fi
- if [ "$shortcmd" = "update-fonts-dir" ]; then
- cmd_opts=--x11r7-layout
- fi
- if [ "$shortcmd" = "update-fonts-scale" ]; then
- cmd_opts=--x11r7-layout
- fi
- $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" \
- "directory data"
- fi
- done
- else
- warn "$dir is not a directory; not updating font directory data"
- fi
- done
-}
-
-remove_conffile_prepare () {
- # syntax: remove_conffile_prepare filename official_md5sum ...
- #
- # Check a conffile "filename" against a list of canonical MD5 checksums.
- # If the file's current MD5 checksum matches one of the "official_md5sum"
- # operands provided, then prepare the conffile for removal from the system.
- # We defer actual deletion until the package is configured so that we can
- # roll this operation back if package installation fails.
- #
- # Call this function from a preinst script in the event $1 is "upgrade" or
- # "install" and verify $2 to ensure the package is being upgraded from a
- # version (or installed over a version removed-but-not-purged) prior to the
- # one in which the conffile was obsoleted.
-
- local conffile current_checksum
-
- # validate arguments
- if [ $# -lt 2 ]; then
- usage_error "remove_conffile_prepare() called with wrong number of" \
- "arguments; expected at least 2, got $#"
- exit $SHELL_LIB_USAGE_ERROR
- fi
-
- conffile="$1"
- shift
-
- # does the conffile even exist?
- if [ -e "$conffile" ]; then
- # calculate its checksum
- current_checksum=$(md5sum < "$conffile" | sed 's/[[:space:]].*//')
- # compare it to each supplied checksum
- while [ -n "$1" ]; do
- 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"
Reply to: