Ansibleでソースインストールを実行する

- name: Download XXX
  tags: XXX
  get_url: >
    url=http://XXX/XXX/XXX.tar.gz
    dest=/usr/local/src/XXX.tar.gz

- name: Unarchive XXX
  tags: XXX
  unarchive: src=/usr/local/src/XXX.tar.gz  dest=/usr/local/src/ copy=no

- name: configure XXX
  tags: XXX
  shell: >
    {{ item }}
    chdir=/usr/local/src/XXX/
    creates=/usr/sbin/XXX
  loop:
    - './configure --with-XXX'
    - make
    - make install
    - make samples
    - make config

shellモジュールの creates を使って冪等性を担保する。