Provided by: duck_0.14.2_all bug

NAME

       duck - the Debian Url ChecKer

SYNOPSIS

        duck  [ OPTION ]... [-f file] [-u file] [-c file] [URL]

DESCRIPTION

       duck extracts links, email address domains and VCS-* entries from the following files:

       o      debian/control

       o      debian/upstream, debian/upstream-metadata.yaml and debian/upstream/metadata

       o      debian/copyright

       o      DEP-3 patch files in every directory a series file is found

       o      systemd.unit  files  (*.socket,  *.device,  *.mount, *.automount, *.swap, *.target,
              *.path, *.time, *.snapshot, *.slice, *.scope)

       o      Appstream files (*.appdata)

       If an URL is supplied, duck uses dget to download the  specified  URL  and  processes  the
       downloaded source package (*.dsc file) instead of working on the current directory.

       It  tries  to  access  those VCS-* entries and URLs using the appropriate tool to find out
       whether the given URLs or entries are broken or  working.  If  errors  are  detected,  the
       filename, fieldname and URL/email of the broken entry are displayed.

       duck  will search for the default files (see above) and skip them silently, if they cannot
       be found.  If specific filenames for options -c, -f or -u are  given,  and  one  of  those
       files cannot be found, duck exits with exit code 2.

       Email  address domains are checked for existing MX records, A records, or AAAA records, in
       this order. If none of these 3 are found for a given domain, it is considered broken.

       Checks results are displayed with 3 different error levels

       O:     (OK) Indicates that the given check did not result in an error. Only shown if -n is
              used.

       I:     (Information)  Indicates  informational  warnings, suchs as missing helper tools as
              well as failing  checks  based  on  searches  in  unstructured  text  files,  which
              sometimes lead to false positives.

       E:     (Error)  Indicates  failing  checks  based  on  data from well-defined fields (e.g.
              Homepage: entry in debian/control).

       and 3 different certainty-levels

       certain
              Data taken from well defined fields. As the format of this field is specified (e.g.
              Debian  Policy,  etc.),  it  can be checked by the appropriate tools. If this check
              then fails, the data in the field is certainly erroneous.

       possible
              Data extracted using regular expressions (e.g. email addresses, URLs).  This  might
              lead to false positives, so the check result is possibly a false positive.

       wild-guess
              Data  extracted  from  websites,  by  using  regular  expressions.  This  is  still
              experimental and probably buggy, hence the "wild-guess".

OPTIONS

       -n     dry run. Don't run any checks, just show entries to be checked.

       -q     quiet mode. Suppress all output.

       -v     verbose mode. This shows all URLs found and the checks run.

       --modules-dir=DIRECTORY
              specify modules directory.  Mostly  useful  for  developing  new  checks.  If  this
              parameter  is  specified, only modules defined in this directory are used. You have
              to copy all *.pm files from /usr/share/duck/lib/checks to the directory specified.

       --color=[WHEN]
              Specify when to emit escape sequences to the output. Available options are:

                      auto Emit color escape codes on STDOUT/STDERR, no color if output is  piped
                      to a file or the current terminal is not capable of displaying colors.

                      always Always emit color escape codes.

                      never Never emit color escape codes.

       --no-https     do  not  try  to  find  matching  https  URLs  to  http  URLs. See also the
                      DUCK_NOHTTPS environment variable.

       --no-check-certificate
                      do not check if SSL certificates autenticity. This is highly discouraged!

       --missing-helpers
                      display list of missing external helper tools and exits.

       --version      display copyright and version information

       -f             specify path to control file. This overrides the default debian/control.

       -F             skip processing of the control file.

       -u             specify path to upstream metadata file. This overrides  the  default  files
                      debian/upstream,              debian/upstream-metadata.yaml             and
                      debian/upstream/metadata.

       -U             skip processing of the upstream metadata file.

       -c             specify   path   to   copyright   file.   This   overrides   the    default
                      debian/copyright.

       -C             skip processing of copyright file.

       -P             skip processing of patch files.

       -A             skip processing of appstream metadata files.

       -S             skip processing of systemd.unit files.

       -l filename    Process  URLs,  email  addresses,  git://  and svn:// entries from the file
                      specified. Specify one entry per line. This also disables all  other  check
                      modules searching for entries in various files.

       --disable-urlfix=<fix1,...>
                      disables   the   specified   url   fix(es).   An  urlfix  tries  to  remove
                      leading/trailing characters from extracted  URLs,  like  trailing  dots  or
                      parentheses.  Using this parameter enables all urlfixes minus the specified
                      ones.

       --enable-urlfix=<fix1,...>
                      enables the specified  url  fix(es).  Using  this  parameter  disabled  all
                      urlfixes minus the specified ones.

                      The following urlfixes are available:

                      TRAILING_COLON Removes trailing colon ":" character.

                      TRAILING_PAREN_DOT Removes the string ")." from the end of the URL.

                      TRAILING_PUNCTUATION Removes trailing "." and "," characters.

                      TRAILING_QUOTES Removes trailing single quotes "'" characters. Note: Double
                      quotes (") are already correctly handled by the used perl regex matchers.

                      TRAILING_SLASH_DOT Removes the string "/." (without the  quotes)  from  the
                      end of the URL.

                      TRAILING_SLASH_PAREN  Removes the string "/)" (without the quotes) from the
                      end of the URL.

       --tasks=[number]
                      Specify the number of checks allowed to run in parallel. Default  value  is
                      24. This value must be an integer value >0.

       All urlfixes are enabled by default.

ENVIRONMENT VARIABLES

       DUCK_NOHTTPS
              If this variable is set, do not try to find matching https URLs to http URLs.

       XDG_CONFIG_HOME
              if this variable is set, use the config file (if any) $XDG_HOME/duck/duck.conf. The
              default value is $HOME/.config/duck/duck.conf .

       XDG_CONFIG_DIRS
              defines the preference-ordered set of base directories to search for  configuration
              files  in  addition  to  the  XDG_CONFIG_HOME  base  directory.  The directories in
              XDG_CONFIG_DIRS should be separated with a colon ':'.

EXAMPLE

       To run duck, change your working directory to an extracted Debian source package and run:
        duck

EXIT STATUS

       0      Success, no errors

       1      Error(s) detected

       2      User-specified file not found

FILES

       debian/duck-overrides
              Overrides-file in the Debian package source tree. This files contains a list of URL
              regexs  which should not be reported as down/broken. This might be useful in cases,
              where URLs are extracted from old/outdated copyright-files or patches,  which  will
              never  ever  be working, and which will then lead to false positives. Please see an
              example in /usr/share/doc/duck/examples.

       duck.conf
              Config file which contains the regular expressions used to  detect  parked  domains
              and  redirected  websites.  The  default  file is in /etc/duck/duck.conf. duck also
              honors the XDG Base Directory Specification, see the section ENVIRONMENT  VARIABLES
              for details.  Search order for duck.conf is:

              $XDG_CONFIG_HOME/duck/duck.conf (default: $HOME/.config/duck/duck.conf)

              /etc/duck/duck.conf

              /$XDG_CONFIG_DIRS (default: /etc/xdg/duck/duck.conf)

              Please       see       the       XDG       Base       Directory       Specification
              (https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html)  for
              more details.

SEE ALSO

       Please  see  http://duck.debian.net/  for additional information as well as an overview of
       duck checks run on all source packages in Debian/unstable.

                                            2017-08-10                                    DUCK(1)