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

Bug#312004: marked as forwarded (libapache-reload-perl: Can't "use base" on multiple packages using Apache::Reload)



Your message dated Tue, 13 Sep 2005 03:30:55 +0200
with message-id <20050913013054.GW1577@diziet.irb.hr>
has caused the Debian Bug report #312004,
regarding libapache-reload-perl: Can't "use base" on multiple packages using Apache::Reload
to be marked as having been forwarded to the upstream software
author(s) Matt Sergeant <matt@sergeant.org>.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

---------------------------------------
Received: (at 312004-forwarded) by bugs.debian.org; 13 Sep 2005 01:30:51 +0000
>From mvela@irb.hr Mon Sep 12 18:30:51 2005
Return-path: <mvela@irb.hr>
Received: from mail.irb.hr [161.53.22.8] (UNKNOWN)
	by spohr.debian.org with esmtp (Exim 3.36 1 (Debian))
	id 1EEzdL-0002XF-00; Mon, 12 Sep 2005 18:30:51 -0700
Received: from diziet.irb.hr (diziet.irb.hr [161.53.22.31])
	by mail.irb.hr (8.13.3/8.13.3/Debian-6) with ESMTP id j8D1UlwC026256;
	Tue, 13 Sep 2005 03:30:47 +0200
Received: from diziet.irb.hr (localhost [127.0.0.1])
	by diziet.irb.hr (8.13.4/8.13.4/Debian-4) with ESMTP id j8D1Utj6013030;
	Tue, 13 Sep 2005 03:30:55 +0200
Received: (from mvela@localhost)
	by diziet.irb.hr (8.13.4/8.13.4/Submit) id j8D1Ut7n013028;
	Tue, 13 Sep 2005 03:30:55 +0200
Date: Tue, 13 Sep 2005 03:30:55 +0200
From: Matej Vela <vela@debian.org>
To: Matt Sergeant <matt@sergeant.org>
Cc: 312004-forwarded@bugs.debian.org
Subject: Can't "use base" on multiple packages using Apache::Reload
Message-ID: <20050913013054.GW1577@diziet.irb.hr>
References: <20050604190459.8641BB78F@toroia.hyrule.dyndns.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="MPkR1dXiUZqK+927"
Content-Disposition: inline
In-Reply-To: <20050604190459.8641BB78F@toroia.hyrule.dyndns.org>
User-Agent: Mutt/1.5.10i
X-Scanned-By: MIMEDefang 2.51 on 161.53.22.8
Delivered-To: 312004-forwarded@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-3.0 required=4.0 tests=BAYES_00 autolearn=no 
	version=2.60-bugs.debian.org_2005_01_02


--MPkR1dXiUZqK+927
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hello,

Debian has received the following bug report:

On Sat, Jun 04, 2005 at 03:04:59PM -0400, Frederic Briere wrote:
> Package: libapache-reload-perl
> Version: 0.07-3
> Severity: normal
> 
> A lot of head-scratching went into this one.  Basically, if you try:
> 
>   use base qw(Foo Bar);
> 
> Where both Foo and Bar use Apache::Reload, you'll get:
> 
>   Can't multiply inherit %FIELDS
> 
> The problem is with register_module() trying to see if there's anything
> in %Foobar::FIELDS.  This has the side effect of actually creating the
> glob entry *Foobar::FIELDS{HASH}, which leads base.pm to believe that
> we're actually using pseudo-hashes.  Hilarity ensues.
> 
> To prevent this unpleasantness, register_module() should check whether
> or not the glob HASH entry exists, and avoid touching it if it doesn't.

Preliminary patch attached.  Please keep the Cc so that our Bug Tracking
System records your reply.

Thanks!

Matej

--MPkR1dXiUZqK+927
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="Reload.pm.diff"

--- Reload.pm.orig	2001-04-22 20:09:59.000000000 +0200
+++ Reload.pm	2005-09-13 03:29:11.000000000 +0200
@@ -40,7 +40,7 @@
     }
     
     no strict 'refs';
-    if (%{"${package}::FIELDS"}) {
+    if (exists ${"${package}::"}{FIELDS}) {
         $UndefFields{$module} = "${package}::FIELDS";
     }
 }
@@ -87,7 +87,7 @@
                         $package =~ s/\.pm$//;
                         no strict 'refs';
 #                        warn "checking for FIELDS on $package\n";
-                        if (%{"${package}::FIELDS"}) {
+                        if (exists ${"${package}::"}{FIELDS}) {
 #                            warn "found fields in $package\n";
                             $UndefFields{$match} = "${package}::FIELDS";
                         }

--MPkR1dXiUZqK+927--



Reply to: