66 lines
1.9 KiB
Bash
Executable File
66 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Copyright 2017 Mycroft AI Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
mycroft_root_dir="/opt/mycroft" # Also change in configuration
|
|
skills_dir="${mycroft_root_dir}"/skills
|
|
# exit on any error
|
|
set -Ee
|
|
|
|
SOURCE="${BASH_SOURCE[0]}"
|
|
while [ -h "$SOURCE" ] ; do
|
|
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
|
SOURCE="$(readlink "$SOURCE")"
|
|
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
|
|
done
|
|
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
|
|
|
# Determine which user is running this script
|
|
setup_user=$USER
|
|
setup_group=$( id -gn $USER )
|
|
|
|
function found_exe() {
|
|
hash "$1" 2>/dev/null
|
|
}
|
|
|
|
if found_exe sudo ; then
|
|
# The main checks happen in dev_setup.sh, don't error here if we don't have sudo
|
|
SUDO=sudo
|
|
fi
|
|
|
|
# change ownership of ${mycroft_root_dir} to ${setup_user } recursively
|
|
function change_ownership {
|
|
echo "Changing ownership of" ${mycroft_root_dir} "to user:" ${setup_user} "with group:" ${setup_group}
|
|
$SUDO chown -Rvf ${setup_user}:${setup_group} ${mycroft_root_dir}
|
|
}
|
|
|
|
|
|
if [[ ${IS_TRAVIS} != true ]] ; then
|
|
if [ ! -d ${skills_dir} ] ; then
|
|
echo "Create ${skills_dir}"
|
|
$SUDO mkdir -p ${skills_dir}
|
|
change_ownership
|
|
fi
|
|
|
|
if [ ! -w ${SKILLS_DIR} ] ; then
|
|
change_ownership
|
|
fi
|
|
fi
|
|
|
|
# fix ownership of ${mycroft_root_dir} if it is not owned by the ${setup_user}
|
|
if [[ $( stat -c "%U:%G" ${mycroft_root_dir} ) != "${setup_user}:${setup_group}" ]] ; then
|
|
change_ownership
|
|
fi
|