--- builds_bin/update_repos 2013/02/13 19:36:25 1.71 +++ builds_bin/update_repos 2013/03/16 14:19:11 1.72 @@ -17,8 +17,7 @@ my %opts; getopts( 'osqtr:', \%opts ); $opts{r} ||= ''; -my $rpm_flags = RPM2->vsf_nosha1header | RPM2->vsf_nomd5header | RPM2->vsf_nodsaheader | RPM2->vsf_norsaheader; -$rpm_flags |= RPM2->vsf_nosha1 | RPM2->vsf_nomd5 | RPM2->vsf_nodsa | RPM2->vsf_norsa; +my $rpm_flags = RPM2->vsf_nodsaheader | RPM2->vsf_norsaheader | RPM2->vsf_nodsa | RPM2->vsf_norsa; my $osdir = 'SME'; my $disttag = 'sme'; @@ -50,7 +49,7 @@ my $distrepo = { '7' => { active => 0 builds => ['/build/builds/smeserver-9-core/'], community => '/build/builds/smeserver-9-contribs/', stage => '/build/smeserver/stage/9/', - sign => 0, + sign => 1, checksum => 'sha256', }, }; @@ -515,10 +514,10 @@ foreach my $ver ( sort { $a <=> $b } key my $exclude = ""; $exclude .= " --exclude ${osdir}/*" if -d "$dir/Packages"; - $exclude = "--exclude *smeserver-release*.rpm" if $dir =~ m{test/|-testing/}; + $exclude .= " --exclude *smeserver-release*.rpm" if $dir =~ m{test/|-testing/}; my $groupfile = ""; - $groupfile = "--groupfile repodata/comps.xml" if -f "$dir/repodata/comps.xml"; + $groupfile = "--simple-md-filenames --groupfile repodata/comps.xml" if -f "$dir/repodata/comps.xml"; qx(createrepo --update --database --exclude *.src.rpm --exclude *-debuginfo-*.rpm $checksum $exclude $groupfile $dir); qx(repoview $dir); @@ -584,8 +583,13 @@ sub process_rpm { eval { $pkg = RPM2->open_package($rpm, $rpm_flags); }; if ($@) { print " * corrupt package ($rpm)\n"; return; } eval { my $sig = $pkg->siggpg }; - my $nosig = ! $@; - + + my $nosig = 1; + eval { my $sig = $pkg->dsaheader }; $nosig &= ! $@; + eval { my $sig = $pkg->rsaheader }; $nosig &= ! $@; + eval { my $sig = $pkg->siggpg }; $nosig &= ! $@; + eval { my $sig = $pkg->sigpgp }; $nosig &= ! $@; + my $cmp = $latest{$pkg->name}; if ( $repos->{$repo}->{base} && ! $pkg->is_source_package ) { return unless $cmp;