Package: tcsh
Version: 6.14.00-2
Severity: wishlist
Tags: patch

Hi,

in order to fix bug #344030 for users of tsch (and csh) I need to execute 
some code in /etc/csh.login (there unfortunately doesn't seem to be a 
non-shell-specific way to deal with the corner case in that bug).

Attached are 2 versions of csh.login with competing solutions to do so:
1) modularized_csh.login: this version of csh_login modularizes this file so
   all scripts dropped into /etc/csh/login.d are sourced (when that
   directory exists)
   -> IMO this is the preferred solution as:
      - it can be used by other packages also (e.g. the user-es, and user-de 
        configuration packages could make use of this, I'll provide patches
        to those if his way is chosen)
      - doesn't clutter the system unnecessarely (though minimally) when
        desktop-profiles isn't installed .      
2) with_bugfix_csh.login: this just adds the shell-snippet needed to fix bug
   #344030 directly into /etc/csh.login
--
Cheers, cobaco

/"\  ASCII Ribbon Campaign
\ /  No proprietary formats in attachments without request
 X   i.e. *NO* WORD, POWERPOINT or EXCEL documents
/ \  Respect Open Standards
      http://www.fsf.org/philosophy/no-word-attachments.html
      http://www.goldmark.org/netrants/no-word/attach.html






# /etc/csh.login: system-wide .login file for csh(1) and tcsh(1)

# allow for other packages/system admins to customize the shell environment
if (-e /etc/csh/login.d) then
  foreach FILE (`ls /etc/csh/login.d/*`)
    source $FILE;
  end;
endif 
# /etc/csh.login: system-wide .login file for csh(1) and tcsh(1)

# This fixes the desktop-profiles corner-case where a graphical client is 
# started through an ssh -X session (in which the Xsession.d scripts aren't 
# run, so we need to make sure the profiles are activated according to the 
# specified settings at login).
set 
DESKTOP_PROFILES_SNIPPET="/usr/share/desktop-profiles/get_desktop-profiles_variables"
if (-e $DESKTOP_PROFILES_SNIPPET) then
  # initialization
  set TEMP_FILE=`tempfile`

  # use bash to write the required environment settings to a tempfile
  # this file has a VARIABLE=VALUE format
  bash $DESKTOP_PROFILES_SNIPPET $TEMP_FILE

  # convert to csh format and source to set the required environment variables
  sed -i 's/^\(.*\)=\(.*\)$/setenv \1 \2/' $TEMP_FILE
  source $TEMP_FILE

  # cleanup
  rm $TEMP_FILE
endif

Attachment: pgpHTBMQGsrQl.pgp
Description: PGP signature

Reply via email to