John Malmberg [Mon, 2 Feb 2009 14:23:49 +0000]
vms rename Unix mode fixes
Here are the fixes for the rename() wrapper to support Unix mode better.
Removed calls to pathify/vmsify that were redundant because of
flex_lstat() calls.
Support option to unlink all versions on rename.
Message-id: <
498701F5.5040906@gmail.com>
John Malmberg [Mon, 2 Feb 2009 05:07:30 +0000]
vms kill_file / rmdir updates
This updates vms kill_file and rmdir routines to do fewer calls of vmsify
and pathify as the flex_lstat() already does these operations and caches
the result.
Fix kill_file so that option to unlink all versions works.
Message-id: <
49867F92.7080508@gmail.com>
Nicholas Clark [Tue, 3 Feb 2009 23:07:36 +0000]
Refactor to avoid changing directory, and avoid needing getcwd().
Steve Hay [Tue, 3 Feb 2009 17:56:38 +0000]
Oops. Missed these two files from commit
200cbd6aa595a0743f2aa115148750c075df3f97.
Steve Hay [Tue, 3 Feb 2009 17:39:06 +0000]
Follow-up to commit
4adc95e616bac7eea015e9e47e439b063c1132d5 suggested by
Jan Dubois:
Subject: RE: [perl #61492] ExtUtils::MM_Win32 should not generate "mt" command when CRT is statically linked
From: "Jan Dubois" <jand@activestate.com>
Date: Fri, 19 Dec 2008 10:07:07 -0800
Message-ID: <
013d01c96204$9b211e80$d1635b80$@com>
Nicholas Clark [Mon, 2 Feb 2009 21:56:38 +0000]
Convert the last few references from buildext.pl to make_ext.pl
Nicholas Clark [Mon, 2 Feb 2009 21:42:33 +0000]
Fold win32/buildext.pl into make_ext.pl
Jerry D. Hedden [Mon, 2 Feb 2009 21:25:38 +0000]
Make t/pod/pod2usage2.t work on case insensitive file systems.
pod_where() checks the current dir when looking for PODs
when the -dirs option is not specified. Because of
case-insensitivity under Cygwin, this causes t/pod/usage.pod
to get found before lib/Pod/Usage.pm.
The fix is to set -dir=>[] in pod_where() when testing in
CORE under Cygwin. The attached patch does this.
Nicholas Clark [Mon, 2 Feb 2009 20:31:27 +0000]
ext/DB_File needs a ppport.h
Nicholas Clark [Mon, 2 Feb 2009 20:17:59 +0000]
Add missed file ext/DB_File/config.in and update ext/DB_File/Changes, both
accidentally omitted from
d8bf0b8cc0654f404eb597a952c50e72976fd4fa.
Rafael Garcia-Suarez [Mon, 2 Feb 2009 16:01:10 +0000]
Bump version of PerlIO::via after previous change
Rafael Garcia-Suarez [Mon, 2 Feb 2009 14:56:13 +0000]
When loading a PerlIO::via layer, first look in the PerlIO::via namespace
Previously an open "via(Foo)" was first looking for the Foo namespace,
then for PerlIO::via::Foo. That could cause loading problems if both Foo
and PerlIO::via::Foo namespaces existed, and when the latter was
required. The workaround of loading "via(PerlIO::via::Foo)" being rather
ugly, it's preferable to look first for the fully qualified namespace
in order to avoid side-effects depending of what namespaces are
instanciated in the interpreter.
Steve Hay [Mon, 2 Feb 2009 13:18:34 +0000]
Restore broken clean target in win32/makefile.mk
Commit
aaaf44d72fce5980564533b9072da6e594d91d81 accidentally missed a --all
argument for buildext.pl, which resulted in the extensions not getting
"dmake realclean" run in them.
Andreas J. Koenig [Mon, 2 Feb 2009 09:11:30 +0000]
Update CPAN.pm to 1.93_03
Message-ID: <87vdrumeds.fsf@k75.linux.bogus>
Steve Hay [Mon, 2 Feb 2009 08:59:11 +0000]
Upgrade to Encode-2.29.
Steve Hay [Mon, 2 Feb 2009 08:54:00 +0000]
Upgrade DB_File to 1.818.
Rafael Garcia-Suarez [Sun, 1 Feb 2009 21:52:13 +0000]
Put parentheses around macro arguments
Karl [Sat, 31 Jan 2009 19:03:42 +0000]
Cast result to character size before array indexed
John Malmberg [Sun, 1 Feb 2009 02:36:55 +0000]
vms stat patches (take 2)
Conversion of Perl_flex_stat_int() to tolerate a null thread context,
and updates to better handle Unix Format or Extended File System
character sets.
vms_fid_to_name() now understands stat/lstat for properly handling
symbolic links, and uses a similar algorithm as Perl_flex_stat_int() for
consistency. Will now optionally return the mode bits from the stat
operation.
(The parts of the patch that worked around null thread context when
checking vmsish hints are omitted since that's been handled somewhat
differently by
a520a2c43dd549df0ebed1f073e13cc4564380db).
Message-id: <
49850AC7.1020906@gmail.com>
Craig A. Berry [Sun, 1 Feb 2009 21:09:25 +0000]
For the vmsish pragma, make sure there is a thread context if needed.
The hints are interpreter-specific, and we check them in some
pretty low-level routines, such as time(), gmtime(), and stat(),
where it's possible thread context may not have been initialized
yet (or may have already been torn down).
Max Maischein [Sat, 31 Jan 2009 13:50:34 +0000]
Make Time/HiRes/Makefile.PL produce a Makefile if one is needed
Nicholas Clark [Sun, 1 Feb 2009 14:37:21 +0000]
Replacing system $scalar with system @list requires splitting $MAKE on spaces.
Nicholas Clark [Sun, 1 Feb 2009 11:38:31 +0000]
Loop over @extspec, calling build_extension() on each.
Nicholas Clark [Sun, 1 Feb 2009 10:23:54 +0000]
The $@ was actually a botched conversion from $make $targ, rather than an
attempt to output a literal $
Rafael Garcia-Suarez [Sun, 1 Feb 2009 09:53:25 +0000]
Correctly escape $ in debug statement
Nicholas Clark [Sat, 31 Jan 2009 21:34:49 +0000]
Nicholas Clark [Sat, 31 Jan 2009 20:16:43 +0000]
Move the static/dynamic/nonxs LINKTYPE logic from make_ext.pl to Makefile.SH
This simplifies make_ext.pl considerably. Given that the first use of 'passthru'
was in
40000a8c37c35cc00114329ca0add46bca36a0ec in 1995, possibly we should have
done this particular refactoring a little while ago.
Nicholas Clark [Sat, 31 Jan 2009 17:16:21 +0000]
Use the build_extension() routine from win32/buildext.pl
Swap from $passthru to @pass_through, and $run to @run.
Use the list form of system everywhere.
Hard code 'Makefile' as it does not vary.
Correct the perlism 'chdir' in the *clean.sh writing code.
Nicholas Clark [Sat, 31 Jan 2009 17:12:40 +0000]
Create build_extension() to encapsulate the per-extension logic.
Use @pass_through to hold extra VARIABLE=value assignments.
Add @run to hold optional build-time run prefix.
Use the list form of system for everything.
Always call a target - default to 'all' if not is passed in.
Merge the alternate logic for selecting -MCross from make_ext.pl
Nicholas Clark [Sat, 31 Jan 2009 13:56:28 +0000]
Make dir and target --options to buildext.pl. Update the documentation.
Nicholas Clark [Sat, 31 Jan 2009 13:39:04 +0000]
Make lib/Config_heavy.pl part of $(CONFIGPM) as the build ordering is now sane.
Effectively $(CONFIGPM_EXTRA) becomes $(CONFIGPM) and $(CONFIGPM) becomes
$(CONFIGPM_FROM_CONFIG_SH). Mention lib/Config_heavy.pl as something that
is built by running make_patchnum.pl
Hopefully this avoids warnings from Config.pm during the build.
Nicholas Clark [Sat, 31 Jan 2009 12:20:26 +0000]
The hack to write out realclean.sh and veryclean.sh is for Unix only.
Nicholas Clark [Fri, 30 Jan 2009 23:39:15 +0000]
Move the target generic logic above the extension specific logic.
This will make it easier to refactor to converge on the Win32 (and VMS)
equivalents, which set things up, then loop around all appropriate extensions.
Nicholas Clark [Fri, 30 Jan 2009 23:12:24 +0000]
The logic to set $makefile to 'Makefile.old' can't work, so remove it.
(Makefile.old is created by running make clean in an extension, and make clean
at the top level removes ./miniperl, so there won't be a miniperl to run
make_ext.pl. The Makefile.old logic was valid for the shell script version.
Remove $makeopts, which was missed from the make command in the transcription
from shell to Perl.
Nicholas Clark [Fri, 30 Jan 2009 22:52:50 +0000]
Eliminate $makeargs by prepending its contents to $passthru.
Nicholas Clark [Fri, 30 Jan 2009 20:45:48 +0000]
Use Config; rather than parsing config.sh and pushing it into %ENV, a literal
transcription of the make_ext shell script. (We'll soon see if anything we
called was using its environment rather than Config.pm)
Nicholas Clark [Fri, 30 Jan 2009 19:20:08 +0000]
Fix paths on new pod2usage2 tests to work in the core.
Nicholas Clark [Fri, 30 Jan 2009 17:53:45 +0000]
Replace the one file timestamp dependency check with a call to 'make config'
The timestamp check was from the original checkin of buidlext.pl in 2001
(
17af6fb0658e86e2f4a472e3392fc688e0c25b43) by Nick I-S.
The 'make config' approach of make_ext was in the 5.000 release.
Craig A. Berry [Fri, 30 Jan 2009 16:08:19 +0000]
Pod correction for ExtUtils::XSSymSet.
Steve Hay [Fri, 30 Jan 2009 10:27:25 +0000]
Upgrade to Pod-Parser-1.36.
Three local changes remain in blead:
Blank lines "between" verbatim sections are now acceptible:
http://perl5.git.perl.org/perl.git/commitdiff/caa547d
Be less picky about what constitutes "numeric lists" in Pod:
http://perl5.git.perl.org/perl.git/commitdiff/4df4f5d
Changes made to contains_pod.t when upgrading to 1.34:
http://perl5.git.perl.org/perl.git/commitdiff/fb59f97
Gisle Aas [Thu, 29 Jan 2009 16:23:50 +0000]
Tweaks to pod/perlrepository.pod
Mention the github mirror early.
Document the perl5.git.perl.org:/perl.git repository url form.
Use 'git commit -a -m ...' throughout.
Mention that 'git commit -a --amend' is very useful.
The easiest way to inspect the last commit is 'git show HEAD'.
Mention 'git checkout -f' as the way to revert all your edits.
Nicholas Clark [Thu, 29 Jan 2009 20:00:48 +0000]
win32/ext was removed by change 30379 in 2007, so no need to check for it in the
Makefiles.
Nicholas Clark [Thu, 29 Jan 2009 21:13:01 +0000]
Add --options with arguments to make_ext.pl. Pass $target as --target=...
Treat all arguments that /=/ as passthrough, the rest being extensions.
This will converge the argument passing conventions for make_ext.pl and
win32/buildext.pl
John Malmberg [Thu, 29 Jan 2009 04:29:32 +0000]
vmspath without thread context.
This adds a vmspath routine that does not use a thread context.
Message-id: <
498130AC.7000102@gmail.com>
Gisle Aas [Thu, 29 Jan 2009 20:00:50 +0000]
Revert "do_exec() is a mathom, so call its replacement directly"
The change breaks the build on Windows as this function is really
only a mathom when PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION is defined.
This reverts commit
06ba78de6df7f363272e855cc63710a634eb6100.
Steve Hay [Thu, 29 Jan 2009 18:05:53 +0000]
Upgrade to Win32-0.39.
Nicholas Clark [Thu, 29 Jan 2009 16:57:34 +0000]
Add an explicit --all option to buildext.pl, rather than defaulting to it if
--static and --dynamic are not present. Make it run under strict.
Gisle Aas [Thu, 29 Jan 2009 15:21:48 +0000]
do_exec() is a mathom, so call its replacement directly
Nicholas Clark [Wed, 28 Jan 2009 22:55:26 +0000]
Pass $(MAKE) as one quoted commandline argument, to converge with make_ext.pl
Nicholas Clark [Wed, 28 Jan 2009 15:10:42 +0000]
Move ext/util/make_ext.pl to the top level.
Nicholas Clark [Wed, 28 Jan 2009 14:33:34 +0000]
Fold ext/util/make_ext_cross into ext/util/make_ext.pl, and delete it.
Add --option argument parsing to make_ext.pl (swiped from buildext.pl).
Add a --cross option to add -MCross to the Makefile.PL line.
Change Cross/Makefile-cross-SH to call "ext/util/make_ext.pl --cross ..."
Nicholas Clark [Sun, 25 Jan 2009 16:45:04 +0000]
In the code for printing -v, replace longhand newSVpvn() with newSVpvs(), and
avoid needing a sv_catpvs().
Nicholas Clark [Tue, 27 Jan 2009 21:59:02 +0000]
In buildext.pl, refactor the @ARGV parsing into a single loop.
Karl [Tue, 27 Jan 2009 02:31:42 +0000]
Change to use 5.1 Unicode file versions
Karl [Mon, 26 Jan 2009 23:43:57 +0000]
unicore Makefile didn't clean sub-sub directories
Jerry D. Hedden [Mon, 26 Jan 2009 19:25:32 +0000]
Silence verbosity in lib/File/Copy.t during 'make test' in core
Nicholas Clark [Mon, 26 Jan 2009 22:49:19 +0000]
Break the --create-perllibst-h and --list-static-libs options out of buildext.pl
into separate scripts.
Max Maischein [Mon, 26 Jan 2009 20:49:22 +0000]
Make t/win32/system.t use the more common compiler check
Hello again,
much of the Perl test suite uses $Config{cc} =~ /^gcc/i to determine
whether the compiler looks/acts like gcc. This patch enables that
behaviour in t/win32/system.t too.
The reason behind this is that I have a batch file named gcc-ccache.cmd,
which I give to dmake as my compiler, and having things like this work
everywhere in Perl is nice.
Possibly, a more sane way of keeping the kind of compiler handy would be
to make $Config{CCTYPE} come into existence and have it store "gcc",
"msvc" and what other cc types we support.
-max
From
f2e73cb5249433631fd4db5b46f62d05ff35526c Mon Sep 17 00:00:00 2001
From: Max Maischein <corion@corion.net>
Date: Mon, 26 Jan 2009 21:44:36 +0100
Subject: [PATCH] Unbreak the test if your compiler looks like gcc
Leon Brocard [Mon, 26 Jan 2009 15:07:11 +0000]
Add a section on how to submit a patch using GitHub
Leon Brocard [Mon, 26 Jan 2009 13:55:57 +0000]
Run podtidy on pod/perlrepository.pod and document how to do so
Abigail [Mon, 26 Jan 2009 13:19:29 +0000]
Tests to check cp() doesn't drop set[eu]id bits.
Also, calculate the number of skipped tests instead of having a hard
coded number.
Abigail [Mon, 26 Jan 2009 12:54:48 +0000]
Check for the group entry returned by getpwuid as well when testing
if a file belongs to the group the user is in.
Karl [Mon, 26 Jan 2009 02:02:13 +0000]
Fix memory leak
John Malmberg [Sun, 25 Jan 2009 01:31:39 +0000]
vms fileify_dirspec refactor / Unix mode fixes
This patch refactors the fileify_dirspec routine to not need a thread
context, and also fixes some issue with Unix compatibility mode.
Message-id: <
497BC0FB.5000506@gmail.com>
Steffen Mueller [Sun, 25 Jan 2009 22:49:43 +0000]
According to Yuval, Tie::RefHash is maintained at github.com/nothingmuch/tie-refhash/, so blead can't be upstream
John Malmberg [Fri, 23 Jan 2009 04:45:19 +0000]
vms glob patches
This updates the vms Perl_vms_start_glob routine to behave more like
Unix when the decc$filename_unix_report is active.
It also fixes the behavior of Unix directory syntax when either the
decc$filename_unix_report or decc$efs_charset options are active.
Message-id: <
49794B5F.8030401@gmail.com>
fawaka@gmail.com (via RT) [Sun, 25 Jan 2009 18:24:16 +0000]
[perl #57176] Including XSUB.h before perl.h gives nasty error
Rafael Garcia-Suarez [Sun, 25 Jan 2009 17:56:42 +0000]
Add perlmini.c to .gitignore
Lanning, Scott [Sun, 25 Jan 2009 17:55:25 +0000]
Some POD patches for PerlIO and PerlIO::var
Mostly just grammar.
Nicholas Clark [Sun, 25 Jan 2009 16:42:51 +0000]
Max Maischein [Sun, 25 Jan 2009 16:38:10 +0000]
Unbreak build on Windows
Hello p5p,
the recent shakearound of make_patchnum.pl broke the build on Windows,
because make_patchnum.pl lives in the build root, but the Makefile lives
in ./win32, so all targets need to be relative to ./win32.
I've only tested the patch for makefile.mk, as I don't have nmake.exe.
The fix is so simple that it should work on Makefile as well. These are
famous last words.
-max
>From
f4d9e594a2a3ea743e9c381d1836a85ada15af85 Mon Sep 17 00:00:00 2001
From: Max Maischein <corion@corion.net>
Date: Sun, 25 Jan 2009 17:34:39 +0100
Subject: [PATCH] Unbreak build on Windows
Rafael Garcia-Suarez [Sun, 25 Jan 2009 15:59:40 +0000]
Merge branch 'Eefix' into blead
Rafael Garcia-Suarez [Sun, 25 Jan 2009 15:57:19 +0000]
Document that $0 is set to "-e" when perl is run with -e or -E
Rafael Garcia-Suarez [Sun, 25 Jan 2009 15:54:16 +0000]
Revert "show -E in error message when called with -E"
This reverts commit
efdc43f5015438920ce11f05539e55cb02940377.
Charles Bailey [Sat, 24 Jan 2009 00:11:45 +0000]
Move cp(1)-like permission changes from copy to cp,
and add setid bit handling
- Moves the permission-changing code to File::Copy::cp(), making it
non-identical to File::Copy::copy(). I think this is a decent
compromise, retaining backwards compatibility in the "primary"
routine, while allowing people who chose cp() to get more POSIXy
semantics. It does break backwards compatibility of cp() wrt
permissions. I can find a handful of examples in CPAN, for which I
hope smokers will give some feedback. As for the DARKpan, who knows .
. .
- Expands the permission changing in cp() a bit to cover the rest of
what cp(1) claims on the local POSIX box.
- Removes Fcntl from the mix, to eliminate some build-time hoops.
- Shifts Abigail's permission tests to cp(), and adds parallel tests for copy().
- Documents the permission-related behavior in more detail.
Jerry D. Hedden [Wed, 21 Jan 2009 16:03:38 +0000]
Code refs aren't lockable
Remove the check for code refs in pp_lock.
For debugging, assert that the ref is not a code ref
(per Dave Mitchell's suggestion).
Nicholas Clark [Sun, 25 Jan 2009 11:50:01 +0000]
Remove stock_git_version.h as nothing uses it any more.
Nicholas Clark [Sun, 25 Jan 2009 11:22:41 +0000]
Regenerate uconfig.h
Nicholas Clark [Sun, 25 Jan 2009 11:22:21 +0000]
microperl has no idea about 64 bit types, so don't use the y2038 code for it.
Nicholas Clark [Sun, 25 Jan 2009 11:13:38 +0000]
microperl also needs a canned git config.
Nicholas Clark [Sun, 25 Jan 2009 10:33:41 +0000]
Port
486cd780047ff22471c5cbe417911a042ae23962 to win32/ Makefiles.
(miniperl no longer needs git_version.h, perl.o explictly depends on it)
Nicholas Clark [Sat, 24 Jan 2009 17:45:57 +0000]
Add -DPERL_IS_MINIPERL when building the object files for miniperl.exe
Nicholas Clark [Sat, 24 Jan 2009 17:10:08 +0000]
The exit code of make_patchnum.pl is no longer used, so make it return 0.
Remove special-casing from all the makefiles that coped with it returning non-0.
John Malmberg [Sat, 24 Jan 2009 16:28:58 +0000]
VMS has a mode where it preserved case, and also has a mode where it
returns filenames in UNIX syntax.
This updates this test to handle these modes.
Craig A. Berry [Sat, 24 Jan 2009 03:07:49 +0000]
Build miniperl with a special version of perl.c on VMS as well.
Nicholas Clark [Fri, 23 Jan 2009 22:01:26 +0000]
suidperl goes.
Nicholas Clark [Fri, 23 Jan 2009 20:05:07 +0000]
sperl.o also needs to depend on git_version.h
Nicholas Clark [Fri, 23 Jan 2009 22:40:18 +0000]
Remove redundant #ifndef SETUID_SCRIPTS_ARE_SECURE_NOW (and #endif).
Redundant because it was always true, as it was inside the #else of
an #ifdef SETUID_SCRIPTS_ARE_SECURE_NOW
(Another bit of cleanup following change 32997)
Marcus Holland-Moritz [Fri, 23 Jan 2009 21:11:38 +0000]
Ensure that C++ modules can be built against a perl configured with -DPERL_GLOBAL_STRUCT_PRIVATE.
Perl_GetVarsPrivate() could not be seen from within a module built
with a C++ compiler if the perl binary was built with a C compiler,
as the prototype was not 'extern "C"' for C++.
The change moves the EXTERN_C defines so they can be used for the
prototype of Perl_GetVarsPrivate().
Marcus Holland-Moritz [Fri, 23 Jan 2009 17:48:37 +0000]
Upgrade to Devel::PPPort 3.16
Nicholas Clark [Fri, 23 Jan 2009 16:41:31 +0000]
Amend patchlevel.h so that git_version.h is only #include""ed for perl.
miniperl builds with canned data equivalent to stock_git_version.h.
git_version.h becomes an explicit dependency for perl.o, make_patchnum.pl is
explicitly run to create it, and no sub-makes are spawned with their inherent
race conditions and consequent strange build failures.
Nicholas Clark [Thu, 22 Jan 2009 17:19:50 +0000]
Add a perlmini.o and perlmini.c akin to opmini.o and opmini.c, for ./miniperl
This will allow a defined order for generating git_version.h and then perl.o
Rafael Garcia-Suarez [Fri, 23 Jan 2009 13:56:36 +0000]
Fix deparsing of constant subroutines
This was broken in commit
2990415a4519bc3988d7224ae15100c3e9e901ee
where the inlined constants were deparsed also _inside_ the subroutine
that defined them: that is, before they were available to the parser
Steve Hay [Thu, 22 Jan 2009 09:51:13 +0000]
Upgrade to Encode-2.27
Nicholas Clark [Wed, 21 Jan 2009 17:08:36 +0000]
Note that nothing in core uses Perl_get_cv any more, and why it is hard to move
it to mathoms.c
Nicholas Clark [Wed, 21 Jan 2009 17:06:14 +0000]
Convert db_get_cv() to use get_cvn_flags() as it already knows the length of
the string that it is passing.
Nicholas Clark [Wed, 21 Jan 2009 16:41:58 +0000]
Add get_cvs() as a shortcut for STR_WITH_LEN() and Perl_get_cvn_flags(), and
use it where possible.
Nicholas Clark [Wed, 21 Jan 2009 16:12:06 +0000]
In attrs::get(), use Perl_get_cvn_flags() rather than perl_get_cv().
Nicholas Clark [Wed, 21 Jan 2009 15:55:25 +0000]
Correct the form of the flags passed to perl_get_cv().
Nicholas Clark [Wed, 21 Jan 2009 15:30:05 +0000]
Correct the form of the flags passed to perl_get_sv() in threads.xs