summaryrefslogtreecommitdiffstats
path: root/source/xap/xv/xv-3.10a-jumbo-README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'source/xap/xv/xv-3.10a-jumbo-README.txt')
-rw-r--r--source/xap/xv/xv-3.10a-jumbo-README.txt271
1 files changed, 194 insertions, 77 deletions
diff --git a/source/xap/xv/xv-3.10a-jumbo-README.txt b/source/xap/xv/xv-3.10a-jumbo-README.txt
index 63627ddff..00b1c3e4e 100644
--- a/source/xap/xv/xv-3.10a-jumbo-README.txt
+++ b/source/xap/xv/xv-3.10a-jumbo-README.txt
@@ -1,6 +1,6 @@
-These are the latest versions of the XV jumbo patches I originally created
-in February 2000 (but never distributed) and eventually updated and released
-in May 2004, prompted by a discussion on LWN (http://lwn.net/Articles/76391/).
+This is the latest version of the XV jumbo patches I originally created in
+February 2000 (but never distributed) and eventually updated and released in
+May 2004, prompted by a discussion on LWN (http://lwn.net/Articles/76391/).
Information about the patches, updates to the patches, and the patches
themselves can all be found here:
@@ -10,16 +10,14 @@ themselves can all be found here:
(Use the "Subscribe to new releases" link on the latter page if you want to
be notified of new versions automatically; trivial registration required.)
-These two patches incorporate all of the fix- and enhancement-patches
-available from John's XV site (http://www.trilon.com/xv/downloads.html
-and ftp://ftp.trilon.com/pub/xv/patches/), plus a number of my own fixes
-and additions, plus quite a few from other people--though not all of the
-ones I'd intended to, due to lack of time after dealing with the latest
-set of security issues (one of which I discovered, sigh). They're still
-not fully complete, and it's possible they never will be, but I do plan
-to continue tinkering with them whenever the mood strikes--and I may even
-release them publicly on rare occasions. (At the current rate, it looks
-like once a year may be the best we can hope for...we'll see.)
+These patches incorporate all of the fix- and enhancement-patches available
+from John's XV site (http://www.trilon.com/xv/downloads.html and
+ftp://ftp.trilon.com/pub/xv/patches/), plus a number of my own fixes and
+additions (security-related and otherwise), plus quite a few from other
+people. They're still not fully complete, and it's probable they never
+will be, but I do plan to continue tinkering with them whenever the mood
+strikes--and I may even release them publicly on rare occasions. (At the
+current rate, once every few years may be the best we can hope for....)
Also be aware that several other people have had the same idea over the
years. Ones I've found, more or less by accident, include:
@@ -45,43 +43,58 @@ years. Ones I've found, more or less by accident, include:
- Kyoichiro Suda <sudakyo fat.coara.or.jp>
http://www.coara.or.jp/~sudakyo/XV_jp.html
-I very much doubt that this is an exhaustive list. So far, most of the
-other patch-sets appear not to be as extensive or as up-to-date as my own,
-particularly now that the (very large) "Japanese extension" patches are
-incorporated--big thanks to Werner Fink of SuSE for that!
+This is not an exhaustive list (e.g., Jörgen Grahn also had one). So far,
+most of the other patch-sets appear not to be as extensive or as up-to-date
+as my own, particularly now that the (very large) "Japanese extension" patches
+are incorporated--big thanks to Werner Fink of SuSE for that!
Below I summarize the component patches that are encompassed by my jumbo
-bugfixes and jumbo enhancements patches. Unfortunately, some of my own
-additions never saw the light of day as standalone patches, but considering
-the number of overlaps (collisions) already implicit in this list, it would
-have been difficult to accomplish even if I'd had the time.
+bugfixes and jumbo enhancements patches, circa 2005. (As of 2007, they're
+distributed as a single monster-patch, and the "component patches" are now
+listed in the changelog section at the bottom of this file.) Unfortunately,
+some of my own additions never saw the light of day as standalone patches,
+but considering the number of overlaps (collisions) already implicit in the
+list, that would have been difficult to accomplish even if I'd had the time.
-Here's a quick guide to the "third-party" credits in the lists below:
+Here's a quick guide to the "third-party" credits in the lists and changelog
+below:
AAC = Andrey A. Chernov [ache]
(http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-ab)
AD = Andreas Dilger (adilger clusterfs.com)
AL = Alexander Lehmann (lehmann usa.net)
+ AS = Alexey Spiridonov (http://www-math.mit.edu/~lesha/)
AT = Anthony Thyssen (http://www.cit.gu.edu.au/~anthony/)
+ BR = Bruno Rohee (http://bruno.rohee.com/)
DAC = David A. Clunie (http://www.dclunie.com/xv-pcd.html)
+ EAJ = Erling A. Jacobsen (linuxcub email.dk)
EK = Egmont Koblinger (egmont users.sourceforge.net)
- GRR = Greg Roelofs (http://pobox.com/~newt/)
+ FG = Fabian Greffrath (fabian debian-unofficial.org)
+ GRR = Greg Roelofs (http://pobox.com/~newt/greg_contact.html)
GV = Guido Vollbeding (http://sylvana.net/guido/)
IM = IKEMOTO Masahiro (ikeyan airlab.cs.ritsumei.ac.jp)
+ JC = John Cooper (john.cooper third-harmonic.com)
JCE = John C. Elliott (http://www.seasip.demon.co.uk/ZX/zxdload.html)
+ JDB = John D. Baker (http://mylinuxisp.com/~jdbaker/)
+ JG = Jörgen Grahn (jgrahn algonet.se)
JHB = John H. Bradley, of course (http://www.trilon.com/xv/)
JPD = Jean-Pierre Demailly (http://www-fourier.ujf-grenoble.fr/~demailly/)
JR = John Rochester (http://www.freebsd.org/cgi/query-pr.cgi?pr=2920)
(also http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-af, -ag)
+ JRK = James Roberts Kirkpatrick (uwyo.edu)
JZ = Joe Zbiciak (http://spatula-city.org/~im14u2c/)
KS = Kyoichiro Suda (http://www.coara.or.jp/~sudakyo/XV_jp.html)
LCN = Landon Curt "chongo" Noll (http://www.isthe.com/chongo/)
LJ = Larry Jones (lawrence.jones ugs.com)
PBJ = Peter Jordan (http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/)
PSV = Pawel S. Veselov (http://manticore.2y.net/wbmp.html)
+ RAC = Ross Combs (rocombs cs.nmsu.edu)
+ RJH = Robin Humble (http://www.cita.utoronto.ca/~rjh/)
SB = Sean Borman (http://www.nd.edu/~sborman/software/xvwheelmouse.html)
SJT = TenThumbs (tenthumbs cybernex.net)
+ SBM = Scott B. Marovich (formerly marovich hpl.hp.com)
TA = Tim Adye (http://hepwww.rl.ac.uk/Adye/xv-psnewstyle.html)
+ TAR = Tim Ramsey (tar pobox.com)
TI = Tetsuya INOUE (tin329 chino.it.okayama-u.ac.jp)
TO = Tavis Ormandy (taviso gentoo.org)
WF = Werner Fink (http://www.suse.de/~werner/)
@@ -90,86 +103,79 @@ Other credits are as listed on the XV Downloads page or in the respective
patches (e.g., the jp-extension patches or within the PNG patch).
Finally, please note that these patches have not been blessed by John Bradley
-in any way (although I copied him on the May 2004 announcement--no response
-at that time). Nor have I personally tested every change and feature! (See
-the BIG SCARY WARNING below for further caveats.) In other words, they're
-both completely unofficial and completely unguaranteed. But they seem to
-work for me. (And when they don't, I fix 'em. Eventually, anyway... ;-) )
+in any way (although I copied him on the May 2004 announcement and wrote to
+him again in May 2005), unless you count Debian's redistribution permission
+(Daniel Kirchheimer, 5 Dec 2005). Nor have I personally tested every change
+and feature! (See the BIG SCARY WARNING below for further caveats.) In other
+words, they're both completely unofficial and completely unguaranteed. But
+they seem to work for me. (And when they don't, I try to fix 'em--eventually,
+anyway... ;-) )
-One further "final" note: as of this release, I am no longer updating the
-fixes patch; new stuff (including fixes) now appears only in the enhancements
-one. It simply became too much of a timesink to maintain parallel trees--not
-to mention parallel makefiles (generic/public vs. local/personal, old vs.
-new libjpeg/libtiff) and xv.h (unregistered/public vs. registered/personal),
-particularly when some fixes came about while working on an enhancement and
-others were provided by third parties relative to the previous fix+enh state.
-Hence the mismatched "20050410" date on the fixes patch.
-
-GRR 20050501
+Greg Roelofs, 20070520
+http://pobox.com/~newt/greg_contact.html
How to build
------------
-The following assumes you, the user, already have the libtiff,[1]
-libjpeg,[2] libpng,[3] and zlib[4] libraries downloaded, patched (if
-necessary), compiled, and installed, not to mention a C compiler and
-the bzip2,[5] tar,[6] patch,[7] and make[8] utilities. You should also
-have downloaded the original XV 3.10a source distribution from the XV
-Downloads page[9] and be able to edit its Makefile and config.h files
-as indicated in the INSTALL file. Finally, you should know what a
-Unix(-style) command line is, where to find one, and how to wield it
-with abandon (or at least with adult supervision)--and preferably not
-as the root user until the make install step. (A filesystem is a
-terrible thing to waste.)
+The following assumes you, the user, already have the libtiff,[1] libjpeg,[2]
+libpng,[3] zlib,[4] and JasPer[5] libraries downloaded, patched (if necessary),
+compiled, and installed, not to mention a C compiler and the bzip2,[6] tar,[7]
+patch,[8] and make[9] utilities. You should also have downloaded the original
+XV 3.10a source distribution from the XV Downloads page[10] and be able to edit
+its Makefile and config.h files as indicated in the INSTALL file. (Editing
+the Makefile will also allow you to disable some of the third-party libraries
+if you wish.) Finally, you should know what a Unix(-style) command line is,
+where to find one, and how to wield it with abandon (or at least with adult
+supervision)--and preferably not as the root user until the "make install"
+step. (A filesystem is a terrible thing to waste.)
[1] http://www.remotesensing.org/libtiff/
[2] http://www.ijg.org/
[3] http://www.libpng.org/pub/png/libpng.html
[4] http://www.zlib.net/
- [5] http://sources.redhat.com/bzip2/
- [6] http://www.gnu.org/directory/devel/specific/tar.html
- [7] http://www.gnu.org/directory/devel/specific/patch.html
- [8] http://www.gnu.org/directory/devel/specific/make.html
- [9] http://www.trilon.com/xv/downloads.html#src-distrib
+ [5] http://www.ece.uvic.ca/~mdadams/jasper/
+ [6] http://sources.redhat.com/bzip2/
+ [7] http://www.gnu.org/directory/devel/specific/tar.html
+ [8] http://www.gnu.org/directory/devel/specific/patch.html
+ [9] http://www.gnu.org/directory/devel/specific/make.html
+ [10] http://www.trilon.com/xv/downloads.html#src-distrib
+-------------------------------------------------------------------------+
| |
| BIG SCARY WARNING |
| |
-| These patches work for Greg (and parts of them apparently work for |
+| These patches work for Greg (and parts of them reportedly work for |
| various other people), and so far Greg's CPU still computes and his |
-| hard disks haven't been wiped. But there's no guarantee that that |
+| hard disks haven't been wiped. But there's no guarantee that this |
| will be the case for you! In particular, not every incorporated patch |
| has been explicitly tested, nor has every possible subcase of the |
-| explicitly tested subset. (Read that again; it's grammatical.) Nor are |
-| these patches officially blessed by John Bradley in any way. In other |
-| words, if you use these patches, you do so at your own risk. (Greg |
-| doesn't believe there are any serious problems remaining, but then, |
-| what programmer ever does? Bugs happen.) |
+| explicitly tested subset. (Read that again; it's grammatical.) Nor |
+| are these patches officially blessed by John Bradley in any way. In |
+| other words, if you use these patches, you do so at your own risk. |
+| (Greg doesn't believe there are any serious problems remaining, but |
+| then, what programmer ever does? Bugs happen.) |
| |
+-------------------------------------------------------------------------+
Assuming you have the prerequisites out of the way and aren't scared
off by the Big Scary Warning, here's the build procedure:
- bzip2 -dc xv-3.10a-jumbo-patches-20050501.tar.bz2 | tar xvf -
- (or tar xvzf xv-3.10a-jumbo-patches-20050501.tar.gz)
+ tar xvzf xv-3.10a-jumbo-patches-20070520.tar.gz
+ (or: gzip -dc xv-3.10a-jumbo-patches-20070520.tar.gz | tar xvf - )
tar xvzf xv-3.10a.tar.gz
cd xv-3.10a
- patch -p1 < ../xv-3.10a-jumbo-fix-patch-20050410.txt
-
- [optional] patch -p1 < ../xv-3.10a-jumbo-enh-patch-20050501.txt
+ patch -p1 < ../xv-3.10a-jumbo-fix-enh-patch-20070520.txt
edit Makefile and config.h as directed in INSTALL file (in particular,
ensure paths to external libraries and header files are correct)
make
- ./xv your_favorite_image your_other_favorite_image etc.
+ ./xv your_favorite_image your_other_favorite_image etc.
If everything seems to be working to your satisfaction, go ahead and install:
@@ -179,12 +185,14 @@ If everything seems to be working to your satisfaction, go ahead and install:
become root if necessary (e.g., type su)
make install
+ (or: sudo make install)
That wasn't so hard, was it?
-Summary of incorporated and unincorporated patches
---------------------------------------------------
+Summary of incorporated and unincorporated patches (through 20050501)
+---------------------------------------------------------------------
+(See the ChangeLog at the bottom for more recent incorporated patches.)
fixes ((*) = listed on XV Downloads page, (f) = on ftp site only):
@@ -270,7 +278,7 @@ enhancements ((*) = listed on XV Downloads page, (<who>) = third-party):
20050501:
- xv-3.10a-bmpfix.patch (WF) [*SECURITY*]
- xv310a-jp-extension-rev5.3.3.tar.gz (TI, IM, ..., WF)
- (adds support for MAG, MAKI, Pi, PIC, and PIC2 formats[*]; "magic suffix"
+ (adds support for MAG, MAKI, Pi, PIC, and PIC2 formats[!]; "magic suffix"
detection/conversion; MacBinary prefixes; archives as virtual filesystems;
multilingual text viewer [though not Unicode]; etc.)
- xv-3.10a-yaos.dif (WF, TO) [*SECURITY*]
@@ -288,7 +296,7 @@ enhancements ((*) = listed on XV Downloads page, (<who>) = third-party):
- PATCH.stat (LJ)
- PATCH.thumbs (LJ)
- xv-startgrab-imake-hips.patch (JPD)
- ("hips" portion only; adds support for HIPS image format[*])
+ ("hips" portion only; adds support for HIPS image format[!])
- xv-3.10a-formatstr.patch (KS)
- xv-3.10a-shortsleep.patch (KS)
- xv-3.10a-locale-linux.patch (KS)
@@ -298,8 +306,7 @@ enhancements ((*) = listed on XV Downloads page, (<who>) = third-party):
- xv-3.10a-xvexecpath.patch (but disabled pending fixes) (KS)
- xv-3.10a-zeroquit.patch (KS, GRR)
-
-[*] Note that all six of these formats may still suffer from exploitable heap
+[!] Note that all six of these formats may still suffer from exploitable heap
overflows [*SECURITY*] when decoding images with large (possibly invalid)
dimensions; as a result, they are DISABLED by default. (Search for "GRR
POSSIBLE OVERFLOW / FIXME" comments in xvmag.c, xvmaki.c, xvpi.c, xvpic.c,
@@ -334,9 +341,11 @@ not (yet?) included:
- xv-3.10a+jp-extension-rev5.3.3+FLmask.v2.1+png+misc.patch ["mask" support]
- - xv-psnewstyle.patch (TA) [coming later in 2005?]
+ - xv-psnewstyle.patch (TA) [coming "soon"?]
- xv-3.10a.patch.linux (PBJ) [maybe use vdcomp.c changes?]
- xvxpm-anthony-thyssen.c (AT) ["slate grey" bug already gone?]
+ - xv-geoff-kuenning-iconsize-slideshow.patch [var. icons; full-screen slides]
+ - xv-scott-marovich-20070214-xvtiff.c.patch6.unified [TIFF CMYK support]
- stuff in xv/unsupt:
-rw-r--r-- 30527 Dec 22 1994 FITS.rite
@@ -360,9 +369,8 @@ not finished (and/or even started ;-) ):
- (better) fix for never-ending pile of SLOW popups when viewing TIFFs with
unknown tags (or truncated/corrupted images)
- fix for minor .Z inefficiency in xv.c ("FIXME")
- - fix for filename entry-field mouse/cursor bogosity
- (want at least positioning to work; preferably also select/cut/paste)
- - fix for spacebar-for-next-image getting stuck at first text file
+ - fix for filename entry-field mouse/cursor deficiencies
+ (positioning fixed 20070104 by Ross Combs; would like select/cut/paste, too)
- fix for .ppm.gz "disk leak" [can't reproduce...already fixed?]
(maybe occurs only if filesystem is already nearly full? bad .gz?)
@@ -440,3 +448,112 @@ ChangeLog
suffix" (xv_mgcsfx) config dir (enh); added PREFIX and DESTDIR support to
Makefile (enh); fixed handling of zero-length files and other text-viewer
failures (enh)
+
+ 20050528
+ conditionally added missing alloca.h to xvpcd.c (required if alloca() is
+ a macro and alloca.h not included in stdlib.h, for example); fixed bogus
+ __S_IWRITE introduced in 20050501 release; fixed Makefile "install" target
+ (mkdir, chmod); fixed bug in MUST macro in xvwbmp.c; fixed prototype
+ warnings in xvevent.c, xvpcd.c (JRK, GRR)
+ - xv-3.10a-jimkirk-fixes.patch
+
+ 20050630
+ fixed broken mkdir(.xvpics) introduced in 20050501 release (RJH, GRR);
+ tweaked GUNZIP config for OpenBSD (GRR)
+ - xv-3.10a-xvpics-mkdir-fix.patch
+
+ 20051014
+ fixed longstanding xvevent.c typo (wasJpegUp -> wasPngUp) that caused build
+ failure if no JPEG support (TAR)
+
+ 20051019
+ fixed Darwin (Mac OS X) build error in xv.h and vdcomp.c due to lack of
+ malloc.h (JDB)
+
+ 20070210
+ fixed minor grammos (GRR); promoted PNG to first position, demoted GIF to
+ third (GRR); changed internal type of default image to PNG (GRR); increased
+ max files again, to 65536 (GRR)
+
+ 20070310
+ incorporated JPEG-2000 patch (SBM, GRR); added manual fax options for
+ unrecognized G3 images (SBM); relaxed 30-byte minimum file size (SBM)
+ - http://www.ece.uvic.ca/~mdadams/jasper/software/xv-patches
+
+ 20070318
+ incorporated 16bps raw (binary) PPM patch (define ASSUME_RAW_PPM_LSB_FIRST
+ for old behavior) (RAC, GRR); updated format list, web sites in xv man page
+ (GRR); fixed Makefile "install" target to create any necessary directories
+ (RAC, GRR); fixed GIF decoder bug (sizes of global, local color tables
+ different) (GRR)
+ - xv-ross-combs-ppm-16bps-rawbits.patch
+
+ 20070325
+ fixed invalid gamma assumption in PNG decoder (=> progressive color changes
+ over load/save cycles) (GRR)
+
+ 20070328
+ fixed animated-GIF /tmp/xvpgXXXXXX droppings (GRR)
+
+ 20070331
+ fixed PNG duplicate-palette-entries bug (GRR)
+
+ 20070415
+ incorporated EXIF-preserve patch (GHK); added missing JP2/JPC VS bits code
+ (GRR); added extended-warning options to CCOPTS (RAC); added "const" to
+ huge number of function args (RAC, GRR); made more effectively static
+ functions officially static (RAC); added mouse-clickability (but not
+ selectability) to text-entry fields (RAC); fixed window positioning (race
+ conditions?) under some virtual window managers (e.g., tvtwm) (RAC);
+ removed explicit paths for external (de)compressors (GRR, RAC)
+ - xv-geoff-kuenning-jpeg-exif-preserve.patch
+ - xv-ross-combs-20070104.diff
+
+ 20070422
+ incorporated function-key-scripts patch (see contrib/fnkey-scripts) (AS);
+ fixed man-page-section extensions ("1", not "l" or "1X") (FG); switched to
+ more sensible install paths for docs (FG); added Fedora Core build script
+ (see contrib/fedora) (JC); fixed VS to switch from move-mode to copy-mode
+ if source dir is read-only (EAJ); extended VS incremental-search mode (EAJ)
+ - xv-alexey-spiridonov-20070116-fnkey-scripts.tar.bz2
+ - xv-fabian-greffrath-20070215-debian-04-manpages.dpatch
+ - xv-fabian-greffrath-20070215-debian-03-makefiles.dpatch
+ - xv-john-cooper-Build-FC5-script.sh
+ - xv-erling-jacobsen-20060617-incr-search.patch
+
+ 20070428
+ modified install to include README.jumbo in docs (GRR); incorporated PNG
+ no-stdio patch (SBM); fixed XWD endianness support, improved performance
+ (replaces SJT 16/24-bit fix) (SBM)
+ - xv-scott-marovich-20070214-xvpng.diff
+ - xv-scott-marovich-20070214-xvxwd.c.patch
+
+ 20070506
+ added JPEG CMYK support (SBM); fixed TIFF (and others?) /tmp/xvpgXXXXXX
+ droppings (GRR); added VS clipboard support (JG)
+ - xv-scott-marovich-20070214-xvjpeg.c.patch
+ - xv-jurgen-grahn-20051127-schnauzer-clip.patch
+
+ 20070512
+ inverted handling of malloc.h header file to require NEED_MALLOC_H macro
+ for those few systems that actually need it (GRR)
+
+ 20070513
+ fixed GCC 4.1.x warnings (GRR); next round of const cleanup (GRR); fixed
+ minor TIFF memleak (GRR)
+
+ 20070514
+ fixed TIFF YCbCr reference black/white levels (SBM); added option to use
+ libjpeg YCbCr-to-RGB conversion for TIFF images (SBM, GRR)
+ - xv-scott-marovich-20070214-xvtiff.c.patch2.unified
+ - xv-scott-marovich-20070214-xvtiff.c.patch3.unified
+
+ 20070519
+ fixed handling of multi-page JPEG-compressed TIFFs (old or new) (SBM);
+ added TIFF YCbCr separated-color-plane support (may require libtiff
+ patch(es) to tif_ojpeg.c and/or tif_jpeg.c) (SBM)
+ - xv-scott-marovich-20070214-xvtiff.c.patch4.unified
+ - xv-scott-marovich-20070214-xvtiff.c.patch5.unified
+
+ 20070520
+ updated README.jumbo