[svn:parrot] r46191 - trunk/runtime/parrot/library
fperrad at svn.parrot.org
fperrad at svn.parrot.org
Fri Apr 30 07:33:15 UTC 2010
Author: fperrad
Date: Fri Apr 30 07:33:14 2010
New Revision: 46191
URL: https://trac.parrot.org/parrot/changeset/46191
Log:
[distutils] make tarball without copy in filesystem
Modified:
trunk/runtime/parrot/library/distutils.pir
Modified: trunk/runtime/parrot/library/distutils.pir
==============================================================================
--- trunk/runtime/parrot/library/distutils.pir Fri Apr 30 07:27:54 2010 (r46190)
+++ trunk/runtime/parrot/library/distutils.pir Fri Apr 30 07:33:14 2010 (r46191)
@@ -3030,18 +3030,18 @@
archive_file = get_tarname('.tar.gz', kv :flat :named)
$I0 = newer(archive_file, $P0)
if $I0 goto L1
- .local string prefix
- prefix = get_tarname('', kv :flat :named)
- copy_sdist(prefix, $P0)
.local pmc archive
archive = new ['Archive';'TAR']
- $P1 = iter $P0
+ $P1 = archive.'add_files'($P0 :flat)
+ .local string dir
+ dir = get_tarname('', kv :flat :named)
L2:
unless $P1 goto L3
- $S1 = shift $P1
- $S0 = prefix . '/'
- $S0 .= $S1
- archive.'add_files'($S0)
+ $P2 = shift $P1
+ $S0 = $P2.'full_path'()
+ $S0 = '/' . $S0
+ $S0 = dir . $S0
+ $P2.'rename'($S0)
goto L2
L3:
$P0 = loadlib 'gziphandle'
@@ -3049,7 +3049,6 @@
$P0.'open'(archive_file, 'wb')
archive.'write'($P0)
$P0.'close'()
- rmtree(prefix)
L1:
.end
@@ -3061,21 +3060,6 @@
unlink('MANIFEST', 1 :named('verbose'))
.end
-.sub 'copy_sdist' :anon
- .param string dirname
- .param pmc files
- mkdir(dirname)
- $S1 = dirname . "/"
- $P0 = iter files
- L1:
- unless $P0 goto L2
- $S0 = shift $P0
- $S2 = $S1 . $S0
- install($S0, $S2)
- goto L1
- L2:
-.end
-
.sub 'get_tarname' :anon
.param string ext
.param pmc kv :slurpy :named
@@ -3126,6 +3110,21 @@
unlink('MANIFEST', 1 :named('verbose'))
.end
+.sub 'copy_sdist' :anon
+ .param string dirname
+ .param pmc files
+ mkdir(dirname)
+ $S1 = dirname . "/"
+ $P0 = iter files
+ L1:
+ unless $P0 goto L2
+ $S0 = shift $P0
+ $S2 = $S1 . $S0
+ install($S0, $S2)
+ goto L1
+ L2:
+.end
+
=head3 Step sdist_rpm
=cut
More information about the parrot-commits
mailing list