--- builds_bin/update_repos 2014/10/10 14:07:52 1.76 +++ builds_bin/update_repos 2016/03/05 16:25:14 1.80 @@ -129,6 +129,11 @@ foreach my $ver ( sort { $a <=> $b } key %sources = (); %base = (); + @{$distrepo->{$ver}->{all_archs}} = ('noarch', @{$distrepo->{$ver}->{'archs'}}); + if ( grep $_ eq 'i386', @{$distrepo->{$ver}->{'archs'}} ) { + push @{$distrepo->{$ver}->{all_archs}}, ('i586', 'i686'); + } + foreach my $dir ( sort { $repos->{$baserepo->{$b}}->{prio} <=> $repos->{$baserepo->{$a}}->{prio} || $a cmp $b } keys %$baserepo ) { my $bdir = $dir; $bdir =~ s/~S/$distrepo->{$ver}->{repo}/; @@ -295,7 +300,7 @@ foreach my $ver ( sort { $a <=> $b } key } } elsif ( $repos->{$cmp->{repo}}->{stage} ) { $cmp->{delete}++; - } else { + } elsif ( $cmp->{src} || grep $_ eq $cmp->{rpm}->arch, @{$distrepo->{$ver}->{all_archs}} ) { $srpm = $cmp if ! $srpm && $cmp->{src}; my $dest = $repos->{$track{repo}}->{prio} > $repos->{$devel2}->{prio} ? $track{repo} : $devel2; $dest = pkgdest($cmp, $devel1, $dest, $rpms->{$base}->{rpms}); @@ -448,6 +453,9 @@ foreach my $ver ( sort { $a <=> $b } key push @d, "${head}SRPMS/" . basename($pkg->{rpm}->filename); } elsif ( $pkg->{rpm}->arch eq 'noarch' ) { push @d, map { "${head}$_/$tail" . basename($pkg->{rpm}->filename) } @{$distrepo->{$ver}->{'archs'}}; + } elsif ($ver>=10 && $pkg->{rpm}->arch =~ m{^(i[356]86)$} && $pkg->{arch} =~ m{^(x86_64)$} ) { + #add copy of i686 packages in x86_64 folder for SME>=10 + push @d, map { "${head}$_/$tail" . basename($pkg->{rpm}->filename) } @{$distrepo->{$ver}->{'archs'}}; } elsif ( $pkg->{rpm}->arch =~ m{^(i[356]86)$} ) { push @d, "${head}i386/$tail" . basename($pkg->{rpm}->filename); } else { @@ -522,11 +530,11 @@ foreach my $ver ( sort { $a <=> $b } key } } unless ( $opts{t} ) { - foreach (@{$distrepo->{$ver}->{builds}}) + foreach (@{$distrepo->{$ver}->{'builds'}}) { finddepth(sub{rmdir}, "$_") if -d "$_"; } - finddepth(sub{rmdir}, $distrepo->{$ver}->{community}) if -d "$distrepo->{$ver}->{community}"; + finddepth(sub{rmdir}, $distrepo->{$ver}->{'community'}) if -d "$distrepo->{$ver}->{'community'}"; } }