Provided by: dupload_2.13.2_all bug

NAME

       dupload.conf - configuration file for dupload

DESCRIPTION

       The configuration file is rather straight forward Perl code as it is included by the dupload script via
       "do $config".  The config file is read as Perl code!

       Any dupload.conf must begin with "package config;" because "config" is the namespace expected by dupload.

       For examples of the configuration please refer to the global configuration file /etc/dupload.conf.

       It contains associative arrays, each indexed by the nickname (see --to option of dupload), for the
       following items:

       fqdn [required]
           The fully qualified domain name (FQDN) of the nickname.

           For the copy method, this option is ignored and the local FQDN will be used instead.

       method [optional]
           The transfer method. The available methods are:

           • ftp (default)

           • http (since 2.9.9)

           • https (since 2.9.9)

           • scp (since 1.8)

           • scpb (since 1.17)

           • rsync (over SSH; since 2.4.1)

           • copy (local filesystem; since 2.9.0)

           If  you  are  using  an  upload queue, use ftp because it is fast.  If you are using an authenticated
           host, always use https, or one of scp or rsync via SSH, because ftp transmits the password  in  clear
           text.

           For  scp  and  rsync  to  work  properly,  you have to setup the remote and local host to establish a
           ssh/slogin connection using .shosts/.rhosts or the files in ~/.ssh/. If you do not want or cannot  do
           that,  you  may  find  the  scpb  more  convenient  since it uploads in batch, reducing the number of
           password prompts.

           The only major caveat of the rsync and scpb options is that the files are processed in a batch  mode,
           i.e.  not  separately,  so  in  case of an error dupload will not be able to detect which part of the
           transfer failed, and just delete the .upload file completely.

       login [optional]
           The account name used to log into the remote host.  For ftp the default is  anonymous,  which  should
           work  with  firewall logins too.  For scp, scpb and rsync the default is delegated to SSH and its own
           configuration.  For http and https there is no default.

       passwordcmd [optional] (since 2.9.9)
           The command to retrieve a password.  It is expected to output the password on stdout.

           If this option has not been specified, and  the  secret-tool  program  is  installed,  the  following
           command  will  be  used  to  retrieve the password from a system secrets store via the Secret Service
           interface:

             secret-tool lookup host host user user service dupload

           If the command fails, then the password will be requested from a prompt.

       password [optional]
           The FTP password for anonymous logins.

       filemode [optional] (since 2.9.1)
           The destination files mode, in octal. If the value is undef, the  mode  will  not  be  modified.  The
           default is 0644.

       incoming [required]
           Incoming directory, the directory we try to upload to.

       queuedir [optional]
           The  directory  we move the uploaded files to (after successful upload to incoming. Usually necessary
           only with some special upload queues.

       keyrings [optional] (since 2.12.0)
           The list of OpenPGP keyrings containing OpenPGP certificates  that  are  used  to  verify  signatures
           allowed for uploads to this host.  Used by the OpenPGP verification hook.

       distallowlist [optional] (since 2.9.6)
           The  regex  of  the  distributions allowed for this host. This check is done against the Distribution
           field in the .changes file.

       distblocklist [optional] (since 2.9.6)
           The regex of the distributions blocked for this host. This check is  done  against  the  Distribution
           field in the .changes file.

       mail [optional] (since 2.9.9)
           The  email  addresses  ("to"  and  "cc")  where  the  announcement  about  the upload for the "match"
           distribution should be sent.

           This is an array of hashes with the following keys:

           match [required]
               The regex of the distribution that needs to match to send an announcement.

           to [required]
               Email address where the announcement about the packages is sent.

           cc [optional]
               Email address where to send a copy address of the announcement.

       fullname [optional]
           Your full name, one that should appear in the announcement.

           If you leave this setting empty, the default will depend on your mail system. Usually the  full  name
           will be copied from the GCOS field in /etc/passwd.

       visibleuser [optional]
           Your username that should appear in the announcement. Defaults to getlogin().

       visiblename [optional]
           The host/domain name that appears as the part to the right of the @ character in the from-part of the
           announcement. Defaults to the value your local MTA likes.

       passive [optional] (since 2.0)
           Set the passive mode for FTP transfers. Since dupload uses Net::FTP, you can also use the environment
           variable FTP_PASSIVE.

       options [optional] (since 2.6.3.1)
           An  array  reference  containing  option  strings  (since 2.10.2), that will be added verbatim to the
           command line of any scp or rsync calls done.

           For backwards compatibility it can  also  be  specified  as  a  scalar  string,  but  this  usage  is
           discouraged and will be deprecated in the future.

       dinstall_runs [optional] (since 2.1)
           Tells  dupload  that  the  remote  host runs dinstall (or equivalent) so that dupload will not send a
           duplicate announcement mail.  The default is 0 (false), set it to 1 to enable it.

       archive [optional] (since 2.0)
           If set to 0 (false), adds a X-No-Archive: yes header in the announcement.  The default is 1 (true).

       The configuration files also contain the following global variables:

       default_host [optional] (since 2.1)
           The default host to upload to. The default value of this variable is set  depending  on  the  current
           vendor, but if there is no configuration for that vendor it will be left unset.

       mta [optional] (since 2.9.8)
           The  pathname  to a sendmail compatible MTA.  The MTA specified must support the -f option to set the
           envelope sender address, and  the  -F  option  to  set  the  sender's  full  name.   The  default  is
           /usr/sbin/sendmail.

       no_parentheses_to_fullname [optional] (since 2.1)
           Prevents dupload to add parentheses around the full name when making mail announcements. Default is 0
           (false), set it to 1 to enable it.

HOOKS

       Hooks are a powerful way to add actions which will be run before or after a dupload (like the preinst and
       postinst script of dpkg).

       You  have two sorts of hooks: pre-upload and post-upload. Both are simple shell commands (executed by "sh
       -c" so you can use any shell tricks).  Pre-uploads are always run (even in dry mode) and stop dupload  if
       they  fail (failure being measured by the hook's exit status). Post-uploads are only run when you are not
       in dry mode and only if the uploading succeeded.

       Hooks get information about themselves and the nickname acted on through the environment (since  2.10.0),
       with several matching the configuration options for the current nickname:

       DUPLOAD_HOOK
           The hook category.

       DUPLOAD_HOST
           The host nickname.

       DUPLOAD_METHOD
           Same as the method option.

       DUPLOAD_FQDN
           Same as the fqdn option.

       DUPLOAD_LOGIN
           Same as the login option.

       DUPLOAD_INCOMING
           Same as the incomingdir option.

       DUPLOAD_QUEUEDIR
           Same as the queuedir option.

       DUPLOAD_KEYRINGS
           Same as the keyrings option.

       DUPLOAD_SSH_OPTIONS
           Same as the options option.

       DUPLOAD_FTP_PASSIVE
           Same as the queuedir option.

       Both sorts of hooks are run for a given category: changes, sourcepackage, package, file, deb and host.

       changes
           This  hook  is  run  once per changes file (given as an argument to dupload) with the filename as its
           parameter.

       sourcepackage
           This hook is run once per changes file with the source package  name  and  its  version  as  its  two
           parameters.

       package
           This  hook  is  run once per binary package (a deb file) with the package name and its version as its
           two parameters.

       file
           This hook is run once per uploaded file, with the file name as its parameter.

       deb This hook is run once per binary package (a deb file) with the filename as its parameter.

       host (since 2.10.0)
           This hook is run once before any other pre hook and after any post hook, with the host  name  as  its
           parameter.

   Syntax
       Hooks  are  defined in two Perl hashes, %preupload and %postupload, each indexed by category. In addition
       to the global hashes, each host entry has two fields with the same names, for the host-specific hooks.

       Hooks are defined as array references with each item executed in sequence.

       The shell command will be substituted first: %1 will be replace by the first argument, etc.

   Per-host or global hooks
       Hooks can be global (for all the hosts) or can be for a specific host.  Host specific hooks override  the
       global ones for each category.

   Examples
       This  one runs lintian before uploading. It is global and guarantees that you will always upload lintian-
       clean packages (thanks to lintian return status).

            $preupload{'deb'} = [ 'lintian -v -i %1' ];

       This one just display the name and versions of successfully uploaded packages.

            $postupload{'package'} = [ 'echo PACKAGE %1 %2 uploaded' ];

       Unlike the two others, this one is specific to one host, debian-ssh, and  overrides  the  default  global
       hook in charge of checking the OpenPGP signatures:

            $cfg{'debian-ssh'}{preupload}{'changes'} = [ 'echo Uploading %1' ];

FILES

       /etc/dupload.conf
       ~/.dupload.conf
       --configfile config-file
           The configuration files are loaded if available in the order listed, overriding previous files.

ENVIRONMENT

       FTP_FIREWALL
       FTP_PASSIVE
           Those of Net::FTP for the ftp method.

       http_proxy or HTTP_PROXY
       https_proxy or HTTPS_PROXY
       all_proxy or ALL_PROXY
       no_proxy
       REQUEST_METHOD
           Those of HTTP::Tiny for the http and https methods.

2.13.2                                             2025-03-07                                    dupload.conf(5)