=head1 SYNOPSIS
-B<dh_installchangelogs> [<S<I<debhelper options>>] [B<-k>] [I<upstream>]
+B<dh_installchangelogs> [S<I<debhelper options>>] [B<-k>] [I<upstream>]
=head1 DESCRIPTION
files named debian/package.changelog exist, they will be used in preference
to debian/changelog.)
-If an upstream changelog file is specified as an option, and the package is
-not a native debian package, then this upstream changelog will be installed
-as usr/share/doc/package/changelog in the package build directory. If the
+Parallelling the debian changelog handling, this program also takes care of
+NEWS.Debian files. If there is a debian/NEWS file, it is installed as
+usr/share/doc/package/NEWS.Debian. debian/package.NEWS files can also be
+used.
+
+An upstream changelog file may be specified as an option. If none is
+specified, a few common filenames are tried. (In compatability level 7 and
+above.)
+
+If there is an upstream changelog file, it will be be installed as
+usr/share/doc/package/changelog in the package build directory. If the
changelog is a html file (determined by file extension), it will be
installed as usr/share/doc/package/changelog.html instead, and will be
converted to plain text with html2text to generate
=back
-=head1 NOTES
-
-It is an error to specify an upstream changelog file for a debian native
-package.
-
=cut
init();
my $upstream=shift;
-
-if (isnative($dh{MAINPACKAGE}) && defined $upstream) {
- error("Cannot specify an upstream changelog for a native debian package.");
-}
-
my $changelog_name="changelog.Debian";
-if (isnative($dh{MAINPACKAGE})) {
- $changelog_name='changelog';
+if (! defined $upstream) {
+ if (! isnative($dh{MAINPACKAGE}) && !compat(6)) {
+ my @files=sort glob("*");
+ foreach my $name (qw{changelog changes}) {
+ my @matches=grep { lc $_ eq $name } @files;
+ if (@matches) {
+ $upstream=shift @matches;
+ last;
+ }
+ }
+ }
+ if (isnative($dh{MAINPACKAGE})) {
+ $changelog_name='changelog';
+ }
}
+my $news_name="NEWS.Debian";
foreach my $package (@{$dh{DOPACKAGES}}) {
+ next if is_udeb($package);
+
my $tmp=tmpdir($package);
my $changelog=pkgfile($package,"changelog");
+ my $news=pkgfile($package,"NEWS");
if (!$changelog) {
$changelog="debian/changelog";
}
+ if (!$news) {
+ $news="debian/NEWS";
+ }
if (! -e $changelog) {
error("could not find changelog $changelog");
}
doit("install","-o",0,"-g",0,"-p","-m644",$changelog,
"$tmp/usr/share/doc/$package/$changelog_name");
+ if (-e $news) {
+ doit("install","-o",0,"-g",0,"-p","-m644",$news,
+ "$tmp/usr/share/doc/$package/$news_name");
+ }
- if ($upstream) {
+ if (defined $upstream) {
my $link_to;
if ($upstream=~m/\.html?$/i) {
# HTML changelog
=head1 SEE ALSO
-L<debhelper(1)>
+L<debhelper(7)>
This program is a part of debhelper.