summaryrefslogtreecommitdiff
path: root/Porting
Commit message (Collapse)AuthorAgeFilesLines
* Update Archive-Tar to CPAN version 1.80Chris 'BinGOs' Williams2011-10-131-1/+1
| | | | | | | [DELTA] * important changes in version 1.80 13/10/2011 - patch from Rocky Bernstein to add file chown() method [rt#71221]
* bisect-runner.pl now builds test_prep on OS X back to 5.001nNicholas Clark2011-10-121-0/+129
| | | | | | | | | | | | | | | bisect.pl is now suitable for general use on (at least) Linux, FreeBSD and OS X. [Tested on Snow Leopard on a case-sensitive file system. The latter is a requirement for some older intermediate revisions of perl] bisect-runner.pl now sets $ENV{$Config{ldlibpthname}} before running the supplied test case, which is necessary when perl is built with useshrplib='true' The historical Darwin hints require some tweaking for cflags and ldflags. Adding the Darwin hints and dl_dyld.xs with minimal patching is sufficient to build perl and all extensions back to 5.001n, allowing Darwin systems to be used for general bisecting, not just Darwin specific issues.
* Update Unicode-Collate to CPAN version 0.80Chris 'BinGOs' Williams2011-10-091-1/+1
| | | | | | | | | | | | | | | | | [DELTA] 0.80 Sun Oct 9 21:00:21 2011 - U::C::Locale newly supports locales: bs, hi, kn, kok, ln. - added loc_bs.t, loc_hi.t, loc_kn.t, loc_kok.t, loc_ln.t in t. - updated some locales to CLDR 2.0 : ha, hr, kk, lt. 0.79 Sun Oct 2 20:31:01 2011 - pod: [rt.cpan.org #70241] Fix minor grammar error in manpage by Harlan Lieberman-Berg. - 'suppress' no longer affects contractions via 'entry'. - U::C::Locale newly supports locales: as, fi__phonebook, gu. - added loc_as.t, loc_fiph.t, loc_gu in t. - updated some locales to CLDR 2.0 : ar, be, bg.
* bisect-runner.pl needs the linux.sh libpth mutli-arch search logic.Nicholas Clark2011-10-091-1/+19
| | | | Without this, Configure can't find libm.so on mutli-arch Linux systems.
* Tweak the documentation for bisect-runner.plNicholas Clark2011-10-081-12/+12
| | | | | Use F<> consistently when describing files. Remove --target=perl from an example in the synopsis.
* bisect-runner.pl disables building DB_File if it can't patch the XS code.Nicholas Clark2011-10-081-37/+51
| | | | | | | | | | | Automatically disable the build of DB_File for commits earlier than ccb44e3bf3be2c30, as it's not practical to patch DB_File 1.70 and earlier to build with current Berkeley DB headers. This can be overridden with -Unoextensions This should now permit building to 'test_prep' on systems with Berkeley DB installed, for 5.005_62 and earlier.
* bisect-runner.pl now emulates -Dnoextensions if Configure doesn't provide it.Nicholas Clark2011-10-081-19/+31
|
* bisect-runner.pl needs to set @paths correctly on 32 bit LinuxNicholas Clark2011-10-071-2/+4
| | | | | | | | | | | Without this, Configure may fail prior to commit 1cfa4ec74d4933da (which added the 'ignore_versioned_solibs' logic), because bisect-runner.pl's code to set libs relies on successfully finding at least one library to pass to ./Configure with -Dlibs= miniperl and perl should now build back to perl-5.000 on 32 bit Linux. test_prep may not work, as early versions of DB_File.xs will fail if a new db.h is found.
* bisect-runner.pl should add db4 compatibility to DB_File.xs where possible.Nicholas Clark2011-10-071-1/+40
| | | | | | | | Without this it won't build if db.h is found, but it's "too new" for the checked-out vintage XS code. Tweak apply_patch() to print out any patch that fails to apply. This helps with debugging patches generated dynamically by bisect-runner.pl
* bisect-runner.pl must build CombiningClass.pl before Unicode::Normalize.Nicholas Clark2011-10-071-0/+46
| | | | | | The Makefile.PL for Unicode::Normalize needs lib/unicore/CombiningClass.pl. Even without a parallel build, we need a dependency to ensure that it builds first. This problem was solved in blead with commit 9f3ef600c170f61e.
* In bisect-runner.pl, "patch" ext/IPC/SysV/SysV.xs to the current SHMLBA code.Nicholas Clark2011-10-071-28/+61
| | | | | | | | | | | | | | For some historical revisions, it's not good enough simply taking out the first #include <asm/page.h>, because other code changes in that area can break the build. Instead, replace any old version of that #ifdef forest with the current code. Additionally, do this editing unconditionally, even if the target is "miniperl". Skipping it on target "miniperl" causes surprises if one is trying to debug the build by getting bisect-runner.pl to build to miniperl (or skip), and then using make lib/auto/IPC/SysV/SysV.so as the test case. This adds an edit_file() function. Move apply_patch() next to it, to group related functions together.
* In bisect-runner.pl, if getconf exists, use it to report the number of CPUs.Nicholas Clark2011-10-061-3/+6
| | | | Thanks to David Leadbeater for the suggestion.
* Remove whitespace errors from bisect-runner.plNicholas Clark2011-10-051-3/+2
| | | | 2 trailing spaces and 1 piece of "trailing garbage" in a patch now gone.
* bisect-runner.pl now runs all build commands with STDIN of /dev/nullNicholas Clark2011-10-051-7/+8
| | | | | | This should avoid any problems with confused build commands wanting to read from STDIN and causing the bisect to hang waiting on user input from the terminal.
* bisect-runner.pl should remove the stdin-is-a-tty test completely.Nicholas Clark2011-10-051-20/+26
| | | | | | | | | Before commit dfe9444ca7881e71, Configure would refuse to run if STDIN was not a tty. dbcdc176dfaaa83c adapted bisect-runner.pl to deal with this by skipping closing STDIN for old Configure. However, it's actually much simpler and safer to patch Configure to remove the test, and then always run it with STDIN closed. This also avoids problems with ./makedepend hanging on STDIN in some cases.
* Document why bisect.pl can't be in the checkout used for bisecting.Nicholas Clark2011-10-052-0/+19
| | | | Add a sanity test to catch this case.
* Improve bisect.pl's documentation.Nicholas Clark2011-10-051-12/+23
|
* bisect-runner.pl needs to add -L/usr/local/lib prior to 5.002 on FreeBSD.Nicholas Clark2011-10-051-0/+43
| | | | | | | | | | This may well also be needed on some other platforms, but as it has to be done in the middle of the Configure run, there isn't a clean cross-platform way to do it. With this, FreeBSD will build all extensions back to 5.001n, and miniperl back to 5.000. I don't think that it's going to be possible to improve on that (without cheating and using a config.sh imported from the "future").
* bisect-runner.pl needs to inline $compile into the test for malloc.hNicholas Clark2011-10-051-2/+4
| | | | | | Prior to bd9b35c97ad661cc Configure had the malloc.h test before the definition of $compile. With this, bisect-runner.pl can build all extensions back to perl-5.002.
* Add 'Fcntl' as a target for bisect-runner.pl.Nicholas Clark2011-10-051-11/+32
| | | | | | | | | This builds the Fcntl shared library, which provides a test of whether XS modules can be built. Clarify that the 'perl' target does *not* build XS modules. Fix a bug with the 'lib/Config.pm' target and -e. This target will only build miniperl, not perl, so -e needs to use the former to run the one-liner.
* In bisect-runner.pl, patch Configure to test-compile #include <malloc.h>Nicholas Clark2011-10-051-0/+35
| | | | | | | On (at least) FreeBSD malloc.h just gives a compile error saying to use stdlib.h instead. This is commit 01d07975f7ef0e7d, trimmed. With this, bisect.pl can build perl-5.8.0 on FreeBSD.
* Update Module-Load to CPAN version 0.22Chris 'BinGOs' Williams2011-10-051-1/+1
| | | | | | | | | [DELTA] Changes for 0.22 Tue Oct 4 21:44:32 2011 ============================================ * Resolve possible security problem [http://goo.gl/YzHRU] where a '::' prefixed module can 'jump' out of @INC
* In bisect-runner.pl always use blead's hitnts/freebsd.shNicholas Clark2011-10-051-1/+15
| | | | | | | | | | | | | There are rather too many version-specific FreeBSD hints fixes to patch individually. Also, more than once the FreeBSD hints file has been written in what turned out to be a rather non-future-proof style, with case statements treating the most recent version as the exception, instead of treating previous versions' behaviour explicitly and changing the default to cater for the current behaviour. (As strangely, future versions inherit the current behaviour.) If /sbin/sysctl exists, use it to find the number of CPUs and hence a default for the number of make jobs to run in parallel.
* Upgrade ExtUtils::ParseXS to 3.05Steffen Mueller2011-10-051-1/+1
| | | | No functional changes from 3.04_04, just a promotion to "stable".
* In bisect-runner.pl, only force Configure's libpth on x86_64 Linux.Nicholas Clark2011-10-041-3/+11
| | | | | Also, if /proc/cpuinfo can be opened and parsed, default the make jobs to one more than the number of CPUs. Otherwise, default to 2 jobs.
* bisect-runner.pl needs to patch ext/IPC/SysV/SysV.xs for "newer" Linux.Nicholas Clark2011-10-031-1/+20
| | | | | (dromedary is built from a sufficiently "special biologist word" distribution that it doesn't need this)
* bisect-runner.pl should check for t/perl when building test_prep.Nicholas Clark2011-10-031-1/+1
| | | | | Checking for perl doesn't spot the cases where make aborts after perl is built but before test_prep is completed.
* Fix two typos in the documentation for bisect-runner.plNicholas Clark2011-10-031-2/+2
|
* Documentation for bisect.pl and bisect-runner.plNicholas Clark2011-10-032-24/+280
|
* In bisect-runner.pl, fix a bug where a good "test_prep" build would skip.Nicholas Clark2011-10-031-3/+3
| | | | | | | | | | The "skip"/continue logic was not aware that the build code could change "test_prep" to "test-prep" or "test" on very old perls, and so was looking for a file that did not exist, instead of ./perl, and then signaling a "skip" because it could not find it. Also fix a fencepost error for the -j test - 5.10.0 (inclusive) and later are safe to build with paralllel make.
* In bisect.pl, support matching on files generated by the build.Nicholas Clark2011-10-031-26/+49
| | | | | | | | | | If --target isn't specified, then --match will match files in the repository. If --target is specified, then --mach will match built files (and ignore files in the repository) Add 'config.h' as a known target. If a "binary" file matches, print only the file name, not the "binary" match. Print the match count as part of the good/bad report line.
* If patching fails, bisect-runner.pl should report the name of the file.Nicholas Clark2011-10-031-1/+2
| | | | | When commit 0142f0ceeb8dc10a refactored the relevant code into apply_patch(), it left "perl.c" hard coded into an error message.
* bisect-runner.pl must use Fcntl::S_IMODE() on the raw output from stat.Nicholas Clark2011-10-021-1/+2
| | | | | Fixes a bug whereby it was failing to mask out the non-file-mode bits from the return value from stat when testing whether the mode had changed.
* Update Unicode-Collate to CPAN version 0.79Chris 'BinGOs' Williams2011-10-021-1/+1
| | | | | | | | | | | | [DELTA] 0.79 Sun Oct 2 20:31:01 2011 - pod: [rt.cpan.org #70241] Fix minor grammar error in manpage by Harlan Lieberman-Berg. - 'suppress' no longer affects contractions via 'entry'. - U::C::Locale newly supports locales: as, fi__phonebook, gu. - added loc_as.t, loc_fiph.t, loc_gu in t. - updated some locales to CLDR 2.0 : ar, be, bg.
* Update Digest to CPAN version 1.17Chris 'BinGOs' Williams2011-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | [DELTA] 2011-10-02 Gisle Aas <gisle@ActiveState.com> Release 1.17. Gisle Aas (6): Less noisy 'git status' output Merge pull request #1 from schwern/bug/require_eval Don't clobber $@ in Digest->new [RT#50663] More meta info added to Makefile.PL Fix typo in RIPEMD160 [RT#50629] Add schwern's test files Michael G. Schwern (5): Turn on strict. Convert tests to use Test::More Untabify Turn Digest::Dummy into a real file which exercises the Digest->new() require logic. Close the eval "require $module" security hole in Digest->new($algorithm)
* Add 'config.sh' as a build target for bisect.plNicholas Clark2011-10-021-4/+9
| | | | | This allows one to bisect to find which commit caused Configure options to stop/start Configure running to completion.
* Permit bisect.pl to pass -D, -U and -A parameters to Configure.Nicholas Clark2011-10-021-13/+46
| | | | | This gives pretty much complete control of the configuration options for a bisect run.
* Refactor bisect-runner.pl to use the hashref interface to GetOptions().Nicholas Clark2011-10-021-27/+22
| | | | This eliminates many lexical variables used only to hold option state.
* Refactor bisect.pl to use Getopt::Long's pass_through option.Nicholas Clark2011-10-022-37/+20
| | | | | | | | | Add a --check-args option to bisect-runner.pl to validate the arguments that bisect.pl doesn't know how to check (else the automatic start detection will get very confused by invalid arguments). Switch bisect.pl to bundling, which permits the "traditional" make argument form of -j4 to be used instead of -j=4. As this actually makes -j=4 invalid syntax now (an error about the unknown option "="), change the syntax messages.
* In bisect.pl, use the earliest passing stable perl as the default revision.Nicholas Clark2011-10-011-8/+24
| | | | | | This is better than defaulting the start revision to any particular fixed revision, as it handles most "new" syntax gracefully, instead of forcing the user to work out what minimum version is required to run their testcase.
* bisect-runner.pl should "skip" if --force-manifest detects changes.Nicholas Clark2011-10-011-0/+2
|
* Teach bisect-runner.pl how to build perl back to perl-5.000.Nicholas Clark2011-10-011-0/+119
| | | | | | | | | | | | | It's unlikely that x86_64 Linux will ever be able to build extentions for versions before e1666bf5602ae794 which upgraded MakeMaker to 3.7, although there are still other problems at that commit which we don't (yet) work round. The earliest released version that does build extensions is 5.002 For 5.002 we need to patch perl.c to avoid double calls to fclose() in the -e handling code. For 5.001 we need to force -Dusenm. For 5.000 we need to patch Configure to allow spaces in -D, and to correctly conclude that struct dirent does *not* contain a d_namlen member.
* Add options --force-manifest and --test-build to bisect.plNicholas Clark2011-10-012-5/+78
| | | | | | | | | --force-manifest touches any files in MANIFEST that are missing. This avoids hanging on 5.004 or earlier (where Configure's stdin is a tty) when Configure detects the missing files and asks you if you want to stop. It's also useful on 5.005 or later if you don't want to treat missing files as a "skip". --test-build changes behaviour to treat failing to build the target exectuable as a "fail", instead of a "skip".
* Avoid bisect-runner.pl hanging on pre-5.004 if a file in MANIFEST is missing.Nicholas Clark2011-10-011-1/+18
|
* To build perl-5.003 bisect-runner.pl needs to force a value for trnl.Nicholas Clark2011-09-301-0/+8
| | | | | | | | | Without this the current makedepend will hang waiting on stdin. Additionally, when bisecting this far back we need to watch out for the //depot/perlext/Compiler branch, which has no Configure, patchlevel.h or other perl source, but may be checked out by the bisect, as it is the second parent of a8581515f26a081f. If the file Configure is missing, we exit 125 to signal a skip.
* In bisect-runner.pl, don't close Configure's STDIN for 5.004Nicholas Clark2011-09-302-8/+10
| | | | | | | Before commit dfe9444ca7881e71, Configure would refuse to run if STDIN was not a tty. With that commit, the tty requirement was dropped for -de and -dE. Change the default start in bisect.pl from perl-5.005 to perl-5.004.
* Add a --match option to bisect.pl, to locate source code changes.Nicholas Clark2011-09-302-1/+22
|
* In bisect-runner.pl, refactor the reporting code into report_and_exit().Nicholas Clark2011-09-301-11/+16
|
* bisect-runner.pl must clean up, even if it's skipping.Nicholas Clark2011-09-301-16/+22
| | | | | | It modifies makedepend.SH before running Configure, and a failed build may well modify other files. The bisect run will fail if git can't checkout the next revision to test because a file is locally modified.
* bisect.pl should still print the time taken if it fails.Nicholas Clark2011-09-301-10/+20
| | | | | | | (Bisect runs can legitimately return failure for various reasons, such as if "There are only 'skip'ped commits left to test.") Add an editor block, and convert the only tabs to spaces.