[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-cvs] administration/infra/savane/bin sv_groups
From: |
Elfyn McBratney |
Subject: |
[Savannah-cvs] administration/infra/savane/bin sv_groups |
Date: |
Mon, 13 Sep 2004 21:58:02 -0400 |
CVSROOT: /cvsroot/administration
Module name: administration
Branch:
Changes by: Elfyn McBratney <address@hidden> 04/09/14 01:52:51
Modified files:
infra/savane/bin: sv_groups
Log message:
add error handling code
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/administration/administration/infra/savane/bin/sv_groups.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
Patches:
Index: administration/infra/savane/bin/sv_groups
diff -u administration/infra/savane/bin/sv_groups:1.5
administration/infra/savane/bin/sv_groups:1.6
--- administration/infra/savane/bin/sv_groups:1.5 Tue Sep 14 01:37:37 2004
+++ administration/infra/savane/bin/sv_groups Tue Sep 14 01:52:51 2004
@@ -2,7 +2,7 @@
# This file is part of the Savane project
# <http://gna.org/projects/savane/>
#
-# $Id: sv_groups,v 1.5 2004/09/14 01:37:37 beu Exp $
+# $Id: sv_groups,v 1.6 2004/09/14 01:52:51 beu Exp $
#
# Copyright 2001 (c) Loic Dachary <address@hidden> (sv_cvs.pl)
# 2003 (c) Mathieu Roy <address@hidden>
@@ -250,7 +250,6 @@
print LOG strftime "[$script] %c - system infos grabbed\n", localtime;
print LOG strftime "[$script] %c - comparison done\n", localtime;
-
#######################################################################
##
## Finally, update the system
@@ -259,10 +258,12 @@
# Make sure that the group svusers and anoncvs exists
# sv_users and sv_groups would broke without these groups
+
for ("svusers", "anoncvs") {
unless (getgrnam($_)) {
unless ($debug || $no_etc) {
- system(('/usr/sbin/groupadd', '-g', $etc_group_maxid, $_));
+ my @groupadd_args = ('/usr/sbin/groupadd', '-g', $etc_group_maxid,
$_);
+ system(@groupadd_args) == 0 or die "@groupadd_args failed";
}
print LOG strftime "[$script] %c ---- groupadd -g $etc_group_maxid $_
(required by the savane backend)\n", localtime;
$etc_group_maxid++;
@@ -272,6 +273,8 @@
# Add groups only in database, missing on the system
foreach my $group (@only_in_db){
+
+ my @groupadd_args;
my ($group_id, $name, $type, $is_public, $use_homepage,
$use_cvs, $use_download) = @{$db_groups{$group}};
@@ -281,11 +284,13 @@
unless ($debug || $no_etc) {
# Actually add the groups
- system(('/usr/sbin/groupadd', '-g', $etc_group_maxid, $name));
+ @groupadd_args = ('/usr/sbin/groupadd', '-g', $etc_group_maxid, $name);
+ system(@groupadd_args) == 0 or die "@groupadd_args failed";
unless ($one_group) {
$etc_group_maxid++;
- system(('/usr/sbin/groupadd', '-g', $etc_group_maxid, "web$name"));
+ @groupadd_args = ('/usr/sbin/groupadd', '-g', $etc_group_maxid,
"web$name");
+ system(@groupadd_args) == 0 or die "@groupadd_args failed";
}
# We do not at that moment create the directories, we just relying
@@ -386,6 +391,7 @@
sub create_cvs {
my ($name, $is_public, $group_type) = @_;
my $chroot = "/savannah/cvsroot/$name";
+ my (@cp_args, @tar_args, @mknod_args, @chgrp_args);
return 1 if -e $chroot;
@@ -406,20 +412,24 @@
mkdir("$chroot/webcvs/$name/$name");
# install cvs and extract the seed
- system(('/bin/cp', '/savannah/cvs-seed/cvs', "$chroot/bin"));
+ @cp_args = ('/bin/cp', '/savannah/cvs-seed/cvs', "$chroot/bin");
+ system(@cp_args) == 0 or die "@cp_args failed";
# cvs seed:
chdir("$chroot/cvsroot/$name");
- system(('/bin/tar', 'xfzp', '/savannah/cvs-seed/CVSROOT.tar.gz'));
+ @tar_args = ('/bin/tar', 'xfzp', '/savannah/cvs-seed/CVSROOT.tar.gz');
+ system(@tar_args) == 0 or die "@tar_args failed";
chdir('/');
# webcvs seed:
chdir ("$chroot/webcvs/$name");
- system(('/bin/tar', 'xfzp', '/savannah/cvs-seed/CVSROOT.tar.gz'));
+ @tar_args = ('/bin/tar', 'xfzp', '/savannah/cvs-seed/CVSROOT.tar.gz');
+ system(@tar_args) == 0 or die "@tar_args failed";
chdir ('/');
# mknod $chroot/dev/null
- system(('/bin/mknod', "$chroot/dev/null", 'c', '1', '3'));
+ @mknod_args = ('/bin/mknod', "$chroot/dev/null", 'c', '1', '3');
+ system(@mknod_args) == 0 or die "@tar_args failed";
# fix up permissions
chmod(02777, "$chroot/cvs-locks");
@@ -435,12 +445,18 @@
chmod(02775, "$chroot/webcvs/$name/$name");
# fix up ownership
- system(('/bin/chgrp', $name, "$chroot/cvsroot/$name/$name"));
- system(('/bin/chgrp', $name, "$chroot/cvsroot/$name/CVSROOT/history"));
- system(('/bin/chgrp', $name, "$chroot/cvsroot/$name/CVSROOT/val-tags"));
- system(('/bin/chgrp', "web$name", "$chroot/webcvs/$name/CVSROOT/history"));
- system(('/bin/chgrp', "web$name",
"$chroot/webcvs/$name/CVSROOT/val-tags"));
- system(('/bin/chgrp', "web$name", "$chroot/webcvs/$name/$name"));
+ @chgrp_args = ('/bin/chgrp', $name, "$chroot/cvsroot/$name/$name");
+ system(@chgrp_args) == 0 or die "@chgrp_args failed";
+ @chgrp_args = ('/bin/chgrp', $name,
"$chroot/cvsroot/$name/CVSROOT/history");
+ system(@chgrp_args) == 0 or die "@chgrp_args failed";
+ @chgrp_args = ('/bin/chgrp', $name,
"$chroot/cvsroot/$name/CVSROOT/val-tags");
+ system(@chgrp_args) == 0 or die "@chgrp_args failed";
+ @chgrp_args = ('/bin/chgrp', "web$name",
"$chroot/webcvs/$name/CVSROOT/history");
+ system(@chgrp_args) == 0 or die "@chgrp_args failed";
+ @chgrp_args = ('/bin/chgrp', "web$name",
"$chroot/webcvs/$name/CVSROOT/val-tags");
+ system(@chgrp_args) == 0 or die "@chgrp_args failed";
+ @chgrp_args = ('/bin/chgrp', "web$name", "$chroot/webcvs/$name/$name");
+ system(@chgrp_args) == 0 or die "@chgrp_args failed";
# perform an initial checkout so that updates happen
#create_website ($name, $group_type) if ($is_public);
@@ -450,6 +466,7 @@
sub create_download {
my ($name, $is_public) = @_;
+ my @chown_args;
return 1 if -e "/savannah/download/$name";
return 1 unless $is_public;
@@ -470,10 +487,14 @@
chmod(00770, "/var/tmp/ftp-out/$name");
# fix ownership
- system(('/bin/chown', "gatekpr.gatekpr", "/savannah/download/$name"));
- system(('/bin/chown', 'upload.gatekpr',
"/home/upload/incoming/savannah/$name"));
- system(('/bin/chown', 'gatekpr.gatekpr', "/var/tmp/ftp-in/$name"));
- system(('/bin/chown', 'gatekpr.gatekpr', "/var/tmp/ftp-out/$name"));
+ @chown_args = ('/bin/chown', "gatekpr.gatekpr",
"/savannah/download/$name");
+ system(@chown_args) == 0 or die "@chown_args failed";
+ @chown_args = ('/bin/chown', 'upload.gatekpr',
"/home/upload/incoming/savannah/$name");
+ system(@chown_args) == 0 or die "@chown_args failed";
+ @chown_args = ('/bin/chown', 'gatekpr.gatekpr', "/var/tmp/ftp-in/$name");
+ system(@chown_args) == 0 or die "@chown_args failed";
+ @chown_args = ('/bin/chown', 'gatekpr.gatekpr', "/var/tmp/ftp-out/$name");
+ system(@chown_args) == 0 or die "@chown_args failed";
print LOG strftime "[$script] %c ---- created download are for $name\n",
localtime;
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups,
Elfyn McBratney <=
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13