Add bookokrat to source tools with build_output_path support

This commit is contained in:
Fabio Scotto di Santolo
2026-04-18 11:36:05 +02:00
parent 23d05f7897
commit b0286eed03
3 changed files with 17 additions and 3 deletions

View File

@@ -132,6 +132,12 @@ desktop_source_tools:
build_cmd: ./build.sh build_cmd: ./build.sh
binary_name: gf2 binary_name: gf2
install_name: gf install_name: gf
- name: bookokrat
repo: https://github.com/bugzmanov/bookokrat
build_cmd: cargo build --release
binary_name: bookokrat
install_name: bookokrat
build_output_path: target/release/bookokrat
desktop_npm_packages: desktop_npm_packages:
- name: "opencode-ai" - name: "opencode-ai"

View File

@@ -434,8 +434,12 @@
- name: Build and install desktop source tools - name: Build and install desktop source tools
tags: [packages] tags: [packages]
ansible.builtin.include_tasks: source_tool.yml ansible.builtin.include_tasks:
file: source_tool.yml
apply:
tags: [packages]
loop: "{{ desktop_source_tools }}" loop: "{{ desktop_source_tools }}"
when: desktop_source_tools | length > 0
loop_control: loop_control:
loop_var: source_tool loop_var: source_tool
label: "{{ source_tool.name }}" label: "{{ source_tool.name }}"

View File

@@ -16,19 +16,23 @@
- name: Check built {{ source_tool.name }} binary - name: Check built {{ source_tool.name }} binary
ansible.builtin.stat: ansible.builtin.stat:
path: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.binary_name | default(source_tool.name) }}" path: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.build_output_path | default(source_tool.binary_name) }}"
register: source_tool_built_binary register: source_tool_built_binary
- name: Build {{ source_tool.name }} - name: Build {{ source_tool.name }}
ansible.builtin.command: ansible.builtin.command:
cmd: "{{ source_tool.build_cmd }}" cmd: "{{ source_tool.build_cmd }}"
chdir: "{{ user_home }}/.local/src/{{ source_tool.name }}" chdir: "{{ user_home }}/.local/src/{{ source_tool.name }}"
become_user: "{{ username }}"
environment:
HOME: "{{ user_home }}"
PATH: "{{ user_home }}/.cargo/bin:{{ ansible_facts.env.PATH }}"
when: when:
- source_tool_repo_state.changed or not source_tool_built_binary.stat.exists - source_tool_repo_state.changed or not source_tool_built_binary.stat.exists
- name: Install {{ source_tool.name }} - name: Install {{ source_tool.name }}
ansible.builtin.copy: ansible.builtin.copy:
src: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.binary_name | default(source_tool.name) }}" src: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.build_output_path | default(source_tool.binary_name) }}"
dest: "/usr/local/bin/{{ source_tool.install_name | default(source_tool.name) }}" dest: "/usr/local/bin/{{ source_tool.install_name | default(source_tool.name) }}"
remote_src: true remote_src: true
owner: root owner: root