Skip to content

Commit 71f8f97

Browse files
committed
unixPB: Install capstone 4 from repositories or source
1 parent 5f37c0d commit 71f8f97

File tree

4 files changed

+67
-0
lines changed

4 files changed

+67
-0
lines changed

ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Common/vars/Debian.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Build_Tool_Packages:
1717
- gcc
1818
- gettext
1919
- libasound2-dev
20+
- libcapstone-dev
2021
- libcups2-dev
2122
- libcurl4-openssl-dev
2223
- libdwarf-dev # OpenJ9

ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Common/vars/Fedora.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Build_Tool_Packages:
1111
- bison # OpenJ9
1212
- bzip2
1313
- ca-certificates
14+
- capstone-devel
1415
- cpio
1516
- curl
1617
- cups-devel

ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Common/vars/Ubuntu.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Build_Tool_Packages:
1919
- git
2020
- gnupg
2121
- libasound2-dev
22+
- libcapstone-dev
2223
- libcups2-dev
2324
- libcurl4-openssl-dev
2425
- libdwarf-dev # OpenJ9
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
###################
3+
# OpenSSL v1.1.1 #
4+
###################
5+
# Required by OpenJ9 for out-of-process JIT compilation (aka JITaaS)
6+
# Currently only used by the alternate openj9 branch at https://github.com/eclipse/openj9/tree/jitaas
7+
8+
# Note: some systems have already OpenSSL 1.1.1 instaled (as system)
9+
# do not install 1.1.1b on them
10+
11+
- name: Set capstone version
12+
set_fact:
13+
capstone_version: 4.0.2
14+
tags: capstone_source
15+
16+
# check if it is installed in custom location or as system
17+
18+
- name: Test if capstone 4 is installed
19+
shell: test -f /usr/local/lib/libcapstone.so.4 || test -f /usr/lib/libcapstone.so.4
20+
when:
21+
- (ansible_distribution == "RedHat" or ansible_distribution == "CentOS" or ansible_distribution == "SLES")
22+
- capstone_installed.rc != 0
23+
register: capstone_installed
24+
changed_when: false
25+
failed_when: false
26+
tags: capstone_source
27+
28+
- name: Download capstone {{ capstone_version }}
29+
get_url:
30+
url: https://github.com/capstone-engine/capstone/archive/{{ capstone_version }}.tar.gz
31+
dest: /tmp/capstone-{{ capstone_version }}.tar.gz
32+
force: no
33+
mode: 0644
34+
when:
35+
- (ansible_distribution == "RedHat" or ansible_distribution == "CentOS" or ansible_distribution == "SLES")
36+
- capstone_installed.rc != 0
37+
tags: capstone_source
38+
39+
- name: Extract capstone {{ capstone_version }}
40+
unarchive:
41+
src: /tmp/capstone-{{ capstone_version }}.tar.gz
42+
dest: /tmp
43+
copy: False
44+
when:
45+
- (ansible_distribution == "RedHat" or ansible_distribution == "CentOS" or ansible_distribution == "SLES")
46+
- capstone_installed.rc != 0
47+
tags: capstone_source
48+
49+
- name: Build and install capstone {{ capstone_version }}
50+
shell: cd /tmp/capstone-{{ capstone_version }}} && ./make.sh && PREFIX=/usr/local ./make.sh install
51+
when:
52+
- (ansible_distribution == "RedHat" or ansible_distribution == "CentOS" or ansible_distribution == "Ubuntu" or ansible_distribution == "SLES")
53+
- capstone_installed.rc != 0
54+
tags: capstone_source
55+
56+
- name: Remove downloaded packages for capstone {{ capstone_version }}
57+
file:
58+
path: /tmp/capstone-{{ capstone_version }}.tar.gz
59+
state: absent
60+
failed_when: false
61+
when:
62+
- (ansible_distribution == "RedHat" or ansible_distribution == "CentOS" or ansible_distribution == "Ubuntu" or ansible_distribution == "SLES")
63+
- capstone_installed.rc != 0
64+
tags: capstone_source

0 commit comments

Comments
 (0)