master
Raw Download raw file
  1# Get required build dependencies
  2- apt: name={{ item }} state=installed update_cache=yes cache_valid_time=3600
  3  with_items: 
  4    - subversion
  5    - build-essential
  6    - automake
  7    - libtool
  8    - libcppunit-dev
  9    - libsigc++-2.0-dev
 10    - libssl-dev
 11    - libcurl4-openssl-dev
 12    - unzip
 13    - unrar-free
 14    - curl
 15    - libncurses5-dev
 16    - apache2
 17    - php5
 18    - php5-cli
 19    - php5-curl
 20    - libapache2-mod-scgi
 21    - python-passlib
 22    # Optional
 23    - ffmpeg
 24    - mediainfo
 25    - screen
 26    - vim
 27  sudo: yes
 28  tags: depends
 29
 30# Create contribution directory
 31- file: path={{ contrib }} state=directory
 32
 33# Get source
 34- subversion: dest={{ contrib }}/{{ dir_xmlrpc }} repo={{ svn_xmlrpc_c }}
 35  tags: source
 36- get_url: dest={{ contrib}} url={{ item }}.tar.gz
 37  with_items:
 38    - "{{ src_libtorrent }}{{ ver_libtorrent }}"
 39    - "{{ src_rtorrent }}{{ ver_rtorrent }}"
 40    - "{{ src_rutorrent }}{{ ver_rutorrent }}"
 41    - "{{ src_ruplugins }}{{ ver_ruplugins }}"
 42  tags: source
 43
 44# Extract source
 45- command: tar xvf {{ ver_libtorrent }}.tar.gz  chdir={{contrib}} creates={{ ver_libtorrent }}
 46  tags: source
 47- command: tar xvf {{ ver_rtorrent }}.tar.gz  chdir={{contrib}} creates={{ ver_rtorrent }}
 48  tags: source
 49- command: tar xvf {{ ver_rutorrent }}.tar.gz  chdir={{contrib}} creates={{ dir_rutorrent }}
 50  tags: web
 51- command: tar xvf {{ ver_ruplugins }}.tar.gz  chdir={{contrib}} creates={{ dir_ruplugins }}
 52  tags: web
 53
 54# Build and install binaries and libs
 55- name: Build and Install libtorrent
 56  command: chdir={{ contrib }}/{{ ver_libtorrent }} {{ item }} #creates=/usr/bin/libtool
 57  sudo: yes
 58  with_items:
 59    - ./autogen.sh
 60    - ./configure
 61    - make 
 62    - make install 
 63  tags: source
 64
 65- name: Build and Install xmlrpc
 66  command: chdir={{ contrib }}/{{ dir_xmlrpc }} {{ item }} #creates=/usr/local/bin/xmlrpc-c-config
 67  sudo: yes
 68  with_items:
 69    - ./configure --disable-cplusplus
 70    - make 
 71    - make install
 72  tags: source
 73
 74- name: Build and Install rtorrent
 75  command: chdir={{ contrib }}/{{ ver_rtorrent }} {{ item }} #creates=/usr/local/bin/rtorrent
 76  sudo: yes
 77  with_items:
 78    - ./autogen.sh
 79    - ./configure --with-xmlrpc-c
 80    - make 
 81    - make install
 82    - ldconfig 
 83  tags: source
 84    
 85# Deploy rtorrent and rutorrent to /var/www
 86- name: Create rtorrent directories
 87  file: path={{ item }} state=directory
 88  with_items:
 89    - "{{ home }}/rtorrent"
 90    - "{{ home }}/rtorrent/session"
 91    - "{{ home }}/rtorrent/watch"
 92    - "{{ home }}/rtorrent/download"
 93  tags: web
 94
 95- name: Deploy rutorrent
 96  command: rsync -a {{ contrib }}/{{ dir_rutorrent }}/ /var/www/rutorrent/
 97  sudo: yes
 98  tags: web
 99
100- name: Deploy rutorrent plugins
101  command: rsync -a {{ contrib }}/{{ dir_ruplugins }}/ /var/www/rutorrent/plugins/
102  sudo: yes
103  tags: web
104
105- file: path=/var/www/rutorrent/ 
106        state=directory 
107        recurse=yes
108        owner={{ apache_user }} 
109        group={{ apache_user }} 
110  sudo: yes
111  tags: web
112