/etc/profile.d does not exist on Debian
---------------------------------------
Key: HADOOP-7610
URL: https://issues.apache.org/jira/browse/HADOOP-7610
Project: Hadoop Common
Issue Type: Bug
Components: scripts
Affects Versions: 0.20.204.0, 0.23.0
Environment: Java 6, Debian
Reporter: Eric Yang
Assignee: Eric Yang
As part of post installation script, there is a symlink created in
/etc/profile.d/hadoop-env.sh to source /etc/hadoop/hadoop-env.sh. Therefore,
users do not need to configure HADOOP_* environment. Unfortunately,
/etc/profile.d only exists in Ubuntu. [Section 9.9 of the Debian
Policy|http://www.debian.org/doc/debian-policy/ch-opersys.html#s9.9] states:
{quote}
A program must not depend on environment variables to get reasonable defaults.
(That's because these environment variables would have to be set in a
system-wide configuration file like /etc/profile, which is not supported by all
shells.)
If a program usually depends on environment variables for its configuration,
the program should be changed to fall back to a reasonable default
configuration if these environment variables are not present. If this cannot be
done easily (e.g., if the source code of a non-free program is not available),
the program must be replaced by a small "wrapper" shell script which sets the
environment variables if they are not already defined, and calls the original
program.
Here is an example of a wrapper script for this purpose:
{noformat}
#!/bin/sh
BAR=${BAR:-/var/lib/fubar}
export BAR
exec /usr/lib/foo/foo "$@"
{noformat}
Furthermore, as /etc/profile is a configuration file of the base-files package,
other packages must not put any environment variables or other commands into
that file.
{quote}
Hence the default environment setup should skip for Debian.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira