# usages:
# .../dgit-repos-server DISTRO SUITES KEYRING-AUTH-SPEC \
# DGIT-REPOS-DIR POLICY-HOOK-SCRIPT --ssh
+# .../dgit-repos-server DISTRO SUITES KEYRING-AUTH-SPEC \
+# DGIT-REPOS-DIR POLICY-HOOK-SCRIPT --cron
# internal usage:
# .../dgit-repos-server --pre-receive-hook PACKAGE
#
#
# policy hook for a particular package will be invoked only once at
# a time - (see comments about DGIT-REPOS-DIR, above)
+#
+# check-list and check-package are invoked via the --cron option.
+# First, without any locking, check-list is called. It should produce
+# a list of package names. Then check-package will be invoked for
+# each named package, in each case after taking an appropriate lock.
use POSIX;
@ARGV == 1 or die;
$package = shift @ARGV;
defined($distro = $ENV{'DGIT_DRS_DISTRO'}) or die;
+ defined($dgitrepos = $ENV{'DGIT_DRS_REPOS'}) or die;
defined($suitesfile = $ENV{'DGIT_DRS_SUITES'}) or die;
defined($workrepo = $ENV{'DGIT_DRS_WORK'}) or die;
defined($destrepo = $ENV{'DGIT_DRS_DEST'}) or die;
$ENV{'DGIT_DRS_DISTRO'} = $distro = argval();
$ENV{'DGIT_DRS_SUITES'} = argval();
$ENV{'DGIT_DRS_KEYRINGS'} = argval();
- $dgitrepos = argval();
+ $ENV{'DGIT_DRS_REPOS'} = $dgitrepos = argval();
$ENV{'DGIT_DRS_POLICYHOOK'} = $policyhook = argval();
die unless @ARGV==1 && $ARGV[0] eq '--ssh';