diff -u libxrandr-1.5.0/debian/changelog libxrandr-1.5.0/debian/changelog --- libxrandr-1.5.0/debian/changelog +++ libxrandr-1.5.0/debian/changelog @@ -1,12 +1,14 @@ -libxrandr (2:1.5.0-0ubuntu1) wily; urgency=medium +libxrandr (2:1.5.0-1) sid; urgency=medium - * New upstream release (LP: #1473828) - * debian/control: - - Bump build-depends on libx11-dev, x11proto-randr-dev - * debian/libxrandr2.symbols: - - Updated + * New upstream release. + * control: Bump policy to 3.9.6, no changes. + * Let uscan verify tarball signatures. + * control: Bump x11proto-randr-dev build-dep. + * symbols: Updated. + * Bump compat to 9, migrate to dh. + * Purge xsfbs. - -- Robert Ancell Tue, 14 Jul 2015 14:27:03 +1200 + -- Timo Aaltonen Mon, 27 Jul 2015 23:20:59 +0300 libxrandr (2:1.4.2-1) sid; urgency=medium diff -u libxrandr-1.5.0/debian/compat libxrandr-1.5.0/debian/compat --- libxrandr-1.5.0/debian/compat +++ libxrandr-1.5.0/debian/compat @@ -1 +1 @@ -7 +9 diff -u libxrandr-1.5.0/debian/control libxrandr-1.5.0/debian/control --- libxrandr-1.5.0/debian/control +++ libxrandr-1.5.0/debian/control @@ -3,10 +3,11 @@ Priority: optional Maintainer: Debian X Strike Force Build-Depends: - debhelper (>= 8.1.3), + debhelper (>= 9), + dh-autoreconf, # dpkg-buildflags --export=configure dpkg-dev (>= 1.16.1), - libx11-dev (>= 1:1.6), + libx11-dev (>= 1:0.99.2), libxext-dev (>= 1:0.99.1), x11proto-randr-dev (>= 1.5), x11proto-render-dev, @@ -16,7 +17,7 @@ automake, libtool, xutils-dev (>= 1:7.5+4), -Standards-Version: 3.9.3 +Standards-Version: 3.9.6 Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/libxrandr Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/libxrandr.git diff -u libxrandr-1.5.0/debian/libxrandr2.symbols libxrandr-1.5.0/debian/libxrandr2.symbols --- libxrandr-1.5.0/debian/libxrandr2.symbols +++ libxrandr-1.5.0/debian/libxrandr2.symbols @@ -2,7 +2,7 @@ XRRAddOutputMode@Base 2:1.2.0 XRRAllocGamma@Base 2:1.2.0 XRRAllocModeInfo@Base 2:1.2.0 - XRRAllocateMonitor@Base 2:1.5.0-0ubuntu1 + XRRAllocateMonitor@Base 2:1.5.0 XRRChangeOutputProperty@Base 2:1.2.0 XRRChangeProviderProperty@Base 2:1.4.0 XRRConfigCurrentConfiguration@Base 0 @@ -14,7 +14,7 @@ XRRConfigureOutputProperty@Base 2:1.2.0 XRRConfigureProviderProperty@Base 2:1.4.0 XRRCreateMode@Base 2:1.2.0 - XRRDeleteMonitor@Base 2:1.5.0-0ubuntu1 + XRRDeleteMonitor@Base 2:1.5.0 XRRDeleteOutputMode@Base 2:1.2.0 XRRDeleteOutputProperty@Base 2:1.2.0 XRRDeleteProviderProperty@Base 2:1.4.0 @@ -22,7 +22,7 @@ XRRFreeCrtcInfo@Base 2:1.2.0 XRRFreeGamma@Base 2:1.2.0 XRRFreeModeInfo@Base 2:1.2.0 - XRRFreeMonitors@Base 2:1.5.0-0ubuntu1 + XRRFreeMonitors@Base 2:1.5.0 XRRFreeOutputInfo@Base 2:1.2.0 XRRFreePanning@Base 2:1.2.99.2 XRRFreeProviderInfo@Base 2:1.4.0 @@ -33,7 +33,7 @@ XRRGetCrtcGammaSize@Base 2:1.2.0 XRRGetCrtcInfo@Base 2:1.2.0 XRRGetCrtcTransform@Base 2:1.2.99.2 - XRRGetMonitors@Base 2:1.5.0-0ubuntu1 + XRRGetMonitors@Base 2:1.5.0 XRRGetOutputInfo@Base 2:1.2.0 XRRGetOutputPrimary@Base 2:1.2.99.3 XRRGetOutputProperty@Base 2:1.2.0 @@ -58,7 +58,7 @@ XRRSetCrtcConfig@Base 2:1.2.0 XRRSetCrtcGamma@Base 2:1.2.0 XRRSetCrtcTransform@Base 2:1.2.99.2 - XRRSetMonitor@Base 2:1.5.0-0ubuntu1 + XRRSetMonitor@Base 2:1.5.0 XRRSetOutputPrimary@Base 2:1.2.99.3 XRRSetPanning@Base 2:1.2.99.2 XRRSetProviderOffloadSink@Base 2:1.4.0 diff -u libxrandr-1.5.0/debian/rules libxrandr-1.5.0/debian/rules --- libxrandr-1.5.0/debian/rules +++ libxrandr-1.5.0/debian/rules @@ -13,78 +13,14 @@ -include debian/xsfbs/xsfbs.mk +%: + dh $@ --with quilt,autoreconf --builddirectory=build/ -DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) - confflags += --build=$(DEB_HOST_GNU_TYPE) -else - confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) -endif -confflags += $(shell DEB_CFLAGS_MAINT_APPEND=-Wall dpkg-buildflags --export=configure) +override_dh_auto_install: + dh_auto_install --destdir=debian/tmp -configure: $(STAMP_DIR)/patch - dh_testdir - autoreconf -vfi +override_dh_install: + dh_install --sourcedir=debian/tmp --fail-missing -XlibXrandr.la -build/config.status: configure - dh_testdir - test -d build || mkdir build - cd build && \ - ../configure --prefix=/usr --mandir=\$${prefix}/share/man \ - --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ - --infodir=\$${prefix}/share/info \ - --disable-silent-rules \ - $(confflags) - - -build: build-stamp -build-stamp: build/config.status - dh_testdir - cd build && $(MAKE) - >$@ - -clean: xsfclean - dh_testdir - rm -f build-stamp - rm -f config.cache config.log config.status - rm -f */config.cache */config.log */config.status - rm -f conftest* */conftest* - rm -rf autom4te.cache */autom4te.cache - rm -rf build - find -name Makefile.in -delete - rm -f compile config.guess config.sub configure depcomp install-sh - rm -f ltmain.sh missing INSTALL aclocal.m4 config.h.in mkinstalldirs - dh_clean - -install: build - dh_testdir - dh_testroot - dh_prep - dh_installdirs - cd build && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installdocs - dh_install --fail-missing -XlibXrandr.la - dh_installchangelogs - dh_installman - dh_link +override_dh_strip: dh_strip --dbg-package=$(PACKAGE)-dbg - dh_compress - dh_fixperms - dh_makeshlibs -V'libxrandr2 (>= 2:1.4)' - dh_shlibdeps - dh_installdeb - dh_gencontrol - dh_md5sums - dh_builddeb - -# Build architecture-independent files here. -binary-indep: build install -# Nothing to do -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install +override_dh_makeshlibs: + dh_makeshlibs -V'libxrandr2 (>= 2:1.5)' diff -u libxrandr-1.5.0/debian/watch libxrandr-1.5.0/debian/watch --- libxrandr-1.5.0/debian/watch +++ libxrandr-1.5.0/debian/watch @@ -2,2 +2,3 @@ version=3 +opts=pgpsigurlmangle=s/$/.sig/ \ http://xorg.freedesktop.org/releases/individual/lib/ libXrandr-(.*)\.tar\.gz reverted: --- libxrandr-1.5.0/debian/xsfbs/repack.sh +++ libxrandr-1.5.0.orig/debian/xsfbs/repack.sh @@ -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 reverted: --- libxrandr-1.5.0/debian/xsfbs/xsfbs.mk +++ libxrandr-1.5.0.orig/debian/xsfbs/xsfbs.mk @@ -1,285 +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 . - -# Originally by Stephen Early -# Modified by Mark W. Eichin -# Modified by Adam Heath -# Modified by Branden Robinson -# Modified by Fabio Massimo Di Nitto -# Modified by David Nusinow -# 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)/logdir $(STAMP_DIR)/genscripts - >$@ - -.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 -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)/logdir - 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) - 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. -# -# 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)/' \ - <$$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 - >$@ - -# Compute dependencies for drivers -# -VIDEODEP = $(shell cat /usr/share/xserver-xorg/videodrvdep 2>/dev/null) -INPUTDEP = $(shell cat /usr/share/xserver-xorg/xinputdep 2>/dev/null) - -# these two can be removed post-squeeze -VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) -INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null) -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 ($(VIDEODEP),) - @echo 'error: xserver-xorg-dev >= 1.7.6.901 needs to be installed' - @exit 1 -else - 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: reverted: --- libxrandr-1.5.0/debian/xsfbs/xsfbs.sh +++ libxrandr-1.5.0.orig/debian/xsfbs/xsfbs.sh @@ -1,622 +0,0 @@ -# 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 < 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 < 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_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 " \ - " 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 " \ - " 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 -} - -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" - break - fi - shift - done - 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}')" - if [ -n "$old_md5sum" ]; then - remove_conffile_prepare "$conffile" "$old_md5sum" - fi -} - -remove_conffile_commit () { - # syntax: remove_conffile_commit filename - # - # Complete the removal of a conffile "filename" that has become obsolete. - # - # Call this function from a postinst script after having used - # remove_conffile_prepare() in the preinst. - - local conffile - - # validate arguments - if [ $# -ne 1 ]; then - usage_error "remove_conffile_commit() called with wrong number of" \ - "arguments; expected 1, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - 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" - fi -} - -remove_conffile_rollback () { - # syntax: remove_conffile_rollback filename - # - # Roll back the removal of a conffile "filename". - # - # Call this function from a postrm script in the event $1 is "abort-upgrade" - # or "abort-install" is after having used remove_conffile_prepare() in the - # preinst. - - local conffile - - # validate arguments - if [ $# -ne 1 ]; then - usage_error "remove_conffile_rollback() called with wrong number of" \ - "arguments; expected 1, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - 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" - fi -} - -replace_conffile_with_symlink_prepare () { - # syntax: replace_conffile_with_symlink_prepare oldfilename newfilename \ - # official_md5sum ... - # - # Check a conffile "oldfilename" 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. Otherwise copy it - # to newfilename and let dpkg handle it through conffiles mechanism. - # - # 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 3 ]; then - usage_error "replace_conffile_with_symlink_prepare() called with wrong" \ - " number of arguments; expected at least 3, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - oldconffile="$1" - shift - newconffile="$1" - shift - - remove_conffile_prepare "$_oldconffile" "$@" - # If $oldconffile still exists, then md5sums didn't match. - # Copy it to new one. - if [ -f "$oldconffile" ]; then - cp "$oldconffile" "$newconffile" - fi - -} - -replace_conffile_with_symlink_commit () { - # syntax: replace_conffile_with_symlink_commit oldfilename - # - # Complete the removal of a conffile "oldfilename" that has been - # replaced by a symlink. - # - # Call this function from a postinst script after having used - # replace_conffile_with_symlink_prepare() in the preinst. - - local conffile - - # validate arguments - if [ $# -ne 1 ]; then - usage_error "replace_conffile_with_symlink_commit() called with wrong" \ - "number of arguments; expected 1, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - conffile="$1" - - remove_conffile_commit "$conffile" -} - -replace_conffile_with_symlink_rollback () { - # syntax: replace_conffile_with_symlink_rollback oldfilename newfilename - # - # Roll back the replacing of a conffile "oldfilename" with symlink to - # "newfilename". - # - # Call this function from a postrm script in the event $1 is "abort-upgrade" - # or "abort-install" and verify $2 to ensure the package failed to upgrade - # from a version (or install over a version removed-but-not-purged) prior - # to the one in which the conffile was obsoleted. - # You should have used replace_conffile_with_symlink_prepare() in the - # preinst. - - local conffile - - # validate arguments - if [ $# -ne 2 ]; then - usage_error "replace_conffile_with_symlink_rollback() called with wrong" \ - "number of arguments; expected 2, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - oldconffile="$1" - newconffile="$2" - - remove_conffile_rollback "$_oldconffile" - if [ -f "$newconffile" ]; then - rm "$newconffile" - fi -} - -run () { - # syntax: run command [ argument ... ] - # - # Run specified command with optional arguments and report its exit status. - # Useful for commands whose exit status may be nonzero, but still acceptable, - # or commands whose failure is not fatal to us. - # - # NOTE: Do *not* use this function with db_get or db_metaget commands; in - # those cases the return value of the debconf command *must* be checked - # before the string returned by debconf is used for anything. - - local retval - - # validate arguments - if [ $# -lt 1 ]; then - usage_error "run() called with wrong number of arguments; expected at" \ - "least 1, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - "$@" || retval=$? - - if [ ${retval:-0} -ne 0 ]; then - observe "command \"$*\" exited with status $retval" - fi -} - -make_symlink_sane () { - # syntax: make_symlink_sane symlink target - # - # Ensure that the symbolic link symlink exists, and points to target. - # - # If symlink does not exist, create it and point it at target. - # - # If symlink exists but is not a symbolic link, back it up. - # - # If symlink exists, is a symbolic link, but points to the wrong location, fix - # it. - # - # If symlink exists, is a symbolic link, and already points to target, do - # nothing. - # - # This function wouldn't be needed if ln had an -I, --idempotent option. - - # Validate arguments. - if [ $# -ne 2 ]; then - usage_error "make_symlink_sane() called with wrong number of arguments;" \ - "expected 2, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - # We could just use the positional parameters as-is, but that makes things - # harder to follow. - local symlink target - - symlink="$1" - target="$2" - - 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" - fi -} - -migrate_dir_to_symlink () { - # syntax: migrate_dir_to_symlink old_location new_location - # - # Per Debian Policy section 6.5.4, "A directory will never be replaced by a - # symbolic link to a directory or vice versa; instead, the existing state - # (symlink or not) will be left alone and dpkg will follow the symlink if - # there is one." - # - # We have to do it ourselves. - # - # This function moves the contents of old_location, a directory, into - # new_location, a directory, then makes old_location a symbolic link to - # new_location. - # - # old_location need not exist, but if it does, it must be a directory (or a - # symlink to a directory). If it is not, it is backed up. If new_location - # exists already and is not a directory, it is backed up. - # - # This function should be called from a package's preinst so that other - # packages unpacked after this one --- but before this package's postinst runs - # --- are unpacked into new_location even if their payloads contain - # old_location filespecs. - - # Validate arguments. - if [ $# -ne 2 ]; then - usage_error "migrate_dir_to_symlink() called with wrong number of" - "arguments; expected 2, got $#" - exit $SHELL_LIB_USAGE_ERROR - fi - - # We could just use the positional parameters as-is, but that makes things - # harder to follow. - local new old - - old="$1" - new="$2" - - # Is old location a symlink? - if [ -L "$old" ]; then - # Does it already point to new location? - if [ "$(readlink "$old")" = "$new" ]; then - # Nothing to do; migration has already been 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" - fi - fi - - # Does old location exist, but is not a directory? - 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" - fi - - observe "migrating $old to $new" - - # Is new location a symlink? - if [ -L "$new" ]; then - # Does it point the wrong way, i.e., back to where we're migrating from? - if [ "$(readlink "$new")" = "$old" ]; then - # Get rid of it. - 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" - 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" - fi - - # Create new directory if it does not yet exist. - 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" - fi - - # Remove files at old location. - observe "removing $old" - rm -r "$old" - - # Create symlink from old location to new location. - make_symlink_sane "$old" "$new" -} - -# vim:set ai et sw=2 ts=2 tw=80: - -# GOBSTOPPER: The X Strike Force shell library ends here. only in patch2: unchanged: --- libxrandr-1.5.0.orig/ChangeLog +++ libxrandr-1.5.0/ChangeLog @@ -1,46 +1,3 @@ -commit 4437436906cbba5121115e552d564262e8b4c784 -Author: Keith Packard -Date: Tue Dec 16 01:55:30 2014 -0800 - - Add monitors, update to version 1.5 (v2) - - v2: [airlied] - xrandr was giving the outputs from 0 for each monitor instead of - incrementing the pointer. - add get_active support. - - Reviewed-by: Dave Airlie - Signed-off-by: Keith Packard - -commit 7402eaa0185110a60cf4aae32d7b470c1372b45b -Author: Keith Packard -Date: Tue Dec 16 17:05:18 2014 -0800 - - libXrandr: Clean up compiler warnings - - This removes warnings about shadowing local variables with the same - name, and type mismatches with _XRead32. - - Reviewed-by: Dave Airlie - Signed-off-by: Keith Packard - -commit bc00b4fb0b52ed2f6f8544fa3b5da9693ee7ed90 -Author: Michael Joost -Date: Mon Nov 18 16:11:26 2013 +0100 - - Remove fallback for _XEatDataWords, require libX11 1.6 for it - - _XEatDataWords was orignally introduced with the May 2013 security - patches, and in order to ease the process of delivering those, - fallback versions of _XEatDataWords were included in the X extension - library patches so they could be applied to older versions that didn't - have libX11 1.6 yet. Now that we're past that hurdle, we can drop - the fallbacks and just require libX11 1.6 for building new versions - of the extension libraries. - - Reviewed-by: Alan Coopersmith - Signed-off-by: Alan Coopersmith - commit 30a7b506ae2071b8d265ce4eaeed1af60bc7ee7b Author: Alan Coopersmith Date: Sat Sep 7 21:50:49 2013 -0700 only in patch2: unchanged: --- libxrandr-1.5.0.orig/debian/upstream/signing-key.asc +++ libxrandr-1.5.0/debian/upstream/signing-key.asc @@ -0,0 +1,111 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +iQyTzgz/F98QzHzNrRk8DdK4kxVkpvk= +=G7Eh +-----END PGP PUBLIC KEY BLOCK-----