From ef0777633f49ac643c7184cb2c26dcb798eaf1c6 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 5 Oct 2008 15:14:24 +0000 Subject: Move parcel_* functions into BoxPlatform package to share them with other scripts. Add a script to print the path to the current parcel directory, for use in configure.ac to allow this to be placed in substitutions (contrib/windows/installer/boxbackup.mpi in particular). --- infrastructure/BoxPlatform.pm.in | 30 +++++++++++++++++++++--------- infrastructure/makeparcels.pl.in | 24 +++++------------------- infrastructure/parcelpath.pl | 17 +++++++++++++++++ 3 files changed, 43 insertions(+), 28 deletions(-) create mode 100644 infrastructure/parcelpath.pl (limited to 'infrastructure') diff --git a/infrastructure/BoxPlatform.pm.in b/infrastructure/BoxPlatform.pm.in index f5c55f25..8657134e 100644 --- a/infrastructure/BoxPlatform.pm.in +++ b/infrastructure/BoxPlatform.pm.in @@ -5,7 +5,6 @@ use Exporter; BEGIN { - # which OS are we building under? $target_os = '@target_os@'; $target_windows = 0; @@ -38,20 +37,17 @@ BEGIN $platform_exe_ext = '@EXEEXT@'; # get version - if (! -r "VERSION.txt" and -r "../../VERSION.txt") - { - open VERSION,"../../VERSION.txt" or die "../../VERSION.txt: $!"; - } - else - { - open VERSION,"VERSION.txt" or die "VERSION.txt: $!"; - } + my $version_file = "VERSION.txt"; + if (not -r $version_file) { $version_file = "../../$version_file" } + die "missing version file: $version_file" unless $version_file; + open VERSION, $version_file or die "$version_file: $!"; $product_version = ; chomp $product_version; $product_name = ; chomp $product_name; close VERSION; + if($product_version =~ /USE_SVN_VERSION/) { # for developers, use SVN version @@ -116,5 +112,21 @@ sub make_flag return $_[0].'=1'; } +sub parcel_root +{ + my $tos = $_[1] || $target_os; + return $product_name.'-'.$product_version.'-'.$_[0].'-'.$tos; +} + +sub parcel_dir +{ + 'parcels/'.parcel_root($_[0], $_[1]) +} + +sub parcel_target +{ + parcel_dir($_[0]).'.tgz' +} + 1; diff --git a/infrastructure/makeparcels.pl.in b/infrastructure/makeparcels.pl.in index 6a355bbf..2370f435 100755 --- a/infrastructure/makeparcels.pl.in +++ b/infrastructure/makeparcels.pl.in @@ -98,8 +98,8 @@ print MAKE "all:\t",join(' ',map {"build-".$_} @parcels),"\n\n"; print MAKE "clean:\n"; for my $parcel (@parcels) { - print MAKE "\trm -rf ",parcel_dir($parcel),"\n"; - print MAKE "\trm -f ",parcel_target($parcel),"\n"; + print MAKE "\trm -rf ", BoxPlatform::parcel_dir($parcel), "\n"; + print MAKE "\trm -f ", BoxPlatform::parcel_target($parcel), "\n"; } print MAKE "\tif [ `uname -o` = 'Cygwin' ]; then find release debug -type f | xargs -r rm -f; else find release debug -type f -exec rm -f {} \\;; fi\n"; print MAKE "\n"; @@ -110,8 +110,8 @@ my $release_flag = BoxPlatform::make_flag('RELEASE'); for my $parcel (@parcels) { - my $target = parcel_target($parcel); - my $dir = parcel_dir($parcel); + my $target = BoxPlatform::parcel_target($parcel); + my $dir = BoxPlatform::parcel_dir($parcel); my @parcel_deps; unless ($target_windows) @@ -215,7 +215,7 @@ EOF chmod 0755,"parcels/scripts/install-$parcel"; } - my $root = parcel_root($parcel); + my $root = BoxPlatform::parcel_root($parcel); unless ($target_windows) { @@ -256,17 +256,3 @@ print INSTALLMSG "\n"; close INSTALLMSG; -sub parcel_root -{ - $product_name.'-'.$product_version.'-'.$_[0].'-'.$target_os -} - -sub parcel_dir -{ - 'parcels/'.parcel_root($_[0]) -} - -sub parcel_target -{ - parcel_dir($_[0]).'.tgz' -} diff --git a/infrastructure/parcelpath.pl b/infrastructure/parcelpath.pl new file mode 100644 index 00000000..24f951a2 --- /dev/null +++ b/infrastructure/parcelpath.pl @@ -0,0 +1,17 @@ +#!perl + +unless (@ARGV == 2) +{ + die "Usage: $0 \n"; +} + +$basedir = $0; +$basedir =~ s|/.*||; +$basedir .= "/.."; +-d $basedir or die "$basedir: $!"; +chdir $basedir or die "$basedir: $!"; +require "infrastructure/BoxPlatform.pm.in"; + +print BoxPlatform::parcel_dir(@ARGV) . "\n"; + +exit 0; -- cgit v1.2.3