Skip to content

Commit 5982bd6

Browse files
committed
add role for »QuickJS«
1 parent 5c575bb commit 5982bd6

File tree

5 files changed

+83
-0
lines changed

5 files changed

+83
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,4 @@ $ curl -H 'User-Agent: nessus' -H 'X-Request-ID: 1' 192.168.56.{2,3}
5353
- https://www.nginx.com/resources/wiki/start/topics/examples/logrotation/
5454
- https://www.digitalocean.com/community/tutorials/how-to-configure-logging-and-log-rotation-in-nginx-on-an-ubuntu-vps
5555
- https://www.englert.one/logrotate-tutorial
56+
- https://bellard.org/quickjs/

group_vars/all.yml

+3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ modsecurity_nginx_checksum: sha256:ae811c7208ac029cb7a99d6f63e03d397179760751718
1111
owasp_modsecurity_crs_version: 3.3.5
1212
owasp_modsecurity_crs_checksum: sha256:6e311e9b5c07741392a6983075101915988127d385fa786e36d83018ea0a401b
1313

14+
quickjs_version: 2024-01-13
15+
quickjs_checksum: sha256:3c4bf8f895bfa54beb486c8d1218112771ecfc5ac3be1036851ef41568212e03
16+
1417
tomcat_version: 10.1.24
1518
tomcat_checksum: sha512:793802f5cbbc0c4f722d3c63b52323df7ca37846445c254edcaaa7702fd71cf72aa9506b2b2c59322b9635e25f69913aa1b223098d9b4f1426f5f5447dd78ff3
1619
tomcat_java_version: zulu21.34.19-ca-jre21.0.3

roles/quickjs/defaults/main.yml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
quickjs_version: null
3+
quickjs_checksum: null
4+
5+
quickjs_user: "{{ ansible_user }}"
6+
quickjs_user_home: "{{ ansible_user_dir }}"
7+
quickjs_src_directory: "{{ quickjs_user_home }}/src"

roles/quickjs/meta/main.yml

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
dependencies: []

roles/quickjs/tasks/main.yml

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
- name: Ensure build dependencies are present.
3+
community.general.zypper:
4+
name:
5+
- gcc
6+
- make
7+
- xz
8+
state: present
9+
become: true
10+
11+
- name: Ensure required directories are present.
12+
ansible.builtin.file:
13+
dest: "{{ item.dest }}"
14+
state: directory
15+
mode: "0700"
16+
loop:
17+
- { dest: "{{ quickjs_src_directory }}/download" }
18+
- { dest: "{{ quickjs_src_directory }}/quickjs/{{ quickjs_version }}" }
19+
- { dest: "{{ quickjs_user_home }}/bin" }
20+
- { dest: "{{ quickjs_user_home }}/include/quickjs" }
21+
- { dest: "{{ quickjs_user_home }}/lib/quickjs" }
22+
23+
- name: Ensure »QuickJS« source is present.
24+
ansible.builtin.get_url:
25+
url: https://bellard.org/quickjs/quickjs-{{ quickjs_version }}.tar.xz
26+
dest: "{{ quickjs_src_directory }}/download/quickjs-{{ quickjs_version }}.tar.xz"
27+
checksum: "{{ quickjs_checksum }}"
28+
mode: "0600"
29+
30+
- name: Ensure »»QuickJS«« source is extracted.
31+
ansible.builtin.unarchive:
32+
src: "{{ quickjs_src_directory }}/download/quickjs-{{ quickjs_version }}.tar.xz"
33+
dest: "{{ quickjs_src_directory }}/quickjs/{{ quickjs_version }}"
34+
remote_src: true
35+
extra_opts:
36+
- --strip-components=1
37+
mode: u=rwX,g=,o=
38+
39+
- name: Ensure artifacts are build.
40+
community.general.make:
41+
chdir: "{{ quickjs_src_directory }}/quickjs/{{ quickjs_version }}"
42+
jobs: "{{ (ansible_processor_nproc * 0.75) | round(0, 'floor') | int }}"
43+
params:
44+
PREFIX: "{{ quickjs_user_home }}"
45+
register: quickjs_make
46+
47+
- name: Ensure binary artifacts are striped.
48+
# noqa: no-handler
49+
ansible.builtin.command:
50+
argv: ["strip", "{{ item }}"]
51+
chdir: "{{ quickjs_src_directory }}/quickjs/{{ quickjs_version }}"
52+
loop:
53+
- qjs
54+
- qjsc
55+
when: quickjs_make.changed
56+
changed_when: quickjs_make.changed
57+
58+
- name: Ensure artifacts are present.
59+
ansible.builtin.copy:
60+
src: "{{ quickjs_src_directory }}/quickjs/{{ quickjs_version }}/{{ item.src }}"
61+
dest: "{{ item.dest }}"
62+
mode: "{{ item.mode }}"
63+
remote_src: true
64+
loop:
65+
- { src: "qjs", dest: "{{ quickjs_user_home }}/bin", mode: "u=rwx,g=,o=" }
66+
- { src: "qjsc", dest: "{{ quickjs_user_home }}/bin", mode: "u=rwx,g=,o=" }
67+
- { src: "libquickjs.a", dest: "{{ quickjs_user_home }}/lib/quickjs", mode: "u=rw,g=,o=" }
68+
- { src: "libquickjs.lto.a", dest: "{{ quickjs_user_home }}/lib/quickjs", mode: "u=rw,g=,o=" }
69+
- { src: "quickjs.h", dest: "{{ quickjs_user_home }}/include/quickjs", mode: "u=rw,g=,o=" }
70+
- { src: "quickjs-libc.h", dest: "{{ quickjs_user_home }}/include/quickjs", mode: "u=rw,g=,o=" }

0 commit comments

Comments
 (0)