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! 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.) 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. 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. 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";
signature.asc
Description: This is a digitally signed message part.