--- xserver-xorg-video-vesa-2.2.1.orig/.gitignore +++ xserver-xorg-video-vesa-2.2.1/.gitignore @@ -0,0 +1,20 @@ +Makefile +Makefile.in +*.la +*.lo +aclocal.m4 +autom4te.cache +config.guess +config.h +config.h.in +config.log +config.status +config.sub +configure +depcomp +install-sh +libtool +ltmain.sh +missing +stamp-h1 +*~ --- xserver-xorg-video-vesa-2.2.1.orig/ChangeLog +++ xserver-xorg-video-vesa-2.2.1/ChangeLog @@ -1,68 +1,612 @@ -2006-06-03 Daniel Stone +commit fdf653a99f53306efcd48658caf657af48ea916d +Author: Dave Airlie +Date: Thu Jul 30 12:04:30 2009 +1000 - * configure.ac: - Bump to 1.2.1. + vesa: bump for release 2.2.1 - * src/vesa.c: - Don't call VBEGetSetDACPaletteFormat when running in direct colour or - YUV modes. (David Sterratt) +commit 869a9c8058c16734af5c8771a0c32df0be7bba36 +Author: Dave Airlie +Date: Tue Jul 28 15:22:42 2009 +1000 -2006-05-19 Adam Jackson + vesa: change to using ABI version check - * configure.ac: - * src/vesa.h: - Bump to 1.2.0 +commit aad538f06852e5bf011597a574785d525ed1b0c4 +Author: Dave Airlie +Date: Tue Jul 28 13:32:40 2009 +1000 -2006-05-18 Kevin E. Martin + vesa: update for resources/RAC API removal - * src/vesa.c: (VESAScreenInit), (VESACloseScreen): - * src/vesa.h: - Fix ShadowFB support to work with recent miext/shadow changes from - bug #5460. +commit 49f6a2f902473692f6541ee32e018b64d74e7ece +Author: Peter Hutterer +Date: Thu Jul 16 11:58:39 2009 +1000 -2006-04-07 Adam Jackson + Update to xextproto 7.1 support. + + DPMS header was split into dpms.h (client) and dpmsconst.h (server). Drivers + need to include dpmsconst.h if xextproto 7.1 is available. + + Signed-off-by: Peter Hutterer - * configure.ac: - * src/vesa.c: - * src/vesa.h: - Unlibcwrap. Bump server version requirement. Bump to 1.1.0. +commit 69b3eb4f8a9b93f1b2a73e395d4d7c29c6c18b41 +Author: Adam Jackson +Date: Thu Feb 26 14:33:52 2009 -0500 -2005-12-20 Kevin E. Martin + Attempt VBE PanelID if DDC fails - * configure.ac: - Update package version for X11R7 release. +commit 68ca3d10ab33ee2347928b0340198aff4f620144 +Author: Adam Jackson +Date: Tue Feb 17 18:04:29 2009 -0500 -2005-12-14 Kevin E. Martin + vesa 2.2.0 - * configure.ac: - Update package version number for final X11R7 release candidate. +commit 817fb65fc3a95d6c34952f241c92ba2d3760968e +Author: Adam Jackson +Date: Thu Feb 5 16:09:32 2009 -0500 -2005-12-06 Kevin E. Martin + Add yet another pass to mode validation. + + Now it's: exact intersection, range based, optimistic range based. The + final pass tries to stretch out the bottom of the sync ranges to fit + down to 640x480. We'll skip the last pass if the sync range is already + that optimistic though. - * man/Makefile.am: - Change *man_SOURCES ==> *man_PRE to fix autotools warnings. +commit 5522f06c2305d52b12d6934133f46f7b7927ebf7 +Author: Alan Coopersmith +Date: Fri Jan 30 21:06:38 2009 -0800 -2005-12-03 Kevin E. Martin + Add README with pointers to mailing list, bugzilla & git repos - * configure.ac: - Update package version number for X11R7 RC3 release. +commit 566270b780a3f68b02d39f913372dc558ac931f2 +Author: Alan Coopersmith +Date: Fri Jan 9 16:38:18 2009 -0800 -2005-12-01 Kevin E. Martin + Remove xorgconfig & xorgcfg from See Also list in man page - * configure.ac: - Remove extraneous AC_MSG_RESULT. +commit c7f6d282ccbe1931f5ae6472cbfb4f80fc749525 +Author: Dave Airlie +Date: Mon Dec 22 12:36:21 2008 +1000 -2005-11-29 Adam Jackson + vesa 2.1.0 - * configure.ac: - Only build dlloader modules by default. +commit d994a9abbda582ccd6d38447ca2201de10cc36a5 +Author: Adam Jackson +Date: Sun Nov 23 17:28:33 2008 -0500 -2005-11-09 Kevin E. Martin + Make ISA support optional. - * configure.ac: - Update package version number for X11R7 RC2 release. +commit 38431c99ccb625d0fd784f86f6a8a9cdbfbf872e +Author: Luc Verhaegen +Date: Thu Sep 18 16:58:59 2008 +0200 -2005-11-01 Kevin E. Martin + VESASetMode: be verbose about the mode that's being set. - * configure.ac: - Update pkgcheck dependencies to work with separate build roots. +commit e670b3e4a1102a36a01edf1fd38676b9b13fb957 +Author: Julien Cristau +Date: Tue Jul 15 00:26:12 2008 +0200 + + Properly define the driver version + + Define VESA_VERSION_MAJOR/MINOR/PATCHLEVEL using the version from + configure.ac. + +commit 4939ada882feeafe4b2f233a4a27d6ad38d5bf99 +Author: Adam Jackson +Date: Tue Jul 1 14:27:48 2008 -0400 + + Default VESAValidMode to returning MODE_BAD. + +commit 9d27e31dca8e0bddbf82ef2f19064160cff3a59e +Author: Adam Jackson +Date: Tue Jul 1 14:19:04 2008 -0400 + + Add a TODO list. + +commit bcf3514b99431b6935ea568b59d94f266ccd7aeb +Author: Adam Jackson +Date: Tue Jul 1 14:09:00 2008 -0400 + + Warning cleanup. + +commit ea57dcf423ebc3cb24060eebfc1943703448c320 +Author: Adam Jackson +Date: Tue Jul 1 14:07:15 2008 -0400 + + Use VBE services for DPMS instead of banging VGA registers manually. + +commit 3631892e0c53568b9f6b0c4aeacd2354305376e6 +Author: Adam Jackson +Date: Tue Jul 1 13:41:07 2008 -0400 + + vesa 2.0.0 + +commit eb4216dbb392a78d15cde8232d4d951ad876518e +Author: Adam Jackson +Date: Tue Jul 1 13:40:16 2008 -0400 + + Un-duplicate some init code. + +commit 8ec1f02475bc4267050239c6840fa6738b0caefb +Author: Adam Jackson +Date: Tue Jul 1 13:23:31 2008 -0400 + + Remove unused ->device + +commit 1f1e72fd965443e61ec10442044f554afd77db36 +Author: Adam Jackson +Date: Thu Jun 12 15:22:14 2008 -0400 + + vesa 1.99.1 + +commit 419b7d46f2abab5506c89f3b2b3e7a50a5dbf3a7 +Author: Adam Jackson +Date: Thu Jun 12 14:30:51 2008 -0400 + + Update copyright. + +commit f807c82506f42c1e1fa63cfa56d7c79b653e46f8 +Author: Adam Jackson +Date: Thu Jun 12 14:19:12 2008 -0400 + + Clean up memory model checking, and properly refuse unsupported models. + +commit 99d2cc8676a93ec21f5ca1cec3525a8dff8a6acd +Author: Adam Jackson +Date: Thu Jun 12 14:16:52 2008 -0400 + + Add semi-reasonable mode validation. + +commit 1a256385169d61c6f42cb6f6d0eb1688570fd79e +Author: Adam Jackson +Date: Thu Jun 12 12:06:04 2008 -0400 + + Prefer a more modern depth/bpp selection. + + 24+32, then 24+24, then 16, 15, 8, 4, 1. + + See also Red Hat bugs #427383, #445566. + +commit 2760e3e9163768aea85d188ae23b7d9e4e89944b +Author: Adam Jackson +Date: Thu Jun 12 11:31:00 2008 -0400 + + Remove some useless module loading cruft. + +commit 6ac8eca0063576a64827ca74dfe78ac1a1e53188 +Author: Adam Jackson +Date: Thu Jun 12 11:18:07 2008 -0400 + + Fix boolean inversion in VBE screen clear. + + From the VESA VBE doc: "If bit D15 is not set, all reported image pages, + based on Function 00h returned information NumberOfImagePages, will be + cleared to 00h in graphics mode, and 20 07 in text mode. Memory over and + above the reported image pages will not be changed. If bit D15 is set, + then the contents of the frame buffer after the mode change is undefined." + + D15 here means the high bit of %bx. + +commit f8a2b6470406415e96b5d03afa2129acd33b1d91 +Author: Julien Cristau +Date: Thu Apr 17 01:36:48 2008 +0200 + + Planar video is gone + + xf1bpp and xf4bpp were removed from the server, so + don't try to use them. The afb code was disabled + for years and nobody noticed, remove that too. + +commit 837e6382cfb54fdfe65355e2b0c21b2949cebc32 +Author: Matthieu Herrb +Date: Sun Mar 9 00:05:06 2008 +0100 + + Makefile.am: nuke RCS Id + +commit f374ef206a31c0208072bcd12386860429e78f40 +Author: Julien Cristau +Date: Fri Mar 7 17:12:52 2008 +0100 + + fixup pciaccess version detect + +commit 89d1940bc2aa05e20527bb11224fd3ce0156a593 +Author: Adam Jackson +Date: Fri Feb 29 17:05:09 2008 -0500 + + Bug #10004: Fix palette initialization in 8bpp modes. + + MemoryModel is an enum, not a bitfield; use == not & for the test. + +commit 8e8efd5de2b3f5985b6df814392e6eecff2f97a3 +Author: Daniel Drake +Date: Tue May 29 12:17:00 2007 -0800 + + Bug #11090: xf86-video-vesa COPYING file + + X.Org Bugzilla #11090 + +commit d6908078506fe2e47fe1293d717d1c99deb8038a +Author: Ian Romanick +Date: Tue Sep 4 16:38:37 2007 -0700 + + Use pci_device_map_range instead of pci_device_map_memory_range + +commit e1bd1a12455497608aa5a071a071b1b0fb0c9ce2 +Author: Ian Romanick +Date: Tue Sep 4 16:33:09 2007 -0700 + + Use XSERVER_LIBPCIACCESS to autodetect libpciaccess usage. + +commit d4e58d9b8dc9dd97a2f3a4c16e27ecce72bf19e1 +Author: James Cloos +Date: Mon Sep 3 05:52:49 2007 -0400 + + Add *~ to .gitignore to skip patch/emacs droppings + +commit 07a1bb0ed32ab10abce160e6b506614564c54f49 +Author: James Cloos +Date: Thu Aug 23 19:26:01 2007 -0400 + + Rename .cvsignore to .gitignore + +commit f5315667c0d827cca56a0a855b33e0efe83e3fa0 +Author: Aaron Plattner +Date: Fri May 11 15:06:50 2007 -0700 + + Don't disable FB access when it's already disabled. + + Fixes a server segfault during xrandr resize. + +commit 5133cd1063e4cebbec9e7bcc85917f328ffe52f4 +Author: Adam Jackson +Date: Thu Mar 1 17:42:06 2007 -0500 + + Remove all trace of mfb + +commit 9bbe1c49b9d22736eded05909e144cc6e03050b4 +Author: Ian Romanick +Date: Mon Jan 15 17:31:18 2007 -0800 + + Correct '#ifdef' to '#ifndef'. Oops. + +commit 824ccaab986e1c2be6229350731b43f8831ebef7 +Author: Ian Romanick +Date: Mon Jan 15 13:16:52 2007 -0800 + + Add conditional support for pci-rework branch. + + To build VESA driver for use with pci-rework Xserver, add + --enable-pciacces to the configure command line. Otherwise, the + "traditional" VESA driver will be built. + +commit 7f4f198b21bc1df254912adb9592339b21d121f5 +Author: Adam Jackson +Date: Thu Nov 30 16:04:26 2006 -0500 + + Bump to 1.3.0 + +commit 7777730e7749fe6921e76a4a1738e0e2a0b16376 +Author: Adam Jackson +Date: Thu Nov 30 16:03:35 2006 -0500 + + Fix shadow support yet again. + +commit 7664016db9869d57d4279a9cb32a6ae0086c5b28 +Author: Adam Jackson +Date: Fri Oct 13 18:48:08 2006 -0400 + + Bump to 1.2.2 + +commit 3b07dd7f43be7c1263f80eb279605a89c860dc4b +Author: Daniel Stone +Date: Sat Jun 3 09:46:27 2006 +0000 + + Don't call VBEGetSetDACPaletteFormat when running in direct colour or YUV + modes. (David Sterratt) Bump to 1.2.1. + +commit a7315a314fa647a427805dc51f29558f6c607faa +Author: Adam Jackson +Date: Fri May 19 19:10:12 2006 +0000 + + Bump to 1.2.0 + +commit 2f586dac58dfa30246c7d404a3b08f6e287e5975 +Author: Kevin E Martin +Date: Thu May 18 21:14:44 2006 +0000 + + Fix ShadowFB support to work with recent miext/shadow changes from bug + #5460. + +commit 4129d5a0c0648afcf36b004e7f7b5b2de9b7ac27 +Author: Adam Jackson +Date: Fri Apr 7 21:47:15 2006 +0000 + + Unlibcwrap. Bump server version requirement. Bump to 1.1.0. + +commit fba272fcbedd2c03760646f587144ab4c111c7df +Author: Kevin E Martin +Date: Wed Dec 21 02:30:04 2005 +0000 + + Update package version for X11R7 release. + +commit 1bfb30439eccfa39a021cf84b630fe8b2a51bf3c +Author: Adam Jackson +Date: Mon Dec 19 16:25:56 2005 +0000 + + Stub COPYING files + +commit 6eae0ead000939ee39967e580d9d356fa00bc236 +Author: Alan Coopersmith +Date: Mon Dec 19 09:07:51 2005 +0000 + + Typo fixes, mailing list & url updates, and other changes to prepare for + X11R6.9 & 7.0 releases. + +commit 14a6c4cb9adde5f5f6009bd4eb30f6649eeea540 +Author: Kevin E Martin +Date: Thu Dec 15 00:24:21 2005 +0000 + + Update package version number for final X11R7 release candidate. + +commit a7f95952dcc8319051118db938d0341bf5479a6e +Author: Kevin E Martin +Date: Tue Dec 6 22:48:40 2005 +0000 + + Change *man_SOURCES ==> *man_PRE to fix autotools warnings. + +commit 7ddc236e517ddae2660523a63c3d060029121e3d +Author: Kevin E Martin +Date: Sat Dec 3 05:49:36 2005 +0000 + + Update package version number for X11R7 RC3 release. + +commit 45d73281a9efe09292eab995c9796eb613edd6d1 +Author: Kevin E Martin +Date: Fri Dec 2 02:16:11 2005 +0000 + + Remove extraneous AC_MSG_RESULT. + +commit ea8c88acd1cc1962cf8360144d4ea1c4b222ba17 +Author: Adam Jackson +Date: Tue Nov 29 23:30:06 2005 +0000 + + Only build dlloader modules by default. + +commit 62a4b6d0ec9b2ace7660cefd7d4aef6162c0d54d +Author: Alan Coopersmith +Date: Mon Nov 28 22:04:14 2005 +0000 + + Change *mandir targets to use new *_MAN_DIR variables set by xorg-macros.m4 + update to fix bug #5167 (Linux prefers *.1x man pages in man1 subdir) + +commit 415fa60ef3a042851e93de5842312a8a695131b8 +Author: Eric Anholt +Date: Mon Nov 21 10:49:22 2005 +0000 + + Add .cvsignores for drivers. + +commit 10f025468598dafe646013cddafc43d90f6cbf0c +Author: Kevin E Martin +Date: Wed Nov 9 21:31:21 2005 +0000 + + Bump version numbers for X11R6.9/X11R7 RC2. + +commit e559685ed6f0e5ab2d947ea02dea11129623a37d +Author: Kevin E Martin +Date: Wed Nov 9 21:15:22 2005 +0000 + + Update package version number for X11R7 RC2 release. + +commit 0eb288746f85c73e7ae21838dfc52f177b963b29 +Author: Kevin E Martin +Date: Tue Nov 1 15:08:57 2005 +0000 + + Update pkgcheck depedencies to work with separate build roots. + +commit 4e79cb7dd2d91af9777f4bea952c962c4e6c3a24 +Author: Alan Coopersmith +Date: Wed Oct 26 21:36:25 2005 +0000 + + Don't try to restore savedPal in CloseScreen if savedPal is NULL, to avoid + segfault. + +commit 1ec47d75f37e1ab13145981524fc0c5bd6caae97 +Author: Kevin E Martin +Date: Wed Oct 19 02:48:06 2005 +0000 + + Update package version number for RC1 release. + +commit 12cd0de9c963f61347ffde4513d5ed7deced79cc +Author: Alan Coopersmith +Date: Tue Oct 18 00:01:55 2005 +0000 + + Use @DRIVER_MAN_SUFFIX@ instead of $(DRIVER_MAN_SUFFIX) in macro + substitutions to work better with BSD make + +commit 849b2b280720536ba318a3fb79b34b0eb920245d +Author: Adam Jackson +Date: Mon Oct 17 22:57:37 2005 +0000 + + More 1.7 braindamage: define EXTRA_DIST in terms of @DRIVER_NAME@ instead + of indirectly + +commit 08beda07409160136c8fbe846144731af699a66f +Author: Alan Coopersmith +Date: Mon Oct 17 00:09:08 2005 +0000 + + Use sed & cpp to substitute variables in driver man pages + +commit ff8c7b0b4d3c6789d9ff8d37e84f9c5a445c3515 +Author: Daniel Stone +Date: Fri Aug 26 07:39:03 2005 +0000 + + Wrap afb calls in #ifdef USE_AFB. (Debian #015) + +commit 58313d626fbd332209f28e345aa8bdcc47113729 +Author: Daniel Stone +Date: Fri Aug 26 06:55:35 2005 +0000 + + Wrap afb calls in #ifdef USE_AFB. (Debian #015) + +commit 0a3e6b28c75312d42ed5dc5db3d31262d7ec3b75 +Author: Daniel Stone +Date: Thu Aug 18 09:03:55 2005 +0000 + + Update autogen.sh to one that does objdir != srcdir. + +commit 3251a5e09646f88a80b40385d2bb8e5417bdc388 +Author: Søren Sandmann Pedersen +Date: Wed Aug 10 14:07:25 2005 +0000 + + Don\'t lose existing CFLAGS in all the input drivers and some of the video + drivers + +commit ab1ec5ee5b02d4cd3faf7ae5338fa4081ec1257c +Author: Kevin E Martin +Date: Fri Jul 29 21:22:46 2005 +0000 + + Various changes preparing packages for RC0: + - Verify and update package version numbers as needed + - Implement versioning scheme + - Change bug address to point to bugzilla bug entry form + - Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to + reenable it) + - Fix makedepend to use pkgconfig and pass distcheck + - Update build script to build macros first + - Update modular Xorg version + +commit dfe2847e4720793b4ff80d717aba31079a065392 +Author: Søren Sandmann Pedersen +Date: Wed Jul 13 21:51:06 2005 +0000 + + add Makefile.am + +commit 8100f70d79c0d1a405eeb576898a182cef8d4c3b +Author: Søren Sandmann Pedersen +Date: Wed Jul 13 21:50:33 2005 +0000 + + add Makefile.am + +commit be230c6144ff1dd12b0d7acce4a2a478c0be3527 +Author: Søren Sandmann Pedersen +Date: Wed Jul 13 21:46:36 2005 +0000 + + Build system for vesa video driver + +commit af35fdc8d552424cc74872aac364e48f42d5e409 +Author: Adam Jackson +Date: Mon Jul 11 02:30:06 2005 +0000 + + Prep for modular builds by adding guarded #include "config.h" everywhere. + +commit b3ef5c7885d59f81847e2e7394683c91617b5cc1 +Author: Adam Jackson +Date: Sat Jun 25 21:17:00 2005 +0000 + + Bug #3626: _X_EXPORT tags for video and input drivers. + +commit 9f2b6b63add7822dea966f489f496c7a2edfa19c +Author: Egbert Eich +Date: Mon May 9 17:40:51 2005 +0000 + + VBE Set Mode (0x02) to not clear the screen causes problems on some BIOSes. + This fix adds an option to disable it (Bugzilla #3246). + +commit 0b142fd735496c72ead409e1f89caa1da8d80f6e +Author: Daniel Stone +Date: Wed Apr 20 12:25:32 2005 +0000 + + Fix includes right throughout the Xserver tree: + change "foo.h" to for core headers, e.g. X.h, Xpoll.h; + change "foo.h", "extensions/foo.h" and "X11/foo.h" to + for extension headers, e.g. Xv.h; + change "foo.[ch]" to for Xtrans files. + +commit 16af3cc966b0f79388e9a8a68f75f62f6c30a756 +Author: Markus Kuhn +Date: Sat Dec 4 00:43:10 2004 +0000 + + Encoding of numerous files changed to UTF-8 + +commit 160cc48048a4944d0a8d0b8a42c22bae61de0319 +Author: Adam Jackson +Date: Fri Sep 17 03:04:54 2004 +0000 + + Bug #1192: Remove cfb support from drivers where its use is an option. + Delete xf24_32bpp, as s3virge was the last user. Fix up some comments + to refer to fb rather than cfb. + +commit 09f88863a0bdf236200107631ff93f27bb03f6f4 +Author: Adam Jackson +Date: Wed Aug 11 19:52:13 2004 +0000 + + Fix vesa.c's shadow symbol list. + +commit 088edb719db194dd352c09ae3fa799e4653de9e6 +Author: Adam Jackson +Date: Tue Aug 3 02:44:21 2004 +0000 + + Bug #962: Remove LoaderSymbol calls introduced by the dlloader work so + DoLoadableServer NO builds work again. + +commit a6a753d5a5c1c167670a4144c7ace39d688fd1e5 +Author: Adam Jackson +Date: Fri Jul 30 20:30:55 2004 +0000 + + Bug #400 (partial): Driver fixes for the dlloader. When using dlloader, all + framebuffer formats except cfb and the overlay modes should work, and + r128 and radeon need to be loaded from the ati driver (both issues to + be fixed soon). Tested on i740, s3virge, mach64, tdfx, vesa, and vga + drivers. elfloader users shouldn't be affected. + +commit 03b2fd85a09d9787d1895cdb7e418e7543288fd9 +Author: Eric Anholt +Date: Wed Jun 16 09:24:10 2004 +0000 + + DRI XFree86-4_3_99_12-merge import + +commit 283c0359be82bfac45781ad06d2ff0965daef73e +Author: Egbert Eich +Date: Fri Apr 23 19:52:54 2004 +0000 + + Merging XORG-CURRENT into trunk + +commit fd59c1875f4f249cf42b46cfa763a1d221463f74 +Author: Egbert Eich +Date: Sun Mar 14 08:33:41 2004 +0000 + + Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004 + +commit 3837d4b3421a71c631b6f17813c747446bf49246 +Author: Egbert Eich +Date: Wed Mar 3 12:12:28 2004 +0000 + + Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004 + +commit acd0b5c42b504749bb6bd3f0c416fc838fc31b05 +Author: Egbert Eich +Date: Thu Feb 26 13:35:55 2004 +0000 + + readding XFree86's cvs IDs + +commit 11f19e03e7d229b3828513d464288c4aad99d26d +Author: Egbert Eich +Date: Thu Feb 26 09:23:28 2004 +0000 + + Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004 + +commit 617431e758a198202ba5f54347492e9b25084c07 +Author: Kaleb Keithley +Date: Tue Nov 25 19:28:43 2003 +0000 + + XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks + +commit 1d3328676ee5e2435332c28888b9bc9ff15a68ee +Author: Kaleb Keithley +Date: Fri Nov 14 16:48:55 2003 +0000 + + XFree86 4.3.0.1 + +commit 53bc9c90fed82c0bab644acdc30114fe3a390652 +Author: Kaleb Keithley +Date: Fri Nov 14 16:48:55 2003 +0000 + + Initial revision --- xserver-xorg-video-vesa-2.2.1.orig/autogen.sh +++ xserver-xorg-video-vesa-2.2.1/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" --- xserver-xorg-video-vesa-2.2.1.orig/debian/README.source +++ xserver-xorg-video-vesa-2.2.1/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 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. --- xserver-xorg-video-vesa-2.2.1.orig/debian/changelog +++ xserver-xorg-video-vesa-2.2.1/debian/changelog @@ -0,0 +1,182 @@ +xserver-xorg-video-vesa (1:2.2.1-1) unstable; urgency=low + + * New upstream release. + * Add README.source, bump Standards-Version to 3.8.2. + * Add myself to Uploaders. + + -- Brice Goglin Sat, 01 Aug 2009 09:56:47 +0200 + +xserver-xorg-video-vesa (1:2.2.0-1) unstable; urgency=low + + * New upstream release. + * Upload to unstable. + + -- Julien Cristau Thu, 09 Apr 2009 13:20:03 +0100 + +xserver-xorg-video-vesa (1:2.1.0-1) experimental; urgency=low + + * New upstream release. + * Allow parallel builds. + * Run autoreconf on build; add build-deps on automake, libtool and + xutils-dev. + * Build against xserver 1.6 rc1. + + -- Julien Cristau Mon, 26 Jan 2009 00:29:34 +0100 + +xserver-xorg-video-vesa (1:2.0.0-2) experimental; urgency=low + + * Add myself to Uploaders, and remove Branden with his permission. + * Build against xserver 1.5 rc5. + + -- Julien Cristau Mon, 14 Jul 2008 14:51:43 +0200 + +xserver-xorg-video-vesa (1:2.0.0-1) unstable; urgency=low + + * New upstream release. + * Add upstream URL to debian/copyright. + * Remove XS- prefix to Vcs-* fields. + * Bump Standards-Version to 3.7.3, no change needed. + * Run dpkg-shlibdeps with --warnings=6. Drivers reference symbols from + /usr/bin/Xorg and other modules, and that's not a bug, so we want + dpkg-shlibdeps to shut up about symbols it can't find. + + Build-depend on dpkg-dev >= 1.14.17 for dpkg-shlibdeps --warnings. + + -- Brice Goglin Tue, 01 Jul 2008 21:12:25 +0200 + +xserver-xorg-video-vesa (1:1.3.0-4) unstable; urgency=low + + * Upload to unstable + + -- David Nusinow Sun, 16 Sep 2007 15:43:50 -0400 + +xserver-xorg-video-vesa (1:1.3.0-3) experimental; urgency=low + + [ Timo Aaltonen ] + * Replaces/Conflicts: xserver-xorg-driver-vesa. + + [ Brice Goglin ] + * Install the upstream changelog. + * Bump Build-Depends: xserver-xorg-dev to >= 2:1.2.99.902 + (needed to let xsfbs get access to serverminver). + * Add XS-Vcs-*. + * Add a link to www.X.org and a reference to the xf86-video-vesa + module in the long description. + * Remove Fabio from uploaders with his permission. He's always welcome back. + + [ David Nusinow ] + * Build against and build-dep on xserver 1.4 + * Bump standards version to 3.7.2.2. No changes necessary. + + -- David Nusinow Sun, 09 Sep 2007 21:49:38 -0400 + +xserver-xorg-video-vesa (1:1.3.0-2) experimental; urgency=low + + * Pull upstream patch to allow use of new pci access lib (we currently don't + enable this in the debian package) + * Generate server dependencies automatically from the ABI + + -- David Nusinow Wed, 21 Feb 2007 22:54:45 -0500 + +xserver-xorg-video-vesa (1:1.3.0-1) unstable; urgency=low + + [ Julien Cristau ] + * Add link to xserver-xorg-core bug script, so that bugreports contain + the user's config and log files. + * Bump dependency on xserver-xorg-core to >= 2:1.1.1-11, as previous + versions don't have the bug script. + + [ David Nusinow ] + * New upstream version. Fixes shadowfb. + + -- David Nusinow Sun, 10 Dec 2006 19:49:32 -0500 + +xserver-xorg-video-vesa (1:1.2.1-3) unstable; urgency=low + + [ Steve Langasek ] + * Upload to unstable + + -- David Nusinow Mon, 18 Sep 2006 19:58:13 -0400 + +xserver-xorg-video-vesa (1:1.2.1-2) experimental; urgency=low + + [ Drew Parsons ] + * Provides: xserver-xorg-video-1.0 not xserver-xorg-video. + + [ David Nusinow ] + * Bump xserver (build-)depends epochs to 2: to deal with botched + server upload + + -- David Nusinow Tue, 22 Aug 2006 23:46:49 +0000 + +xserver-xorg-video-vesa (1:1.2.1-1) experimental; urgency=low + + [ Andres Salomon ] + * Test for obj-$(DEB_BUILD_GNU_TYPE) before creating it during build; + idempotency fix. + * Run dh_install w/ --list-missing. + + [ David Nusinow ] + * New upstream release + * Bump dependency on xserver-xorg-core to >= 1:1.1.1. Do the same thing for + the build-dep on xserver-xorg-dev. (closes: #382040) + * Bump debhelper compat to 5 + + -- David Nusinow Wed, 16 Aug 2006 18:48:31 +0000 + +xserver-xorg-video-vesa (1:1.0.1.3-2) unstable; urgency=low + + * Upload to modular + + -- David Nusinow Sun, 26 Mar 2006 20:26:25 -0500 + +xserver-xorg-video-vesa (1:1.0.1.3-1) experimental; urgency=low + + * First upload to Debian + * Change source package, package, and provides names to denote the + type of driver and that they are for xserver-xorg + + -- David Nusinow Fri, 13 Jan 2006 00:42:38 -0500 + +xserver-xorg-driver-vesa (1:1.0.1.3-0ubuntu1) dapper; urgency=low + + * New upstream release. + * Add provides on xserver-xorg-driver. + + -- Daniel Stone Wed, 4 Jan 2006 20:09:01 +1100 + +xserver-xorg-driver-vesa (1:1.0.1.2-0ubuntu1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Mon, 19 Dec 2005 09:14:37 +1100 + +xserver-xorg-driver-vesa (1:1.0.1.1-0ubuntu1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Mon, 12 Dec 2005 13:09:51 +1100 + +xserver-xorg-driver-vesa (1:1.0.1-0ubuntu2) dapper; urgency=low + + * Add missing Build-Depends (x11proto-core-dev, x11proto-fonts-dev, + x11proto-randr-dev, x11proto-render-dev). + + -- Daniel Stone Mon, 5 Dec 2005 12:59:34 +1100 + +xserver-xorg-driver-vesa (1:1.0.1-0ubuntu1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Tue, 22 Nov 2005 13:38:45 +1100 + +xserver-xorg-driver-vesa (1:1.0.0.1-1) dapper; urgency=low + + * New upstream release. + + -- Daniel Stone Tue, 25 Oct 2005 17:12:35 +1000 + +xserver-xorg-driver-vesa (1:1.0.0-1) breezy; urgency=low + + * First xserver-xorg-driver-vesa release. + + -- Daniel Stone Wed, 6 Jul 2005 15:48:17 +1000 --- xserver-xorg-video-vesa-2.2.1.orig/debian/compat +++ xserver-xorg-video-vesa-2.2.1/debian/compat @@ -0,0 +1 @@ +5 --- xserver-xorg-video-vesa-2.2.1.orig/debian/control +++ xserver-xorg-video-vesa-2.2.1/debian/control @@ -0,0 +1,41 @@ +Source: xserver-xorg-video-vesa +Section: x11 +Priority: optional +Maintainer: Debian X Strike Force +Uploaders: David Nusinow , Julien Cristau , Brice Goglin +Build-Depends: + debhelper (>= 5.0.0), + pkg-config, + xserver-xorg-dev (>= 2:1.5.99.901), + x11proto-xext-dev, + x11proto-core-dev, + x11proto-fonts-dev, + x11proto-randr-dev, + x11proto-render-dev, + dpkg-dev (>= 1.14.17), + automake, + libtool, + xutils-dev +Standards-Version: 3.8.2 +Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-vesa +Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-vesa.git + +Package: xserver-xorg-video-vesa +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${xserver:Depends} +Provides: ${xviddriver:Provides} +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-vesa +Conflicts: xserver-xorg-driver-vesa +Description: X.Org X server -- VESA display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + uses the standard VESA interface provided on all video cards, but runs + unaccelerated. This driver is not recommended for use unless you have a + problem with the normal driver for your card, because it will peform very + badly. + . + More information about X.Org can be found at: + + + + . + This package is built from the X.org xf86-video-vesa driver module. --- xserver-xorg-video-vesa-2.2.1.orig/debian/copyright +++ xserver-xorg-video-vesa-2.2.1/debian/copyright @@ -0,0 +1,27 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/driver/ + +Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +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 +CONECTIVA LINUX 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 Conectiva Linux shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from +Conectiva Linux. --- xserver-xorg-video-vesa-2.2.1.orig/debian/rules +++ xserver-xorg-video-vesa-2.2.1/debian/rules @@ -0,0 +1,98 @@ +#!/usr/bin/make -f +# debian/rules for the Debian xserver-xorg-driver-vesa 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 + +CFLAGS = -Wall -g +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif +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 + +# kbd_drv.a isn't phenomenally useful; kbd_drv.so more so +confflags += --disable-static + +configure: + autoreconf -vfi + +obj-$(DEB_BUILD_GNU_TYPE)/config.status: configure + mkdir -p obj-$(DEB_BUILD_GNU_TYPE) + cd obj-$(DEB_BUILD_GNU_TYPE) && \ + ../configure --prefix=/usr --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info $(confflags) \ + CFLAGS="$(CFLAGS)" + +build: build-stamp +build-stamp: obj-$(DEB_BUILD_GNU_TYPE)/config.status + dh_testdir + cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) + >$@ + +clean: + 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 obj-* + rm -f $$(find -name Makefile.in) + rm -f aclocal.m4 config.guess config.h.in config.sub configure + rm -f depcomp install-sh ltmain.sh missing mkinstalldirs + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install + +# Build architecture-dependent files here. +binary-arch: build install serverabi + dh_testdir + dh_testroot + + dh_installdocs + dh_installchangelogs ChangeLog + dh_install --sourcedir=debian/tmp --list-missing + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps -- --warnings=6 + 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 --- xserver-xorg-video-vesa-2.2.1.orig/debian/watch +++ xserver-xorg-video-vesa-2.2.1/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://xorg.freedesktop.org/releases/individual/driver/ xf86-video-vesa-(.*)\.tar\.gz --- xserver-xorg-video-vesa-2.2.1.orig/debian/xserver-xorg-video-vesa.install +++ xserver-xorg-video-vesa-2.2.1/debian/xserver-xorg-video-vesa.install @@ -0,0 +1,2 @@ +usr/lib/xorg/modules/drivers/*.so +usr/share/man/man4/* --- xserver-xorg-video-vesa-2.2.1.orig/debian/xserver-xorg-video-vesa.links +++ xserver-xorg-video-vesa-2.2.1/debian/xserver-xorg-video-vesa.links @@ -0,0 +1 @@ +usr/share/bug/xserver-xorg-core/script usr/share/bug/xserver-xorg-video-vesa/script --- xserver-xorg-video-vesa-2.2.1.orig/debian/xsfbs/repack.sh +++ xserver-xorg-video-vesa-2.2.1/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 --- xserver-xorg-video-vesa-2.2.1.orig/debian/xsfbs/xsfbs.mk +++ xserver-xorg-video-vesa-2.2.1/debian/xsfbs/xsfbs.mk @@ -0,0 +1,293 @@ +#!/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)/log $(STAMP_DIR)/genscripts + >$@ + +.PHONY: log +stampdir_targets+=log +log: $(STAMP_DIR)/log +$(STAMP_DIR)/log: $(STAMP_DIR)/stampdir + mkdir -p $(STAMP_DIR)/log + +# Apply all patches to the upstream source. +.PHONY: patch +stampdir_targets+=patch +patch: $(STAMP_DIR)/patch +$(STAMP_DIR)/patch: $(STAMP_DIR)/prepare + if ! [ `which quilt` ]; then \ + echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \ + exit 1; \ + fi; \ + if $(QUILT) next >/dev/null 2>&1; then \ + echo -n "Applying patches..."; \ + if $(QUILT) push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \ + cat $(STAMP_DIR)/log/patch; \ + echo "successful."; \ + else \ + cat $(STAMP_DIR)/log/patch; \ + echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \ + exit 1; \ + fi; \ + else \ + echo "No patches to apply"; \ + fi; \ + >$@ + +# Revert all patches to the upstream source. +.PHONY: unpatch +unpatch: $(STAMP_DIR)/log + rm -f $(STAMP_DIR)/patch + @echo -n "Unapplying patches..."; \ + if $(QUILT) applied >/dev/null 2>/dev/null; then \ + if $(QUILT) pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \ + cat $(STAMP_DIR)/log/unpatch; \ + echo "successful."; \ + else \ + cat $(STAMP_DIR)/log/unpatch; \ + echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \ + exit 1; \ + fi; \ + else \ + echo "nothing to do."; \ + fi + +# Clean the generated maintainer scripts. +.PHONY: cleanscripts +cleanscripts: + rm -f $(STAMP_DIR)/genscripts + rm -f debian/*.config \ + debian/*.postinst \ + debian/*.postrm \ + debian/*.preinst \ + debian/*.prerm + +# Clean the package build tree. +.PHONY: xsfclean +xsfclean: cleanscripts unpatch + dh_testdir + rm -rf .pc + rm -rf $(STAMP_DIR) $(SOURCE_DIR) + rm -rf imports + dh_clean debian/shlibs.local \ + debian/po/pothead + +# Generate the debconf templates POT file header. +debian/po/pothead: debian/po/pothead.in + sed -e 's/SOURCE_VERSION/$(SOURCE_VERSION)/' \ + -e 's/DATE/$(shell date "+%F %X%z"/)' <$< >$@ + +# Update POT and PO files. +.PHONY: updatepo +updatepo: debian/po/pothead + debian/scripts/debconf-updatepo --pot-header=pothead --verbose + +# Remove files from the upstream source tree that we don't need, or which have +# licensing problems. It must be run before creating the .orig.tar.gz. +# +# Note: This rule is for Debian package maintainers' convenience, and is not +# needed for conventional build scenarios. +.PHONY: prune-upstream-tree +prune-upstream-tree: + # Ensure we're in the correct directory. + dh_testdir + grep -rvh '^#' debian/prune/ | xargs --no-run-if-empty rm -rf + +# Verify that there are no offsets or fuzz in the patches we apply. +# +# Note: This rule is for Debian package maintainers' convenience, and is not +# needed for conventional build scenarios. +.PHONY: patch-audit +patch-audit: prepare unpatch + @echo -n "Auditing patches..."; \ + >$(STAMP_DIR)/log/patch; \ + FUZZY=; \ + while [ -n "$$($(QUILT) next)" ]; do \ + RESULT=$$($(QUILT) push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\ + case "$$RESULT" in \ + succeeded) \ + echo "fuzzy patch: $$($(QUILT) top)" \ + | tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \ + FUZZY=yes; \ + ;; \ + FAILED) \ + echo "broken patch: $$($(QUILT) next)" \ + | tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \ + exit 1; \ + ;; \ + esac; \ + done; \ + if [ -n "$$FUZZY" ]; then \ + echo "there were fuzzy patches; please fix."; \ + exit 1; \ + else \ + echo "done."; \ + fi + +# Generate the maintainer scripts. +.PHONY: genscripts +stampdir_targets+=genscripts +genscripts: $(STAMP_DIR)/genscripts +$(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir + for FILE in debian/*.config.in \ + debian/*.postinst.in \ + debian/*.postrm.in \ + debian/*.preinst.in \ + debian/*.prerm.in; do \ + if [ -e "$$FILE" ]; then \ + MAINTSCRIPT=$$(echo $$FILE | sed 's/.in$$//'); \ + sed -n '1,/^#INCLUDE_SHELL_LIB#$$/p' <$$FILE \ + | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >$$MAINTSCRIPT.tmp; \ + cat debian/xsfbs/xsfbs.sh >>$$MAINTSCRIPT.tmp; \ + sed -n '/^#INCLUDE_SHELL_LIB#$$/,$$p' <$$FILE \ + | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >>$$MAINTSCRIPT.tmp; \ + sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' \ + -e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' \ + -e 's/@DEFAULT_DCRESOLUTIONS@/$(DEFAULT_DCRESOLUTIONS)/' \ + <$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \ + rm $$MAINTSCRIPT.tmp; \ + fi; \ + done + # Validate syntax of generated shell scripts. + #sh debian/scripts/validate-posix-sh debian/*.config \ + # debian/*.postinst \ + # debian/*.postrm \ + # debian/*.preinst \ + # debian/*.prerm + >$@ + +# Generate the shlibs.local file. +debian/shlibs.local: + cat debian/*.shlibs >$@ + +SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null) +VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) +INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null) +SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS)) +VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI) +INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI) +ifeq ($(PACKAGE),) +PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) +endif + +.PHONY: serverabi +serverabi: install +ifeq ($(SERVERMINVERS),) + @echo error: xserver-xorg-dev needs to be installed + @exit 1 +else + echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars + echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars + echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars +endif + +# vim:set noet ai sts=8 sw=8 tw=0: --- xserver-xorg-video-vesa-2.2.1.orig/debian/xsfbs/xsfbs.sh +++ xserver-xorg-video-vesa-2.2.1/debian/xsfbs/xsfbs.sh @@ -0,0 +1,853 @@ +# $Id$ + +# This is the X Strike Force shell library for X Window System package +# maintainer scripts. It serves to define shell functions commonly used by +# such packages, and performs some error checking necessary for proper operation +# of those functions. By itself, it does not "do" much; the maintainer scripts +# invoke the functions defined here to accomplish package installation and +# removal tasks. + +# If you are reading this within a Debian package maintainer script (e.g., +# /var/lib/dpkg)info/PACKAGE.{config,preinst,postinst,prerm,postrm}), you can +# skip past this library by scanning forward in this file to the string +# "GOBSTOPPER". + +SOURCE_VERSION=@SOURCE_VERSION@ +OFFICIAL_BUILD=@OFFICIAL_BUILD@ + +# Use special abnormal exit codes so that problems with this library are more +# easily tracked down. +SHELL_LIB_INTERNAL_ERROR=86 +SHELL_LIB_THROWN_ERROR=74 +SHELL_LIB_USAGE_ERROR=99 + +# old -> new variable names +if [ -z "$DEBUG_XORG_PACKAGE" ] && [ -n "$DEBUG_XFREE86_PACKAGE" ]; then + DEBUG_XORG_PACKAGE="$DEBUG_XFREE86_PACKAGE" +fi +if [ -z "$DEBUG_XORG_DEBCONF" ] && [ -n "$DEBUG_XFREE86_DEBCONF" ]; then + DEBUG_XORG_DEBCONF="$DEBUG_XFREE86_DEBCONF" +fi + +# initial sanity checks +if [ -z "$THIS_PACKAGE" ]; then + cat >&2 < 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_whitespace () { + # syntax: reject_whitespace [ operand ] + # + # scan operand (typically a shell variable whose value cannot be trusted) for + # whitespace characters and barf if any are found + if [ -n "$1" ]; then + # does the operand contain any whitespace? + if expr "$1" : "[[:space:]]" > /dev/null 2>&1; then + # can't use die(), because I want to avoid forward references + echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_whitespace() encountered" \ + "possibly malicious garbage \"$1\"" >&2 + exit $SHELL_LIB_THROWN_ERROR + fi + fi +} + +reject_unlikely_path_chars () { + # syntax: reject_unlikely_path_chars [ operand ... ] + # + # scan operands (typically shell variables whose values cannot be trusted) for + # characters unlikely to be seen in a path and which the shell might + # interpret and barf if any are found + while [ -n "$1" ]; do + # does the operand contain any funny characters? + if expr "$1" : '.*[!$&()*;<>?|].*' > /dev/null 2>&1; then + # can't use die(), because I want to avoid forward references + echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_unlikely_path_chars()" \ + "encountered possibly malicious garbage \"$1\"" >&2 + exit $SHELL_LIB_THROWN_ERROR + fi + shift + done +} + +# Query the terminal to establish a default number of columns to use for +# displaying messages to the user. This is used only as a fallback in the +# event the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while +# the script is running, and this cannot, only being calculated once.) +DEFCOLUMNS=$(stty size 2> /dev/null | awk '{print $2}') || true +if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" > /dev/null 2>&1; then + DEFCOLUMNS=80 +fi + +message () { + # pretty-print messages of arbitrary length + reject_nondigits "$COLUMNS" + echo "$*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} >&2 +} + +observe () { + # syntax: observe message ... + # + # issue observational message suitable for logging someday when support for + # it exists in dpkg + if [ -n "$DEBUG_XORG_PACKAGE" ]; then + message "$THIS_PACKAGE $THIS_SCRIPT note: $*" + fi +} + +warn () { + # syntax: warn message ... + # + # issue warning message suitable for logging someday when support for + # it exists in dpkg; also send to standard error + message "$THIS_PACKAGE $THIS_SCRIPT warning: $*" +} + +die () { + # syntax: die message ... + # + # exit script with error message + message "$THIS_PACKAGE $THIS_SCRIPT error: $*" + exit $SHELL_LIB_THROWN_ERROR +} + +internal_error () { + # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message + message "internal error: $*" + if [ -n "$OFFICIAL_BUILD" ]; then + message "Please report a bug in the $THIS_SCRIPT script of the" \ + "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \ + "Tracking System. Include all messages above that mention the" \ + "$THIS_PACKAGE package. Visit " \ + " 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 +} + + +maplink () { + # returns what symlink should point to; i.e., what the "sane" answer is + # Keep this in sync with the debian/*.links files. + # This is only needed for symlinks to directories. + # + # XXX: Most of these look wrong in the X11R7 world and need to be fixed. + # If we've stopped using this function, fixing it might enable us to re-enable + # it again and catch more errors. + case "$1" in + /etc/X11/xkb/compiled) echo /var/lib/xkb ;; + /etc/X11/xkb/xkbcomp) echo /usr/X11R6/bin/xkbcomp ;; + /usr/X11R6/lib/X11/app-defaults) echo /etc/X11/app-defaults ;; + /usr/X11R6/lib/X11/fs) echo /etc/X11/fs ;; + /usr/X11R6/lib/X11/lbxproxy) echo /etc/X11/lbxproxy ;; + /usr/X11R6/lib/X11/proxymngr) echo /etc/X11/proxymngr ;; + /usr/X11R6/lib/X11/rstart) echo /etc/X11/rstart ;; + /usr/X11R6/lib/X11/twm) echo /etc/X11/twm ;; + /usr/X11R6/lib/X11/xdm) echo /etc/X11/xdm ;; + /usr/X11R6/lib/X11/xinit) echo /etc/X11/xinit ;; + /usr/X11R6/lib/X11/xkb) echo /etc/X11/xkb ;; + /usr/X11R6/lib/X11/xserver) echo /etc/X11/xserver ;; + /usr/X11R6/lib/X11/xsm) echo /etc/X11/xsm ;; + /usr/bin/X11) echo ../X11R6/bin ;; + /usr/bin/rstartd) echo ../X11R6/bin/rstartd ;; + /usr/include/X11) echo ../X11R6/include/X11 ;; + /usr/lib/X11) echo ../X11R6/lib/X11 ;; + *) internal_error "maplink() called with unknown path \"$1\"" ;; + esac +} + +analyze_path () { + # given a supplied set of pathnames, break each one up by directory and do an + # ls -dl on each component, cumulatively; i.e. + # analyze_path /usr/X11R6/bin -> ls -dl /usr /usr/X11R6 /usr/X11R6/bin + # Thanks to Randolph Chung for this clever hack. + + local f g + + while [ -n "$1" ]; do + reject_whitespace "$1" + g= + message "Analyzing $1:" + for f in $(echo "$1" | tr / \ ); do + if [ -e /$g$f ]; then + ls -dl /$g$f /$g$f.dpkg-* 2> /dev/null || true + g=$g$f/ + else + message "/$g$f: nonexistent; directory contents of /$g:" + ls -l /$g + break + fi + done + shift + done +} + +find_culprits () { + local f p dpkg_info_dir possible_culprits smoking_guns bad_packages package \ + msg + + reject_whitespace "$1" + message "Searching for overlapping packages..." + dpkg_info_dir=/var/lib/dpkg/info + if [ -d $dpkg_info_dir ]; then + if [ "$(echo $dpkg_info_dir/*.list)" != "$dpkg_info_dir/*.list" ]; then + possible_culprits=$(ls -1 $dpkg_info_dir/*.list | egrep -v \ + "(xbase-clients|x11-common|xfs|xlibs)") + if [ -n "$possible_culprits" ]; then + smoking_guns=$(grep -l "$1" $possible_culprits || true) + if [ -n "$smoking_guns" ]; then + bad_packages=$(printf "\\n") + for f in $smoking_guns; do + # too bad you can't nest parameter expansion voodoo + p=${f%*.list} # strip off the trailing ".list" + package=${p##*/} # strip off the directories + bad_packages=$(printf "%s\n%s" "$bad_packages" "$package") + done + msg=$(cat < /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. --- xserver-xorg-video-vesa-2.2.1.orig/man/.gitignore +++ xserver-xorg-video-vesa-2.2.1/man/.gitignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in --- xserver-xorg-video-vesa-2.2.1.orig/src/.gitignore +++ xserver-xorg-video-vesa-2.2.1/src/.gitignore @@ -0,0 +1,6 @@ +.deps +.libs +Makefile +Makefile.in +*.la +*.lo