#!/usr/bin/perl -w

#Copyright (C) 1999-2005 by  Sbastien Chaumat <schaumat@debian.org>
#                        and Loc Prylli <lprylli@lhpca.univ-lyon1.fr>

#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.

#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.

#    A copy of the GNU General Public License is available as
#    `/usr/share/common-licenses/GPL' in the Debian GNU/Linux distribution
#    or on the World Wide Web at http://www.gnu.org/copyleft/gpl.html.  You
#    can also obtain it by writing to the Free Software Foundation, Inc.,
#    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

# changelog

# 08-28-2004
#   *fixed : excluding $confdir from the synchronisation

$confdir="/etc/replicator/";
$conffile = "$confdir/repli-sync.conf";

sub verbose {
  if ($verbose) {print STDERR "$_[0]\n"}
}

sub error {
  print STDERR "ERROR: $_[0]\n";
  die;
}

sub dosystem {
  my ($package,$filename,$line) = caller;
  &verbose("exec: $_[0]");
  system($_[0]) and &error("Command failed!!! at $package, $filename, $line : $_[0]\nHINT : $_[1]");
}

if(-r $conffile) {
  &verbose("checking syntax of $conffile");
  &dosystem("perl -c $conffile");
  &verbose('ok');
  require($conffile);
}
else {
  &error("$conffile not readable");
}

$model or &error("no model computer specified");

exec("repli-update","--destdir","/","--model","$model","--config","$conffile","--exclude","$confdir",@ARGV);

