[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: buildd autosigning and binNMU



On Sat, Apr 02, 2011 at 01:36:31PM +0200, Aurelien Jarno wrote:
> As you might know, binNMU and autosigning don't play well together. The
> packages are automatically signed, but buildd tries to move the wrong
> .changes files to the upload/ directory.

Nope, I didn't.  I assumed it's fixed.  Thanks for the report.

> The problem happens with buildd version 0.61.0-1+buildd20110330.0. It
> might be fixed in the git repository, but I don't know which one is the
> official one. The problem is in /usr/share/perl5/Buildd/Daemon.pm:

The buildd-tools/sbuild.git, branch buildd-0.61.0.

> |    my $pkg_noepoch = $pv;
> |    $pkg_noepoch =~ s/_\d*:/_/;
> |    if ($binNMUver) {
> |        $pv .= '+b' . $binNMUver;
> |    }
> |
> |    my $changes_name = $pkg_noepoch . '_' . $arch . '.changes';
> 
> binNMU version is taken into account for $pv, but $changes_name is used
> later to compute the filename.

True.  That should've been $pkg_noepoch in there, not $pv.  I think this
is what we want:

diff --git a/lib/Buildd/Daemon.pm b/lib/Buildd/Daemon.pm
index c5ee701..e19d168 100644
--- a/lib/Buildd/Daemon.pm
+++ b/lib/Buildd/Daemon.pm
@@ -672,12 +672,13 @@ sub move_to_upload {
     my $arch = $dist_config->get('BUILT_ARCHITECTURE');
     my $upload_dir = $dist_config->get('DUPLOAD_LOCAL_QUEUE_DIR');
 
-    my $pkg_noepoch = $pv;
-    $pkg_noepoch =~ s/_\d*:/_/;
     if ($binNMUver) {
         $pv .= '+b' . $binNMUver;
     }
 
+    my $pkg_noepoch = $pv;
+    $pkg_noepoch =~ s/_\d*:/_/;
+
     my $changes_name = $pkg_noepoch . '_' . $arch . '.changes';
 
     $self->log("$pv is autosigned, moving to '$upload_dir'\n");

> As the release team wants to schedule a set of binNMU, would it be
> possible for you to upload a fixed version of the buildd package?

Sure.  In a bit.

Thanks
Philipp Kern

Attachment: signature.asc
Description: Digital signature


Reply to: