From af85f475cc9d1c3e04f797f6b3d6487a26802646 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Fri, 18 Feb 2011 20:01:40 -0200 Subject: Rewriting profile configuration --- files/bin/prompt.sh | 37 ------------------------------------- files/etc/profile | 37 +++++++++++++++++++++++++++++++++++++ files/etc/profile.d/prompt.sh | 37 +++++++++++++++++++++++++++++++++++++ files/etc/profile.lenny | 25 ------------------------- manifests/nodo.pp | 29 ++++++++++++++++++----------- 5 files changed, 92 insertions(+), 73 deletions(-) delete mode 100644 files/bin/prompt.sh create mode 100644 files/etc/profile create mode 100644 files/etc/profile.d/prompt.sh delete mode 100644 files/etc/profile.lenny diff --git a/files/bin/prompt.sh b/files/bin/prompt.sh deleted file mode 100644 index 85d7bff..0000000 --- a/files/bin/prompt.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash -# -# Fancy bash prompt. -# See http://www.debian-administration.org/article/Fancy_Bash_Prompts -# - -function command_prompt() { - exit_status="$?" - # colors - COLOR_RED="\[\033[31m\]" - COLOR_GREEN="\[\033[32m\]" - COLOR_YELLOW="\[\033[33m\]" - COLOR_BLUE="\[\033[34m\]" - COLOR_MAGENTA="\[\033[35m\]" - COLOR_CYAN="\[\033[36m\]" - - COLOR_RED_BOLD="\[\033[31;1m\]" - COLOR_GREEN_BOLD="\[\033[32;1m\]" - COLOR_YELLOW_BOLD="\[\033[33;1m\]" - COLOR_BLUE_BOLD="\[\033[34;1m\]" - COLOR_MAGENTA_BOLD="\[\033[35;1m\]" - COLOR_CYAN_BOLD="\[\033[36;1m\]" - - COLOR_NONE="\[\033[0m\]" - BOLD="\[\033[1m\]" - - if [ "$exit_status" == "0" ]; then - status_color="${COLOR_GREEN}" - else - status_color="${COLOR_RED_BOLD}" - fi - - PS1="(${status_color}${exit_status}${COLOR_NONE}) [${COLOR_RED}\D{%Y%m%d %H:%M:%S}${COLOR_NONE}] ${COLOR_GREEN}\u@\h${COLOR_NONE}:${COLOR_CYAN}\w${COLOR_NONE} \\$ " - PS2="${BOLD}>${OFF} " -} - -PROMPT_COMMAND="command_prompt" diff --git a/files/etc/profile b/files/etc/profile new file mode 100644 index 0000000..5a89ea5 --- /dev/null +++ b/files/etc/profile @@ -0,0 +1,37 @@ +# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) +# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). + +if [ "`id -u`" -eq 0 ]; then + PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +else + PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" +fi +export PATH + +if [ "$PS1" ]; then + if [ "$BASH" ]; then + # The file bash.bashrc already sets the default PS1. + # PS1='\h:\w\$ ' + if [ -f /etc/bash.bashrc ]; then + . /etc/bash.bashrc + fi + else + if [ "`id -u`" -eq 0 ]; then + PS1='# ' + else + PS1='$ ' + fi + fi +fi + +# The default umask is now handled by pam_umask. +# See pam_umask(8) and /etc/login.defs. + +if [ -d /etc/profile.d ]; then + for i in /etc/profile.d/*.sh; do + if [ -r $i ]; then + . $i + fi + done + unset i +fi diff --git a/files/etc/profile.d/prompt.sh b/files/etc/profile.d/prompt.sh new file mode 100644 index 0000000..85d7bff --- /dev/null +++ b/files/etc/profile.d/prompt.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# +# Fancy bash prompt. +# See http://www.debian-administration.org/article/Fancy_Bash_Prompts +# + +function command_prompt() { + exit_status="$?" + # colors + COLOR_RED="\[\033[31m\]" + COLOR_GREEN="\[\033[32m\]" + COLOR_YELLOW="\[\033[33m\]" + COLOR_BLUE="\[\033[34m\]" + COLOR_MAGENTA="\[\033[35m\]" + COLOR_CYAN="\[\033[36m\]" + + COLOR_RED_BOLD="\[\033[31;1m\]" + COLOR_GREEN_BOLD="\[\033[32;1m\]" + COLOR_YELLOW_BOLD="\[\033[33;1m\]" + COLOR_BLUE_BOLD="\[\033[34;1m\]" + COLOR_MAGENTA_BOLD="\[\033[35;1m\]" + COLOR_CYAN_BOLD="\[\033[36;1m\]" + + COLOR_NONE="\[\033[0m\]" + BOLD="\[\033[1m\]" + + if [ "$exit_status" == "0" ]; then + status_color="${COLOR_GREEN}" + else + status_color="${COLOR_RED_BOLD}" + fi + + PS1="(${status_color}${exit_status}${COLOR_NONE}) [${COLOR_RED}\D{%Y%m%d %H:%M:%S}${COLOR_NONE}] ${COLOR_GREEN}\u@\h${COLOR_NONE}:${COLOR_CYAN}\w${COLOR_NONE} \\$ " + PS2="${BOLD}>${OFF} " +} + +PROMPT_COMMAND="command_prompt" diff --git a/files/etc/profile.lenny b/files/etc/profile.lenny deleted file mode 100644 index 05b4e53..0000000 --- a/files/etc/profile.lenny +++ /dev/null @@ -1,25 +0,0 @@ -# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) -# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). - -if [ "`id -u`" -eq 0 ]; then - PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" -else - PATH="/usr/local/bin:/usr/bin:/bin:/usr/games" -fi - -if [ "$PS1" ]; then - if [ "$BASH" ]; then - PS1='\u@\h:\w\$ ' - . /usr/local/bin/prompt.sh - else - if [ "`id -u`" -eq 0 ]; then - PS1='# ' - else - PS1='$ ' - fi - fi -fi - -export PATH - -umask 022 diff --git a/manifests/nodo.pp b/manifests/nodo.pp index d1ac02c..5094352 100644 --- a/manifests/nodo.pp +++ b/manifests/nodo.pp @@ -69,7 +69,7 @@ class nodo { # As of squeeze, custom configuration can be placed directly at # /etc/profile.d, so in the future this file won't need to be - # managed by puppet. + # managed by puppet anymore. file { "/etc/profile": source => [ "puppet://$server/modules/nodo/etc/profile.$lsbdistcodename", "puppet://$server/modules/nodo/etc/profile", @@ -78,7 +78,7 @@ class nodo { group => "root", mode => 0644, ensure => present, - require => File['/usr/local/bin/prompt.sh'], + require => File['/etc/profile.d/prompt.sh'], } file { "/etc/bash.bashrc": @@ -87,24 +87,31 @@ class nodo { group => "root", mode => 0644, ensure => present, - require => File['/usr/local/bin/prompt.sh'], + require => File['/etc/profile.d/prompt.sh'], } # As of squeeze, custom configuration can be placed directly at # /etc/profile.d, so in the future this file has to stay there. + # + # This change has been backported to lenny via puppet so this + # file is not needed anymore. file { "/usr/local/bin/prompt.sh": - source => "puppet://$server/modules/nodo/bin/prompt.sh", - owner => "root", - group => "root", - mode => 0755, - ensure => present, + ensure => absent, + } + + file { "/etc/profile.d": + ensure => directory, + owner => "root", + group => "root", } - # Squeeze prompt should be at /etc/profile.d file { "/etc/profile.d/prompt.sh": + ensure => present, + source => "puppet://$server/modules/nodo/etc/profile.d/prompt.sh", owner => "root", group => "root", - ensure => "/usr/local/bin/prompt.sh" - require => File['/usr/local/bin/prompt.sh'], + mode => 0644, + ensure => present, + require => File['/etc/profile.d'], } } -- cgit v1.2.3