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