From: Ian Jackson Date: Sat, 7 Jan 2017 18:45:59 +0000 (+0000) Subject: dgit: Enforce a syntax for nominal distros X-Git-Tag: archive/debian/3.0~79 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=76c7db35e2ddaa0c517128fae11cd5893099fffc;hp=6df06968cbcb92d2dc9796a137d36cdc873b827a;ds=sidebyside dgit: Enforce a syntax for nominal distros These appear in various interchange output like tags. They should be sane. They're going to appear in Dgit: too where people will need to use them. Signed-off-by: Ian Jackson --- diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index 314bd8c7..5a7b59d7 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -50,6 +50,7 @@ BEGIN { git_get_ref git_for_each_ref git_for_each_tag_referring is_fast_fwd $package_re $component_re $deliberately_re + $distro_re $branchprefix initdebug enabledebug enabledebuglevel printdebug debugcmd @@ -65,6 +66,7 @@ our @EXPORT_OK; our $package_re = '[0-9a-z][-+.0-9a-z]*'; our $component_re = '[0-9a-zA-Z][-+.0-9a-zA-Z]*'; our $deliberately_re = "(?:TEST-)?$package_re"; +our $distro_re = $component_re; our $branchprefix = 'dgit'; # policy hook exit status bits diff --git a/dgit b/dgit index 54b0e6fc..de7b4de6 100755 --- a/dgit +++ b/dgit @@ -727,7 +727,10 @@ sub access_basedistro () { sub access_nomdistro () { my $base = access_basedistro(); - return cfg("dgit-distro.$base.nominal-distro",'RETURN-UNDEF') // $base; + my $r = cfg("dgit-distro.$base.nominal-distro",'RETURN-UNDEF') // $base; + $r =~ m/^$distro_re$/ or badcfg + "bad syntax for (nominal) distro \`$r' (does not match /^$distro_re$/)"; + return $r; } sub access_quirk () {