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
|
Otherwise, the upstream sources are manually installed in the Debian
|
||||||
git repository.
|
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
|
"upstream-*" branch in the Debian git repository but it is actually
|
||||||
copied from upstream tarballs directly.
|
copied from upstream tarballs directly.
|
||||||
|
|
||||||
|
|
|
@ -110,14 +110,15 @@ $(STAMP_DIR)/stampdir:
|
||||||
.PHONY: prepare
|
.PHONY: prepare
|
||||||
stampdir_targets+=prepare
|
stampdir_targets+=prepare
|
||||||
prepare: $(STAMP_DIR)/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
|
.PHONY: logdir
|
||||||
stampdir_targets+=log
|
stampdir_targets+=logdir
|
||||||
log: $(STAMP_DIR)/log
|
logdir: $(STAMP_DIR)/logdir
|
||||||
$(STAMP_DIR)/log: $(STAMP_DIR)/stampdir
|
$(STAMP_DIR)/logdir: $(STAMP_DIR)/stampdir
|
||||||
mkdir -p $(STAMP_DIR)/log
|
mkdir -p $(STAMP_DIR)/log
|
||||||
|
>$@
|
||||||
|
|
||||||
# Apply all patches to the upstream source.
|
# Apply all patches to the upstream source.
|
||||||
.PHONY: patch
|
.PHONY: patch
|
||||||
|
@ -145,7 +146,7 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare
|
||||||
|
|
||||||
# Revert all patches to the upstream source.
|
# Revert all patches to the upstream source.
|
||||||
.PHONY: unpatch
|
.PHONY: unpatch
|
||||||
unpatch: $(STAMP_DIR)/log
|
unpatch: $(STAMP_DIR)/logdir
|
||||||
rm -f $(STAMP_DIR)/patch
|
rm -f $(STAMP_DIR)/patch
|
||||||
@echo -n "Unapplying patches..."; \
|
@echo -n "Unapplying patches..."; \
|
||||||
if $(QUILT) applied >/dev/null 2>/dev/null; then \
|
if $(QUILT) applied >/dev/null 2>/dev/null; then \
|
||||||
|
@ -176,20 +177,8 @@ cleanscripts:
|
||||||
xsfclean: cleanscripts unpatch
|
xsfclean: cleanscripts unpatch
|
||||||
dh_testdir
|
dh_testdir
|
||||||
rm -rf .pc
|
rm -rf .pc
|
||||||
rm -rf $(STAMP_DIR) $(SOURCE_DIR)
|
rm -rf $(STAMP_DIR)
|
||||||
rm -rf imports
|
dh_clean
|
||||||
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
|
# 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.
|
# 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 '/^#INCLUDE_SHELL_LIB#$$/d' >>$$MAINTSCRIPT.tmp; \
|
||||||
sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' \
|
sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' \
|
||||||
-e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' \
|
-e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' \
|
||||||
-e 's/@DEFAULT_DCRESOLUTIONS@/$(DEFAULT_DCRESOLUTIONS)/' \
|
|
||||||
<$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \
|
<$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \
|
||||||
rm $$MAINTSCRIPT.tmp; \
|
rm $$MAINTSCRIPT.tmp; \
|
||||||
fi; \
|
fi; \
|
||||||
|
@ -265,29 +253,33 @@ $(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir
|
||||||
# debian/*.prerm
|
# debian/*.prerm
|
||||||
>$@
|
>$@
|
||||||
|
|
||||||
# Generate the shlibs.local file.
|
# Compute dependencies for drivers
|
||||||
debian/shlibs.local:
|
#
|
||||||
cat debian/*.shlibs >$@
|
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)
|
VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null)
|
||||||
INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 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), xorg-driver-video
|
||||||
VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI)
|
INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI), xorg-driver-input
|
||||||
INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI)
|
|
||||||
ifeq ($(PACKAGE),)
|
ifeq ($(PACKAGE),)
|
||||||
PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control)
|
PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: serverabi
|
.PHONY: serverabi
|
||||||
serverabi: install
|
serverabi: install
|
||||||
ifeq ($(SERVERMINVERS),)
|
ifeq ($(VIDEODEP),)
|
||||||
@echo error: xserver-xorg-dev needs to be installed
|
@echo 'error: xserver-xorg-dev >= 1.7.6.901 needs to be installed'
|
||||||
@exit 1
|
@exit 1
|
||||||
else
|
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 "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
|
||||||
echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
|
echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
|
||||||
|
echo "xserver:Depends=$(VIDEODEP), $(INPUTDEP)" >> debian/$(PACKAGE).substvars
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# vim:set noet ai sts=8 sw=8 tw=0:
|
# 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
|
# This is the X Strike Force shell library for X Window System package
|
||||||
# maintainer scripts. It serves to define shell functions commonly used by
|
# maintainer scripts. It serves to define shell functions commonly used by
|
||||||
# such packages, and performs some error checking necessary for proper operation
|
# such packages, and performs some error checking necessary for proper operation
|
||||||
|
@ -8,7 +6,7 @@
|
||||||
# removal tasks.
|
# removal tasks.
|
||||||
|
|
||||||
# If you are reading this within a Debian package maintainer script (e.g.,
|
# 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
|
# skip past this library by scanning forward in this file to the string
|
||||||
# "GOBSTOPPER".
|
# "GOBSTOPPER".
|
||||||
|
|
||||||
|
@ -93,22 +91,6 @@ reject_nondigits () {
|
||||||
done
|
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 () {
|
reject_unlikely_path_chars () {
|
||||||
# syntax: reject_unlikely_path_chars [ operand ... ]
|
# syntax: reject_unlikely_path_chars [ operand ... ]
|
||||||
#
|
#
|
||||||
|
@ -199,219 +181,6 @@ usage_error () {
|
||||||
exit $SHELL_LIB_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 () {
|
font_update () {
|
||||||
# run $UPDATECMDS in $FONTDIRS
|
# run $UPDATECMDS in $FONTDIRS
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue