On Fri, May 23, 2008 at 10:53 AM, Craig A. Berry <craig.a.berry@gmail.com> wrote: > On Wed, May 7, 2008 at 4:16 PM, Abigail <abigail@abigail.be> wrote: >> >> The following patch to File::Copy makes if one copies a file, permission >> bits are handled as POSIX 1003.1 describes the shell utility 'cp' ought >> to behave. > > Belatedly following up on this. If the rationale is that Perl should > act as much as possible like a native utility, then this clearly is > the right thing to do. If, on the other hand, Perl should have its > own definition of the right thing to do and act the same on all > platforms, then this actually widens the gap between platforms. I > don't have any strong objection to your change, but I just want you to > be aware you are shifting us from the latter to the former (after > umpteen years of the latter). > >> A few points: >> >> * The patch is probably incomplete. Non-Unix systems may need some >> special handling, depending on what '(stat $fh) [2]' returns. >> I neither have knowledge of, nor access to any non-Unix systems >> to develop this myself. >> >> * This patch introduces a non-backwards compatible change. Some code >> somewhere is probably relying on the fact the permission bits of >> the new file have no relation to the file copied from. > > On VMS, and I believe also on Win32 (which closely mimics the VMS file > protection scheme), the absence of a relationship between the source > file permissions and the target file permissions is by design. The > specifics can get rather complicated, but the gist of it is that a > copy of a file is a new file that is expected to play nice in its new > environment, where "environment" may include previous versions of the > same file, process defaults, directory defaults, ACLs, etc. Native > utilities can override this behavior (COPY/PROTECTION on VMS, XCOPY /O > on Windows), but it's something you have to ask for explicitly. > >> * The new tests may not work on all non-Unix systems. > > I'd say they are unlikely to work at all on any non-Unix system. I've > checked in change #33916 to skip them on VMS. Last I saw they were > all failing in the Win32 smokes and they will probably have to be > skipped there as well. > Since the other Steve's connectivity is spotty right now, I'll be testing and updating Win32 shortly. Steve Peters steve@fisharerojo.orgThread Previous | Thread Next