[130541] trunk/dports/perl/p5-macosx-file
larryv at macports.org
larryv at macports.org
Wed Dec 31 12:52:48 PST 2014
Revision: 130541
https://trac.macports.org/changeset/130541
Author: larryv at macports.org
Date: 2014-12-31 12:52:48 -0800 (Wed, 31 Dec 2014)
Log Message:
-----------
p5-macosx-file: Refactor patches
- use-FSPathCopyObjectSync.patch: r48869
- fix-Copy-tiger.patch: r49288
Revision Links:
--------------
https://trac.macports.org/changeset/48869
https://trac.macports.org/changeset/49288
Modified Paths:
--------------
trunk/dports/perl/p5-macosx-file/Portfile
Added Paths:
-----------
trunk/dports/perl/p5-macosx-file/files/fix-Copy-tiger.patch
trunk/dports/perl/p5-macosx-file/files/use-FSPathCopyObjectSync.patch
Removed Paths:
-------------
trunk/dports/perl/p5-macosx-file/files/patch-Copy-Copy.pm.diff
trunk/dports/perl/p5-macosx-file/files/patch-Copy-filecopy.c.diff
Modified: trunk/dports/perl/p5-macosx-file/Portfile
===================================================================
--- trunk/dports/perl/p5-macosx-file/Portfile 2014-12-31 19:33:15 UTC (rev 130540)
+++ trunk/dports/perl/p5-macosx-file/Portfile 2014-12-31 20:52:48 UTC (rev 130541)
@@ -24,8 +24,8 @@
if {${perl5.major} ne ""} {
supported_archs i386 ppc
-patchfiles patch-Copy-Copy.pm.diff \
- patch-Copy-filecopy.c.diff
+patchfiles use-FSPathCopyObjectSync.patch \
+ fix-Copy-tiger.patch
post-patch {
reinplace "s|/usr/local|${prefix}|g" ${worksrcpath}/Makefile.PL
}
Copied: trunk/dports/perl/p5-macosx-file/files/fix-Copy-tiger.patch (from rev 130540, trunk/dports/perl/p5-macosx-file/files/patch-Copy-filecopy.c.diff)
===================================================================
--- trunk/dports/perl/p5-macosx-file/files/fix-Copy-tiger.patch (rev 0)
+++ trunk/dports/perl/p5-macosx-file/files/fix-Copy-tiger.patch 2014-12-31 20:52:48 UTC (rev 130541)
@@ -0,0 +1,19 @@
+Index: Copy/filecopy.c
+===================================================================
+--- Copy/filecopy.c.orig
++++ Copy/filecopy.c
+@@ -6,6 +6,14 @@
+ #include <Files.h>
+ #include "common/util.c"
+
++#ifndef kPOSIXErrorBase
++#define kPOSIXErrorBase 100000L
++#endif
++
++#ifndef kPOSIXErrorERANGE
++#define kPOSIXErrorERANGE 100034L
++#endif
++
+ #ifdef _INC_PERL_XSUB_H
+ static int
+ setcopyerr(int err, char *filename, int line)
Deleted: trunk/dports/perl/p5-macosx-file/files/patch-Copy-Copy.pm.diff
===================================================================
--- trunk/dports/perl/p5-macosx-file/files/patch-Copy-Copy.pm.diff 2014-12-31 19:33:15 UTC (rev 130540)
+++ trunk/dports/perl/p5-macosx-file/files/patch-Copy-Copy.pm.diff 2014-12-31 20:52:48 UTC (rev 130541)
@@ -1,11 +0,0 @@
---- Copy/Copy.pm.orig 2005-08-18 23:12:28.000000000 -0700
-+++ Copy/Copy.pm 2009-03-25 17:22:19.000000000 -0700
-@@ -85,7 +85,7 @@
-
- my ($srcdev, $srcino, $srcmode, $srcuid, $srcgid, $srcatime, $srcmtime)
- = (lstat($src))[0,1,2,4,5,8,9];
-- unless(-f _){
-+ unless(-e _){
- $MacOSX::File::OSErr = -43; # fnfErr;
- $! = &Errno::ENOENT;
- return;
Deleted: trunk/dports/perl/p5-macosx-file/files/patch-Copy-filecopy.c.diff
===================================================================
--- trunk/dports/perl/p5-macosx-file/files/patch-Copy-filecopy.c.diff 2014-12-31 19:33:15 UTC (rev 130540)
+++ trunk/dports/perl/p5-macosx-file/files/patch-Copy-filecopy.c.diff 2014-12-31 20:52:48 UTC (rev 130541)
@@ -1,106 +0,0 @@
---- Copy/filecopy.c.orig 2005-08-18 23:12:28.000000000 -0700
-+++ Copy/filecopy.c 2009-04-03 18:02:48.000000000 -0700
-@@ -3,9 +3,18 @@
- */
-
- #undef I_POLL
-+// #include <libgen.h>
- #include <Files.h>
- #include "common/util.c"
-
-+#ifndef kPOSIXErrorBase
-+# define kPOSIXErrorBase 100000L
-+#endif /* kPOSIXErrorBase */
-+
-+#ifndef kPOSIXErrorERANGE
-+# define kPOSIXErrorERANGE 100034L
-+#endif /* kPOSIXErrorERANGE */
-+
- #ifdef _INC_PERL_XSUB_H
- static int
- setcopyerr(int err, char *filename, int line)
-@@ -166,46 +175,46 @@
-
- #define min(x, y) ((x) < y) ? (x) : (y)
-
--static OSErr
--filecopy(char *src, char *dst, UInt64 maxbufsize, int preserve){
-- OSErr err;
-- FSCatalogInfo srcCat, dstCat;
-- FSRef srcFS, dstFS;
-- HFSUniStr255 forkName;
-- UTCDateTime now;
--
-- if (err = FSPathMakeRef(src, &srcFS, NULL))
-- { return err; }
--
-- if (err = FSGetCatalogInfo(&srcFS, kFSCatInfoGettableInfo, &srcCat,
-- NULL, NULL, NULL))
-- { return err; }
--
-- bcopy(&srcCat, &dstCat, sizeof(FSCatalogInfo));
--
-- if (err = newfile(dst, &dstFS, &dstCat)){
-- fpf(stderr, "Cannot Create File %s\n", dst);
-- return err;
-- }
-- if (srcCat.dataLogicalSize){
-- setbufsiz(min(srcCat.dataPhysicalSize, maxbufsize));
-- FSGetDataForkName(&forkName);
-- if (err = copyfork(&forkName, &srcFS, &dstFS))
-- { return err; }
-- }
-- if (srcCat.rsrcLogicalSize){
-- setbufsiz(min(srcCat.rsrcPhysicalSize, maxbufsize));
-- FSGetResourceForkName(&forkName);
-- if (err = copyfork(&forkName, &srcFS, &dstFS))
-- { return err; }
-- }
-- freebuf();
-- if (preserve){
-- err = FSSetCatalogInfo(&dstFS, kFSCatInfoSettableInfo, &srcCat);
-- }
-- return err;
-+static OSStatus
-+filecopy(char *src, char *dst, UInt64 maxbufsize, int preserve)
-+{
-+ OSStatus status;
-+ char *destDir = NULL;
-+ CFStringRef destFname;
-+ char *lastSlash = NULL;
-+ char *tmpString = NULL;
-+
-+ if (NULL == dst || NULL == src) {
-+ return -1;
-+ }
-+ /* split the dst into the dir and the filename */
-+ if (NULL == (tmpString = dirname(dst))) {
-+ /* dirname() failed... */
-+ return errno + kPOSIXErrorBase;
-+ }
-+ destDir = calloc((strlen(tmpString) + 2), sizeof(char));
-+ if (NULL == destDir) {
-+ /* failed to allocate mem */
-+ return errno + kPOSIXErrorBase;
-+ }
-+ if (strlcpy(destDir, tmpString, (strlen(tmpString) + 1)) > (strlen(tmpString))) {
-+ /* argh! */
-+ return kPOSIXErrorERANGE;
-+ }
-+ if (NULL == (tmpString = basename(dst))) {
-+ /* basename() failed... */
-+ return errno + kPOSIXErrorBase;
-+ }
-+ destFname = CFStringCreateWithCString(kCFAllocatorDefault, tmpString, kCFStringEncodingMacRoman);
-+
-+ status = FSPathCopyObjectSync(src, destDir, destFname, NULL, kFSFileOperationSkipPreflight);
-+
-+ // fprintf(stderr, "FSPathCOpyObjectSync(%s, %s, %s,...) status is \"%d\"\n", (NULL != src ? src : "<NULL>"), (NULL != destDir ? destDir: "<NULL>"), (NULL != tmpString ? tmpString: "<NULL>"), status);
-+
-+ return status;
- }
-
-+
- /*
- static OSErr
- filemove(char *src, char *dst){
Copied: trunk/dports/perl/p5-macosx-file/files/use-FSPathCopyObjectSync.patch (from rev 130540, trunk/dports/perl/p5-macosx-file/files/patch-Copy-filecopy.c.diff)
===================================================================
--- trunk/dports/perl/p5-macosx-file/files/use-FSPathCopyObjectSync.patch (rev 0)
+++ trunk/dports/perl/p5-macosx-file/files/use-FSPathCopyObjectSync.patch 2014-12-31 20:52:48 UTC (rev 130541)
@@ -0,0 +1,102 @@
+Index: Copy/filecopy.c
+===================================================================
+--- Copy/filecopy.c.orig
++++ Copy/filecopy.c
+@@ -166,46 +166,46 @@ copyfork(HFSUniStr255 *forkName, FSRef *
+
+ #define min(x, y) ((x) < y) ? (x) : (y)
+
+-static OSErr
+-filecopy(char *src, char *dst, UInt64 maxbufsize, int preserve){
+- OSErr err;
+- FSCatalogInfo srcCat, dstCat;
+- FSRef srcFS, dstFS;
+- HFSUniStr255 forkName;
+- UTCDateTime now;
+-
+- if (err = FSPathMakeRef(src, &srcFS, NULL))
+- { return err; }
+-
+- if (err = FSGetCatalogInfo(&srcFS, kFSCatInfoGettableInfo, &srcCat,
+- NULL, NULL, NULL))
+- { return err; }
+-
+- bcopy(&srcCat, &dstCat, sizeof(FSCatalogInfo));
+-
+- if (err = newfile(dst, &dstFS, &dstCat)){
+- fpf(stderr, "Cannot Create File %s\n", dst);
+- return err;
+- }
+- if (srcCat.dataLogicalSize){
+- setbufsiz(min(srcCat.dataPhysicalSize, maxbufsize));
+- FSGetDataForkName(&forkName);
+- if (err = copyfork(&forkName, &srcFS, &dstFS))
+- { return err; }
+- }
+- if (srcCat.rsrcLogicalSize){
+- setbufsiz(min(srcCat.rsrcPhysicalSize, maxbufsize));
+- FSGetResourceForkName(&forkName);
+- if (err = copyfork(&forkName, &srcFS, &dstFS))
+- { return err; }
+- }
+- freebuf();
+- if (preserve){
+- err = FSSetCatalogInfo(&dstFS, kFSCatInfoSettableInfo, &srcCat);
+- }
+- return err;
++static OSStatus
++filecopy(char *src, char *dst, UInt64 maxbufsize, int preserve)
++{
++ OSStatus status;
++ char *destDir = NULL;
++ CFStringRef destFname;
++ char *lastSlash = NULL;
++ char *tmpString = NULL;
++
++ if (NULL == dst || NULL == src) {
++ return -1;
++ }
++ /* split the dst into the dir and the filename */
++ if (NULL == (tmpString = dirname(dst))) {
++ /* dirname() failed... */
++ return errno + kPOSIXErrorBase;
++ }
++ destDir = calloc((strlen(tmpString) + 2), sizeof(char));
++ if (NULL == destDir) {
++ /* failed to allocate mem */
++ return errno + kPOSIXErrorBase;
++ }
++ if (strlcpy(destDir, tmpString, (strlen(tmpString) + 1)) > (strlen(tmpString))) {
++ /* argh! */
++ return kPOSIXErrorERANGE;
++ }
++ if (NULL == (tmpString = basename(dst))) {
++ /* basename() failed... */
++ return errno + kPOSIXErrorBase;
++ }
++ destFname = CFStringCreateWithCString(kCFAllocatorDefault, tmpString, kCFStringEncodingMacRoman);
++
++ status = FSPathCopyObjectSync(src, destDir, destFname, NULL, kFSFileOperationSkipPreflight);
++
++ // fprintf(stderr, "FSPathCOpyObjectSync(%s, %s, %s,...) status is \"%d\"\n", (NULL != src ? src : "<NULL>"), (NULL != destDir ? destDir: "<NULL>"), (NULL != tmpString ? tmpString: "<NULL>"), status);
++
++ return status;
+ }
+
++
+ /*
+ static OSErr
+ filemove(char *src, char *dst){
+Index: Copy/Copy.pm
+===================================================================
+--- Copy/Copy.pm.orig
++++ Copy/Copy.pm
+@@ -85,7 +85,7 @@ sub copy($$;$$){
+
+ my ($srcdev, $srcino, $srcmode, $srcuid, $srcgid, $srcatime, $srcmtime)
+ = (lstat($src))[0,1,2,4,5,8,9];
+- unless(-f _){
++ unless(-e _){
+ $MacOSX::File::OSErr = -43; # fnfErr;
+ $! = &Errno::ENOENT;
+ return;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20141231/8510927c/attachment.html>
More information about the macports-changes
mailing list