1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# This class handles a gitolite installation, with /var/git as the root for
# git repositories.
class git::gitolite inherits git {
# the needed packages
package { "gitolite":
name => $::lsbdistcodename ? {
'wheezy' => 'gitolite',
default => 'gitolite3',
},
ensure => installed
}
# make sure this is not installed
package { "gitosis": ensure => purged }
# tries to get rid of ugly directory structure
file { "/srv/gitolite":
ensure => absent,
force => true,
backup => false,
require => User["git"],
}
# we also don't need /var/lib/gitolite
file { "/var/lib/gitolite":
ensure => absent,
force => true,
backup => false,
require => User["git"],
}
file { "/var/git/.gitolite.rc":
ensure => present,
owner => git,
group => git,
mode => 0644,
source => "puppet:///modules/git/gitolite.rc.${::lsbdistcodename}",
require => [ File['/var/git'], User['git'] ],
}
file { "/var/git/projects.list":
ensure => present,
owner => git,
group => git,
mode => 0644,
require => [ File['/var/git'], User['git'] ],
}
# git-annex integration
package { 'git-annex':
ensure => present,
}
# wheezy onwards
# http://git-annex.branchable.com/tips/using_gitolite_with_git-annex/
file { [ '/var/git/adc', '/var/git/adc/ua' ]:
ensure => $::lsbdistcodename ? {
'squeeze' => absent,
default => directory,
},
owner => git,
group => git,
mode => 0755,
require => File['/var/git'],
}
exec { 'git-annex-shell-copier':
command => 'cp /usr/share/doc/gitolite/examples/adc/git-annex-shell /var/git/adc/ua/git-annex-shell',
user => root,
creates => '/var/git/adc/ua/git-annex-shell',
onlyif => "test -f /usr/share/doc/gitolite/examples/adc/git-annex-shell",
require => [ Package['git-annex'], File['/var/git/adc/ua'] ],
}
}
|