From 5c5d2b57dfaf0e43b56b7140717649e356e2cad6 Mon Sep 17 00:00:00 2001 From: Nicolas Streng Date: Tue, 16 Feb 2021 16:45:07 +0100 Subject: [PATCH] fix: create bench folder in user directory --- bench/playbooks/create_user.yml | 2 +- bench/playbooks/roles/bench/tasks/main.yml | 4 ++-- bench/playbooks/roles/bench/tasks/setup_inputrc.yml | 4 ++-- bench/playbooks/site.yml | 4 ++-- install.py | 8 +++++++- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/bench/playbooks/create_user.yml b/bench/playbooks/create_user.yml index 2991afb3..10695833 100644 --- a/bench/playbooks/create_user.yml +++ b/bench/playbooks/create_user.yml @@ -11,7 +11,7 @@ - name: Set home folder perms file: - path: '/home/{{ frappe_user }}' + path: '{{ user_directory }}' mode: 'o+rx' owner: '{{ frappe_user }}' group: '{{ frappe_user }}' diff --git a/bench/playbooks/roles/bench/tasks/main.yml b/bench/playbooks/roles/bench/tasks/main.yml index e01d18b7..164a216e 100644 --- a/bench/playbooks/roles/bench/tasks/main.yml +++ b/bench/playbooks/roles/bench/tasks/main.yml @@ -33,7 +33,7 @@ - name: Fix permissions become_user: root - command: chown {{ frappe_user }} -R /home/{{ frappe_user }} + command: chown {{ frappe_user }} -R {{ user_directory }} - name: python3 bench init for develop command: bench init {{ bench_path }} --frappe-path {{ frappe_repo_url }} --frappe-branch {{ frappe_branch }} --python {{ python }} @@ -77,6 +77,6 @@ # Setup Bench for production environment - include_tasks: setup_bench_production.yml vars: - bench_path: "/home/{{ frappe_user }}/{{ bench_name }}" + bench_path: "{{ user_directory }}/{{ bench_name }}" when: not run_travis and production ... diff --git a/bench/playbooks/roles/bench/tasks/setup_inputrc.yml b/bench/playbooks/roles/bench/tasks/setup_inputrc.yml index 9c88b933..14b47a34 100644 --- a/bench/playbooks/roles/bench/tasks/setup_inputrc.yml +++ b/bench/playbooks/roles/bench/tasks/setup_inputrc.yml @@ -1,11 +1,11 @@ --- - name: insert/update inputrc for history blockinfile: - dest: "/home/{{ frappe_user }}/.inputrc" + dest: "{{ user_directory }}/.inputrc" create: yes block: | ## arrow up "\e[A":history-search-backward ## arrow down "\e[B":history-search-forward -... \ No newline at end of file +... diff --git a/bench/playbooks/site.yml b/bench/playbooks/site.yml index 328cfcba..7a3e106c 100644 --- a/bench/playbooks/site.yml +++ b/bench/playbooks/site.yml @@ -40,8 +40,8 @@ - name: setup bench and dev environment hosts: localhost vars: - bench_repo_path: "/home/{{ frappe_user }}/.bench" - bench_path: "/home/{{ frappe_user }}/{{ bench_name }}" + bench_repo_path: "{{ user_directory }}/.bench" + bench_path: "{{ user_directory }}/{{ bench_name }}" roles: # setup frappe-bench - { role: bench, tags: "bench", when: not run_travis and not without_bench_setup } diff --git a/install.py b/install.py index 71647824..0b154093 100644 --- a/install.py +++ b/install.py @@ -231,10 +231,11 @@ def install_bench(args): # create user if not exists extra_vars = vars(args) extra_vars.update(frappe_user=args.user) + + extra_vars.update(user_directory=get_user_home_directory(args.user)) if os.path.exists(tmp_bench_repo): repo_path = tmp_bench_repo - else: repo_path = os.path.join(os.path.expanduser('~'), 'bench') @@ -383,6 +384,11 @@ def get_extra_vars_json(extra_args): return ('@' + json_path) +def get_user_home_directory(user): + # Return home directory /home/USERNAME or anything else defined as home directory in + # passwd for user. + return os.path.expanduser('~'+user) + def run_playbook(playbook_name, sudo=False, extra_vars=None): args = ['ansible-playbook', '-c', 'local', playbook_name , '-vvvv']