diff options
author | alex <alex@builder.localdomain> | 2007-12-17 15:34:37 -0800 |
---|---|---|
committer | alex <alex@builder.localdomain> | 2007-12-17 15:34:37 -0800 |
commit | e031e51f8da8581311d780983d2e335f058fca99 (patch) | |
tree | 2981c37aa3fc5252f6659870e5b4bce1717e13a5 /etc | |
parent | edb8226cb91b197f022bfdd28246ff5a86541614 (diff) | |
parent | e65d2f0e7423bd9d6120e0373a83aad3795670aa (diff) | |
download | vyatta-cfg-e031e51f8da8581311d780983d2e335f058fca99.tar.gz vyatta-cfg-e031e51f8da8581311d780983d2e335f058fca99.zip |
Merge branch 'master' of http://phuket.vyatta.com/vyatta-cfg
Diffstat (limited to 'etc')
-rw-r--r-- | etc/bash_completion.d/20vyatta-cfg | 44 | ||||
-rw-r--r-- | etc/default/vyatta-cfg | 21 | ||||
-rwxr-xr-x | etc/init.d/vyatta-ofr | 72 |
3 files changed, 45 insertions, 92 deletions
diff --git a/etc/bash_completion.d/20vyatta-cfg b/etc/bash_completion.d/20vyatta-cfg index dc05cf1..bc9088f 100644 --- a/etc/bash_completion.d/20vyatta-cfg +++ b/etc/bash_completion.d/20vyatta-cfg @@ -647,6 +647,17 @@ ENDCOMMENT vyatta_help_text="\\nNo help text available" } +generate_pipe_help () +{ + local -a hcomps=( "${_vyatta_pipe_completions[@]}" \ + "${_vyatta_pipe_noncompletions[@]}" ) + local -a hstrs=() + for comp in "${hcomps[@]}"; do + hstrs+=("$(_vyatta_pipe_help "$comp")") + done + generate_help_text hcomps hstrs +} + vyatta_config_complete () { local restore_shopts=$( shopt -p extglob nullglob | tr \\n \; ) @@ -660,6 +671,14 @@ vyatta_config_complete () vyatta_do_help=0 fi + # handle pipe + if _vyatta_pipe_completion "${COMP_WORDS[@]}"; then + generate_pipe_help + vyatta_completions=( "${_vyatta_pipe_completions[@]}" ) + vyatta_do_complete + return + fi + if (( ${#COMP_WORDS[@]} < 2 )); then declare -a hitems=( "commit" \ "delete" \ @@ -707,19 +726,6 @@ vyatta_config_complete () (( num_comp -= 1 )) fi - # handle pipe - if [ "${COMP_WORDS[$num_comp]}" == "|" ]; then - declare -a hitems=( "more" \ - ) - declare -a hstrs=( \ - "Paginate the output" \ - ) - generate_help_text hitems hstrs - vyatta_completions=( "${hitems[@]}" ) - vyatta_do_complete - return - fi - (( last_idx = num_comp - 1 )) comp_words=( ${COMP_WORDS[@]:1:$num_comp} ) @@ -935,12 +941,18 @@ make_vyatta_config_dir () sudo chgrp ${DEF_GROUP} $1 } +if grep -q union=aufs /proc/cmdline || grep -q aufs /proc/filesystems ; then + export UNIONFS=aufs +else + export UNIONFS=unionfs +fi + make_vyatta_config_dir $VYATTA_ACTIVE_CONFIGURATION_DIR make_vyatta_config_dir $VYATTA_CHANGES_ONLY_DIR make_vyatta_config_dir $VYATTA_CONFIG_TMP if [ ! -d $VYATTA_TEMP_CONFIG_DIR ]; then make_vyatta_config_dir $VYATTA_TEMP_CONFIG_DIR - sudo mount -t unionfs -o dirs=${VYATTA_CHANGES_ONLY_DIR}=rw:/opt/vyatta/config/active=ro unionfs ${VYATTA_TEMP_CONFIG_DIR} + sudo mount -t $UNIONFS -o dirs=${VYATTA_CHANGES_ONLY_DIR}=rw:/opt/vyatta/config/active=ro $UNIONFS ${VYATTA_TEMP_CONFIG_DIR} fi # disallow 'Ctrl-D' exit, since we need special actions on 'exit' @@ -970,3 +982,7 @@ complete -F vyatta_config_complete edit complete -F vyatta_config_complete exit complete -F vyatta_run_complete run +# Local Variables: +# mode: shell-script +# sh-indentation: 4 +# End: diff --git a/etc/default/vyatta-cfg b/etc/default/vyatta-cfg index d369e0f..e560788 100644 --- a/etc/default/vyatta-cfg +++ b/etc/default/vyatta-cfg @@ -1,15 +1,18 @@ # Vyatta shell environment variables for config mode # should be sourced from /etc/default/vyatta -export VYATTA_ACTIVE_CONFIGURATION_DIR=${vyatta_configdir}/active -export VYATTA_CHANGES_ONLY_DIR=${vyatta_configdir}/tmp/changes_only_$$ -export VYATTA_TEMP_CONFIG_DIR=${vyatta_configdir}/tmp/new_config_$$ -export VYATTA_CONFIG_TMP=${vyatta_configdir}/tmp/tmp_$$ -export VYATTA_CONFIG_TEMPLATE=$vyatta_cfg_templates -export VYATTA_EDIT_LEVEL=/ -export VYATTA_TEMPLATE_LEVEL=/ -export VYATTA_TAG_NAME=node.tag -export VYATTA_MOD_NAME=.modified +{ +declare -x -r VYATTA_ACTIVE_CONFIGURATION_DIR=${vyatta_configdir}/active +declare -x -r VYATTA_CHANGES_ONLY_DIR=${vyatta_configdir}/tmp/changes_only_$$ +declare -x -r VYATTA_TEMP_CONFIG_DIR=${vyatta_configdir}/tmp/new_config_$$ +declare -x -r VYATTA_CONFIG_TMP=${vyatta_configdir}/tmp/tmp_$$ +declare -x -r VYATTA_CONFIG_TEMPLATE=$vyatta_cfg_templates +declare -x -r VYATTA_EDIT_LEVEL=/ +declare -x -r VYATTA_TEMPLATE_LEVEL=/ +declare -x -r VYATTA_TAG_NAME=node.tag +declare -x -r VYATTA_MOD_NAME=.modified +declare -x -r VYATTA_CFG_GROUP_NAME=vyattacfg +} 2>/dev/null || : # don't set level if already set if [ -n "$VYATTA_USER_LEVEL_DIR" ]; then diff --git a/etc/init.d/vyatta-ofr b/etc/init.d/vyatta-ofr index 96770f6..4f8b7dd 100755 --- a/etc/init.d/vyatta-ofr +++ b/etc/init.d/vyatta-ofr @@ -69,53 +69,6 @@ have_rl_system () { test -x $vyatta_sbindir/rl-system.init } -use_floppy () { - _fd_=/media/floppy - - if have_rl_system ; then -## only do this if we have the rl-system package -## if we donot discover an fd device, try loading the floppy module - grep -q fd /proc/devices || modprobe -q floppy 2>/dev/null - if grep -q fd /proc/devices ; then - if awk -- '$1 ~ /\/dev\/fd/ { exit 1 }' /proc/mounts - then - mkdir -p $_fd_ - mount -t ext2 /dev/fd0 $_fd_ -o sync 2>/dev/null - test $? -eq 32 && mount -t vfat /dev/fd0 $_fd_ 2>/dev/null - fi - fi - fi - test -d ${_fd_}/config -} - -setup_configdir() { - [ -f $BOOTFILE ] && return 0 - mkdir -m 0775 -p ${vyatta_sysconfdir}/config - chgrp ${GROUP} ${vyatta_sysconfdir}/config - if [ -d ~root/vyatta/config ] ; then - mount -o bind ~root/vyatta/config $vyatta_sysconfdir/config - elif use_floppy ; then - mount -o bind /media/floppy/config $vyatta_sysconfdir/config - else - mkdir -m 0775 -p ~root/vyatta/config - chgrp ${GROUP} ~root/vyatta ~root/vyatta/config - mount -o bind ~root/vyatta/config $vyatta_sysconfdir/config - fi -} - -setup_rclocal () { - [ -f /etc/rc.local ] || touch /etc/rc.local - if [ -f ~root/vyatta/rc.local ]; then - mount -o bind ~root/vyatta/rc.local /etc/rc.local - elif [ -f /media/floppy/rc.local ]; then - mount -o bind /media/floppy/rc.local /etc/rc.local - fi -} - -restore_rclocal () { - umount /etc/rc.local >& /dev/null -} - # if necessary, provide initial config init_bootfile () { if [ ! -f $BOOTFILE ] ; then @@ -150,28 +103,11 @@ load_bootfile () fi } -# this handles the "config dir" (/opt/vyatta/config), which is different -# from the directory for config files (/opt/vyatta/etc/config). -mount_cfg_dir () -{ - if [ ! -d ${vyatta_configdir} ] ; then - mkdir -m 0775 -p ${vyatta_configdir} - chgrp ${GROUP} ${vyatta_configdir} - fi - mount -o nosuid,nodev -t tmpfs none ${vyatta_configdir} -} - -unmount_cfg_dir () -{ - umount ${vyatta_configdir} -} - start () { log_daemon_msg "Starting Vyatta Router" - setup_configdir - setup_rclocal - mount_cfg_dir + mount -o nosuid,nodev,mode=775 -t tmpfs none ${vyatta_configdir} + chgrp ${GROUP} ${vyatta_configdir} init_bootfile migrate_bootfile for s in ${subinit[@]} ; do @@ -179,7 +115,6 @@ start () ${vyatta_sbindir}/${s}.init start || (log_end_msg $? && return) done load_bootfile - echo -n $BOOTFILE > ${vyatta_sysconfdir}/bootfile_path log_end_msg $? } @@ -193,8 +128,7 @@ stop() ${vyatta_sbindir}/${s}.init stop let status\|=$? done - unmount_cfg_dir - restore_rclocal + umount ${vyatta_configdir} log_end_msg $status } |