From 0b75a885a342847a536b76e89e5bc2fcda964009 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 1 Mar 2017 17:16:03 +0000 Subject: [PATCH 1/3] [image_config]: Add bash.bashrc which enables bash-completion --- .../build_templates/sonic_debian_extension.j2 | 4 ++ files/image_config/bash/bash.bashrc | 57 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 files/image_config/bash/bash.bashrc diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 08aaae769fa8..375041deab44 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -73,6 +73,10 @@ sudo dpkg --root=$FILESYSTEM_ROOT -i {{config_engine}} sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/python-sonic-utilities_*.deb || \ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f +# SONiC utilities installs bash-completion as a dependency. However, it is disabled by default +# in bash.bashrc, so we copy a version of the file with it enabled here. +sudo cp -f $IMAGE_CONFIGS/bash/bash.bashrc $FILESYSTEM_ROOT/etc/ + # Install SONiC Device Data (and its dependencies via 'apt-get -y install -f') sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/sonic-device-data_*.deb || \ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f diff --git a/files/image_config/bash/bash.bashrc b/files/image_config/bash/bash.bashrc new file mode 100644 index 000000000000..b531c88a0601 --- /dev/null +++ b/files/image_config/bash/bash.bashrc @@ -0,0 +1,57 @@ +# System-wide .bashrc file for interactive bash(1) shells. + +# To enable the settings / commands in this file for login shells as well, +# this file has to be sourced in /etc/profile. + +# If not running interactively, don't do anything +[ -z "$PS1" ] && return + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, overwrite the one in /etc/profile) +PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' + +# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default. +# If this is an xterm set the title to user@host:dir +#case "$TERM" in +#xterm*|rxvt*) +# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' +# ;; +#*) +# ;; +#esac + +# enable bash completion in interactive shells +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi + +# if the command-not-found package is installed, use it +if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then + function command_not_found_handle { + # check because c-n-f could've been removed in the meantime + if [ -x /usr/lib/command-not-found ]; then + /usr/lib/command-not-found -- "$1" + return $? + elif [ -x /usr/share/command-not-found/command-not-found ]; then + /usr/share/command-not-found/command-not-found -- "$1" + return $? + else + printf "%s: command not found\n" "$1" >&2 + return 127 + fi + } +fi + + From 3567ce4c0958548ec8f31c41002ca4f77511505d Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Wed, 1 Mar 2017 22:36:31 +0000 Subject: [PATCH 2/3] Update sonic-utilities submodule pointer --- src/sonic-utilities | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-utilities b/src/sonic-utilities index 07a8b3ab377f..ce84e289b2ef 160000 --- a/src/sonic-utilities +++ b/src/sonic-utilities @@ -1 +1 @@ -Subproject commit 07a8b3ab377f4ceb2ad84c82dcdbb0e592a70b4c +Subproject commit ce84e289b2ef430a6988c649203ee6ee11fac9e2 From e0b43287aa0d3db7b9db94b3068bd834af2438c9 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Thu, 2 Mar 2017 18:20:52 +0000 Subject: [PATCH 3/3] Update sonic-utilities submodule pointer --- src/sonic-utilities | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-utilities b/src/sonic-utilities index ce84e289b2ef..cca83512018c 160000 --- a/src/sonic-utilities +++ b/src/sonic-utilities @@ -1 +1 @@ -Subproject commit ce84e289b2ef430a6988c649203ee6ee11fac9e2 +Subproject commit cca83512018cd48a193a7f8f3d0676c8053bcc2d