Role Variables
--------------
-None.
+protoc_checksum: Checksum for Google protocol buffers compiler binary.
+protobuf_version: Version of Google protocol buffers to install.
Dependencies
------------
- hosts: servers
roles:
- - { role: lfit.protobuf-install }
+ - role: lfit.protobuf-install
+ protobuf_version: 3.5.1
+ protoc_checksum: sha256:cd40f10bcdaff36429ec4652210f2bb8d6c7349e7b78f3a38ef42168401d7285
License
-------
---
-# tasks file for protobuf-install
+- name: 'Download protoc binary {{protobuf_version}}'
+ get_url:
+ url: https://github.com/google/protobuf/releases/download/v{{protobuf_version}}/protoc-{{protobuf_version}}-linux-x86_64.zip
+ dest: /tmp/protobuf-{{protobuf_version}}-linux-x86_64.zip
+ checksum: '{{protoc_checksum}}'
+
+- name: Ensure protoc unpack directory exists
+ file:
+ path: /tmp/protoc
+ state: directory
+
+- name: 'Unarchive protoc {{protobuf_version}} binary'
+ unarchive:
+ src: /tmp/protobuf-{{protobuf_version}}-linux-x86_64.zip
+ dest: /tmp/protoc
+ remote_src: true
+
+- name: Copy Protoc binary to /usr/local/bin
+ copy:
+ src: /tmp/protoc/bin/protoc
+ dest: /usr/local/bin/protoc
+ mode: 0755
+ owner: root
+ remote_src: true
+ become: true
+
+- name: Copy Protoc includes to /usr/local/include
+ command: cp -r /tmp/protoc/include/google /usr/local/include
+ when: true
+ become: true
+
+- name: Set permissions on /usr/local/include/google
+ file:
+ path: /usr/local/include/google
+ mode: 0755
+ owner: root
+ recurse: true
+ become: true