From e1babed90f59ff09a97ff75793488e0e7b874252 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 19 Jan 2014 01:57:22 +0000 Subject: Quirks mechanism --- dgit | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/dgit b/dgit index 5c0ea82..bb1d217 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; } -- cgit v1.2.3