DH_INSTALLCHANGELOGS(1)

πŸ’– DH_INSTALLCHANGELOGS(1) πŸ’–

okay bestie, so this is a page from the Debhelper manual, and today we're getting into dh_installchangelogs ✨


🌸 NAME 🌸

dh_installchangelogs β€” she installs changelogs into package build directories, and she does it flawlessly πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

dh_installchangelogs [debhelper options] [-k] [-Xitem] [--no-trim]
[upstream]

✨ DESCRIPTION ✨

So dh_installchangelogs is a debhelper program, and her whole entire job β€” her main character purpose, fr fr β€” is installing changelogs into package build directories. πŸŽ€

You can specify an upstream changelog file as an option. But if you don't? No worries babe, dh_installchangelogs will go looking for files whose names seem likely to be changelogs, as described in the next few paragraphs. She's nosy like that, but in a helpful way 🫢

If a changelog file is specified and it's an html file (and yes, she determines that by the file extension, okay, that's just how it is), then it gets installed as usr/share/doc/package/changelog.html instead. Iconic. And if that html changelog gets converted to plain text, you can specify that variant as a second parameter. When you don't give a plain text variant, she generates a short usr/share/doc/package/changelog that just points readers at the html changelog file. lowkey genius.

Now, the debchange-style Debian changelogs get trimmed so they only include entries more recent than the release date of oldstable. That's the default, periodt. But no trimming will happen if you pass the --no-trim option, or if the DEB_BUILD_OPTIONS environment variable contains notrimdch. So you do have options, bestie πŸ’œ


πŸ“ FILES πŸ“

  • debian/changelog
  • debian/NEWS
  • debian/package.changelog
  • debian/package.NEWS

These get automatically installed into usr/share/doc/package/ in the package build directory. πŸ¦‹

Use the package-specific name if your package needs a different NEWS or changelog file β€” like, one size doesn't fit all, and that's valid.

The changelog file is installed with a name of changelog for native packages, and changelog.Debian for non-native packages. The NEWS file is always installed with a name of NEWS.Debian, no exceptions, no cap 🧚


πŸ‘‘ OPTIONS πŸ‘‘

  • -k, --keep β€” Keep the original name of the upstream changelog. How? She installs the upstream changelog as changelog, and makes a symlink from that to the original name of the changelog file. Super useful if your upstream changelog has a weird little name, or if other documentation in the package refers to the changelog file. messy name, clean solution, we love to see it πŸ’–
  • -Xitem, --exclude=item β€” Exclude upstream changelog files that contain item anywhere in their filename from being installed.
Heads up bestie: the directory name of the changelog is also part of the match. so watch out πŸ‘€
  • --no-trim β€” Install the full changelog, not its trimmed version that only includes recent entries. all of it, no cuts, the whole saga πŸ”₯
  • upstream β€” Install this file as the upstream changelog. simple as that, slay πŸ’…

🌈 SEE ALSO 🌈

debhelper(7)

This program is a part of debhelper. πŸ’«


πŸ’œ AUTHOR πŸ’œ

Joey Hess <joeyh@debian.org> β€” thank you for your service king 🫑


and that's the whole page bestie!! this was version 14.5ubuntu1, dated 2026-09-21 β€” go forth and install those changelogs, you absolute icon πŸ‘‘βœ¨πŸ’–

πŸ“¦ where this page comes from