128 lines
3.4 KiB
Puppet
128 lines
3.4 KiB
Puppet
class wiki::moin {
|
|
|
|
if !$wiki_moin_version {
|
|
fail("\$wiki_moin_version must be set.")
|
|
}
|
|
|
|
custom::file { "/usr/local/src/moin-${wiki_moin_version}.tar.gz":
|
|
ensure => present,
|
|
mode => 0644,
|
|
owner => root,
|
|
group => root,
|
|
source => "http://static.moinmo.in/files/moin-${wiki_moin_version}.tar.gz",
|
|
}
|
|
file { "/usr/local/src/moin-${wiki_moin_version}.patch":
|
|
ensure => present,
|
|
mode => 0644,
|
|
owner => root,
|
|
group => root,
|
|
source => "puppet:///files/wiki/moin-${wiki_moin_version}.patch",
|
|
}
|
|
util::extract::tar { "/usr/local/src/moin-${wiki_moin_version}":
|
|
strip => 1,
|
|
source => "/usr/local/src/moin-${wiki_moin_version}.tar.gz",
|
|
require => Custom::File["/usr/local/src/moin-${wiki_moin_version}.tar.gz"],
|
|
}
|
|
util::patch { "/usr/local/src/moin-${wiki_moin_version}":
|
|
source => "/usr/local/src/moin-${wiki_moin_version}.patch",
|
|
require => Util::Extract::Tar["/usr/local/src/moin-${wiki_moin_version}"],
|
|
}
|
|
python::setup::install { "/usr/local/src/moin-${wiki_moin_version}":
|
|
require => Util::Patch["/usr/local/src/moin-${wiki_moin_version}"],
|
|
}
|
|
|
|
}
|
|
|
|
|
|
class wiki::graphingwiki::common {
|
|
|
|
if !$wiki_gwiki_revision {
|
|
fail("\$wiki_graphingwiki_revision must be set.")
|
|
}
|
|
|
|
include svn::client
|
|
svn::export { "/usr/local/src/graphingwiki":
|
|
source => "http://svn.graphingwiki.webfactional.com/trunk",
|
|
revision => $wiki_gwiki_revision,
|
|
}
|
|
|
|
}
|
|
|
|
|
|
class wiki::graphingwiki inherits wiki::graphingwiki::common {
|
|
|
|
python::setup::install { "/usr/local/src/graphingwiki/graphingwiki":
|
|
require => Svn::Export["/usr/local/src/graphingwiki"],
|
|
}
|
|
|
|
}
|
|
|
|
|
|
class wiki::opencollab inherits wiki::graphingwiki::common {
|
|
|
|
python::setup::install { "/usr/local/src/graphingwiki/opencollab":
|
|
require => Svn::Export["/usr/local/src/graphingwiki"],
|
|
}
|
|
|
|
}
|
|
|
|
|
|
class wiki::collab inherits wiki::graphingwiki::common {
|
|
|
|
python::setup::install { "/usr/local/src/graphingwiki/collab":
|
|
require => Svn::Export["/usr/local/src/graphingwiki"],
|
|
}
|
|
|
|
}
|
|
|
|
|
|
class wiki::collab::base {
|
|
|
|
include wiki::graphingwiki
|
|
include wiki::opencollab
|
|
include wiki::collab
|
|
|
|
include user::system
|
|
realize(User["collab"], Group["collab"])
|
|
|
|
if $wiki_datadir {
|
|
file { "${wiki_datadir}":
|
|
ensure => directory,
|
|
mode => 0755,
|
|
owner => root,
|
|
group => root,
|
|
}
|
|
|
|
file { "/srv/wikis":
|
|
ensure => link,
|
|
target => "${wiki_datadir}",
|
|
require => File["${wiki_datadir}"],
|
|
}
|
|
} else {
|
|
file { "/srv/wikis":
|
|
ensure => directory,
|
|
mode => 0755,
|
|
owner => root,
|
|
group => root,
|
|
}
|
|
}
|
|
|
|
file { [ "/srv/wikis/collab",
|
|
"/srv/wikis/collab/archive",
|
|
"/srv/wikis/collab/cache",
|
|
"/srv/wikis/collab/config",
|
|
"/srv/wikis/collab/dockbook",
|
|
"/srv/wikis/collab/htdocs",
|
|
"/srv/wikis/collab/log",
|
|
"/srv/wikis/collab/underlay",
|
|
"/srv/wikis/collab/user",
|
|
"/srv/wikis/collab/wikis",
|
|
"/srv/wikis/collab/run", ]:
|
|
ensure => directory,
|
|
mode => 2770,
|
|
owner => collab,
|
|
group => collab,
|
|
require => [ File["/srv/wikis"], User["collab"], Group["collab"], ],
|
|
}
|
|
|
|
}
|