--- xinit-1.3.4.orig/debian/NEWS +++ xinit-1.3.4/debian/NEWS @@ -0,0 +1,12 @@ +xinit (1.0.7-2) unstable; urgency=low + + * The /etc/X11/xinit/xserverrc script has been changed so that xinit and + startx do not pass -dpi 100 to the X server anymore. xserver-xorg-core + now uses 96 instead of 75 by default, it should be fine for most people. + In case of problem, the DisplaySize option be used in the Monitor + section of your /etc/X11/xorg.conf to force another DPI. If you + have multiple RandR 1.2 outputs, DisplaySize should be specified + in each Monitor section. + See http://wiki.debian.org/XStrikeForce/HowToRandR12 + + -- Brice Goglin Thu, 17 Jan 2008 20:49:45 +0100 --- xinit-1.3.4.orig/debian/README.source +++ xinit-1.3.4/debian/README.source @@ -0,0 +1,73 @@ +------------------------------------------------------ +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 using 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. --- xinit-1.3.4.orig/debian/changelog +++ xinit-1.3.4/debian/changelog @@ -0,0 +1,476 @@ +xinit (1.3.4-1) unstable; urgency=medium + + * Team upload. + * New upstream release. + - Drop d/p/07-Pass-files-to-cpp-via-CLI-arg-instead-of-stdin-to-wo.patch, + d/p/08-Bump-required-util-macros-version-to-1.19.patch, + d/p/09-Replace-RAWCPPFLAGS-with-TRADITIONALCPPFLAGS-when-pr.patch, + d/p/10-startx-Under-Linux-start-X-on-the-current-VT.patch, + d/p/11-startx-Pass-vtX-as-long-as-the-user-did-not-specify-.patch: + Merged upstream + - debian/patches/001_debian_xinitrc.diff: Refreshed + * Fix debian/patches/03_debian_startx_manpage.diff, a Debian specific note + was not shown anymore + * debian/rules: Make /etc/X11/xinit/xinitrc executable to make lintian happy + and also to fix LP: #491696 + + -- Laurent Bigonville Fri, 12 Sep 2014 16:00:29 +0200 + +xinit (1.3.3-1) unstable; urgency=medium + + * Team upload. + * New upstream release. + * debian/patches/001_debian_xinitrc.diff: Refreshed + * d/p/07-Pass-files-to-cpp-via-CLI-arg-instead-of-stdin-to-wo.patch: Remove + empty lines when building with cpp >= 4.8 + * 08-Bump-required-util-macros-version-to-1.19.patch, + 09-Replace-RAWCPPFLAGS-with-TRADITIONALCPPFLAGS-when-pr.patch: Use + TRADITIONALCPPFLAGS instead of RAWCPPFLAGS so macros like "__linux__" are + properly defined + * 10-startx-Under-Linux-start-X-on-the-current-VT.patch, + 11-startx-Pass-vtX-as-long-as-the-user-did-not-specify-.patch: By default + start the server on the current VT, this is necessary to avoid logind to + see the startx session as inactive (Closes: #743015 LP: #1247484) + * debian/control: Bump Standards-Version to 3.9.5 (no further changes) + * debian/control: Use the canonical for the VCS-* fields + * debian/rules: Include buildflags.mk to pass the hardening flags + + -- Laurent Bigonville Fri, 05 Sep 2014 22:21:04 +0200 + +xinit (1.3.2-1) unstable; urgency=low + + * New upstream release. Visible change: + - startx: Choose an unused $DISPLAY by default on all platforms + + -- Cyril Brulebois Sat, 16 Jun 2012 20:53:25 +0000 + +xinit (1.3.1-1) unstable; urgency=low + + * New upstream release. + * Update Uploaders list. Thanks, David & Brice! + * Wrap Depends/Recommends. + * Get rid of obsolete Replaces on xbase-clients from before lenny. + * Update 03_debian_startx_manpage.diff, startx.man moved below man/. + * Bump Standards-Version to 3.9.2 (no changes). + + -- Cyril Brulebois Mon, 25 Jul 2011 10:47:00 +0200 + +xinit (1.3.0-1) unstable; urgency=low + + * New upstream release. + * Refresh patch: 001_debian_xinitrc.diff (context tweak). + * Refresh other patches: line offsets. + * Add myself to Uploaders. + + -- Cyril Brulebois Wed, 03 Nov 2010 03:20:59 +0100 + +xinit (1.2.0-2) unstable; urgency=low + + [ Julien Cristau ] + * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no + good reason. Thanks, Colin Watson! + * Remove myself from Uploaders + * Drop 04_startx_paths.diff, pass --with-xinitdir=/etc/X11/xinit to + configure instead. As a side effect, this fixes the paths in the manpage + (closes: #526843). + * Drop 05_use_bash.diff. This was working around a bashism fixed 4 years + ago (closes: #479352). + * Pass --with-xterm=/usr/bin/xterm to configure (closes: #557138). + + [ Sven Joachim ] + * Depend on coreutils (>= 7.4-1) for mktemp's --tmpdir option + (Closes: #559852). + * Remove unneeded dh_makeshlibs call from debian/rules. + * Update xsfbs to 81fc271788605b52e85c2d11635a0371fb44605e. + + -- Julien Cristau Sat, 05 Jun 2010 20:04:38 +0200 + +xinit (1.2.0-1) unstable; urgency=low + + [ Brice Goglin ] + * New upstream release. + + Pass xinit error codes through startx, closes: #514922. + + Fix startx mis-parsing initial client and server arguments + which begin with / or ./, closes: #511717. + * Add README.source, bump Standards-Version to 3.8.3. + * Use updated xsfbs, closes: #538604. + * Refresh patches. + + [ Julien Cristau ] + * debian/local/xserverrc: pass our command line arguments to the X server + (closes: #549377). + * 06_move_serverauthfile_into_tmp.diff: use mktemp --tmpdir to honour + $TMPDIR (closes: #480958). + + -- Brice Goglin Sun, 06 Dec 2009 23:32:47 +0100 + +xinit (1.1.1-1) unstable; urgency=low + + * New upstream release. + * Add dependency on x11-common and xauth (closes: #512094), recommends on + xserver-xorg | xserver and xterm | x-session-manager | x-window-manager | + x-terminal-emulator (closes: #512095). Thanks, Márton Németh! + * Stop depending on cpp (this used to be necessary for xrdb, but isn't now + that the xbase-clients package has been split). + * Drop patch 07_startx_serverrc_fix.diff, included upstream. + * Update 06_move_serverauthfile_into_tmp.diff for new upstream. + * Run autoreconf on build; add build-deps on automake and xutils-dev. + * Handle parallel builds. + + -- Julien Cristau Sun, 15 Feb 2009 22:41:14 +0100 + +xinit (1.0.9-2) unstable; urgency=low + + * Fix startx. Patch from Jeremy Huddleston (closes: #482425). + + -- Julien Cristau Wed, 28 May 2008 14:27:01 +0200 + +xinit (1.0.9-1) unstable; urgency=low + + * New upstream release. + + -- Brice Goglin Wed, 21 May 2008 23:28:57 +0200 + +xinit (1.0.8-1) unstable; urgency=low + + * New upstream release + * Update our patches: + + 001_debian_xinitrc.diff: fixup + + 02_startx_hostname.diff: fixup + + 04_startx_paths.diff: refresh + + 06_move_serverauthfile_into_tmp.diff: fixup + * Don't build-depend on packages with a -1 debian revision. + * Bump Standards-Version to 3.7.3. + * Drop the XS- prefix from Vcs-* control fields. + * Don't pre-depend on x11-common, that's not needed as we don't install + anything under /usr/{lib,include}/X11. + + -- Julien Cristau Wed, 19 Mar 2008 00:32:09 +0100 + +xinit (1.0.7-2) unstable; urgency=low + + * Stop passing -dpi 100 to the X server in /etc/X11/xinit/xserverrc + and add a NEWS entry about it, closes: #452168. + + -- Brice Goglin Thu, 17 Jan 2008 20:49:40 +0100 + +xinit (1.0.7-1) unstable; urgency=low + + * New upstream release. + * Refresh 03_debian_startx_manpage.diff and + 06_move_serverauthfile_into_tmp.diff. + + -- Brice Goglin Sun, 18 Nov 2007 15:35:33 +0100 + +xinit (1.0.5-1) unstable; urgency=low + + * New upstream release. + * Add 06_move_serverauthfile_into_tmp.diff so that startx auth files + are removed on reboot, thanks Luca Capello, closes: #357736. + * Add myself to Uploaders, and remove Branden with his permission. + + -- Brice Goglin Fri, 14 Sep 2007 22:51:49 +0200 + +xinit (1.0.4-2) experimental; urgency=low + + * Add upstream URL in debian/copyright; thanks, Jörg Jaspert. + + -- Julien Cristau Tue, 26 Jun 2007 22:19:34 +0100 + +xinit (1.0.4-1) experimental; urgency=low + + [ Timo Aaltonen ] + * Split xbase-clients, new versioning using the module version. + * debian/control: + - Rename Package and Source. + - Remove unnecessary Build-Deps. + - Modify description. + - Replaces: xbase-clients (<= 1:7.2.ds2-3) to make upgrades smoother. + * debian/copyright: Leave only copyright notices that relate to + this package. + * debian/xinit.install, rules: Edit to reflect new packaging. + * debian/xinit.dirs: Remove. + * debian/patches: + - Delete patches which do not relate to this package. + - 05_use_bash.diff: fix a shell usage error (LP: #31241), + (Freedesktop: #4449) + + [ Julien Cristau ] + * New upstream release. + * Install the upstream changelog. + * Add watch file. + + -- Julien Cristau Sat, 02 Jun 2007 15:42:01 +0200 + +xbase-clients (1:7.2.ds2-3) unstable; urgency=low + + * Add patch to xsm's configure.ac to not override the user-provided RSH + variable, so we can drop the openssh build-dep (closes: #362787). + + -- Julien Cristau Wed, 09 May 2007 16:26:06 +0200 + +xbase-clients (1:7.2.ds2-2) unstable; urgency=low + + [ Julien Cristau ] + * Autoreconf with patches applied. + * Add build-dep on libxinerama-dev, so xdpyinfo is built with support for + the xinerama extension. + * Add patch 17_xmodmap_manpage.diff to make xmodmap(1) refer to + /usr/share/X11/XKeysymDB instead of /usr/lib/X11/XKeysymDB + (closes: #394077). Thanks, Joachim Breitner! + * Document each app's build-dependencies in debian/control for reference. + * Update long description: XKB configuration data is in xkb-data, bitmap + images in xbitmaps. + * Add XS-Vcs-* in debian/control. + * Upload to unstable. + + [ Brice Goglin ] + * Restore Depends: on cpp (got lost during modularization) + since xrdb needs it to process .Xdefaults. + Thanks Marcus C. Gottwald (closes: #413298). + * Remove mention of xf86cfg in package description. + Thanks Daniel Leidert (really closes: #362066). + + -- Julien Cristau Fri, 20 Apr 2007 22:00:14 +0200 + +xbase-clients (1:7.2.ds2-1) experimental; urgency=low + + * Update to xrandr 1.2.0. + * Build-dep on libxrandr 1.2.0. + * New patch to install beforelight's app-defaults file correctly. + + -- Julien Cristau Mon, 19 Feb 2007 10:46:11 +0100 + +xbase-clients (1:7.2.ds1-2) experimental; urgency=low + + * Build-dep on libpng12-dev instead of libpng-dev. xcursorgen requires + libpng12.pc, which is not available in libpng14-dev, despite it providing + libpng-dev and libpng12-dev, *sigh*. + + -- Julien Cristau Mon, 12 Feb 2007 05:35:18 +0100 + +xbase-clients (1:7.2.ds1-1) experimental; urgency=low + + * Patch setxkbmap(1) to refer to the correct location for xkb files, thanks + to Celejar for noticing. + * Update to appres 1.0.1. + * Update to beforelight 1.0.2. + * Update to bitmap 1.0.3. + * Update to editres 1.0.3. + * Update to setxkbmap 1.0.3. + * Update to xauth 1.0.2. + * Update to xdbedizzy 1.0.2. + + patch 16_xdbedizzy_fix_crash.diff dropped, included upstream. + + patch pkgconfig_naughtiness dropped, now unnecessary. + * Update to xedit 1.0.2. + * Update to xev 1.0.2. + * Update to xf86dga 1.0.2. + + relevant part dropped from 14_SECURITY_setuid.diff. + * Update to xfontsel 1.0.2. + * Update to xinit 1.0.3. + + relevant part dropped from 14_SECURITY_setuid.diff. + * Update to xkbcomp 1.0.3. + * Update to xlsfonts 1.0.2. + * Update to xmodmap 1.0.2. + * Update to xprop 1.0.2. + * Update to xrdb 1.0.3. + * Update to xsetpointer 1.0.1. + + Add build-dep on x11proto-input-dev >= 1.4. + * Update to xtrap 1.0.2. + * Modify patch 08_xlsfonts_do_not_spew_usage_on_connection_error.diff to + apply to xprop, xwd and xwininfo as well, since they all use a copy of + dsimple.c. + * Change my email address in debian/control. + + -- Julien Cristau Sun, 11 Feb 2007 15:42:54 +0100 + +xbase-clients (1:7.1.ds1-2) unstable; urgency=low + + * Add patch by Eugene Konev to fix xdbedizzy crash (closes: #365291). + + -- Julien Cristau Fri, 12 Jan 2007 17:54:07 +0100 + +xbase-clients (1:7.1.ds1-1) unstable; urgency=low + + * Add patch by Eugene Konev to fix xmore crash (closes: #365292). + * Remove version string from subdirectory names, thus new tarball, and + update patches to match. + * Define MANCONF when configuring xman, to make it look for man pages in the + right path instead of in /usr/man (closes: 404757). + * Remove Fabio from Uploaders with his permission, and add myself. + + -- Julien Cristau Mon, 8 Jan 2007 00:50:31 +0100 + +xbase-clients (1:7.1.ds-3) unstable; urgency=low + + [ Branden Robinson ] + * Patch xprop to stop segfaulting when deleted atoms are requested. + Committed upstream as git 47514347db811d002e7f3ca05d390565bc3ee5e5. + (Closes: #197526) + + [ Denis Barbier ] + * Acknowledge NMU, thanks dann frazier. (closes: #363198) + * The rsh program is required to build xsm. Replace Build-Depends: ssh | rsh + by Build-Depends: openssh-client | ssh + * Fix debian/rules so that xkbcomp look for XKB files in /usr/share/X11/xkb. + Thanks Steinar H. Gunderson (closes: #381884) + All XKB related programs share now the same build system, so factor + commands in debian/rules. + + -- Denis Barbier Sat, 12 Aug 2006 15:08:47 +0200 + +xbase-clients (1:7.1.ds-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix implicit pointer conversion in xconsole.c (closes: #363198) + (Was fixed in 1:7.1.ds-1.1 NMU, but silently dropped in 1:7.1.ds-2 MU) + + -- dann frazier Sat, 29 Jul 2006 13:59:40 -0600 + +xbase-clients (1:7.1.ds-2) unstable; urgency=high + + * Security update. Fix for setuid privledge escalation vulernabilities in + xinit, xf86dga, and xload. See + http://lists.freedesktop.org/archives/xorg/2006-June/016146.html for the + full advisory. This package applies the patches for the 7.0 release of + those apps. + + -- David Nusinow Fri, 30 Jun 2006 01:10:17 -0400 + +xbase-clients (1:7.1.ds-1) unstable; urgency=low + + [ Steve Langasek ] + * Drop broken build-dependency on xprint-utils, no thanks to anonymous + someone. + * Pass --disable-xprint to invocations of configure instead, which is + the real fix for the symptoms described: we want the xbase-clients + package to consistently build *without* xprint support, instead of + autodetecting (and possibly failing) based on whether libxp-dev is + installed. Properly closes: #366275. + * Also call PKG_PROG_PKG_CONFIG explicitly from xdbebizzy's + configure.ac, since otherwise --disable-xprint leaves us without + PKG_CONFIG defined. + + [ David Nusinow ] + * This update should include all the apps released with X11R7.1. Version the + package to match this. + * Update bitmap to 1.0.2 + * Update xcursorgen to 1.0.1 + * Autoreconf everything in order to ensure that manpages have the proper + section + * Update 11_xkb_documentation_updates.diff to not use __manpagesuffix__ + imakeism + * Bump standards version to 3.7.2.0 + * Bump debhelper compat to 5 + + -- David Nusinow Sun, 11 Jun 2006 21:51:54 -0400 + +xbase-clients (1:7.0.1-2) unstable; urgency=low + + * Add xprint-utils to build-depends. Thanks anonymous someone. + (closes: #366275) + + -- David Nusinow Sun, 14 May 2006 22:57:13 -0400 + +xbase-clients (1:7.0.1-1) unstable; urgency=low + + * Move xserverrc back to this package from xserver-xorg-core. Thanks + Benjamin Mesing. (closes: #365022) + * Update smproxy to version 1.0.2 + * Update xhost to version 1.0.1 + * Update fstobdf to version 1.0.2 + * Update xdriinfo to version 1.0.1 + * Update xinit to version 1.0.2 + * Remove obsolete patch 03_startx_dummy.diff + * Update xkbevd to version 1.0.2 + * Update xman to version 1.0.2 + * Update xrefresh to version 1.0.2 + * Update xwininfo to version 1.0.2 + * Update xclock to version 1.0.2 + * Update xconsole to version 1.0.2 + * Update xkbcomp to version 1.0.2 + * Update xmodmap to version 1.0.1 + * Update xrandr to version 1.0.2 + * Update xrdb to version 1.0.2 + * Update xset to version 1.0.2 + + -- David Nusinow Tue, 2 May 2006 22:58:57 -0400 + +xbase-clients (1:7.0.0-5) unstable; urgency=low + + * Patch startx so that it points to /etc/X11/xinit for xserverrc and + xinitrc. Thanks Vasilis Vasaitis and Bastian Kleineidam. + * Move xserverrc back to /etc/X11/xinit + * Use --list-missing with dh_install + + -- David Nusinow Tue, 25 Apr 2006 21:37:22 -0400 + +xbase-clients (1:7.0.0-4) unstable; urgency=low + + * Add quilt to build-depends. + + -- David Nusinow Sat, 15 Apr 2006 19:49:02 -0400 + +xbase-clients (1:7.0.0-3) unstable; urgency=low + + * Remove mention of xorgconfig and xorgcfg in package description. Thanks + Daniel Leidert. (closes: #362066) + * Add 12_startx_paths.diff to use X11R7 paths for startx and xinit. Thanks + Arjan Opmeer. (closes: #357713) + * Add libxi-dev to build-depends + * Make xbase-clients explicitly pre-depend on x11-common >= 1:7.0.0, rather + than implicitly. Thanks Vasilis Vasaitis. (closes: #357713) + + -- David Nusinow Thu, 13 Apr 2006 22:39:46 -0400 + +xbase-clients (1:7.0.0-2) unstable; urgency=low + + * Upload to unstable + * Add build-depends on libgl1-mesa-dev, versioned build-depneds on + libdrender-dev, and re-version build-depend on libxft-dev. Thanks Frank + Lichtenheld. (closes: #361821) + + -- David Nusinow Mon, 10 Apr 2006 19:49:23 -0400 + +xbase-clients (1:7.0.0-1) experimental; urgency=low + + [ Denis Barbier ] + * Set XKB base path to /usr/share/X11/xkb. + + [ David Nusinow ] + * Update to x11perf 1.4.1 and setxkbmap 1.0.2 upstream releases + * Bump version number to match upstream's current katamari release + + -- David Nusinow Thu, 16 Mar 2006 23:06:15 -0500 + +xbase-clients (1:1.0.1-2) experimental; urgency=low + + * Add an empty /var/lib/xkb directory so that the server loads the correct + keymaps. Thanks Silvestre Zabala, Eugene Konev, and Daniel Stone. + (closes: #354130) + * Port patches from trunk + + general/014_startx_hostname_fix.diff + + general/015_startx_dummy_fix.diff + + general/073_xev_flush_standard_output.diff + + general/025c_bitmap_manpage_typo.diff + + general/025d_xedit_manpage_typos.diff + + general/025e_xvinfo_manpage_typo.diff + + general/099r_xlsfonts_do_not_spew_usage_on_connection_error.diff + + debian/902_debian_startx_manpage.diff + + debian/916_add_XKBPATH_env_variable.diff + + general/051_xkb_documentation_updates.diff + * Suggest mesa-utils, where glxinfo and glxgears have been moved. + Thanks Mike Hommey. (closes: #354246) + + -- David Nusinow Sat, 4 Mar 2006 18:59:20 -0500 + +xbase-clients (1:1.0.1-1) experimental; urgency=low + + [ David Nusinow ] + * First modular upload to Debian + + [ Eugene Konev ] + * Divide packages that we process in debian/rules by category so we can pass + the xkb packages the proper configure flags + + -- David Nusinow Sun, 19 Feb 2006 19:46:46 -0500 --- xinit-1.3.4.orig/debian/compat +++ xinit-1.3.4/debian/compat @@ -0,0 +1 @@ +5 --- xinit-1.3.4.orig/debian/control +++ xinit-1.3.4/debian/control @@ -0,0 +1,31 @@ +Source: xinit +Section: x11 +Priority: optional +Maintainer: Debian X Strike Force +Uploaders: Cyril Brulebois +Build-Depends: + debhelper (>= 5.0.0), + pkg-config, + libx11-dev (>= 2:1.0.0), + quilt, + automake, + x11proto-core-dev (>= 7.0.17), + xutils-dev (>= 1:7.7+3), +Standards-Version: 3.9.5 +Vcs-Git: git://anonscm.debian.org/pkg-xorg/app/xinit +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-xorg/app/xinit.git + +Package: xinit +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + coreutils (>= 7.4-1), + x11-common, + xauth, +Recommends: + xserver-xorg | xserver, + xterm | x-session-manager | x-window-manager | x-terminal-emulator, +Description: X server initialisation tool + xinit and startx are programs which facilitate starting an X server, and + loading a base X session. --- xinit-1.3.4.orig/debian/copyright +++ xinit-1.3.4/debian/copyright @@ -0,0 +1,24 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/app/ + +Copyright 1986, 1998 The Open Group + +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. --- xinit-1.3.4.orig/debian/local/xserverrc +++ xinit-1.3.4/debian/local/xserverrc @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/X -nolisten tcp "$@" --- xinit-1.3.4.orig/debian/patches/001_debian_xinitrc.diff +++ xinit-1.3.4/debian/patches/001_debian_xinitrc.diff @@ -0,0 +1,63 @@ +--- a/xinitrc.cpp ++++ b/xinitrc.cpp +@@ -1,55 +1,8 @@ + XCOMM!SHELL_CMD + +-userresources=$HOME/.Xresources +-usermodmap=$HOME/.Xmodmap +-sysresources=XINITDIR/.Xresources +-sysmodmap=XINITDIR/.Xmodmap ++XCOMM /etc/X11/xinit/xinitrc ++XCOMM ++XCOMM global xinitrc file, used by all X sessions started by xinit (startx) + +-XCOMM merge in defaults and keymaps +- +-if [ -f $sysresources ]; then +-#ifdef __APPLE__ +- if [ -x /usr/bin/cpp ] ; then +- XRDB -merge $sysresources +- else +- XRDB -nocpp -merge $sysresources +- fi +-#else +- XRDB -merge $sysresources +-#endif +-fi +- +-if [ -f $sysmodmap ]; then +- XMODMAP $sysmodmap +-fi +- +-if [ -f "$userresources" ]; then +-#ifdef __APPLE__ +- if [ -x /usr/bin/cpp ] ; then +- XRDB -merge "$userresources" +- else +- XRDB -nocpp -merge "$userresources" +- fi +-#else +- XRDB -merge "$userresources" +-#endif +-fi +- +-if [ -f "$usermodmap" ]; then +- XMODMAP "$usermodmap" +-fi +- +-XCOMM start some nice programs +- +-if [ -d XINITDIR/xinitrc.d ] ; then +- for f in XINITDIR/xinitrc.d/?*.sh ; do +- [ -x "$f" ] && . "$f" +- done +- unset f +-fi +- +-TWM & +-XCLOCK -geometry 50x50-1+1 & +-XTERM -geometry 80x50+494+51 & +-XTERM -geometry 80x20+494-0 & +-exec XTERM -geometry 80x66+0+0 -name login ++XCOMM invoke global X session script ++. /etc/X11/Xsession --- xinit-1.3.4.orig/debian/patches/02_startx_hostname.diff +++ xinit-1.3.4/debian/patches/02_startx_hostname.diff @@ -0,0 +1,32 @@ +--- + startx.cpp | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +--- a/startx.cpp ++++ b/startx.cpp +@@ -245,18 +245,17 @@ if [ x"$enable_xauth" = x1 ] ; then + removelist= + + XCOMM set up default Xauth info for this machine +- case `uname` in +- Linux*) ++ ++ XCOMM check for GNU hostname ++ if hostname --version > /dev/null 2>&1; then + if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then + hostname=`hostname -f` +- else +- hostname=`hostname` + fi +- ;; +- *) ++ fi ++ ++ if [ -z "$hostname" ]; then + hostname=`hostname` +- ;; +- esac ++ fi + + authdisplay=${display:-:0} + #if defined(HAS_COOKIE_MAKER) && defined(MK_COOKIE) --- xinit-1.3.4.orig/debian/patches/03_debian_startx_manpage.diff +++ xinit-1.3.4/debian/patches/03_debian_startx_manpage.diff @@ -0,0 +1,77 @@ +Fix the startx manpage to be more correct for our setup; this patch by Branden +Robinson. + +--- + startx.man | 54 ++++++++++++++++++++++-------------------------------- + 1 file changed, 22 insertions(+), 32 deletions(-) + +--- a/man/startx.man ++++ b/man/startx.man +@@ -93,6 +93,28 @@ looks for the following files, in order: + .. + .if !'x.__SCOMAN__'x.' .ig + .PP ++Note that in the Debian system, what many people traditionally put in the ++.I .xinitrc ++file should go in ++.I .xsession ++instead; this permits the same X environment to be presented whether ++.IR startx , ++.IR xdm , ++or ++.I xinit ++is used to start the X session. All discussion of the ++.I .xinitrc ++file in the ++.IR xinit (1) ++manual page applies equally well to ++.IR .xsession. ++Keep in mind that ++.I .xinitrc ++is used only by ++.IR xinit (1) ++and completely ignored by ++.IR xdm (1). ++.PP + To determine the client to run, + .B startx + first looks for a file called +@@ -135,38 +157,6 @@ and + files are found in the + .I __xinitdir__ + directory. +-.PP +-The +-.I .xinitrc +-is typically a shell script which starts many clients according to the +-user's preference. When this shell script exits, +-.B startx +-kills the server and performs any other session shutdown needed. +-Most of the clients started by +-.I .xinitrc +-should be run in the background. The last client should run in the +-foreground; when it exits, the session will exit. People often choose +-a session manager, window manager, or \fIxterm\fP as the ''magic'' client. +-.SH EXAMPLE +-.PP +-Below is a sample \fI\.xinitrc\fP that starts several applications and +-leaves the window manager running as the ''last'' application. Assuming that +-the window manager has been configured properly, the user +-then chooses the ''Exit'' menu item to shut down X. +-.sp +-.in +4 +-.nf +-xrdb \-load $HOME/.Xresources +-xsetroot \-solid gray & +-xbiff \-geometry \-430+5 & +-oclock \-geometry 75x75\-0\-0 & +-xload \-geometry \-80\-0 & +-xterm \-geometry +0+60 \-ls & +-xterm \-geometry +0\-100 & +-xconsole \-geometry \-0+0 \-fn 5x7 & +-exec twm +-.fi +-.in -4 + .SH "ENVIRONMENT VARIABLES" + .TP 25 + DISPLAY --- xinit-1.3.4.orig/debian/patches/06_move_serverauthfile_into_tmp.diff +++ xinit-1.3.4/debian/patches/06_move_serverauthfile_into_tmp.diff @@ -0,0 +1,18 @@ +Move startx auth files in /tmp so they are removed on reboot. +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=357736 +The trap patch didn't seem to work on reboot. +--- + startx.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/startx.cpp ++++ b/startx.cpp +@@ -274,7 +274,7 @@ if [ x"$enable_xauth" = x1 ] ; then + dummy=0 + + XCOMM create a file with auth information for the server. ':0' is a dummy. +- xserverauthfile=$HOME/.serverauth.$$ ++ xserverauthfile=`mktemp --tmpdir serverauth.XXXXXXXXXX` + trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM + xauth -q -f "$xserverauthfile" << EOF + add :$dummy . $mcookie --- xinit-1.3.4.orig/debian/patches/series +++ xinit-1.3.4/debian/patches/series @@ -0,0 +1,4 @@ +001_debian_xinitrc.diff +02_startx_hostname.diff +03_debian_startx_manpage.diff +06_move_serverauthfile_into_tmp.diff --- xinit-1.3.4.orig/debian/rules +++ xinit-1.3.4/debian/rules @@ -0,0 +1,97 @@ +#!/usr/bin/make -f +# debian/rules for the Debian xutils package. +# Copyright © 2004 Scott James Remnant +# Copyright © 2005 Daniel Stone +# Copyright © 2005 David Nusinow + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +include debian/xsfbs/xsfbs.mk + +DPKG_EXPORT_BUILDFLAGS = 1 +DEB_CFLAGS_MAINT_APPEND = -Wall -g +include /usr/share/dpkg/buildflags.mk + +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +endif + +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +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 + +configure: $(STAMP_DIR)/patch + autoreconf -vfi + +build: build-stamp +build-stamp: configure $(STAMP_DIR)/genscripts + dh_testdir + + mkdir -p build + cd build && \ + ../configure --prefix=/usr --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info $(confflags) \ + --with-xinitdir=/etc/X11/xinit \ + --with-xterm=/usr/bin/xterm + cd build && $(MAKE) || exit 1 + >$@ + +clean: xsfclean + dh_testdir + dh_testroot + 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 + rm -f aclocal.m4 compile config.guess config.h.in config.sub configure + rm -f depcomp install-sh missing INSTALL + rm -f $$(find -name Makefile.in) + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + cd build && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install + + install -d debian/tmp/etc/X11/xinit + install -m 755 debian/local/xserverrc debian/tmp/etc/X11/xinit + chmod 755 debian/tmp/etc/X11/xinit/xinitrc + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + + dh_installdocs + dh_install --sourcedir=debian/tmp --list-missing + dh_installchangelogs ChangeLog + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + 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 --- xinit-1.3.4.orig/debian/watch +++ xinit-1.3.4/debian/watch @@ -0,0 +1,3 @@ +#git=git://anongit.freedesktop.org/xorg/app/xinit +version=3 +http://xorg.freedesktop.org/releases/individual/app/xinit-([\d\.]+)\.tar\.gz --- xinit-1.3.4.orig/debian/xinit.install +++ xinit-1.3.4/debian/xinit.install @@ -0,0 +1,4 @@ +usr/bin/* +usr/share/man/man1/* +etc/X11/xinit/xinitrc +etc/X11/xinit/xserverrc --- xinit-1.3.4.orig/debian/xsfbs/repack.sh +++ xinit-1.3.4/debian/xsfbs/repack.sh @@ -0,0 +1,32 @@ +#!/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 --- xinit-1.3.4.orig/debian/xsfbs/xsfbs.mk +++ xinit-1.3.4/debian/xsfbs/xsfbs.mk @@ -0,0 +1,285 @@ +#!/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: --- xinit-1.3.4.orig/debian/xsfbs/xsfbs.sh +++ xinit-1.3.4/debian/xsfbs/xsfbs.sh @@ -0,0 +1,622 @@ +# 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.