diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-07-21 18:57:08 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-07-21 18:57:08 +0100 |
commit | 5b1cc655fa48ae96db0d4ad57b7cf340710c740b (patch) | |
tree | 03aeaf81b0a7aa6bfcbd57764c4889cd5207cd8e /dgit | |
parent | 0a1c524cdd52435f931efdb078554a3bc1bf0eae (diff) |
--new is needed for read access to packages in NEW, too. Document this, and make it work properly.
Diffstat (limited to 'dgit')
-rwxr-xr-x | dgit | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -446,6 +446,7 @@ our %defcfg = ('dgit.default.distro' => 'debian', 'dgit-distro.debian.archive-query' => 'ftpmasterapi:', 'dgit-distro.debian.git-check' => 'url', 'dgit-distro.debian.git-check-suffix' => '/info/refs', + 'dgit-distro.debian.new-private-pushers' => 't', 'dgit-distro.debian/push.git-url' => '', 'dgit-distro.debian/push.git-host' => 'push.dgit.debian.org', 'dgit-distro.debian/push.git-user-force' => 'dgit', @@ -549,8 +550,24 @@ sub access_quirk () { our $access_forpush; +sub parse_cfg_bool ($$$) { + my ($what,$def,$v) = @_; + $v //= $def; + return + $v =~ m/^[ty1]/ ? 1 : + $v =~ m/^[fn0]/ ? 0 : + badcfg "$what needs t (true, y, 1) or f (false, n, 0) not \`$v'"; +} + sub access_forpush_config () { my $d = access_basedistro(); + + return 1 if + $new_package && + parse_cfg_bool('new-private-pushers', 0, + cfg("dgit-distro.$d.new-private-pushers", + 'RETURN-UNDEF')); + my $v = cfg("dgit-distro.$d.readonly", 'RETURN-UNDEF'); $v //= 'a'; return |