diff options
4 files changed, 21 insertions, 9 deletions
diff --git a/tools/dev_env_setup/playbooks/setup_dev_folder.yaml b/tools/dev_env_setup/playbooks/setup_dev_folder.yaml index 3328f99..562fd9b 100644 --- a/tools/dev_env_setup/playbooks/setup_dev_folder.yaml +++ b/tools/dev_env_setup/playbooks/setup_dev_folder.yaml @@ -1,12 +1,12 @@ --- # vim:ff=unix ts=2 sw=2 ai expandtab -- name: "Copying python file for desktop generation" - copy: src=../templates/add_dev_tools_folder.py dest=~/ mode=755 +- name: "Copying files for desktop generation" + copy: src=../templates/$item dest=~/ mode=755 + with_items: + - add_dev_tools_folder.py + - run_app_in_context_of.sh sudo: False - name: "Creating development tools folder" - shell: executable=/bin/bash export DISPLAY=:0; ~/add_dev_tools_folder.py &> ~/add_dev_tools_folder.log + shell: executable=/bin/bash ~/run_app_in_context_of.sh eos-shell ~/add_dev_tools_folder.py &> ~/add_dev_tools_folder.log sudo: False - -- name: "Setting default personality" - service: name=gdm state=restarted diff --git a/tools/dev_env_setup/setup_dev_machine.sh b/tools/dev_env_setup/setup_dev_machine.sh index f886748..0033e50 100755 --- a/tools/dev_env_setup/setup_dev_machine.sh +++ b/tools/dev_env_setup/setup_dev_machine.sh @@ -7,7 +7,7 @@ DEFAULT_IP="192.168.56.101" echo "To run this script, you need to have the following" echo " - VM running with the correct dev HD image" echo " - A user defined with sudo privileges" -echo " - sshpass installed on the local machine" +echo " - sshpass and latest Ansible installed on the local machine" echo read -p "Press [Enter] to continue..." diff --git a/tools/dev_env_setup/templates/add_dev_tools_folder.py b/tools/dev_env_setup/templates/add_dev_tools_folder.py index 03ee041..3e8df1b 100644 --- a/tools/dev_env_setup/templates/add_dev_tools_folder.py +++ b/tools/dev_env_setup/templates/add_dev_tools_folder.py @@ -39,8 +39,6 @@ def get_settings_string(layout): settings.sync() print root - time.sleep(20) - if __name__ == "__main__": layout = get_default_layout() write_folder_data() diff --git a/tools/dev_env_setup/templates/run_app_in_context_of.sh b/tools/dev_env_setup/templates/run_app_in_context_of.sh new file mode 100644 index 0000000..ae9facb --- /dev/null +++ b/tools/dev_env_setup/templates/run_app_in_context_of.sh @@ -0,0 +1,14 @@ +#!/bin/bash +PID="$(pgrep -o -f -u $(id -u) $1)" +[ -z "$PID" ] && echo "No such process" > /dev/stderr && exit 1 + +eval `strings /proc/$PID/environ | while read line; do + KEY="$(echo $line | sed -n 's/\([[:upper:]_]*\)=.*/\1/p')" + VALUE="$(echo $line | sed -n 's/[[:upper:]_]*=\([^"]*\)/\1/p')" + [ -z "$KEY" ] && continue; + [ -z "$VALUE" ] && continue; + echo "export $KEY='$VALUE'" +done` + +echo "Now in same session as $PID. Running $2" +$2 |