OLD | NEW |
1 # == Type: filtermaster::repo_download | 1 # == Type: filtermaster::repo_download |
2 # | 2 # |
3 # Manage filter list download source repositories for aggregation. | 3 # Manage filter list download source repositories for aggregation. |
4 # | 4 # |
5 # === Parameters: | 5 # === Parameters: |
6 # | 6 # |
7 # [*target*] | 7 # [*target*] |
8 # An optional alias for use as the download resource name, allows for | 8 # An optional alias for use as the download resource name, allows for |
9 # repositories with different names. Note that this option is recognized | 9 # repositories with different names. Note that this option is recognized |
10 # only when setup via hiera('filtermaster::repo_downloads')! | 10 # only when setup via hiera('filtermaster::repo_downloads')! |
11 # | 11 # |
12 # [*static_files*] | 12 # [*static_files*] |
13 # Files to include in the synchronization of download resources without | 13 # Files to include in the synchronization of download resources without |
14 # prior aggregation, if any. Note that option is recognized only when | 14 # prior aggregation, if any. Note that option is recognized only when |
15 # setup via hiera('filtermaster::repo_downloads') as well! | 15 # setup via hiera('filtermaster::repo_downloads') as well! |
16 # | 16 # |
17 # === Examples: | 17 # === Examples: |
18 # | 18 # |
19 # filtermaster::repo_download {'exceptionrules': | 19 # filtermaster::repo_download {'exceptionrules': |
20 # alias => 'exceptions', | 20 # alias => 'exceptions', |
21 # } | 21 # } |
22 # | 22 # |
23 define filtermaster::repo_download ( | 23 define filtermaster::repo_download ( |
24 $target = $title, | 24 $target = $title, |
25 $static_files = [], | 25 $static_files = [], |
26 ) { | 26 ) { |
27 | 27 |
| 28 include adblockplus::mercurial |
| 29 |
28 $directory = "/home/rsync/subscription/$title" | 30 $directory = "/home/rsync/subscription/$title" |
29 $repository = "https://hg.adblockplus.org/$title" | 31 $repository = "https://hg.adblockplus.org/$title" |
30 | 32 |
31 ensure_packages(['mercurial']) | |
32 | |
33 exec {"filtermaster::repo_download#$title": | 33 exec {"filtermaster::repo_download#$title": |
34 command => shellquote('hg', 'clone', $repository, $directory), | 34 command => shellquote('hg', 'clone', $repository, $directory), |
35 onlyif => shellquote('test', '!', '-d', $directory), | 35 onlyif => shellquote('test', '!', '-d', $directory), |
36 path => ['/usr/local/bin', '/usr/bin', '/bin'], | 36 path => ['/usr/local/bin', '/usr/bin', '/bin'], |
37 require => Package['mercurial'], | 37 require => Package['mercurial'], |
38 timeout => 0, | 38 timeout => 0, |
39 user => 'rsync', | 39 user => 'rsync', |
40 } | 40 } |
41 | 41 |
42 file {"$directory/.hg/hgrc": | 42 file {"$directory/.hg/hgrc": |
43 content => template('filtermaster/hgrc.erb'), | 43 content => template('filtermaster/hgrc.erb'), |
44 owner => 'rsync', | 44 owner => 'rsync', |
45 require => Exec["filtermaster::repo_download#$title"], | 45 require => Exec["filtermaster::repo_download#$title"], |
46 } | 46 } |
47 } | 47 } |
OLD | NEW |