Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorvald Natvig <slicer@users.sourceforge.net>2010-02-06 02:46:44 +0300
committerThorvald Natvig <slicer@users.sourceforge.net>2010-02-06 02:46:44 +0300
commita349a0872dc76a83d2f9c9b4b21c5af1dec72e95 (patch)
treef3c504fc9e12da9135f30f2294fc0611b1b79e63 /scripts
parent3a051894b1dbbe1a366f8660c01707dcaebe6a37 (diff)
Use symlinks in release tarball
Diffstat (limited to 'scripts')
-rw-r--r--scripts/release.pl10
1 files changed, 8 insertions, 2 deletions
diff --git a/scripts/release.pl b/scripts/release.pl
index 25849a9c4..aa7e763c3 100644
--- a/scripts/release.pl
+++ b/scripts/release.pl
@@ -5,10 +5,12 @@ use warnings;
use Carp;
use Switch;
use Archive::Tar;
+use Archive::Tar::Constant;
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
use Compress::Zlib;
use POSIX;
use File::Copy;
+use File::stat;
sub adddir($$) {
my ($dir, $ref) = @_;
@@ -171,13 +173,17 @@ my $zipdir = $zip->addDirectory($dir);
foreach my $file ('LICENSE', sort keys %files) {
print "Adding $file\n";
open(F, $file) or croak "Missing $file";
- sysread(F, $blob, 1000000000);
+ sysread(F, $blob, stat($file)->size);
if ($file eq "src/Version.h") {
$blob =~ s/(\#ifndef MUMBLE_VERSION)/$1\n\#define MUMBLE_VERSION $ver\n\#endif\n$1/;
}
- $tar->add_data($dir . $file, $blob);
+ if (-l $file) {
+ $tar->add_data($dir . $file, "", { linkname => readlink($file), type => Archive::Tar::Constant::SYMLINK });
+ } else {
+ $tar->add_data($dir . $file, $blob);
+ }
my $zipmember=$zip->addString($blob, $dir . $file);
$zipmember->desiredCompressionMethod( COMPRESSION_DEFLATED );
$zipmember->desiredCompressionLevel( 9 );