# **** License **** # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # This code was originally developed by Vyatta, Inc. # Portions created by Vyatta are Copyright (C) 2006, 2007 Vyatta, Inc. # All Rights Reserved. # declare configured Vyatta shell environment variables # first set vars per args of the "source /etc/default/vyatta VAR=FOO" _vyatta_extglob=$(shopt -p extglob) shopt -s extglob for arg ; do [[ $arg == *=* ]] && \ eval declare -x $arg done eval $_vyatta_extglob unset _vyatta_extglob { # These declarations must go within braces in order to be able to silence # readonly variable errors. for var in prefix exec_prefix datarootdir ; do eval test -n \"\$$var\" \&\& _vyatta_save_$var=\$$var done prefix=/opt/vyatta exec_prefix=${prefix} datarootdir=${prefix}/share if test -z "$vyatta_prefix" ; then if test -n "/opt/vyatta" ; then declare -x -r vyatta_prefix=/opt/vyatta declare -x -r vyos_prefix=/opt/vyatta else declare -x -r vyatta_prefix=/opt/vyatta declare -x -r vyos_prefix=/opt/vyatta fi fi if test -z "$vyatta_exec_prefix" ; then if test -n "${prefix}" ; then declare -x -r vyatta_prefix=${prefix} declare -x -r vyos_prefix=${prefix} else declare -x -r vyatta_prefix=$vyatta_prefix declare -x -r vyos_prefix=$vyatta_prefix fi fi if test -z "$vyatta_datarootdir" ; then if test -n "${prefix}/share" ; then declare -x -r vyatta_datarootdir=${prefix}/share declare -x -r vyos_datarootdir=${prefix}/share else declare -x -r vyatta_datarootdir=$vyatta_prefix/share declare -x -r vyos_datarootdir=$vyatta_prefix/share fi fi if test -z "$vyatta_bindir" ; then if test -n "${exec_prefix}/bin" ; then declare -x -r vyatta_bindir=${exec_prefix}/bin else declare -x -r vyatta_bindir=$vyatta_exec_prefix/bin fi fi if test -z "$vyatta_sbindir" ; then if test -n "${exec_prefix}/sbin" ; then declare -x -r vyatta_sbindir=${exec_prefix}/sbin else declare -x -r vyatta_sbindir=$vyatta_exec_prefix/sbin fi fi if test -z "$vyatta_libdir" ; then if test -n "${exec_prefix}/lib" ; then declare -x -r vyatta_libdir=${exec_prefix}/lib declare -x -r vyos_libdir=${exec_prefix}/lib else declare -x -r vyatta_libdir=$vyatta_exec_prefix/lib declare -x -r vyos_libdir=$vyatta_exec_prefix/lib fi fi if test -z "$vyatta_libexecdir" ; then if test -n "${exec_prefix}/libexec" ; then declare -x -r vyatta_libexecdir=${exec_prefix}/libexec else declare -x -r vyatta_libexecdir=$vyatta_exec_prefix/libexec fi fi if test -z "$vyatta_datadir" ; then if test -n "${datarootdir}" ; then declare -x -r vyatta_datadir=${datarootdir} declare -x -r vyos_datadir=${datarootdir} else declare -x -r vyatta_datadir=$vyatta_datarootdir declare -x -r vyos_datadir=$vyatta_datarootdir fi fi if test -z "$vyatta_htmldir" ; then if test -n "${docdir}" ; then declare -x -r vyatta_htmldir=${docdir} else declare -x -r vyatta_htmldir=$vyatta_datarootdir/html fi fi if test -z "$vyatta_infodir" ; then if test -n "${prefix}/share/info" ; then declare -x -r vyatta_infodir=${prefix}/share/info else declare -x -r vyatta_infodir=$vyatta_datarootdir/info fi fi if test -z "$vyatta_mandir" ; then if test -n "${prefix}/share/man" ; then declare -x -r vyatta_htmldir=${prefix}/share/man else declare -x -r vyatta_htmldir=$vyatta_datarootdir/man fi fi if test -z "$vyatta_localedir" ; then if test -n "${datarootdir}/locale" ; then declare -x -r vyatta_localedir=${datarootdir}/locale else declare -x -r vyatta_localedir=$vyatta_datarootdir/locale fi fi if test -z "$vyatta_localstatedir" ; then if test -n "${prefix}/var" ; then declare -x -r vyatta_localstatedir=${prefix}/var else declare -x -r vyatta_localstatedir=$vyatta_prefix/var fi fi if test -z "$vyatta_sharedstatedir" ; then if test -n "${prefix}/com" ; then declare -x -r vyatta_sharedstatedir=${prefix}/com else declare -x -r vyatta_sharedstatedir=$vyatta_prefix/com fi fi if test -z "$vyatta_sysconfdir" ; then if test -n "${prefix}/etc" ; then declare -x -r vyatta_sysconfdir=${prefix}/etc else declare -x -r vyatta_sysconfdir=$vyatta_prefix/etc fi fi if test -z "$vyatta_op_templates" ; then declare -x -r vyatta_op_templates=$vyatta_datadir/vyatta-op/templates declare -x -r vyos_op_templates=$vyatta_datadir/vyatta-op/templates fi if test -z "$vyatta_cfg_templates" ; then declare -x -r vyatta_cfg_templates=$vyatta_datadir/vyatta-cfg/templates declare -x -r vyos_cfg_templates=$vyatta_datadir/vyatta-cfg/templates fi if test -z "$vyatta_configdir" ; then declare -x -r vyatta_configdir=$vyatta_prefix/config declare -x -r vyos_configdir=$vyatta_prefix/config fi for var in prefix exec_prefix datarootdir ; do eval test -n \"\$_vyatta_save_$var\" \&\& $var=\$_vyatta_save_$var done # It's not like we do, or should support installing VyOS at a different prefix declare -x -r vyos_libexec_dir=/usr/libexec/vyos declare -x -r vyos_bin_dir=/usr/bin declare -x -r vyos_sbin_dir=/usr/sbin declare -x -r vyos_share_dir=/usr/share if test -z "$vyos_conf_scripts_dir" ; then declare -x -r vyos_conf_scripts_dir=$vyos_libexec_dir/conf_mode fi if test -z "$vyos_op_scripts_dir" ; then declare -x -r vyos_op_scripts_dir=$vyos_libexec_dir/op_mode fi if test -z "$vyos_completion_dir" ; then declare -x -r vyos_completion_dir=$vyos_libexec_dir/completion fi if test -z "$vyos_validators_dir" ; then declare -x -r vyos_validators_dir=$vyos_libexec_dir/validators fi if test -z "$vyos_data_dir" ; then declare -x -r vyos_data_dir=$vyos_share_dir/vyos fi if test -z "$vyos_persistence_dir" ; then UNION_NAME=$(cat /proc/cmdline | sed -e s+^.*vyos-union=++ | sed -e 's/ .*$//') declare -x -r vyos_persistence_dir="/usr/lib/live/mount/persistence/${UNION_NAME}" fi if test -z "$vyos_rootfs_dir" ; then ROOTFS=$(mount -t squashfs | grep loop0 | cut -d' ' -f3) declare -x -r vyos_rootfs_dir="${ROOTFS}" fi if test -z "$VRF" ; then VRF=$(ip vrf identify) [ -n "$VRF" ] && declare -x -r VRF="${VRF}" fi if test -z "$NETNS" ; then NETNS=$(ip netns identify) [ -n "$NETNS" ] && declare -x -r NETNS="${NETNS}" fi } 2>/dev/null || : [ -r /etc/default/vyatta-cfg ] && source /etc/default/vyatta-cfg [ -r /etc/default/vyatta-local-env ] && source /etc/default/vyatta-local-env ### Local Variables: ### mode: shell-script ### End: