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]