This is a list of features that are scheduled to be removed from dpkg. What: fallback of dpkg-source to source format "1.0" without explicit debian/source/format Status: deprecated When: 1.17.x Warning: program and lintian (missing-debian-source-format) Why: With the support of multiple source formats, the user should be explicit about the desired source format. The fallback to "1.0" is there only for backwards compatibility but will be removed once all packages have the debian/source/format file. This is unlikely to happen before 1.17.x. What --forget-old-unavail (dpkg option) Status: obsolete When: 1.16.x Warning: program Why: Purged packages are properly cleaned up now by dpkg, and old unavailable leftovers are automatically cleaned up on database parsing. So there's no need anymore for this manual action. What: --control-path (dpkg-query option) Status: deprecated When: 1.18.x Warning: man page This was a semi-public interface now superseded by --control-list and --control-show, which are a better interface as they do not rely on any specific database layout. Although there might still be cases where it's required to avoid hardcoding the database layout, and it will be kept as long as there's legitimate uses for it and no viable replacements. What: -L (dpkg-parsechangelog option) Status: obsolete Since: 1.18.8 When: 1.19.x Warning: program Why: The custom parsers have been switched from programs to perl modules, and this option has no use any longer. The caller can set PERL5LIB or PERLLIB to specify the perl module search path now. History of feature removals ~~~~~~~~~~~~~~~~~~~~~~~~~~~ What: cleanup-info (program) Status: removed Since: 1.15.0 Why: This program was needed long time ago to fixup broken info dir files generated by buggy install-info programs. Should not be needed anymore. What: --largemem, --smallmem (dpkg option) Status: removed When: 1.15.1 Why: These options have been no-ops for a long time. What: --force-auto-select (dpkg option) Status: removed When: 1.15.1 Why: This option has been a no-op for so long, that there's no traces on git history of its usage. What: recommended, contrib, base (priority) Status: removed When: 1.15.1 Why: These priorities have been superseded by either other fields or values in other fields. What: 822-date (program) Status: removed When: 1.15.1 Why: Should switch to use 'date -R'. What: support of custom changelog parsers understanding only -v Status: removed Since: 1.15.5 Why: The debian changelog parser has been enhanced. It supports new options that enable more fine-grained retrieval of information. Those new options will be used by scripts (like dpkg-genchanges). . Custom changelog parsers must be updated to support the new API (see dpkg-parsechangelog(1) and README.api). What: support for environment variable DPKG_NO_TSTP Status: removed Since: 1.15.6 Why: Having two ways to let the administrator get to a shell on conffile prompt is confusing, it also impedes setting up a consistent environment to be used by external programs. What: support for PGP Status: removed When: 1.16.4 Warning: program Why: PGP is not part of Debian and GnuPG has been the standard tool for digital signatures for several years already. Supporting only GnuPG enables us to rely on some of its features. What: -u, --udeb (dpkg-scanpackages option) Status: removed When: 1.16.4 Warning: program Why: This option has been superseded by -tudeb. What: support for custom changelog parsers as programs Status: removed Since: 1.18.8 Why: Using programs to implement the custom changelog parsers was very inefficient as it required to parse the custom changelog, output deb822 formatted entries to then parse that and output again with the desired format. . These were implemented as programs because at the time the perl code in dpkg was not using perl modules, so it was not easy to extend. Using perl modules now is cleaner and allows for a faster implementation. . In addition there's no known users in Debian, so it was deemed safe to remove the support without a transition. What: Source-Version (substvar) Status: removed When: 1.18.11 Warning: program, lintian (substvar-source-version-is-deprecated) Why: The semantics of Source-Version were misleading when applied to binNMUs. Should switch to use binary:Version or source:Version substvars. . The code got changed to emit errors. What: -Zlzma (dpkg-deb option value) Status: removed When: 1.18.11 Warning: program Why: LZMA compression has some format deficiencies fixed by XZ, which is what upstream has replaced it with, as such there's no point in continuing to support compressing new .deb files with that format, although unpacking will be kept being supported to handle existing compressed files. What: -Zbzip2 (dpkg-deb option value) Status: removed When: 1.18.11 Warning: program Why: bzip2 compression has been superseded by xz when it comes to size, and gzip is still faster, in Debian there's really not many packages using that compression, as such there's no point in continuing to support compressing new .deb files with that format, although unpacking will be kept being supported to handle existing compressed files. What: --new, --old (dpkg-deb options) Status: removed When: 1.18.11 Warning: program Why: These options are not future-proof, and do not give the caller any guarantee of what exact format version will be used to produce the output file. They were replaced with a new --deb-format option. What: --print-installation-architecture (dpkg option) Status: removed When: 1.18.11 Warning: program Why: Obsoleted long time ago (2005-01-22). Remaining packages should switch to use 'dpkg --print-architecture'. What: GCJ and GCJFLAGS support Status: removed When: 1.22.1 Why: GCJ has been dead upstream since 2018.