Last change
on this file since 7 was 7, checked in by Bruno Cornec, 17 years ago |
Begin to compile and execute
|
-
Property svn:executable
set to
*
|
File size:
1.7 KB
|
Rev | Line | |
---|
[2] | 1 | #!/usr/bin/perl -w
|
---|
| 2 | #
|
---|
| 3 | # Creates common environment
|
---|
| 4 | #
|
---|
| 5 | # $Id$
|
---|
| 6 | #
|
---|
| 7 | require Exporter;
|
---|
| 8 | @ISA = qw(Exporter);
|
---|
| 9 | @EXPORT = qw(set_env);
|
---|
| 10 |
|
---|
[5] | 11 | use lib qw (lib);
|
---|
[6] | 12 | use pb qw (pb_init);
|
---|
[2] | 13 | use strict;
|
---|
| 14 | use File::Basename;
|
---|
| 15 | use ExtUtils::Command;
|
---|
| 16 | use File::Temp qw /tempdir/;
|
---|
[6] | 17 | use vars qw (%defpkgdir %extpkgdir %version);
|
---|
[2] | 18 |
|
---|
[5] | 19 | $ENV{'PBCONF'} = "/etc/pb";
|
---|
| 20 |
|
---|
[2] | 21 | sub set_env {
|
---|
| 22 |
|
---|
[5] | 23 | my $proj=shift;
|
---|
| 24 | my $ver;
|
---|
| 25 | my $tag;
|
---|
[2] | 26 |
|
---|
[5] | 27 | # Check project name
|
---|
| 28 | if ((defined $ENV{'PBPROJ'}) &&
|
---|
| 29 | (not (defined $proj))) {
|
---|
| 30 | $proj = $ENV{'PBPROJ'};
|
---|
| 31 | }
|
---|
| 32 | die "No project defined - use env var PBPROJ or -p proj" if (not (defined $proj));
|
---|
[2] | 33 |
|
---|
[5] | 34 | # Use project configuration file
|
---|
[6] | 35 | pb_init("$ENV{'PBCONF'}/$proj.pb");
|
---|
[2] | 36 |
|
---|
[5] | 37 | # Check content
|
---|
| 38 | die "PBROOT doesn't exist in $ENV{'PBCONF'}/$proj.pb" if (not (defined $ENV{'PBROOT'}));
|
---|
| 39 | die "defpkgdir doesn't exist in $ENV{'PBCONF'}/$proj.pb" if (not (defined %defpkgdir));
|
---|
| 40 |
|
---|
| 41 | # Set temp directory
|
---|
[7] | 42 | if (not defined $ENV{'TMPDIR'}) {
|
---|
[2] | 43 | $ENV{'TMPDIR'}="/tmp";
|
---|
| 44 | }
|
---|
[5] | 45 | $ENV{'PBTMP'} = tempdir( "pb.XXXXXXXXXX", DIR => $ENV{'TMPDIR'}, CLEANUP => 1 );
|
---|
[2] | 46 |
|
---|
[5] | 47 | # Get global VERSION
|
---|
| 48 | open(VER, "$ENV{'PBROOT'}/VERSION") || die "Unable to open $ENV{'PBROOT'}/VERSION: $?";
|
---|
| 49 | $ver = <VER>;
|
---|
| 50 | chomp($ver);
|
---|
| 51 | die "Invalid version name $ver in $ENV{'PBROOT'}/VERSION" if ($ver !~ /[0-9.]+/) || (defined $version{$ver});
|
---|
| 52 | $ENV{'PBVER'}=$ver;
|
---|
| 53 | close(VER);
|
---|
| 54 |
|
---|
| 55 | #Get global TAG
|
---|
| 56 | open(TAG, "$ENV{'PBROOT'}/TAG") || die "Unable to open $ENV{'PBROOT'}/TAG: $?";
|
---|
| 57 | $tag = <TAG>;
|
---|
| 58 | chomp($tag);
|
---|
| 59 | die "Invalid version tag $tag in $ENV{'PBROOT'}/TAG" if ($tag !~ /[0-9]+/);
|
---|
| 60 | $ENV{'PBTAG'}=$tag;
|
---|
| 61 | close(TAG);
|
---|
| 62 |
|
---|
| 63 | # Adapt to your needs
|
---|
| 64 | # Set delivery directory
|
---|
| 65 | $ENV{'PBTOPDIR'}="$ENV{'PBROOT'}/../delivery";
|
---|
| 66 | $ENV{'PBDESTDIR'}=$ENV{'TOPDIR'}."/".$ENV{'PBVER'}."-".$ENV{'PBTAG'};
|
---|
| 67 | mkpath $ENV{'PBDESTDIR'};
|
---|
| 68 |
|
---|
[2] | 69 | umask 0022
|
---|
| 70 | }
|
---|
| 71 | 1;
|
---|
Note:
See
TracBrowser
for help on using the repository browser.