1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
libdpkg:
* cut compat.c into little pieces and move them to optlib
* modify database to store per-file flags
* store checksums and stat data in per-file flags
optlib:
* add fnmatch, IRIX5 doesn't have it
start-stop-daemon
* write pidfile before we chroot?
* capabilities support
* don't close FD's
* add autoconf test for TIOCNOTTY
dpkg
* integrate debconf (add new status)
* allow external program to specify how to handle conffiles
* log our actions
* try to remove directories again after removing conffiles
* verify Enhances works (ie don't trigger some assertion)
* refactor processarc.c
* add test to see if a file should really be installed and optionally
skip it
* dpkg --reconfigure <pkg> <pkg>
<pkg>.postinst reconfigure <ver>
Fail if pkg is not in the configured state.
* dpkg --call-maint-script=<script> --maint-script-arg=<arg>
--maint-script-arg=<arg> <pkg> <pkg>
dpkg will not allow <script> to be one of {pre,post}{inst,rm}. Only
unknown scripts can be called this way. dpkg will also not keep track
of any state for these scripts.
Fix:
<joeyh_> package a conflicted with old versions of package b. package b
conficted with old versions of package a. I had the old versions of both
installed, and told dpkg to install the new versions of a and b
simulantaneously. It refused.
dselect:
* support Enhances
dpkg-source
* update format to handle multiple patches and tarballs
------------------------------------------------------------------------------
Old TODO entries from IWJ:
Here are some currently-known inadequacies:
urgent
* Conflicts << installation ordering
* Version numbers in pre-depends stuff
* Search for all pre-depends things at once, bomb out if any not found
* _always_ show section in --yet-to-unpack
* automatically do --yet-to-unpack in installation methods
* check depending packages when installing new version.
* error handling from some dselect actions. 1399
* Several things ought to be configurable but aren't.
* Filenames containing newlines. Conffile names containing spaces.
* dpkg --status for virtual packages
* logging, both transcript logs (kept briefly)
and action logs (kept forever?) 957
* start-stop-daemon process status check. 1480
* openpgp signatures in the package archive
other stuff unlikely to get done soon
* Purge a.out compatibility from source (keep the upgrade stuff in
place).
* Automatically remove <file>.gz if <file> can't be found ? and maybe,
remove <file> if <file.gz> can't be found? Big mess when we start
thinking about bz2 :/
* Local version number (using non-numeric epoch, perhaps, or better yet,
a --local option in dpkg, so that it marks this package as a local install
(when running dpkg -i)? Keeps it from being listed as obsolete, and maybe
from being considered for auto-upgrades (apt-get needs to know about this
too)
* Filename field generated by --record-avail
* handle split packages somehow.
* understand Replaces in dselect
* provide way for package to declare ownership of files for dpkg -S
and -L without having dpkg act on this (.psuedolist?)
* diversions list as control archive entry
* single maintainer script, and new package getting there first
* dpkg -s show something for virtual packages
* settable defaults for update-rc.d
* local conffiles, aswell as local files that dpkg should check before
overwriting
* hooks
* There is no documentation. 1526
* newbie interface to dselect. 1037
* dselect per-half focus and keybindings improvements. 1555
* floppy map (where are the files)
* how to change case of package names
* support for adding files to dpkg's file lists
* `fake' or `null' packages
* dpkg --query | -Q
done
* highlight or pre-sort or something new or changed packages,
during upgrade selection.
* side-by-side version display
* version number comparison option
* Pre-Depends installation ordering
* a.out version
* uncomment ELF preinst modification
* Replaces (auto-deselect for conflicts)
* Replaces (don't overwrite otherwise)
* compile with ELF GCC out of the box
* dpkg --print-architecture
* Architecture field check
* symlink rename change
* dpkg --listfiles should do better for multi-package files (pkg, pkg: ...)
* --purge remove empty directories which used too contain conffiles
* conffiles handling options, including `replace removed files'
* `diff' option at conffile prompt
* check description in dpkg-deb
* update-alternatives prompting.
obsoleted so not done
* version numbers not starting digit early.
* dselect bottom window too large, and/or resize
* md5sum component in new .deb files
* `template' file giving default selections of dselect.
|