Last change
on this file since 5 was 5, checked in by Bruno Cornec, 17 years ago |
Lots of modifs to find the right way. Probably still not good
|
-
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);
|
---|
[2] | 12 | use strict;
|
---|
| 13 | use File::Basename;
|
---|
| 14 | use ExtUtils::Command;
|
---|
| 15 | use File::Temp qw /tempdir/;
|
---|
[5] | 16 | use vars qw (%defpkgdir %extpkgdir %version &pb_init);
|
---|
[2] | 17 |
|
---|
[5] | 18 | $ENV{'PBCONF'} = "/etc/pb";
|
---|
| 19 |
|
---|
[2] | 20 | sub set_env {
|
---|
| 21 |
|
---|
[5] | 22 | my $proj=shift;
|
---|
| 23 | my $ver;
|
---|
| 24 | my $tag;
|
---|
[2] | 25 |
|
---|
[5] | 26 | # Check project name
|
---|
| 27 | if ((defined $ENV{'PBPROJ'}) &&
|
---|
| 28 | (not (defined $proj))) {
|
---|
| 29 | $proj = $ENV{'PBPROJ'};
|
---|
| 30 | }
|
---|
| 31 | die "No project defined - use env var PBPROJ or -p proj" if (not (defined $proj));
|
---|
[2] | 32 |
|
---|
[5] | 33 | # Use project configuration file
|
---|
| 34 | require "$ENV{'PBCONF'}/$proj.pb";
|
---|
| 35 | pb_init();
|
---|
[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
|
---|
[2] | 42 | if (undef $ENV{'TMPDIR'}) {
|
---|
| 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.