On Tue, Jun 27, 2017 at 9:32 PM, Tito <[email protected]> wrote: > On 06/27/2017 05:53 PM, Denys Vlasenko wrote: >> On Mon, Jun 26, 2017 at 10:11 PM, Tito <[email protected]> wrote: >>> Hi, >>> the attached patch should fix the "ash fails to read $HOME/.profile" bug >>> when ENABLE_ASH_EXPAND_PRMT is not set. >>> Kp could you please test if it fixes your problem when >>> ENABLE_ASH_EXPAND_PRMT is not set? >>> >>> Ciao, >>> Tito >>> >>> --- shell/ash.c.orig 2017-06-25 22:04:07.000000000 +0200 >>> +++ shell/ash.c 2017-06-26 22:09:29.245454443 +0200 >>> @@ -13629,8 +13629,15 @@ int ash_main(int argc UNUSED_PARAM, char >>> state1: >>> state = 2; >>> hp = lookupvar("HOME"); >>> - if (hp) >>> + if (hp) { >>> +#if ENABLE_ASH_EXPAND_PRMT >>> read_profile("$HOME/.profile"); >>> +#else >>> + hp = concat_path_file(hp, ".profile"); >>> + read_profile(hp); >>> + free((char*)hp); >>> +#endif >>> + } >>> } >>> state2: >>> state = 3; >>> >> >> I think expandstr() should be made independent of ASH_EXPAND_PRMT. >> > Hi Denys, > the fix you committed doesn't seem to work. > If you put a few debug statements in read_profile > > static void > read_profile(const char *name) > { > + ash_msg("ENABLE_ASH_EXPAND_PRMT is %sset", ENABLE_ASH_EXPAND_PRMT ? > "" : "not "); > + ash_msg("%s", name); /* Tito */ > name = expandstr(name); > + ash_msg("%s", name); /* Tito */ > > you will notice that when CONFIG_ASH_EXPAND_PRMT is not set > $HOME is not expanded and ~/.profile is not read: > > WITH CONFIG_ASH_EXPAND_PRMT > > -ash: ENABLE_ASH_EXPAND_PRMT is set > -ash: /etc/profile > -ash: /etc/profile > -ash: ENABLE_ASH_EXPAND_PRMT is set > -ash: $HOME/.profile > -ash: /root/.profile > > WITHOUT CONFIG_ASH_EXPAND_PRMT > > -ash: ENABLE_ASH_EXPAND_PRMT is not set > -ash: /etc/profile > -ash: /etc/profile > -ash: ENABLE_ASH_EXPAND_PRMT is not set > -ash: $HOME/.profile > -ash: $HOME/.profile
Thanks for noticing it. Fixed now, please try current git. _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
