Hi Geoffroy:
 
The call to OSCAR::OCA:OS_Detect::open() needs to come after 
"&oscar_home_env()" since OCA requires $OSCAR_HOME to be defined.  Is there any 
particular reason why you moved the call?
 
To work around the issue, I just reverted that particular change (moved the 
call back to the original location).
 
Thanks,
 
Bernard

________________________________

From: [EMAIL PROTECTED] on behalf of [EMAIL PROTECTED]
Sent: Sat 08/07/2006 10:24
To: [EMAIL PROTECTED]
Subject: [Oscar-checkins] r5114 - trunk



Author: valleegr
Date: 2006-07-08 13:24:10 -0400 (Sat, 08 Jul 2006)
New Revision: 5114

Modified:
   trunk/install_cluster
Log:
[Debian Port] Management of the OSCAR_HOME environment variable.

Modified: trunk/install_cluster
===================================================================
--- trunk/install_cluster       2006-07-08 05:32:07 UTC (rev 5113)
+++ trunk/install_cluster       2006-07-08 17:24:10 UTC (rev 5114)
@@ -72,6 +72,8 @@
 # First of all, enforce that the user running this script is 'root'
 croak "You must be 'root' to run this script.  Aborting" if ($< != 0 || 
$ENV{'USER'} ne 'root');

+my $os = OSCAR::OCA::OS_Detect::open();
+
 # Validate OSCAR_HOME environment variable and write /etc/profile.d files
 &oscar_home_env();

@@ -162,7 +164,6 @@
 # Check to see if this is a supported platform

 oscar_log_subsection("Checking if this is a supported platform");
-my $os = OSCAR::OCA::OS_Detect::open();
 if (!$os) {
     print("ERROR: This is an unsupported system.  Specifically, no module in 
OSCAR/OCA/OS_Detect positively identified this as a supported system.\n");
     die("Cannot continue");
@@ -310,41 +311,59 @@
     if (dirname($0) ne ".") {
        carp("You MUST execute the program from within the OSCAR top level 
directory!\n");
     }
-    # do profile.d files already exist?
-    my ($dir_csh, $dir_sh) = &profiled_files_read();
-    if ($dir_csh ne $dir_sh) {
-       print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
-       print "The /etc/profile.d/oscar_home.{csh,sh} files point to\n";
-       print "different \$OSCAR_HOME environment variables!\n";
-       print "Fix or delete them and rerun this program!\n";
-       print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
-       exit 1;
+
+    # Two situations now: we are using an RPM based distro therefore we need 
to update /etc/profile.d/, or we are using a Debian-like distro and therefore, 
we do not have a /etc/profile.d/ folder (see Debian policies for more 
information), and we update /root/.bashrc
+    # First case: Debian-like distro
+    print "geof: $os->{distro}\n";
+    if ($os->{distro} eq "debian") {
+       print "Setup environment variables\n";
+       my $ret = `grep OSCAR /root/.bashrc`;
+       # We update /etc/.bashrc only if we did not do it before
+       if ($ret eq "") {
+               my $cmd4deb = "echo \"OSCAR_HOME=/root/oscar\nexport 
OSCAR_HOME\n\" >> /root/.bashrc";
+               system ($cmd4deb);
+               $cmd4deb = "source /root/.bashrc";
+               system ($cmd4deb);
+       }
     }
-    # is there another OSCAR installation around?
-    if ($dir_sh && ($dir_sh ne $ohome)) {
-       print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
-       print "The /etc/profile.d/oscar_home.{csh,sh} files already exist\n";
-       print "and point to a different OSCAR installation!\n";
-       print "If you want to DELETE the other OSCAR installation (!!!)\n";
-       print "you should do:\n";
-       print "   cd $dir_sh\n";
-       print "   scripts/start_over\n";
-       print "Then rerun this script.\n";
-       print "ATTENTION: The steps described above will remove all OSCAR\n";
-       print "packages and delete all defined cluster nodes!\n";
-       print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
-       exit 1;
+    # Second case RPM based distros
+    else {
+        # do profile.d files already exist?
+        my ($dir_csh, $dir_sh) = &profiled_files_read();
+        if ($dir_csh ne $dir_sh) {
+           print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
+           print "The /etc/profile.d/oscar_home.{csh,sh} files point to\n";
+           print "different \$OSCAR_HOME environment variables!\n";
+           print "Fix or delete them and rerun this program!\n";
+           print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
+           exit 1;
+       }
+       # is there another OSCAR installation around?
+       if ($dir_sh && ($dir_sh ne $ohome)) {
+           print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
+           print "The /etc/profile.d/oscar_home.{csh,sh} files already 
exist\n";
+           print "and point to a different OSCAR installation!\n";
+           print "If you want to DELETE the other OSCAR installation (!!!)\n";
+           print "you should do:\n";
+           print "   cd $dir_sh\n";
+           print "   scripts/start_over\n";
+           print "Then rerun this script.\n";
+           print "ATTENTION: The steps described above will remove all 
OSCAR\n";
+           print "packages and delete all defined cluster nodes!\n";
+           print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
+           exit 1;
+       }
+       # set environment variable OSCAR_HOME
+       if ($ENV{OSCAR_HOME} ne $ohome) {
+           oscar_log_subsection("Setting env variable OSCAR_HOME to $ohome");
+           $ENV{OSCAR_HOME} = $ohome;
+       }
+       # write profile.d files
+       if (!$dir_sh || !$dir_csh) {
+           oscar_log_subsection("Generating /etc/profile.d/oscar_home.{sh,csh} 
files.");
+           &profiled_files_write($ohome);
+       }
     }
-    # set environment variable OSCAR_HOME
-    if ($ENV{OSCAR_HOME} ne $ohome) {
-       oscar_log_subsection("Setting env variable OSCAR_HOME to $ohome");
-       $ENV{OSCAR_HOME} = $ohome;
-    }
-    # write profile.d files
-    if (!$dir_sh || !$dir_csh) {
-       oscar_log_subsection("Generating /etc/profile.d/oscar_home.{sh,csh} 
files.");
-       &profiled_files_write($ohome);
-    }
 }

 sub profiled_files_read {


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Oscar-checkins mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/oscar-checkins


<<winmail.dat>>

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Oscar-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oscar-devel

Reply via email to