Dpkg::Source::Package: Document method additions with an object
[dpkg.git] / doc / README.feature-removal-schedule
blobf9b1f0b536bfecad654f368667a9370b50992b09
1 This is a list of features that are scheduled to be removed from dpkg.
3 What: fallback of dpkg-source to source format "1.0" without explicit debian/source/format
4 Status: deprecated
5 When: 1.17.x
6 Warning: program and lintian (missing-debian-source-format)
7 Why:
8  With the support of multiple source formats, the user should be explicit
9  about the desired source format. The fallback to "1.0" is there only for
10  backwards compatibility but will be removed once all packages have the
11  debian/source/format file. This is unlikely to happen before 1.17.x.
13 What --forget-old-unavail (dpkg option)
14 Status: obsolete
15 When: 1.16.x
16 Warning: program
17 Why:
18  Purged packages are properly cleaned up now by dpkg, and old unavailable
19  leftovers are automatically cleaned up on database parsing. So there's no
20  need anymore for this manual action.
22 What: --control-path (dpkg-query option)
23 Status: deprecated
24 When: 1.18.x
25 Warning: man page
26  This was a semi-public interface now superseded by --control-list and
27  --control-show, which are a better interface as they do not rely on any
28  specific database layout. Although there might still be cases where it's
29  required to avoid hardcoding the database layout, and it will be kept as
30  long as there's legitimate uses for it and no viable replacements.
32 What: -L (dpkg-parsechangelog option)
33 Status: obsolete
34 Since: 1.18.8
35 When: 1.19.x
36 Warning: program
37 Why:
38  The custom parsers have been switched from programs to perl modules,
39  and this option has no use any longer. The caller can set PERL5LIB or
40  PERLLIB to specify the perl module search path now.
42 History of feature removals
43 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
45 What: cleanup-info (program)
46 Status: removed
47 Since: 1.15.0
48 Why:
49  This program was needed long time ago to fixup broken info dir files
50  generated by buggy install-info programs. Should not be needed anymore.
52 What: --largemem, --smallmem (dpkg option)
53 Status: removed
54 When: 1.15.1
55 Why:
56  These options have been no-ops for a long time.
58 What: --force-auto-select (dpkg option)
59 Status: removed
60 When: 1.15.1
61 Why:
62  This option has been a no-op for so long, that there's no traces on git
63  history of its usage.
65 What: recommended, contrib, base (priority)
66 Status: removed
67 When: 1.15.1
68 Why:
69  These priorities have been superseded by either other fields or values in
70  other fields.
72 What: 822-date (program)
73 Status: removed
74 When: 1.15.1
75 Why:
76  Should switch to use 'date -R'.
78 What: support of custom changelog parsers understanding only -v
79 Status: removed
80 Since: 1.15.5
81 Why:
82  The debian changelog parser has been enhanced. It supports new options
83  that enable more fine-grained retrieval of information. Those new options
84  will be used by scripts (like dpkg-genchanges).
85  .
86  Custom changelog parsers must be updated to support the new API (see
87  dpkg-parsechangelog(1) and README.api).
89 What: support for environment variable DPKG_NO_TSTP
90 Status: removed
91 Since: 1.15.6
92 Why:
93  Having two ways to let the administrator get to a shell on conffile prompt
94  is confusing, it also impedes setting up a consistent environment to be
95  used by external programs.
97 What: support for PGP
98 Status: removed
99 When: 1.16.4
100 Warning: program
101 Why:
102  PGP is not part of Debian and GnuPG has been the standard tool for digital
103  signatures for several years already. Supporting only GnuPG enables us to
104  rely on some of its features.
106 What: -u, --udeb (dpkg-scanpackages option)
107 Status: removed
108 When: 1.16.4
109 Warning: program
110 Why:
111  This option has been superseded by -tudeb.
113 What: support for custom changelog parsers as programs
114 Status: removed
115 Since: 1.18.8
116 Why:
117  Using programs to implement the custom changelog parsers was very inefficient
118  as it required to parse the custom changelog, output deb822 formatted entries
119  to then parse that and output again with the desired format.
121  These were implemented as programs because at the time the perl code in dpkg
122  was not using perl modules, so it was not easy to extend. Using perl modules
123  now is cleaner and allows for a faster implementation.
125  In addition there's no known users in Debian, so it was deemed safe to remove
126  the support without a transition.
128 What: Source-Version (substvar)
129 Status: removed
130 When: 1.18.11
131 Warning: program, lintian (substvar-source-version-is-deprecated)
132 Why:
133  The semantics of Source-Version were misleading when applied to binNMUs.
134  Should switch to use binary:Version or source:Version substvars.
136  The code got changed to emit errors.
138 What: -Zlzma (dpkg-deb option value)
139 Status: removed
140 When: 1.18.11
141 Warning: program
142 Why:
143  LZMA compression has some format deficiencies fixed by XZ, which is what
144  upstream has replaced it with, as such there's no point in continuing to
145  support compressing new .deb files with that format, although unpacking
146  will be kept being supported to handle existing compressed files.
148 What: -Zbzip2 (dpkg-deb option value)
149 Status: removed
150 When: 1.18.11
151 Warning: program
152 Why:
153  bzip2 compression has been superseded by xz when it comes to size, and
154  gzip is still faster, in Debian there's really not many packages using
155  that compression, as such there's no point in continuing to support
156  compressing new .deb files with that format, although unpacking
157  will be kept being supported to handle existing compressed files.
159 What: --new, --old (dpkg-deb options)
160 Status: removed
161 When: 1.18.11
162 Warning: program
163 Why:
164  These options are not future-proof, and do not give the caller any
165  guarantee of what exact format version will be used to produce the
166  output file. They were replaced with a new --deb-format option.
168 What: --print-installation-architecture (dpkg option)
169 Status: removed
170 When: 1.18.11
171 Warning: program
172 Why:
173  Obsoleted long time ago (2005-01-22). Remaining packages should switch to
174  use 'dpkg --print-architecture'.
176 What: GCJ and GCJFLAGS support
177 Status: removed
178 When: 1.22.1
179 Why:
180  GCJ has been dead upstream since 2018.