Bug 25703 - /etc/bashrc.d/mc.sh should be /etc/profile.d/mc.sh
Summary: /etc/bashrc.d/mc.sh should be /etc/profile.d/mc.sh
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: mc (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Sergey Y. Afonin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-01 21:27 MSK by viy
Modified: 2011-08-23 20:58 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description viy 2011-06-01 21:27:26 MSK
обновился до 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 Repository Robot 2011-08-09 02:58:41 MSK
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 viy 2011-08-09 03:09:02 MSK
thanks!
Comment 3 Sergey Y. Afonin 2011-08-23 14:36:38 MSK
Похоже, это поломало алиас для bash, который запускается из Konsole. Он не читает /etc/profile в этом случае. mc.sh надо возвращать в /etc/bashrc.d/. Вопрос, что делать тогда с zsh ? Держать две копии mc.sh ?
Comment 4 viy 2011-08-23 16:01:02 MSK
запустил в 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 Sergey Y. Afonin 2011-08-23 17:02:00 MSK
Кстати, zsh читает только *.sh ? Если обозвать mc.zsh, увидит ?

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

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

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

Спасибо, будет работать.
Comment 8 Repository Robot 2011-08-23 20:58:25 MSK
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)