#931094 $DPKG_PAGER doesn't override $PAGER

Package:
dpkg
Source:
dpkg
Description:
Debian package management system
Submitter:
Harald Dunkel
Date:
2026-06-22 03:19:03 UTC
Severity:
normal
Tags:
#931094#5
Date:
2019-06-26 06:24:10 UTC
From:
To:
Obviously

	export DPKG_PAGER=""

doesn't work as expected (overriding $PAGER, as promised by the man page).
OTOH Stretch and Jessie give me

	% dpkg --no-pager -l
	dpkg: error: unknown option --no-pager

	Type dpkg --help for help about installing and deinstalling packages [*];
	:

The workaround (export DPKG_PAGER=cat) might affect color mode (but I haven't
seen any colors in dpkg's output, anyway).

This is weird. Please fix.


Thanx very much in advance. Please continue your good work
Harri

#931094#10
Date:
2019-06-28 00:21:18 UTC
From:
To:
Hi!

Hmm, I guess I could change it to treat "" the same as "cat", even
though that'd be a behavior change now, so meh.

It does not affect the color support, because the value "cat" is
special-cased, and will disable the pager. I see this is not really
properly documented, will fix that.

Thanks,
Guillem

#931094#15
Date:
2026-06-09 03:39:14 UTC
From:
To:
Hi!

I've been reluctant to change the behavior for this. But then I
recalled that POSIX has defined semantics for PAGER, where it being
unset or empty makes it default to "more" or a system specific pager.

https://pubs.opengroup.org/onlinepubs/9799919799/utilities/man.html#tag_20_77_08

So treating DPKG_PAGER when empty differently to when it is unset,
would be more confusing. So I've documented this locally in the man page
to be included in my next push, and will not be changing the behavior.

I've now documented this locally as well.

Thanks,
Guillem

#931094#18
Date:
2026-06-22 03:07:49 UTC
From:
To:
Hi!

Bug #931094 in package dpkg reported by you has been fixed in
the dpkg/dpkg.git Git repository. You can see the changelog below, and
you can check the diff of the fix at:

https://git.dpkg.org/cgit/dpkg/dpkg.git/diff/?id=c2d0742a7
---
man: Document that DPKG_PAGER only overrides PAGER when non-empty

POSIX specifies that PAGER should default to "more" or another paginator
utility when unset or empty.

Treating DPKG_PAGER being set to an empty string differently to being
unset, would break those semantics. So instead we document that it only
overrides PAGER when it is set.

Closes: #931094