From: Ian Jackson Date: Sun, 19 Jan 2014 01:57:22 +0000 (+0000) Subject: Quirks mechanism X-Git-Tag: debian/0.21~5 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=e1babed90f59ff09a97ff75793488e0e7b874252;ds=sidebyside Quirks mechanism --- diff --git a/dgit b/dgit index 5c0ea82f..bb1d217e 100755 --- a/dgit +++ b/dgit @@ -489,16 +489,30 @@ sub cfg { badcfg "need value for one of: @_"; } -sub access_distro () { +sub access_basedistro () { return cfg("dgit-suite.$isuite.distro", "dgit.default.distro"); } +sub access_quirk () { + # returns (quirk name, distro to use instead, quirk-specific info) + my $basedistro = access_basedistro(); + return ('none',$basedistro); +} + +sub access_distro () { + return (access_quirk())[1]; +} + sub access_cfg (@) { my (@keys) = @_; + my $basedistro = access_basedistro(); my $distro = $idistro || access_distro(); - my $value = cfg(map { ("dgit-distro.$distro.$_", - "dgit.default.$_") } @keys); + my $value = cfg(map { + ("dgit-distro.$distro.$_", + "dgit-distro.$basedistro.$_", + "dgit.default.$_") + } @keys); return $value; }