forked from Github_Repos/cvw
81 lines
2.7 KiB
Bash
Executable File
81 lines
2.7 KiB
Bash
Executable File
script_dir=$(readlink -f ./)
|
|
personal_config=$(readlink -f ../buildroot-config-src)
|
|
shared_config=$RISCV/buildroot-config-src
|
|
|
|
if [ -d "$shared_config" ]; then
|
|
echo "Hold the horses, friend!" >&2
|
|
echo "There is already a buildroot-config-src folder in \$RISCV" >&2
|
|
if [ ! -f "$shared_config/.owner" ]; then
|
|
echo "Oy vey -- it was improperly created too!" >&2
|
|
echo "I see no .owner file in it!" >&2
|
|
echo "Maybe just delete it." >&2
|
|
exit 1
|
|
fi
|
|
owner=$(cat $shared_config/.owner)
|
|
echo "It was created by $owner." >&2
|
|
echo "Please contact them before overwriting their source files." >&2
|
|
exit 1
|
|
fi
|
|
echo "Starting new buildroot session"
|
|
# Copy configs to shared location
|
|
echo "Elevate permissions to copy ../buildroot-config-src to \$RISCV"
|
|
sudo cp -r "$personal_config" "$shared_config"
|
|
sudo chown -R cad $shared_config
|
|
# Document who created these configs
|
|
whoami>.owner
|
|
sudo mv .owner $shared_config
|
|
# Copy over main.config
|
|
echo "Copying main.config to buildroot/.config."
|
|
sudo cp $shared_config/main.config $RISCV/buildroot/.config
|
|
sudo chown cad $RISCV/buildroot/.config
|
|
|
|
echo "=============================================="
|
|
echo "I'm about to sign you in as cad."
|
|
echo ""
|
|
echo "You can go straight to the \$RISCV/buildroot"
|
|
echo "and run \`make\` if you want."
|
|
echo ""
|
|
echo "You can also run:"
|
|
echo " * \`make menuconfig\`"
|
|
echo " * \`make linux-menuconfig\`"
|
|
echo " * \`make busybox-menuconfig\`"
|
|
echo "but if you do, you have to make extra certain"
|
|
echo "that you LOAD and SAVE configs from/to "
|
|
echo "\$RISCV/buildroot-config-src."
|
|
echo ""
|
|
echo "Run \`exit\` to sign out when you are done."
|
|
echo "And then any configs that were modified in"
|
|
echo "\$RISCV/buildroot-config-src will be copied"
|
|
echo "back to ../buildroot-config-src."
|
|
echo "=============================================="
|
|
read -p "Press any key to sign in as cad" -n1 -s
|
|
echo ""
|
|
cd $RISCV
|
|
sudo su cad
|
|
cd $script_dir
|
|
|
|
echo ""
|
|
echo "Ending buildroot session"
|
|
if [ ! -d "$shared_config" ]; then
|
|
echo "Warning: $shared_config has already been deleted."
|
|
exit 0
|
|
fi
|
|
if [ ! -f "$shared_config/.owner" ]; then
|
|
echo "Oy vey -- no .owner file found.">&2
|
|
echo "Not sure whether to delete $shared_config.">&2
|
|
exit 1
|
|
fi
|
|
owner=$(cat "$shared_config"/.owner)
|
|
if [ $owner != $(whoami) ]; then
|
|
echo "Whoah there! It seems $owner created $shared_config.">&2
|
|
echo "Ask them before deleting their work.">&2
|
|
exit 1
|
|
fi
|
|
echo "Copying modified configs from \$RISCV/buildroot-config-src back to ../buildroot-config-src."
|
|
for file in $personal_config/*; do
|
|
file=$(basename $file)
|
|
cp $shared_config/$file $personal_config/$file
|
|
done
|
|
echo "Elevate permissions to remove personal configs from shared location."
|
|
sudo rm -r $shared_config
|