On Tue, 01 Jan 2013, Pascal Terjan wrote: > On Tue, Jan 1, 2013 at 1:08 PM, Thierry Vignaud > <thierry.vign...@gmail.com> wrote: > > On 1 January 2013 02:17, Pascal Terjan <pter...@gmail.com> wrote: > >>>> pterjan <pterjan> 0.6.16-1.mga3: > >>>> + Revision: 336797 > >>>> - 0.6.16 > >>>> * fix chroot cleaning in parallel mode > >>>> * fix for some packages missing from status file > >>>> > >>> > >>> btw, 0.6.15 broke the BS on valstar with this error: > >>> > >>> Not a HASH reference at /usr/bin/emi line 195. > >>> > >>> So I rolled back to 0.6.13 that was in use before. > >>> > >>> Is this package safe to install ? > >>> > >> Probably not, I haven't touched emi (I think boklm and tv did in previoys > >> version). I'll have a look > > > > You can try latest SVN > > The code doesn't look correct for the old format of the config file: > > The code was: > > - if (ref $config->{mandatory_arch} eq 'ARRAY') { > - $mandatory_arch = $config->{mandatory_arch}; > - } elsif (ref $config->{mandatory_arch}->{$target} eq 'ARRAY') { > - $mandatory_arch = $config->{mandatory_arch}->{$target}; > - } elsif (ref $config->{mandatory_arch}->{default} eq 'ARRAY') { > - $mandatory_arch = $config->{mandatory_arch}->{default}; > > But your previous simplification only handle the second and third > case, not when mandatory_arch is an ARRAY directly. > The code should work but will consider there is no mandatory arch.
Latest code in svn is : my $mandatory_arch = find { ref($_) eq 'ARRAY' } $config->{mandatory_arch}, (ref($config->{mandatory_arch}) eq 'HASH' ? ($config->{mandatory_arch}{$target}, $config->{mandatory_arch}{default}) : ()), []; So it seems to handle the case with an array in $config->{mandatory_arch}.