aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--lib/Iurt/Urpmi.pm14
2 files changed, 8 insertions, 8 deletions
diff --git a/NEWS b/NEWS
index 6a1c052..05b9c8b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+- remove old src.rpm before recreating it (mga#14243)
+
0.6.22
- don't close stdin if --stop is used (mga#13318)
- add a README
diff --git a/lib/Iurt/Urpmi.pm b/lib/Iurt/Urpmi.pm
index e2f305d..c8f3bbd 100644
--- a/lib/Iurt/Urpmi.pm
+++ b/lib/Iurt/Urpmi.pm
@@ -629,7 +629,11 @@ sub recreate_srpm {
$spec = $file;
}
}
- }
+ }
+
+ # Delete old src.rpm, we will create it again
+ sudo($config, '--rm', $oldsrpm) or die "$program_name: could not delete $oldsrpm ($!)";
+
# 20060515 This should not be necessairy any more if urpmi *.spec works, but it doesn't
#
my $ret = perform_command(qq(chroot $chroot_tmp su $luser -c "rpmbuild --nodeps -bs $with_flags /home/$luser/rpmbuild/SPECS/$spec"),
@@ -645,13 +649,7 @@ sub recreate_srpm {
#
return 0 unless $ret;
- # we can not ask rpm the generated srpm name
- # we can not rely on build time (one of the src.rpm may have been built on a machine with wrong time)
- # let's say that if we have several one, we want the non original one
- my $file = $oldsrpm;
- foreach my $f (glob "$chroot_tmp/home/$luser/rpmbuild/SRPMS/$name-*.src.rpm") {
- $file = $f if $f ne $oldsrpm;
- }
+ my $file = (glob "$chroot_tmp/home/$luser/rpmbuild/SRPMS/$name-*.src.rpm")[0];
my ($new_srpm) = basename($file);
my $prefix = get_package_prefix($srpm);
my $newfile = "$chroot_tmp/home/$luser/rpmbuild/SRPMS/$prefix$new_srpm";