openwrt/package/base-files/files/lib/upgrade
Jeffery To 12020f8a95 base-files: Add /etc/shinit for non-login shell init
Because /etc/profile (and ~/.profile) are read by login shells only,
aliases and functions defined there are not available to non-login
shells, e.g. when using screen or tmux.

If the ENV environment variable exists (exported by /etc/profile or
~/.profile) and references an existing file, then all interactive shells
(login or non-login) will read that file as well.

This sets the ENV environment variable in /etc/profile, pointing to
/etc/shinit.

This also adds /etc/shinit, which:

* Contains alias and function definitions originally in /etc/profile

* Sources /etc/mkshrc if the user is using mksh (also originally in
  /etc/profile), as /etc/mkshrc is meant for all interactive shells

* Sources ~/.mkshrc if the user is using mksh, to compensate for the
  fact that mksh will not read ~/.mkshrc if ENV is set

* Sources ~/.shinit if the user is not using mksh

This also removes the shebang from /etc/profile, as the file is sourced,
not executed.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-03-01 21:35:59 +01:00
..
keep.d base-files: Add /etc/shinit for non-login shell init 2020-03-01 21:35:59 +01:00
common.sh base-files: upgrade: add case to export_bootdevice 2019-10-09 21:00:02 +02:00
do_stage2 treewide: sysupgrade: use $UPGRADE_BACKUP to check for backup 2019-09-11 09:05:35 +02:00
fwtool.sh base-files: fix ucert verification 2019-02-12 16:42:03 +01:00
nand.sh treewide: don't hardcode "sysupgrade.tgz" file name 2019-09-05 14:33:19 +02:00
stage2 base-files: add /usr/share/libubox/jshn.sh to sysupgrade stage2 2019-11-13 18:55:00 +01:00