* Add admin dir checking to script.

svn path=/trunk/kdenonbeta/kdecvs-build/; revision=320135
wilder
Michael Pyne 22 years ago
parent 69023dd73d
commit 143a1b4afb
  1. 49
      kdecvs-build

@ -932,6 +932,28 @@ EOF
}
}
# Subroutine to download the admin directory of a CVS module which has already
# been partially checked out for some reason, but checkout-only isn't set.
# Returns boolean true on success, or boolean false on an error.
sub download_admin_dir
{
my $module = shift;
my $kdecvs = get_kdecvs_dir();
my $admindir = "$kdecvs/$module/admin";
if (pretending)
{
print "\tWould have forced checkout of $admindir\n" if not -e "$admindir";
return 1;
}
if (not -e "$admindir")
{
print "\tForcing update of admin directory for $module.\n";
return not checkout_cvs_partial_dir($module, 'admin', 1);
}
}
# Subroutine to update a list of CVS modules. The first
# parameter is a reference of a list of the modules to update.
# If the module has not already been checkout out, this subroutine
@ -980,12 +1002,31 @@ sub handle_updates
chdir ("$kdecvs");
if (get_option($module, 'checkout-only'))
{
# Don't check out the entire module, merely the
# parts the user wants
$result = 1 if checkout_cvs_partial ($module);
next;
}
if (-e "$kdecvs/$module/CVS")
{
# The CVS directory already exists, so it has probably already been
# checked out.
print "Updating $module\n";
# The admin directory SCREWS crap up though, make sure it's
# installed.
if (not download_admin_dir($module))
{
print "Can't download admin dir for $module!\n";
print "Removing from list of packages to build.\n";
dont_build($module);
next;
}
$verb = 'updating';
$command = 'up';
}
@ -997,14 +1038,6 @@ sub handle_updates
$command = 'co';
}
if (get_option($module, 'checkout-only'))
{
# Don't check out the entire module, merely the
# parts the user wants
$result = 1 if checkout_cvs_partial ($module);
next;
}
my @args = ('cvs', "-d$cvsroot", $command);
push @args, '-r', get_option($module, "release-tag") if get_option($module, "release-tag");
push @args, $module;

Loading…
Cancel
Save