summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authoralex <alex@builder.localdomain>2007-12-17 15:34:37 -0800
committeralex <alex@builder.localdomain>2007-12-17 15:34:37 -0800
commite031e51f8da8581311d780983d2e335f058fca99 (patch)
tree2981c37aa3fc5252f6659870e5b4bce1717e13a5 /etc
parentedb8226cb91b197f022bfdd28246ff5a86541614 (diff)
parente65d2f0e7423bd9d6120e0373a83aad3795670aa (diff)
downloadvyatta-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-cfg44
-rw-r--r--etc/default/vyatta-cfg21
-rwxr-xr-xetc/init.d/vyatta-ofr72
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
}