# man > dpkg-genchanges(1)

[dpkg-genchanges(1)](https://www.chedong.com/phpMan.php/man/dpkg-genchanges/1/markdown)                           dpkg suite                           [dpkg-genchanges(1)](https://www.chedong.com/phpMan.php/man/dpkg-genchanges/1/markdown)



## NAME
       dpkg-genchanges - generate Debian .changes files

## SYNOPSIS
       **dpkg-genchanges** [_option_...]

## DESCRIPTION
       **dpkg-genchanges** reads information from an unpacked and built Debian source tree and from the
       files it has generated and generates a Debian upload control file (**.changes** file).

## OPTIONS
       **--build=**_type_
           Specifies the build _type_ from a comma-separated list of components (since dpkg 1.18.5).

           The allowed values are:

           **source**
               Upload the source package.

           **any** Upload the architecture specific binary packages.

           **all** Upload the architecture independent binary packages.

           **binary**
               Upload the architecture specific and independent binary packages.  This is an alias
               for **any,all**.

           **full**
               Upload everything.  This is alias for **source,any,all**, and the same as the default
               case when no build option is specified.

### -g --build=source,all

### -G --build=source,any

### -b --build=binary --build=any,all

### -B --build=any

### -A --build=all

### -S --build=source

       The **-s**_x_ options control whether the original source archive is included in the upload if any
       source is being generated (i.e.  **-b** or **-B** haven't been used).

### -si
           version number (the version without epoch and without Debian revision) differs from the
           upstream version number of the previous changelog entry.

### -sa

### -sd

### -v
           Causes changelog information from all versions strictly later than _version_ to be used.

### -C
           Read the description of the changes from the file _changes-description_ rather than using
           the information from the source tree's changelog file.

### -m
           Use _maintainer-address_ as the name and email address of the maintainer for this package,
           rather than using the information from the source tree's control file.

### -e
           Use _maintainer-address_ as the name and email address of the maintainer for this upload,
           rather than using the information from the source tree's changelog.

### -V
           Set an output substitution variable.  See [**deb-substvars**(5)](https://www.chedong.com/phpMan.php/man/deb-substvars/5/markdown) for a discussion of output
           substitution.

### -T
           Read substitution variables in _substvars-file_; the default is **debian/substvars**.  No
           variable substitution is done on any of the fields that are output, except for the
           contents extracted from each binary package **Description** field (since dpkg 1.19.0),
           however the special variable _Format_ will override the field of the same name.  This
           option can be used multiple times to read substitution variables from multiple files
           (since dpkg 1.15.6).

### -D
           Override or add an output control file field.

### -U
           Remove an output control file field.

### -c
           Specifies the main source control file to read information from. The default is
           **debian/control**.

### -l
           Specifies the changelog file to read information from. The default is **debian/changelog**.

### -f
           Read the list of files to be uploaded here, rather than using **debian/files**.

### -F
           Specifies the format of the changelog. See [**dpkg-parsechangelog**(1)](https://www.chedong.com/phpMan.php/man/dpkg-parsechangelog/1/markdown) for information about
           alternative formats.

### -u
           Look for the files to be uploaded in _upload-files-dir_ rather than **..**  (**dpkg-genchanges**
           needs to find these files so that it can include their sizes and checksums in the
           **.changes** file).

### -q
           about how many of the package's source files are being uploaded.  **-q** suppresses these
           messages.

### -O
           Print the changes file to standard output (the default) or to _filename_ if specified
           (since dpkg 1.18.5).

       **-?**, **--help**
           Show the usage message and exit.

### --version
           Show the version and exit.

## ENVIRONMENT
       **DPKG**___**COLORS**
           Sets the color mode (since dpkg 1.18.5).  The currently accepted values are: **auto**
           (default), **always** and **never**.

       **DPKG**___**NLS**
           If set, it will be used to decide whether to activate Native Language Support, also known
           as internationalization (or i18n) support (since dpkg 1.19.0).  The accepted values are:
           **0** and **1** (default).

## FILES
### debian/files
           The list of generated files which are part of the upload being prepared.  **dpkg-genchanges**
           reads the data here when producing a **.changes** file.

## SEE ALSO
       [**deb-substvars**(5)](https://www.chedong.com/phpMan.php/man/deb-substvars/5/markdown), [**deb-src-control**(5)](https://www.chedong.com/phpMan.php/man/deb-src-control/5/markdown), [**deb-src-files**(5)](https://www.chedong.com/phpMan.php/man/deb-src-files/5/markdown), [**deb-changelog**(5)](https://www.chedong.com/phpMan.php/man/deb-changelog/5/markdown), [**deb-changes**(5)](https://www.chedong.com/phpMan.php/man/deb-changes/5/markdown).



1.21.1                                       2025-09-09                           [dpkg-genchanges(1)](https://www.chedong.com/phpMan.php/man/dpkg-genchanges/1/markdown)
