aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mirror
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mirror')
-rw-r--r--modules/mirror/manifests/base.pp15
-rw-r--r--modules/mirror/manifests/init.pp77
-rw-r--r--modules/mirror/manifests/mageia.pp7
-rw-r--r--modules/mirror/manifests/main.pp14
-rw-r--r--modules/mirror/manifests/mdv2010spring.pp7
-rw-r--r--modules/mirror/manifests/mirrordir.pp23
-rw-r--r--modules/mirror/templates/mirrordir9
-rw-r--r--modules/mirror/templates/update_timestamp2
8 files changed, 72 insertions, 82 deletions
diff --git a/modules/mirror/manifests/base.pp b/modules/mirror/manifests/base.pp
new file mode 100644
index 00000000..db48f808
--- /dev/null
+++ b/modules/mirror/manifests/base.pp
@@ -0,0 +1,15 @@
+class mirror::base {
+ $locksdir = '/home/mirror/locks'
+
+ file { $locksdir:
+ ensure => directory,
+ owner => 'mirror',
+ group => 'mirror',
+ }
+
+ group { 'mirror': }
+
+ user { 'mirror':
+ gid => 'mirror',
+ }
+}
diff --git a/modules/mirror/manifests/init.pp b/modules/mirror/manifests/init.pp
index b9a245bb..bb89e1d0 100644
--- a/modules/mirror/manifests/init.pp
+++ b/modules/mirror/manifests/init.pp
@@ -1,76 +1 @@
-class mirror {
- class base {
- $bindir = '/usr/local/bin'
- $locksdir = '/home/mirror/locks'
-
- file { "$locksdir":
- ensure => directory,
- owner => mirror,
- group => mirror,
- }
-
- group {"mirror": }
-
- user {"mirror":
- comment => "System user use to run mirror scripts",
- gid => mirror,
- }
- }
-
- define mirrordir ($remoteurl, $localdir, $rsync_options="-avH --delete") {
- include base
- $lockfile = "$locksdir/$name"
-
- file { "$localdir":
- ensure => directory,
- owner => mirror,
- group => mirror,
- }
-
- local_script { "mirror_$name":
- content => template("mirror/mirrordir"),
- }
-
- cron { "mirror_$name":
- user => mirror,
- minute => '*/10',
- command => "$bindir/mirror_$name",
- require => Local_script["mirror_$name"],
- }
- }
-
- # For main Mageia mirror
- class main inherits base {
- local_script { "update_timestamp":
- content => template("mirror/update_timestamp")
- }
-
- cron { mirror:
- user => mirror,
- minute => '*/10',
- command => "/usr/local/bin/update_timestamp",
- require => [Local_script["update_timestamp"], User['mirror']],
- }
- }
-
- class mageia inherits base {
- mirrordir { "mageia":
- remoteurl => "rsync://rsync.$domain/mageia",
- localdir => '/distrib/mageia',
- }
- }
-
- class newrelease inherits base {
- mirrordir { "newrelease":
- remoteurl => "rsync://rsync.$domain/newrelease",
- localdir => '/distrib/newrelease',
- }
- }
-
- class mdv2010spring inherits base {
- mirrordir { "mdv2010.1":
- remoteurl => "rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2010.1",
- localdir => '/distrib/mandriva/',
- }
- }
-}
+class mirror { }
diff --git a/modules/mirror/manifests/mageia.pp b/modules/mirror/manifests/mageia.pp
new file mode 100644
index 00000000..c14a09bb
--- /dev/null
+++ b/modules/mirror/manifests/mageia.pp
@@ -0,0 +1,7 @@
+class mirror::mageia {
+ include mirror::base
+ mirrordir { 'mageia':
+ remoteurl => "rsync://rsync.${::domain}/mageia",
+ localdir => '/distrib/mageia',
+ }
+}
diff --git a/modules/mirror/manifests/main.pp b/modules/mirror/manifests/main.pp
new file mode 100644
index 00000000..f368038d
--- /dev/null
+++ b/modules/mirror/manifests/main.pp
@@ -0,0 +1,14 @@
+# For main Mageia mirror
+class mirror::main {
+ include mirror::base
+ mga_common::local_script { 'update_timestamp':
+ content => template('mirror/update_timestamp')
+ }
+
+ cron { 'mirror':
+ user => 'mirror',
+ minute => '*/10',
+ command => '/usr/local/bin/update_timestamp',
+ require => [Mga_common::Local_script['update_timestamp'], User['mirror']],
+ }
+}
diff --git a/modules/mirror/manifests/mdv2010spring.pp b/modules/mirror/manifests/mdv2010spring.pp
new file mode 100644
index 00000000..51a67284
--- /dev/null
+++ b/modules/mirror/manifests/mdv2010spring.pp
@@ -0,0 +1,7 @@
+class mirror::mdv2010spring {
+ include mirror::base
+ mirrordir { 'mdv2010.1':
+ remoteurl => 'rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2010.1',
+ localdir => '/distrib/mandriva/',
+ }
+}
diff --git a/modules/mirror/manifests/mirrordir.pp b/modules/mirror/manifests/mirrordir.pp
new file mode 100644
index 00000000..2100bc6c
--- /dev/null
+++ b/modules/mirror/manifests/mirrordir.pp
@@ -0,0 +1,23 @@
+define mirror::mirrordir ($remoteurl,
+ $localdir,
+ $rsync_options='-avH --delete') {
+ include mirror::base
+ $lockfile = "${mirror::base::locksdir}/${name}"
+
+ file { $localdir:
+ ensure => directory,
+ owner => 'mirror',
+ group => 'mirror',
+ }
+
+ mga_common::local_script { "mirror_${name}":
+ content => template('mirror/mirrordir'),
+ }
+
+ cron { "mirror_${name}":
+ user => mirror,
+ minute => '*/10',
+ command => "/usr/local/bin/mirror_${name}",
+ require => Mga_common::Local_script["mirror_${name}"],
+ }
+}
diff --git a/modules/mirror/templates/mirrordir b/modules/mirror/templates/mirrordir
index 53655aa0..9cf09650 100644
--- a/modules/mirror/templates/mirrordir
+++ b/modules/mirror/templates/mirrordir
@@ -1,9 +1,9 @@
#!/bin/sh
-remoteurl="<%= remoteurl%>"
-localdir="<%= localdir %>"
-rsync_options="<%= rsync_options %>"
-lockfile="<%= lockfile %>"
+remoteurl="<%= @remoteurl%>"
+localdir="<%= @localdir %>"
+rsync_options="<%= @rsync_options %>"
+lockfile="<%= @lockfile %>"
if [ -f "$lockfile" ]; then
# show error message when run from command line
@@ -13,4 +13,3 @@ fi
echo "sync in progress since $(date)" > "$lockfile"
/usr/bin/rsync $rsync_options "$remoteurl" "$localdir"
rm -f "$lockfile"
-
diff --git a/modules/mirror/templates/update_timestamp b/modules/mirror/templates/update_timestamp
index a037d10d..1f7711c6 100644
--- a/modules/mirror/templates/update_timestamp
+++ b/modules/mirror/templates/update_timestamp
@@ -2,4 +2,4 @@
# $id$
-date +%s%n%c > /distrib/mirror/mageia_timestamp
+LC_ALL=C.UTF-8 date -u '+%s%n%c %Z' > /distrib/mirror/mageia_timestamp