Bug 25703 - /etc/bashrc.d/mc.sh should be /etc/profile.d/mc.sh
: /etc/bashrc.d/mc.sh should be /etc/profile.d/mc.sh
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/mc)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2011-06-01 21:27 by
Modified: 2011-08-23 20:58 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2011-06-01 21:27:26
обновился до p6 -- в zsh пропал переход на последний посещенный в mc каталог
(mc -P). Оказалось, zsh больше не читает /etc/bashrc, 
в /etc/bashrc.d/mc.sh все равно есть проверка на shell, 
поэтому ему место именно в /etc/profile.d/mc.sh:
$ cat /etc/bashrc.d/mc.sh 
# Don't define aliases in plain Bourne shell
[ -n "${BASH_VERSION}${KSH_VERSION}${ZSH_VERSION}" ] || return 0
alias mc='. /usr/lib/mc/mc-wrapper.sh'
------- Comment #1 From 2011-08-09 02:58:41 -------
mc-4.7.5.3-alt2 -> sisyphus:

* Tue Aug 09 2011 Sergey Y. Afonin <asy@altlinux> 4.7.5.3-alt2
- moved mc.sh from bashrc.d to profile.d (ALT #25703)
------- Comment #2 From 2011-08-09 03:09:02 -------
thanks!
------- Comment #3 From 2011-08-23 14:36:38 -------
Похоже, это поломало алиас для bash, который запускается из Konsole. Он не
читает /etc/profile в этом случае. mc.sh надо возвращать в /etc/bashrc.d/.
Вопрос, что делать тогда с zsh ? Держать две копии mc.sh ?
------- Comment #4 From 2011-08-23 16:01:02 -------
запустил в konsole bash -v, чтобы посмотреть, чего он там грузит:
он грузит ~/.bashrc в котором (из /etc/skel) есть
# Source global definitions
if [ -r /etc/bashrc ]; then
        . /etc/bashrc
fi
загрузка /etc/bashrc
# /etc/bashrc: executed by ~/.bashrc for non-login shells.
в /etc/profile он уже не лезет.

с другой стороны, zsh -> /etc/zshrc теперь не берет /etc/bashrc
а только /etc/profile.

получается да, надо 2 файла.
------- Comment #5 From 2011-08-23 17:02:00 -------
Кстати, zsh читает только *.sh ? Если обозвать mc.zsh, увидит ?

Вот в таком виде положу:

# define aliases for zsh
[ -n "${ZSH_VERSION}" ] || return 0
alias mc='. /usr/lib/mc/mc-wrapper.sh'
------- Comment #6 From 2011-08-23 19:55:22 -------
(В ответ на комментарий №5)
> Кстати, zsh читает только *.sh ? Если обозвать mc.zsh, увидит ?

zsh сорсит (.) /etc/profile.
это уже внутири /etc/profile сорсятся *.sh.
посмотрите у себя /etc/zshrc и /etc/profile,
все вопросы отпадут сами собой.
------- Comment #7 From 2011-08-23 19:56:33 -------
(В ответ на комментарий №5)
> Вот в таком виде положу:
> # define aliases for zsh
> [ -n "${ZSH_VERSION}" ] || return 0
> alias mc='. /usr/lib/mc/mc-wrapper.sh'

Спасибо, будет работать.
------- Comment #8 From 2011-08-23 20:58:25 -------
mc-4.7.5.3-alt3 -> sisyphus:

* Tue Aug 23 2011 Sergey Y. Afonin <asy@altlinux> 4.7.5.3-alt3
- moved mc.sh back to bashrc.d (ALT #25703/c#3)
- added alias definition for zsh in profile.d (ALT #25703)
- rollback fix for Ticket #81 (new problem described in Ticket #2594)