master
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