[ https://issues.apache.org/jira/browse/HADOOP-7610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13102038#comment-13102038
]
Hudson commented on HADOOP-7610:
--------------------------------
Integrated in Hadoop-Hdfs-trunk #789 (See [https://builds.apache.org/job/Hadoop-Hdfs-trunk/789/])
HADOOP-7610. Fix for hadoop debian package. Contributed by Eric Yang
gkesavan : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1167428
Files :
* /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
* /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/packages/update-hadoop-env.sh
> /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
> Fix For: 0.20.205.0, 0.23.0
>
> Attachments: HADOOP-7610-branch-0.20-security.patch, HADOOP-7610.patch
>
>
> 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
|