mirror of
https://github.com/pygos/build.git
synced 2024-11-22 11:09:46 +01:00
Add bash startup files, fix bash startup
- Add startup files - Fix initrd to no leak environment variables - Start bash from initrd as login shell (for now) Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
This commit is contained in:
parent
9b7c8c5730
commit
8230c3996b
4 changed files with 109 additions and 1 deletions
51
pkg/bash/bashrc
Normal file
51
pkg/bash/bashrc
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
# /etc/bashrc
|
||||||
|
|
||||||
|
# System wide functions and aliases
|
||||||
|
# Environment stuff goes in /etc/profile
|
||||||
|
|
||||||
|
# Prevent doublesourcing
|
||||||
|
if [ -z "$BASHRCSOURCED" ]; then
|
||||||
|
BASHRCSOURCED="Y"
|
||||||
|
|
||||||
|
# are we an interactive shell?
|
||||||
|
if [ "$PS1" ]; then
|
||||||
|
shopt -s histappend
|
||||||
|
shopt -s checkwinsize
|
||||||
|
history -a
|
||||||
|
|
||||||
|
PROMPT_COMMAND=""
|
||||||
|
|
||||||
|
if test "$UID" = 0 ; then
|
||||||
|
PS1="\[\033[1;31m\][\u@\h \W]# \[\033[0m\]"
|
||||||
|
else
|
||||||
|
PS1="\[\033[0;32m\][\u@\h \W]$ \[\033[0m\]"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We're not a login shell
|
||||||
|
if ! shopt -q login_shell ; then
|
||||||
|
# By default, we want umask to get set. This sets it for non-login shell.
|
||||||
|
# Current threshold for system reserved uid/gids is 1000
|
||||||
|
if [ $UID -gt 999 ] && [ "`id -gn`" = "`id -un`" ]; then
|
||||||
|
umask 002
|
||||||
|
else
|
||||||
|
umask 022
|
||||||
|
fi
|
||||||
|
|
||||||
|
SHELL=/bin/bash
|
||||||
|
|
||||||
|
# Only display echos from profile.d scripts if we are no login shell
|
||||||
|
# and interactive - otherwise just process them to set envvars
|
||||||
|
for i in /etc/profile.d/*.sh; do
|
||||||
|
if [ -r "$i" ]; then
|
||||||
|
if [ "$PS1" ]; then
|
||||||
|
. "$i"
|
||||||
|
else
|
||||||
|
. "$i" >/dev/null
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
unset i
|
||||||
|
fi
|
||||||
|
fi
|
|
@ -37,4 +37,8 @@ deploy() {
|
||||||
|
|
||||||
mv "$DEPLOY/lib" "$DEVDEPLOY"
|
mv "$DEPLOY/lib" "$DEVDEPLOY"
|
||||||
mv "$DEPLOY/include" "$DEVDEPLOY"
|
mv "$DEPLOY/include" "$DEVDEPLOY"
|
||||||
|
|
||||||
|
mkdir -p "$DEPLOY/etc/"
|
||||||
|
cp "$SCRIPTDIR/pkg/bash/bashrc" "$DEPLOY/etc/"
|
||||||
|
cp "$SCRIPTDIR/pkg/bash/profile" "$DEPLOY/etc/"
|
||||||
}
|
}
|
||||||
|
|
51
pkg/bash/profile
Normal file
51
pkg/bash/profile
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
# /etc/profile
|
||||||
|
|
||||||
|
# System wide environment and startup programs, for login setup
|
||||||
|
# Functions and aliases go in /etc/bashrc
|
||||||
|
|
||||||
|
if [ -x /bin/id ]; then
|
||||||
|
if [ -z "$EUID" ]; then
|
||||||
|
# ksh workaround
|
||||||
|
EUID=`id -u`
|
||||||
|
UID=`id -ru`
|
||||||
|
fi
|
||||||
|
|
||||||
|
USER="`id -un`"
|
||||||
|
LOGNAME=$USER
|
||||||
|
fi
|
||||||
|
|
||||||
|
HOSTNAME=$(/bin/cat /etc/hostname)
|
||||||
|
HISTSIZE=1000
|
||||||
|
HISTCONTROL=ignoreboth
|
||||||
|
PATH=/bin
|
||||||
|
|
||||||
|
export PATH USER LOGNAME HOSTNAME HISTSIZE HISTCONTROL
|
||||||
|
|
||||||
|
# By default, we want umask to get set. This sets it for login shell
|
||||||
|
# Current threshold for system reserved uid/gids is 1000
|
||||||
|
if [ $UID -gt 999 ] && [ "`id -gn`" = "`id -un`" ]; then
|
||||||
|
umask 002
|
||||||
|
else
|
||||||
|
umask 022
|
||||||
|
fi
|
||||||
|
|
||||||
|
for i in /etc/profile.d/*.sh ; do
|
||||||
|
if [ -r "$i" ]; then
|
||||||
|
if [ "${-#*i}" != "$-" ]; then
|
||||||
|
. "$i"
|
||||||
|
else
|
||||||
|
. "$i" >/dev/null
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
unset i
|
||||||
|
|
||||||
|
if [ -n "${BASH_VERSION-}" ] ; then
|
||||||
|
if [ -f /etc/bashrc ] ; then
|
||||||
|
# Bash login shells run only /etc/profile
|
||||||
|
# Bash non-login shells run only /etc/bashrc
|
||||||
|
# Check for double sourcing is done in /etc/bashrc.
|
||||||
|
. /etc/bashrc
|
||||||
|
fi
|
||||||
|
fi
|
|
@ -107,4 +107,6 @@ umount -l /dev
|
||||||
umount /sys
|
umount /sys
|
||||||
umount /proc
|
umount /proc
|
||||||
|
|
||||||
exec /bin/busybox switch_root /newroot /bin/bash
|
unset -v singleuser overlay_dev root root_sfs
|
||||||
|
|
||||||
|
exec /bin/busybox switch_root /newroot /bin/bash --login
|
||||||
|
|
Loading…
Reference in a new issue