{
    "mode": "man",
    "parameter": "debc",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/debc/1/json",
    "generated": "2026-06-12T01:38:55Z",
    "synopsis": "debc [options] [changes file] [package ...]",
    "sections": {
        "NAME": {
            "content": "debc - view contents of a generated Debian package\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "debc [options] [changes file] [package ...]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "debc figures out the current version of a package and displays information about the .deb and\n.udeb files which have been generated in the current build process.  If a  .changes  file  is\nspecified  on  the command line, the filename must end with .changes, as this is how the pro‐\ngram distinguishes it from package names.  If not, then debc has to be called from within the\nsource  code  directory tree.  In this case, it will look for the .changes file corresponding\nto the current package  version  (by  determining  the  name  and  version  number  from  the\nchangelog,  and the architecture in the same way as dpkg-buildpackage(1) does).  It then runs\ndpkg-deb -I and dpkg-deb -c on every .deb and .udeb archive listed in the  .changes  file  to\ndisplay  information about the contents of the .deb / .udeb files.  It precedes every .deb or\n.udeb file with the name of the file.  It assumes that all of the .deb / .udeb archives  live\nin  the  same  directory  as  the .changes file.  It is useful for ensuring that the expected\nfiles have ended up in the Debian package.\n\nIf a list of packages is given on the command line, then only those debs or udebs with  names\nin this list of packages will be processed.\n",
            "subsections": [
                {
                    "name": "Directory name checking",
                    "content": "In common with several other scripts in the devscripts package, debc will climb the directory\ntree until it finds a debian/changelog file.  As a safeguard against stray files causing  po‐\ntential  problems,  it  will  examine  the name of the parent directory once it finds the de‐\nbian/changelog file, and check that the directory name corresponds to the package name.  Pre‐\ncisely   how   it   does   this  is  controlled  by  two  configuration  file  variables  DE‐‐\nVSCRIPTSCHECKDIRNAMELEVEL and DEVSCRIPTSCHECKDIRNAMEREGEX, and their corresponding com‐\nmand-line options --check-dirname-level and --check-dirname-regex.\n\nDEVSCRIPTSCHECKDIRNAMELEVEL can take the following values:\n\n0      Never check the directory name.\n\n1      Only check the directory name if we have had to change directory in our search for de‐\nbian/changelog.  This is the default behaviour.\n\n2      Always check the directory name.\n\nThe directory name is checked by testing whether the current directory name (as determined by\npwd(1))    matches    the    regex    given    by   the   configuration   file   option   DE‐‐\nVSCRIPTSCHECKDIRNAMEREGEX or by the command line option --check-dirname-regex regex.  Here\nregex  is  a  Perl regex (see perlre(3perl)), which will be anchored at the beginning and the\nend.  If regex contains a '/', then it must match the full directory path.  If not,  then  it\nmust match the full directory name.  If regex contains the string ´PACKAGE', this will be re‐\nplaced by the source package name, as determined from the changelog.  The default  value  for\nthe regex is: ´PACKAGE(-.+)?', thus matching directory names such as PACKAGE and PACKAGE-ver‐\nsion.\n"
                }
            ]
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-a -t",
                    "content": "See dpkg-architecture(1) for a description of these options.  They affect  the  search\nfor  the .changes file.  They are provided to mimic the behaviour of dpkg-buildpackage\nwhen determining the name of the .changes file.\n\n--debs-dir directory\nLook for the .changes, .deb and .udeb files in directory instead of the parent of  the\nsource  directory.   This  should either be an absolute path or relative to the top of\nthe source directory.\n\n--check-dirname-level N\nSee the above section Directory name checking for an explanation of this option.\n\n--check-dirname-regex regex\nSee the above section Directory name checking for an explanation of this option.\n",
                    "flag": "-t"
                },
                {
                    "name": "--list-changes",
                    "content": "List the filename of the .changes file, and do not display anything else. This  option\nonly makes sense if a .changes file is NOT passed explicitly in the command line. This\ncan be used for example in a script that needs to reference the .changes file, without\nhaving to duplicate the heuristics for finding it that debc already implements.\n",
                    "long": "--list-changes"
                },
                {
                    "name": "--list-debs",
                    "content": "List the filenames of the .deb packages, and do not display their contents.\n\n--no-conf, --noconf\nDo  not read any configuration files.  This can only be used as the first option given\non the command-line.\n\n--help, --version\nShow help message and version information respectively.\n",
                    "long": "--list-debs"
                }
            ]
        },
        "CONFIGURATION VARIABLES": {
            "content": "The two configuration files /etc/devscripts.conf and ~/.devscripts are sourced in that  order\nto  set  configuration variables.  Command line options can be used to override configuration\nfile settings.  Environment variable settings are ignored for this  purpose.   The  currently\nrecognised variables are:\n\nDEBRELEASEDEBSDIR\nThis  specifies the directory in which to look for the .changes, .deb and .udeb files,\nand is either an absolute path or relative to the top of the source tree.  This corre‐\nsponds to the --debs-dir command line option.  This directive could be used, for exam‐\nple, if you always use pbuilder or svn-buildpackage to build your packages.  Note that\nit also affects debrelease(1) in the same way, hence the strange name of the option.\n\nDEVSCRIPTSCHECKDIRNAMELEVEL, DEVSCRIPTSCHECKDIRNAMEREGEX\nSee  the  above section Directory name checking for an explanation of these variables.\nNote that these are package-wide configuration variables, and  will  therefore  affect\nall  devscripts scripts which check their value, as described in their respective man‐\npages and in devscripts.conf(5).\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "debdiff(1), dpkg-deb(1), devscripts.conf(5)\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Julian Gilbey <jdg@debian.org>, based on an original  script  by  Christoph  Lameter  <clame‐\nter@debian.org>.\n\n\n\nDEBIAN                                    Debian Utilities                                   DEBC(1)",
            "subsections": []
        }
    },
    "summary": "debc - view contents of a generated Debian package",
    "flags": [
        {
            "flag": "-t",
            "long": null,
            "arg": null,
            "description": "See dpkg-architecture(1) for a description of these options. They affect the search for the .changes file. They are provided to mimic the behaviour of dpkg-buildpackage when determining the name of the .changes file. --debs-dir directory Look for the .changes, .deb and .udeb files in directory instead of the parent of the source directory. This should either be an absolute path or relative to the top of the source directory. --check-dirname-level N See the above section Directory name checking for an explanation of this option. --check-dirname-regex regex See the above section Directory name checking for an explanation of this option."
        },
        {
            "flag": "",
            "long": "--list-changes",
            "arg": null,
            "description": "List the filename of the .changes file, and do not display anything else. This option only makes sense if a .changes file is NOT passed explicitly in the command line. This can be used for example in a script that needs to reference the .changes file, without having to duplicate the heuristics for finding it that debc already implements."
        },
        {
            "flag": "",
            "long": "--list-debs",
            "arg": null,
            "description": "List the filenames of the .deb packages, and do not display their contents. --no-conf, --noconf Do not read any configuration files. This can only be used as the first option given on the command-line. --help, --version Show help message and version information respectively."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "debdiff",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/debdiff/1/json"
        },
        {
            "name": "dpkg-deb",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/dpkg-deb/1/json"
        },
        {
            "name": "devscripts.conf",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/devscripts.conf/5/json"
        }
    ],
    "tldr": {
        "source": "not_found",
        "examples": []
    }
}