From fd52d9e16d5663620121d6e6edbc40e1edc60e62 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Tue, 1 Mar 2016 08:15:04 +0000 Subject: base-files: add /etc/profile.d support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenWrt should support an optional /etc/profile.d directory like most other Linux distributions. This allows packages to install their own scripts into /etc/profile.d/ directory. The file suffix should make clear, that these scripts are (sourced) shell-snippets. If the user needs e.g. php or lua, one must make sure that the interpreter is called. The reverse failsafe test makes sure, that the effective returncode is 0. A typcal usecase is the inclusion of private helpers, special variables or aliases, which at the moment needs patching the sourcecode and is not well maintainable. Now the builder can simply add there files. v1 initial work of Hendrik Lüth v2 changes regarding RFC (e.g. thomas.langer@lantiq.com) v3 changes regarding RFC (e.g. mschiffer@universe-factory.net) v4 keep it simple and mimic OpenWrt style Signed-off-by: Bastian Bittorf Backport of r46965 git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@48862 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/etc/profile | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'package/base-files/files') diff --git a/package/base-files/files/etc/profile b/package/base-files/files/etc/profile index 170f487833..bd008a84d7 100644 --- a/package/base-files/files/etc/profile +++ b/package/base-files/files/etc/profile @@ -14,3 +14,10 @@ export PS1='\u@\h:\w\$ ' [ -x /usr/bin/arp ] || arp() { cat /proc/net/arp; } [ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; } + +[ -n "$FAILSAFE" ] || { + for FILE in /etc/profile.d/*.sh; do + [ -e "$FILE" ] && . "$FILE" + done + unset FILE +} -- cgit v1.2.3