Procházet zdrojové kódy

Improved detection if build from source is needed for all roles

Till Klocke před 9 roky
rodič
revize
3d919398d3

+ 33 - 0
roles/fastd/tasks/debian.yml

@@ -0,0 +1,33 @@
+- name: Add GPG key for Wheezy backports
+  when: ansible_distribution_release == 'wheezy' and not fastd_install_from_source
+  apt_key: keyserver=pgpkeys.mit.edu id=8B48AD6246925553
+
+- name: Add Wheezy backports
+  when: ansible_distribution_release == 'wheezy' and not fastd_install_from_source
+  apt_repository: repo='deb http://http.debian.net/debian wheezy-backports main' state=present update_cache=yes
+
+- name: Add GPG key for fastd Apt repo
+  when: not fastd_install_from_source
+  apt_key: keyserver=pgpkeys.mit.edu id=16EF3F64CB201D9C
+
+- name: Add fastd Apt repo
+  when: not fastd_install_from_source
+  apt_repository: repo='deb http://repo.universe-factory.net/debian/ sid main' state=present update_cache=yes
+
+- name: Install fastd build dependencies
+  when: fastd_install_from_source
+  apt: name={{item}} update_cache=yes
+  with_items:
+    - libcap2
+    - libcap-dev
+    - bison
+    - pkg-config
+    - cmake
+    - libssl1.0.0
+    - libssl-dev
+    - git
+    - build-essential
+
+- name: Install fastd via Apt
+  when: not fastd_install_from_source
+  apt: name=fastd state=latest

+ 7 - 48
roles/fastd/tasks/main.yml

@@ -2,53 +2,12 @@
 # tasks file for fastd
 
 - name: Check architecture
-  when: ansible_architecture != 'i386' and ansible_architecture != 'amd64'
-  set_fact: fastd_install_from_source=true
+  when: ansible_architecture != 'i386' and ansible_architecture != 'amd64' and ansible_architecture !='x86_64'
+  set_fact:
+    fastd_install_from_source: true
 
-- name: Add GPG key for Wheezy backports
-  when: ansible_distribution_release == 'wheezy'
-  apt_key: keyserver=pgpkeys.mit.edu id=8B48AD6246925553
+- include: debian.yml
+  when: ansible_distribution == "Ubuntu"
 
-- name: Add Wheezy backports
-  when: ansible_distribution_release == 'wheezy'
-  apt_repository: repo='deb http://http.debian.net/debian wheezy-backports main' state=present update_cache=yes
-
-- name: Add GPG key for fastd Apt repo
-  apt_key: keyserver=pgpkeys.mit.edu id=16EF3F64CB201D9C
-
-- name: Add fastd Apt repo
-  apt_repository: repo='deb http://repo.universe-factory.net/debian/ sid main' state=present update_cache=yes
-
-- name: Install fastd build dependencies
-  when: fastd_install_from_source == 'true'
-  apt: name={{item}} update_cache=no
-  with_items:
-    - libcap2
-    - libcap-dev
-    - bison
-    - pkg-config
-    - cmake
-    - libssl1.0.0
-    - libssl-dev
-    - git
-    - build-essential
-
-- name: Clone fastd repo
-  when: fastd_install_from_source == 'true'
-  register: clonefastd
-  git: repo={{fastd_repo}} dest=/usr/src/fastd accept_hostkey=yes version={{fastd_repo_tag}}
-
-- name: Create build dirs
-  when: clonelibuecc|changed
-  register: builddircreated
-  file: path={{item}} state=directory
-  with_items:
-    - "{{fastd_build_dir}}"
-
-- name: Build and install fastd
-  when: builddircreated|changed
-  command: cmake /usr/src/fastd && make && make install chdir={{fastd_build_dir}}
-
-- name: Install fastd via Apt
-  when: fastd_install_from_source != 'true'
-  apt: name=fastd state=latest
+- include: debian.yml
+  when: ansible_distribution == "Debian"

+ 15 - 0
roles/fastd/tasks/source.yml

@@ -0,0 +1,15 @@
+- name: Clone fastd repo
+  when: fastd_install_from_source == 'true'
+  register: clonefastd
+  git: repo={{fastd_repo}} dest=/usr/src/fastd accept_hostkey=yes version={{fastd_repo_tag}}
+
+- name: Create build dirs
+  when: clonelibuecc|changed
+  register: builddircreated
+  file: path={{item}} state=directory
+  with_items:
+    - "{{fastd_build_dir}}"
+
+- name: Build and install fastd
+  when: builddircreated|changed
+  command: cmake /usr/src/fastd && make && make install chdir={{fastd_build_dir}}

+ 1 - 1
roles/ff-supernode/meta/main.yml

@@ -130,4 +130,4 @@ galaxy_info:
   #- web
 dependencies:
 - fastd
-- batman
+#- batman

+ 1 - 1
roles/libsodium/defaults/main.yml

@@ -1,6 +1,6 @@
 ---
 # defaults file for libsodium
-libsodium_build_from_source: true
+libsodium_build_from_source: false
 libsodum_version: 1.0.3
 libsodum_src_url: https://download.libsodium.org/libsodium/releases/libsodium-{{libsodum_version}}.tar.gz
 libsodium_build_dir: /usr/src/

+ 16 - 8
roles/libsodium/tasks/debian.yml

@@ -1,29 +1,37 @@
 - name: Check Debian version
-  set_fact: libsodium_build_from_source=true
-  when: ansible_lsb.major_release|int < 7
+  when: ansible_lsb.major_release|int <= 6
+  set_fact:
+    libsodium_build_from_source: true
 
 - name: Add GPG key for Wheezy backports
