tag 495138 + pending patch
thanks

On Fri, 15 Aug 2008, Guillem Jover wrote:
> Hi,
> 
> On Thu, 2008-08-14 at 13:17:53 -0600, dann frazier wrote:
> > Package: dpkg-dev
> > Version: 1.14.20
> > Severity: important
> > 
> > Between 1.14.16 and 1.14.17, dpkg-source appears to have started omitting .a
> > files from native V1.0 format packages even outside of the debian/ 
> > directory.
> > I didn't see anything in the 1.14.17 changelog that suggests this is
> > intentional, and I haven't found a workaround for it.
> 
> Cool, reported just in time for the next upload. :) I've found the
> problem (it's now always enabling implicitly -I), but have to check
> how to fix this later as it's affecting v3 source packages which are
> supposed to have -I enabled by default.

I just pushed a simple fix for this in the lenny branch.

Cheers,

--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-08-15  Raphael Hertzog  <[EMAIL PROTECTED]>
+
+       * Dpkg/Source/Package.pm (new): Call init_options() only if
+       initialize() has been called as it's supposed to be called
+       only after the object has been upgraded to its target type.
+       (init_options): add a comment that explains that this function is
+       not called by Dpkg::Source::Package::V1::init_options() and
+       render the function more robust.
+
 2008-08-15  Ian Jackson  <[EMAIL PROTECTED]>
 
        * src/packages.c (process_queue): When onerr_abort is bigger than 0
--- a/scripts/Dpkg/Source/Package.pm
+++ b/scripts/Dpkg/Source/Package.pm
@@ -100,22 +100,27 @@ sub new {
         'options' => {},
     };
     bless $self, $class;
+    if (exists $args{'options'}) {
+        $self->{'options'} = $args{'options'};
+    }
     if (exists $args{"filename"}) {
         $self->initialize($args{"filename"});
+        $self->init_options();
     }
-    if (exists $args{"options"}) {
-        $self->{'options'} = $args{'options'};
-    }
-    $self->init_options();
     return $self;
 }
 
 sub init_options {
     my ($self) = @_;
     # Use full ignore list by default
+    # note: this function is not called by V1 packages
     $self->{'options'}{'diff_ignore_regexp'} ||= $diff_ignore_default_regexp;
-    $self->{'options'}{'tar_ignore'} = [ @tar_ignore_default_pattern ]
+    if (defined $self->{'options'}{'tar_ignore'}) {
+        $self->{'options'}{'tar_ignore'} = [ @tar_ignore_default_pattern ]
             unless @{$self->{'options'}{'tar_ignore'}};
+    } else {
+        $self->{'options'}{'tar_ignore'} = [ @tar_ignore_default_pattern ];
+    }
 }
 
 sub initialize {

-- 
Raphaël Hertzog

Le best-seller français mis à jour pour Debian Etch :
http://www.ouaza.com/livre/admin-debian/



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to