# dpkg manual page - dpkg-genchanges(1)
#
# Copyright © 1995-1996 Ian Jackson <ijackson@chiark.greenend.org.uk>
# Copyright © 2000 Wichert Akkerman <wakkerma@debian.org>
# Copyright © 2006-2016 Guillem Jover <guillem@debian.org>
# Copyright © 2008-2010 Raphaël Hertzog <hertzog@debian.org>
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

=encoding utf8

=head1 NAME

dpkg-genchanges - generate Debian .changes files

=head1 SYNOPSIS

B<dpkg-genchanges>
[I<option>...]

=head1 DESCRIPTION

B<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
(B<.changes> file).

=head1 OPTIONS

=over

=item B<--build=>I<type>

Specifies the build I<type> from a comma-separated list of components
(since dpkg 1.18.5).

The allowed values are:

=over

=item B<source>

Upload the source package.

=item B<any>

Upload the architecture specific binary packages.

=item B<all>

Upload the architecture independent binary packages.

=item B<binary>

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

=item B<full>

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

=back

=item B<-g>

Equivalent to B<--build=source,all> (since dpkg 1.17.11).

=item B<-G>

Equivalent to B<--build=source,any> (since dpkg 1.17.11).

=item B<-b>

Equivalent to B<--build=binary> or B<--build=any,all>.

=item B<-B>

Equivalent to B<--build=any>.

=item B<-A>

Equivalent to B<--build=all>.

=item B<-S>

Equivalent to B<--build=source>.

=back

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

=over

=item B<-si>

By default, or if specified, the original source will be included only if
the upstream version number (the version without epoch and without Debian
revision) differs from the upstream version number of the previous
changelog entry.

=item B<-sa>

Forces the inclusion of the original source.

=item B<-sd>

Forces the exclusion of the original source and includes only the diff.

=item B<-v>I<version>

Causes changelog information from all versions strictly later than
I<version>
to be used.

=item B<-C>I<changes-description>

Read the description of the changes from the file
I<changes-description>
rather than using the information from the source tree's changelog
file.

=item B<-m>I<maintainer-address>

Use
I<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.

=item B<-e>I<maintainer-address>

Use
I<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.

=item B<-V>I<name>B<=>I<value>

Set an output substitution variable.
See B<deb-substvars>(5) for a discussion of output substitution.

=item B<-T>I<substvars-file>

Read substitution variables in
I<substvars-file>;
the default is
B<debian/substvars>.
No variable substitution is done on any of the fields that are output,
except for the contents extracted from each binary package B<Description>
field (since dpkg 1.19.0), however the special variable I<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).

=item B<-D>I<field>B<=>I<value>

Override or add an output control file field.

=item B<-U>I<field>

Remove an output control file field.

=item B<-c>I<controlfile>

Specifies the main source control file to read information from. The
default is
B<debian/control>.

=item B<-l>I<changelog-file>

Specifies the changelog file to read information from. The
default is
B<debian/changelog>.

=item B<-f>I<files-list-file>

Read the list of files to be uploaded here, rather than using
B<debian/files>.

=item B<-F>I<changelog-format>

Specifies the format of the changelog. See B<dpkg-parsechangelog>(1)
for information about alternative formats.

=item B<-u>I<upload-files-dir>

Look for the files to be uploaded in
I<upload-files-dir>
rather than
B<..>
(B<dpkg-genchanges>
needs to find these files so that it can include their sizes and
checksums in the
B<.changes>
file).

=item B<-q>

Usually
B<dpkg-genchanges>
will produce informative messages on standard error, for example about
how many of the package's source files are being uploaded.
B<-q>
suppresses these messages.

=item B<-O>[I<filename>]

Print the changes file to standard output (the default) or to I<filename>
if specified (since dpkg 1.18.5).

=item B<-?>, B<--help>

Show the usage message and exit.

=item B<--version>

Show the version and exit.

=back

=head1 ENVIRONMENT

=over

=item B<DPKG_COLORS>

Sets the color mode (since dpkg 1.18.5).
The currently accepted values are: B<auto> (default), B<always> and
B<never>.

=item B<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: B<0> and B<1> (default).

=back

=head1 FILES

=over

=item B<debian/files>

The list of generated files which are part of the upload being
prepared.
B<dpkg-genchanges>
reads the data here when producing a
B<.changes>
file.

=back

=head1 SEE ALSO

B<deb-substvars>(5),
B<deb-src-control>(5),
B<deb-src-files>(5),
B<deb-changelog>(5),
B<deb-changes>(5).