-  when: ansible_distribution_release == 'wheezy'
+  when: ansible_distribution_release == 'wheezy' and not libsodium_build_from_source
   apt_key: keyserver=pgpkeys.mit.edu id=8B48AD6246925553
 
 - name: Add Wheezy backports
-  when: ansible_distribution_release == 'wheezy'
+  when: ansible_distribution_release == 'wheezy' and not libsodium_build_from_source
   apt_repository: repo='deb http://http.debian.net/debian wheezy-backports main' state=present update_cache=yes
 
 - name: Add GPG key for fastd Apt repo
-  when: ansible_distribution_release == 'wheezy'
+  when: ansible_distribution_release == 'wheezy' and not libsodium_build_from_source
   apt_key: keyserver=pgpkeys.mit.edu id=16EF3F64CB201D9C
 
 - name: Add fastd Apt repo
-  when: ansible_distribution_release == 'wheezy'
+  when: ansible_distribution_release == 'wheezy' and not libsodium_build_from_source
   apt_repository: repo='deb http://repo.universe-factory.net/debian/ sid main' state=present update_cache=yes
 
 - name: Install libsodium via Apt
-  when: libsodium_build_from_source != 'true'
+  when: not libsodium_build_from_source
   apt: name={{item}} state=latest update_cache=yes
   with_items:
   - libsodium13
   - libsodium-dev
 
+- name: Install build dependencies for libsodium
+  when: libsodium_build_from_source
+  apt: name={{item}} state=present
+  with_items:
+  - build-essential
+  - autoconf
+
 - include: source.yml
-  when: libsodium_build_from_source == 'true'
+  when: libsodium_build_from_source

+ 3 - 2
roles/libsodium/tasks/main.yml

@@ -2,8 +2,9 @@
 # tasks file for libsodium
 
 - name: Check architecture
-  when: ansible_architecture != 'i386' and ansible_architecture != 'amd64'
-  set_fact: libsodium_build_from_source=true
+  when: ansible_architecture != 'i386' and ansible_architecture != 'amd64' and ansible_architecture !='x86_64'
+  set_fact: 
+    libsodium_build_from_source: true
 
 - include: ubuntu.yml
   when: ansible_distribution == "Ubuntu"

+ 2 - 2
roles/libuecc/defaults/main.yml

@@ -1,8 +1,8 @@
 ---
 # defaults file for libsodium
-libuecc_build_from_source: true
+libuecc_build_from_source: false
 libuecc_version: v5
 libuecc_repo: git://git.universe-factory.net/libuecc
-libuecc_repo_dir: /usr/src/libuecc
+libuecc_repo_dir: /usr/src/
 libuecc_build_dir: /usr/src/libuecc-build
 

+ 16 - 7
roles/libuecc/tasks/debian.yml

@@ -1,29 +1,38 @@
 - name: Check Debian version
-  set_fact: libuecc_build_from_source=true
   when: ansible_lsb.major_release|int < 7
+  set_fact: 
+    libuecc_build_from_source: true
 
 - name: Add GPG key for Wheezy backports
-  when: ansible_distribution_release == 'wheezy'
+  when: ansible_distribution_release == 'wheezy' and not libuecc_build_from_source
   apt_key: keyserver=pgpkeys.mit.edu id=8B48AD6246925553
 
 - name: Add Wheezy backports
-  when: ansible_distribution_release == 'wheezy'
+  when: ansible_distribution_release == 'wheezy' and not libuecc_build_from_source
   apt_repository: repo='deb http://http.debian.net/debian wheezy-backports main' state=present update_cache=yes
 
 - name: Add GPG key for libuecc Apt repo
-  when: libuecc_build_from_source != 'true'
+  when: not libuecc_build_from_source
   apt_key: keyserver=pgpkeys.mit.edu id=16EF3F64CB201D9C
 
 - name: Add libuecc Apt repo
-  when: libuecc_build_from_source != 'true'
+  when: not libuecc_build_from_source
   apt_repository: repo='deb http://repo.universe-factory.net/debian/ sid main' state=present update_cache=yes
 
 - name: Install libuecc via Apt
-  when: libuecc_build_from_source != 'true'
+  when: not libuecc_build_from_source
   apt: name={{item}} state=latest update_cache=yes
   with_items:
   - libuecc0
   - libuecc-dev
 
+- name: Install libuecc build dependencies
+  when: libuecc_build_from_source
+  apt: name={{item}} state=present
+  with_items:
+  - cmake
+  - build-essential
+  - git
+
 - include: source.yml
-  when: libuecc_build_from_source == 'true'
+  when: libuecc_build_from_source

+ 3 - 2
roles/libuecc/tasks/main.yml

@@ -2,8 +2,9 @@
 # tasks file for libsodium
 
 - name: Check architecture
-  when: ansible_architecture != 'i386' and ansible_architecture != 'amd64'
-  set_fact: libuecc_build_from_source=true
+  when: ansible_architecture != 'i386' and ansible_architecture != 'amd64' and ansible_architecture !='x86_64'
+  set_fact: 
+    libuecc_build_from_source: true
 
 - include: debian.yml
   when: ansible_distribution == "Ubuntu"

+ 1 - 1
roles/libuecc/tasks/source.yml

@@ -8,6 +8,6 @@
   git: repo={{libuecc_repo}} dest={{libuecc_repo_dir}}/libuecc accept_hostkey=yes version={{libuecc_version}}
 
 - name: Build and install libuecc
-  shell: cmake {{libuecc_repo_dir}} && make && make install
+  shell: cmake {{libuecc_repo_dir}}/libuecc && make && make install
   args:
     chdir: "{{libuecc_build_dir}}"