From: Geoffroy VALLEE [mailto:[EMAIL PROTECTED]
Sent: Sun 09/07/2006 19:48
To: Bernard Li; [email protected]
Subject: Re: [Oscar-devel] [Oscar-checkins] r5114 - trunk
Hi Bernard,
I implemented and checked it in. I also
checked-in an update version of
script/install_prereq which fixes bugs for
Debian.
Let me know if it brokes something (but it should
not).
Thanks,
Le dimanche 9 juillet 2006 16:12, vous avez
écrit :
> Hi Geoffroy:
>
> This seems like a chicken and
egg problem - since OCA/OS_Detect needs
> $OSCAR_HOME to be set before it
can be used. In that case perhaps using
> OS_Detect to determine
whether we are on Debian is not the best solution.
> Perhaps you can
simply check for the existence of /etc/profile.d? As you
> mentioned
this is does not exist on Debian, and I suppose if the directory
> exists,
then we can use it. This case is not specific to Debian, and could
>
be used in the future for Slackware, Ubuntu, Gentoo etc. (if they also
>
don't have /etc/profile.d).
>
> Makes sense?
>
>
Cheers,
>
> Bernard
>
>
________________________________
>
> From:
[EMAIL PROTECTED] on behalf of Geoffroy
> VALLEE
Sent: Sun 09/07/2006 08:57
> To: [email protected]
>
Subject: Re: [Oscar-devel] [Oscar-checkins] r5114 -
trunk
>
>
>
> Hi Bernard,
>
> The reason i
did that is explain in the code (comments) and you can find a
> high-level
summary in the check-in log: to setup OSCAR_HOME you call
>
oscar_home_env() which is based on /etc/profile.d, but for Debian-like
>
distros you do not have this folder (and do not have to have one!). In
>
order to put a case for Debian in the oscar_home_env() function, and do
>
what we need to do, i need to know the current distro, therefore use
>
OS_Detect.
>
> My mistake was to not unset OSCAR_HOME during my
tests. What is the
> solution then since even the first lines of
install_cluster are so
> dependent to policies from RPM based
distros?
>
> Le samedi 8 juillet 2006 21:25, Bernard Li a écrit
:
> > 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
>
>
--
> Geoffroy R. Vallee, Ph.D.
> Oak Ridge National
Laboratory Voice: 865-574-3152
>
P.O. Box 2008, Bldg.
5600
Fax: 865-576-5491
> Oak Ridge, TN 37831
>
> --
>
Geoff
>
>
>
-------------------------------------------------------------------------
>
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
--
Geoff
------------------------------------------------------------------------- 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
