X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=build-pspp;h=ae723f7de4922f2ccd58695098b4f499af5cc8b9;hb=91958b98fac5f791b0009314e09773d21e550b4b;hp=2fff2c853ec2cb693b7fb53c93e1edc5df056a83;hpb=9869b64641f5197bd495a5e62cdbb3f985adbeee;p=pspp diff --git a/build-pspp b/build-pspp index 2fff2c853e..ae723f7de4 100755 --- a/build-pspp +++ b/build-pspp @@ -66,6 +66,8 @@ chomp $build_host; set_var ("build_host", $build_host); set_var ("build_number", $build_number); +our $GIT = "git --git-dir=$topdir/.git"; + sub start_step { my ($msg) = @_; print LOG " \n$msg\n"; @@ -122,8 +124,6 @@ sub ref_to_commit { return $commit; } -my $GIT = "git --git-dir=$topdir/.git"; - if (@ARGV == 2) { my ($repo, $branch) = @ARGV; @@ -235,7 +235,7 @@ EOF or die "rename $fullname.new to $fullname failed: $!\n"; # If we don't already have that Gnulib commit, update Gnulib. - system ("$GIT rev-parse --verify --quiet $gnulib_commit > /dev/null"); + system ("$GIT rev-parse --verify --quiet $gnulib_commit^0 > /dev/null"); if ($? != 0) { start_step ("Updating Gnulib to obtain commit"); run ("$GIT fetch gnulib"); @@ -286,6 +286,11 @@ if ($build_binary) { set_var ("dist_ref", "refs/builds/$build_number/dist"); set_var ("dist_commit", ref_to_commit ("refs/builds/$build_number/dist")); + start_step ("Determining $tarball target directory"); + my $sample_filename = `zcat $tarball | tar tf - | head -1`; + my ($tarball_dir) = $sample_filename =~ m%^(?:[./])*([^/]+)/%; + set_var ("dist_dir", $tarball_dir); + start_step ("Extracting source tarball"); run ("zcat $tarball | (cd $builddir && tar xf -)");