Merge branch 'debian-unstable' of git://git.debian.org/git/pkg-xorg/xsfbs into debian-unstable
This commit is contained in:
commit
e8a3904da3
|
@ -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.
|
||||
|
||||
|
|
|
@ -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 \
|
||||
|
@ -176,20 +177,8 @@ cleanscripts:
|
|||
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
|
||||
rm -rf $(STAMP_DIR)
|
||||
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.
|
||||
|
@ -252,7 +241,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; \
|
||||
|
@ -265,29 +253,33 @@ $(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir
|
|||
# debian/*.prerm
|
||||
>$@
|
||||
|
||||
# Generate the shlibs.local file.
|
||||
debian/shlibs.local:
|
||||
cat debian/*.shlibs >$@
|
||||
# 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)
|
||||
|
||||
SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 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)
|
||||
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)
|
||||
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:
|
||||
|
|
|
@ -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".
|
||||
|
||||
|
@ -93,22 +91,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 ... ]
|
||||
#
|
||||
|
@ -199,219 +181,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
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
|
|
Loading…
Reference in New Issue