Package: zsh Version: 4.3.0-dev-2-4 Severity: wishlist Tags: patch Hi,
in order to fix bug #344030 for users of zsh I need to execute
some code in /etc/zsh/zlogin (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 patches with 2 competing solutions to do so:
1) modularized_zlogin: this version of csh_login modularizes this file so
any zsh scripts dropped into /etc/zsh/zlogin.d are sourced.
-> 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 use this to configure things for zsh
users)
- doesn't clutter the system unnecessarely (though minimally) when
desktop-profiles isn't installed .
(if this is adopted I'll provide patches for user-es, user-de and
similar configuration packags I know of to automate the setup they do
for tcsh users)
2) with_bugfix_zlogin: this just adds the shell-snippet needed to fix bug
#344030 directly into 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/zsh/zlogin: system-wide .zlogin file for zsh(1).
#
# This file is sourced only for login shells. It
# should contain commands that should be executed only
# in login shells. It should be used to set the terminal
# type and run a series of external commands (fortune,
# msgs, from, etc.)
#
# Global Order: zshenv, zprofile, zshrc, zlogin
# allow for other packages/system admins to customize the shell environment
if (test -d /etc/zsh/zlogin.d) then
for FILE in `ls /etc/zsh/zlogin.d/*`; do
source $FILE
done
fi
# /etc/zsh/zlogin: system-wide .zlogin file for zsh(1). # # This file is sourced only for login shells. It # should contain commands that should be executed only # in login shells. It should be used to set the terminal # type and run a series of external commands (fortune, # msgs, from, etc.) # # Global Order: zshenv, zprofile, zshrc, zlogin # 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). DESKTOP_PROFILES_SNIPPET="/usr/share/desktop-profiles/get_desktop-profiles_variables" if (test -f $DESKTOP_PROFILES_SNIPPET) then 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 zsh format and source to set the required environment variables sed -i 's/^\(.*=.*\)$/export \1/' $TEMP_FILE source $TEMP_FILE # cleanup rm $TEMP_FILE fi
pgpRMekTkiWAd.pgp
Description: PGP signature

