Hi

On Sun, Sep 23, 2007 at 11:49:36AM +0000, Julian Mehnle wrote:
> Ola Lundqvist wrote:
> > I have now tried to reproduce your problem, but failed.
> >
> > The current code that cause the warning looks like this:
> >
> > if (-e $etcconfigfile) {
> >     my $t = do $etcconfigfile;
> >     unless ($t) {
> >     pdebug(3, "Loading config file $etcconfigfile:\n\t$!\n\t$@");
> >     }
> > }
> >
> > So I created the following test code:
> >
> > my $t = do "test.conf";
> > unless ($t) {
> >     print "[EMAIL PROTECTED]";
> > }
> >
> > And then copied your config file to test.conf.
> >
> > I did not get any output.
> 
> Oh, now I get what the problem is!

Good.

> I had sent you only my input.conf file from my (currently single) 
> debarchive's incoming/ directory, but not my /etc/debarchiver.conf file, 
> because I had all configuration directives commented out in the latter!  
> (I don't want to set any options globally.)
> 
> Now it occurs to me that debarchiver reads /etc/debarchiver.conf and since 
> it contains only empty and comment lines, the result of do() is 0, but $! 
> and $@ are empty since no error actually occurs.  (Still no idea where 
> the '^I's come from, though.)

Then I understand.

> So I think debarchiver should check $! and $@ rather than the result of 
> do() ("unless ($t)"), which really says nothing about whether the file 
> could be read and compiled successfully, UNLESS you require every 
> configuration file to end with a true-valued statement (which the 
> debarchiver man-page says nothing about).  And I would not make such a 
> requirement.  Checking $! and $@ should do just fine.

The problem here is that $! $@ can contain quite different values, as
you noticed... I do not know if perl actually requires the file to end
with a true statement or not. Maybe it does. I have not checked the
documentation for that.

> If, however, you absolutely do not want to do this, then consider this bug 
> report a request for documentation of the "config files must end with 1;" 
> requirement.

I'll check which is best. I'll consider checking $! but if that is not
possible, I'll update the documentation instead.

Best regards,

// Ola

> Thanks,
> Julian.

> # This is a sample configuration file.
> # 
> # The configuration file consist of perl variables that can be set to
> # different values. The suggested value in this sample configuration file
> # is the default value set by debarchiver.
> 
> # $destdir = "/var/lib/debarchiver/dists";
> # $inputdir = "/var/lib/debarchiver/incoming";
> # $copycmd = "cp -af";
> # $movecmd = "mv";
> # $rmcmd = "rm -f";
> # $vrfycmd = "dscverify";
> # $cinstall = "installed";
> # $distinputcriteria = "^linux.*\\.deb\$";
> 
> # Choose to enable or disable signature verification for packages uploaded
> # into $inputdir (not %distinputdirs).
> # $verifysignatures = 0;
> 
> # Choose to enable or disable signature verification for packages uploaded
> # into %distinputdirs. This works indepentently from $verifysignatures.
> # $verifysignaturesdistinput = 0;
> 
> # Generate bzip2 files or not (1 will generate and 0 will not do so).
> # $bzip = 0;
> 
> # This one is used for debarchives that matches distinput criteria.
> # %distinputdirs =
> #     (
> #     stable => 'stable',
> #     testing => 'testing',
> #     unstable => 'unstable'
> #     );
> 
> # What distributions that should exist.
> # @distributions = ('stable', 'testing', 'unstable');
> 
> # Default major section to install to, if not defined in the uploaded files.
> # $majordefault = "main";
> 
> # Mapping of aliases.
> # OBS! If you create a mapping that will only be created if you have
> #  added the key to @distributions above. If you want the symlink to be 
> created
> #  in a proper way you MUST add them at the same time. Else you will have
> #  two directories that are independent (and not mapped).
> # %distmapping =
> #     (
> #     stable => 'etch',
> #     testing => 'lenny',
> #     unstable => 'sid'
> #     );
> 
> # What architectures that should exist (automatically created).
> # All and source will exist anyway.
> # @architectures = ('i386');
> 
> # What sections that should exist.
> # @sections = ('main', 'contrib', 'non-free');
> 
> # What changes file fields that should be used for determine where to send
> # mail. If there is an '@' character is found here it will be used directly
> # without consulting the .changes-file. Default is to mail no one. If there
> # is an '@' character in the beginning, the user owning the file will be
> # prepended.
> # @mailtos = ('Maintainer',          The Maintainer field in control file
> #           'Uploaders',           The Uploaders field in control file
> #             '@bar.com',            User id @bar.com that own the changes 
> file
> #             '[EMAIL PROTECTED]',   An explicit email address
> #             'Changed-By');         The email in the changelog file
> 
> # If you want additional information in the generated Release files you have
> # to set this hash-value.  Supported keys are origin, label, and description.
> 
> # %release = (        'origin' => "",
> #             'label' => "",
> #             'description' => "");
> 
> # Where to put the apt-ftparchive cache files if --index is used.  Default
> # is /var/cache/debarchiver.  Must be a directory.
> # $cachedir = '/var/cache/debarchiver';
> 
> # GnuPG key to use to sign the archive.
> # $gpgkey = "";
> 
> # File to provide password to GnuPG.
> # If you use a key with an empty passphrase, set this variable to 0 or "".
> # If the file does not exist, debarchiver will also fall back to "".
> # $gpgpassfile = "$ENV{HOME}/.gnupg/passphrase";




-- 
 --------------------- Ola Lundqvist ---------------------------
/  [EMAIL PROTECTED]                     Annebergsslingan 37      \
|  [EMAIL PROTECTED]                     654 65 KARLSTAD          |
|  http://opalsys.net/                 +46 (0)70-332 1551       |
\  gpg/f.p.: 7090 A92B 18FE 7994 0C36  4FE4 18A1 B1CF 0FE5 3DD9 /
 ---------------------------------------------------------------



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

Reply via email to