xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/patchlevel.h (revision 12744:aca30b4b4dae)
10Sstevel@tonic-gate /*    patchlevel.h
20Sstevel@tonic-gate  *
30Sstevel@tonic-gate  *    Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999,
40Sstevel@tonic-gate  *    2000, 2001, 2002, 2003, 2004, by Larry Wall and others
50Sstevel@tonic-gate  *
60Sstevel@tonic-gate  *    You may distribute under the terms of either the GNU General Public
70Sstevel@tonic-gate  *    License or the Artistic License, as specified in the README file.
80Sstevel@tonic-gate  *
90Sstevel@tonic-gate  */
100Sstevel@tonic-gate 
110Sstevel@tonic-gate #ifndef __PATCHLEVEL_H_INCLUDED__
120Sstevel@tonic-gate 
130Sstevel@tonic-gate /* do not adjust the whitespace! Configure expects the numbers to be
140Sstevel@tonic-gate  * exactly on the third column */
150Sstevel@tonic-gate 
160Sstevel@tonic-gate #define PERL_REVISION	5		/* age */
170Sstevel@tonic-gate #define PERL_VERSION	8		/* epoch */
180Sstevel@tonic-gate #define PERL_SUBVERSION	4		/* generation */
190Sstevel@tonic-gate 
200Sstevel@tonic-gate /* The following numbers describe the earliest compatible version of
210Sstevel@tonic-gate    Perl ("compatibility" here being defined as sufficient binary/API
220Sstevel@tonic-gate    compatibility to run XS code built with the older version).
230Sstevel@tonic-gate    Normally this should not change across maintenance releases.
240Sstevel@tonic-gate 
250Sstevel@tonic-gate    Note that this only refers to an out-of-the-box build.  Many non-default
260Sstevel@tonic-gate    options such as usemultiplicity tend to break binary compatibility
270Sstevel@tonic-gate    more often.
280Sstevel@tonic-gate 
290Sstevel@tonic-gate    This is used by Configure et al to figure out
300Sstevel@tonic-gate    PERL_INC_VERSION_LIST, which lists version libraries
310Sstevel@tonic-gate    to include in @INC.  See INSTALL for how this works.
320Sstevel@tonic-gate */
330Sstevel@tonic-gate #define PERL_API_REVISION	5	/* Adjust manually as needed.  */
340Sstevel@tonic-gate #define PERL_API_VERSION	8	/* Adjust manually as needed.  */
350Sstevel@tonic-gate #define PERL_API_SUBVERSION	0	/* Adjust manually as needed.  */
360Sstevel@tonic-gate /*
370Sstevel@tonic-gate    XXX Note:  The selection of non-default Configure options, such
380Sstevel@tonic-gate    as -Duselonglong may invalidate these settings.  Currently, Configure
390Sstevel@tonic-gate    does not adequately test for this.   A.D.  Jan 13, 2000
400Sstevel@tonic-gate */
410Sstevel@tonic-gate 
420Sstevel@tonic-gate #define __PATCHLEVEL_H_INCLUDED__
430Sstevel@tonic-gate #endif
440Sstevel@tonic-gate 
450Sstevel@tonic-gate /*
460Sstevel@tonic-gate 	local_patches -- list of locally applied less-than-subversion patches.
470Sstevel@tonic-gate 	If you're distributing such a patch, please give it a name and a
480Sstevel@tonic-gate 	one-line description, placed just before the last NULL in the array
490Sstevel@tonic-gate 	below.  If your patch fixes a bug in the perlbug database, please
500Sstevel@tonic-gate 	mention the bugid.  If your patch *IS* dependent on a prior patch,
510Sstevel@tonic-gate 	please place your applied patch line after its dependencies. This
520Sstevel@tonic-gate 	will help tracking of patch dependencies.
530Sstevel@tonic-gate 
540Sstevel@tonic-gate 	Please either use 'diff --unified=0' if your diff supports
550Sstevel@tonic-gate 	that or edit the hunk of the diff output which adds your patch
560Sstevel@tonic-gate 	to this list, to remove context lines which would give patch
570Sstevel@tonic-gate 	problems. For instance, if the original context diff is
580Sstevel@tonic-gate 
590Sstevel@tonic-gate 	   *** patchlevel.h.orig	<date here>
600Sstevel@tonic-gate 	   --- patchlevel.h	<date here>
610Sstevel@tonic-gate 	   *** 38,43 ***
620Sstevel@tonic-gate 	   --- 38,44 ---
630Sstevel@tonic-gate 	     	,"FOO1235 - some patch"
640Sstevel@tonic-gate 	     	,"BAR3141 - another patch"
650Sstevel@tonic-gate 	     	,"BAZ2718 - and another patch"
660Sstevel@tonic-gate 	   + 	,"MINE001 - my new patch"
670Sstevel@tonic-gate 	     	,NULL
680Sstevel@tonic-gate 	     };
690Sstevel@tonic-gate 
700Sstevel@tonic-gate 	please change it to
710Sstevel@tonic-gate 	   *** patchlevel.h.orig	<date here>
720Sstevel@tonic-gate 	   --- patchlevel.h	<date here>
730Sstevel@tonic-gate 	   *** 41,43 ***
740Sstevel@tonic-gate 	   --- 41,44 ---
750Sstevel@tonic-gate 	   + 	,"MINE001 - my new patch"
760Sstevel@tonic-gate 	     	,NULL
770Sstevel@tonic-gate 	     };
780Sstevel@tonic-gate 
790Sstevel@tonic-gate 	(Note changes to line numbers as well as removal of context lines.)
800Sstevel@tonic-gate 	This will prevent patch from choking if someone has previously
810Sstevel@tonic-gate 	applied different patches than you.
820Sstevel@tonic-gate 
830Sstevel@tonic-gate         History has shown that nobody distributes patches that also
840Sstevel@tonic-gate         modify patchlevel.h. Do it yourself. The following perl
850Sstevel@tonic-gate         program can be used to add a comment to patchlevel.h:
860Sstevel@tonic-gate 
870Sstevel@tonic-gate #!perl
880Sstevel@tonic-gate die "Usage: perl -x patchlevel.h comment ..." unless @ARGV;
890Sstevel@tonic-gate open PLIN, "patchlevel.h" or die "Couldn't open patchlevel.h : $!";
900Sstevel@tonic-gate open PLOUT, ">patchlevel.new" or die "Couldn't write on patchlevel.new : $!";
910Sstevel@tonic-gate my $seen=0;
920Sstevel@tonic-gate while (<PLIN>) {
930Sstevel@tonic-gate     if (/\t,NULL/ and $seen) {
940Sstevel@tonic-gate        while (my $c = shift @ARGV){
950Sstevel@tonic-gate             print PLOUT qq{\t,"$c"\n};
960Sstevel@tonic-gate        }
970Sstevel@tonic-gate     }
980Sstevel@tonic-gate     $seen++ if /local_patches\[\]/;
990Sstevel@tonic-gate     print PLOUT;
1000Sstevel@tonic-gate }
1010Sstevel@tonic-gate close PLOUT or die "Couldn't close filehandle writing to patchlevel.new : $!";
1020Sstevel@tonic-gate close PLIN or die "Couldn't close filehandle reading from patchlevel.h : $!";
1030Sstevel@tonic-gate unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!"
1040Sstevel@tonic-gate   if -e "patchlevel.bak";
1050Sstevel@tonic-gate rename "patchlevel.h", "patchlevel.bak" or
1060Sstevel@tonic-gate   die "Couldn't rename patchlevel.h to patchlevel.bak : $!";
1070Sstevel@tonic-gate rename "patchlevel.new", "patchlevel.h" or
1080Sstevel@tonic-gate   die "Couldn't rename patchlevel.new to patchlevel.h : $!";
1090Sstevel@tonic-gate __END__
1100Sstevel@tonic-gate 
1110Sstevel@tonic-gate Please keep empty lines below so that context diffs of this file do
1120Sstevel@tonic-gate not ever collect the lines belonging to local_patches() into the same
1130Sstevel@tonic-gate hunk.
1140Sstevel@tonic-gate 
1150Sstevel@tonic-gate  */
1160Sstevel@tonic-gate 
1170Sstevel@tonic-gate 
1180Sstevel@tonic-gate 
1190Sstevel@tonic-gate 
1200Sstevel@tonic-gate #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
1210Sstevel@tonic-gate static	char	*local_patches[] = {
1220Sstevel@tonic-gate         NULL,
1230Sstevel@tonic-gate 	"22667 The optree builder was looping when constructing the ops ...",
1240Sstevel@tonic-gate 	"22715 Upgrade to FileCache 1.04",
1250Sstevel@tonic-gate 	"22733 Missing copyright in the README.",
1260Sstevel@tonic-gate 	"22746 fix a coredump caused by rv2gv not fully converting a PV ...",
1270Sstevel@tonic-gate 	"22755 Fix 29149 - another UTF8 cache bug hit by substr.",
1280Sstevel@tonic-gate 	"22774 [perl #28938] split could leave an array without ...",
1290Sstevel@tonic-gate 	"22775 [perl #29127] scalar delete of empty slice returned garbage",
1300Sstevel@tonic-gate 	"22776 [perl #28986] perl -e \"open m\" crashes Perl",
1310Sstevel@tonic-gate 	"22777 add test for change #22776 (\"open m\" crashes Perl)",
1320Sstevel@tonic-gate 	"22778 add test for change #22746 ([perl #29102] Crash on assign ...",
1330Sstevel@tonic-gate 	"22781 [perl #29340] Bizarre copy of ARRAY make sure a pad op's ...",
1340Sstevel@tonic-gate 	"22796 [perl #29346] Double warning for int(undef) and abs(undef) ...",
1350Sstevel@tonic-gate 	"22818 BOM-marked and (BOMless) UTF-16 scripts not working",
1360Sstevel@tonic-gate 	"22823 [perl #29581] glob() misses a lot of matches",
1370Sstevel@tonic-gate 	"22827 Smoke [5.9.2] 22818 FAIL(F) MSWin32 WinXP/.Net SP1 (x86/1 cpu)",
1380Sstevel@tonic-gate 	"22830 [perl #29637] Thread creation time is hypersensitive",
1390Sstevel@tonic-gate 	"22831 improve hashing algorithm for ptr tables in perl_clone: ...",
1400Sstevel@tonic-gate 	"22839 [perl #29790] Optimization busted: '@a = \"b\", sort @a' ...",
1410Sstevel@tonic-gate 	"22850 [PATCH] 'perl -v' fails if local_patches contains code snippets",
1420Sstevel@tonic-gate 	"22852 TEST needs to ignore SCM files",
1430Sstevel@tonic-gate 	"22886 Pod::Find should ignore SCM files and dirs",
1440Sstevel@tonic-gate 	"22888 Remove redundant %SIG assignments from FileCache",
1450Sstevel@tonic-gate 	"23006 [perl #30509] use encoding and \"eq\" cause memory leak",
1460Sstevel@tonic-gate 	"23074 Segfault using HTML::Entities",
1470Sstevel@tonic-gate 	"23106 Numeric comparison operators mustn't compare addresses of ...",
1480Sstevel@tonic-gate 	"23320 [perl #30066] Memory leak in nested shared data structures ...",
1490Sstevel@tonic-gate 	"23321 [perl #31459] Bug in read()",
1501846Scraigm 	"27722 perlio.c breaks on Solaris/gcc when > 256 FDs are available",
1511277Salanbur  	"SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962",
1526287Sps156622 	"6663288 Upgrade to CGI.pm 3.33",
1536696Svm156888  	"REGEXP0 - fix for UTF-8 recoding in regexps - CVE-2007-5116",
1548243SVladimir.Marek@Sun.COM  	"6758953 Perl Sys::Syslog can log messages with wrong severity",
155*12744SVladimir.Marek@Sun.COM  	"6935710 patch 141552-01 causes an error when the Syslog perl module is used",
1560Sstevel@tonic-gate 	NULL
1570Sstevel@tonic-gate };
1580Sstevel@tonic-gate 
1590Sstevel@tonic-gate 
1600Sstevel@tonic-gate 
1610Sstevel@tonic-gate /* Initial space prevents this variable from being inserted in config.sh  */
1620Sstevel@tonic-gate #  define	LOCAL_PATCH_COUNT	\
1630Sstevel@tonic-gate 	(sizeof(local_patches)/sizeof(local_patches[0])-2)
1640Sstevel@tonic-gate 
1650Sstevel@tonic-gate /* the old terms of reference, add them only when explicitly included */
1660Sstevel@tonic-gate #define PATCHLEVEL		PERL_VERSION
1670Sstevel@tonic-gate #undef  SUBVERSION		/* OS/390 has a SUBVERSION in a system header */
1680Sstevel@tonic-gate #define SUBVERSION		PERL_SUBVERSION
1690Sstevel@tonic-gate #endif
170