summaryrefslogtreecommitdiff
path: root/doc/TODO
blob: 2b1e3030a1feec131069e84560d902b15c6ae33d (plain)
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
This is the TODO for debhelper. As more and more people use debhelper, this
list grows - I welcome patches to fix items on it!

Wishlist items:

* All debhelper programs should only accept the options they are documented
  to accept (rather than accepting all debhelper options). They should
  be able to print breif usage summaries.

  I think this calls for a restucturing. Make a Debhelper.pm class. Each
  program subclasses the class. The class provides command line parsing,
  useful functions, and so on. Skeleton of a debhelper command would then
  be:

  use base qw{Debhelper};

  sub startup {
  	# Add initialization stuff here.
  }

  sub perpackage {
  	my $package=shift;

  	# Stuff to do for each package here.
  }

  sub fini {
  	# And final stuff here, if any.
  }

  This needs more thought.
  
* All debhelper programs should be checked that they output files with the
  correct permissions no matter what the umask is set to. Currently, only
  those programs that run after dh_fixperms have been so checked. (Checking
  the rest is low priority, since dh_fixperms fixes any incorrect permissions
  they might have; still it would be nice to check them too, just to make
  debhelper more flexible.) One easy fix is to add umask 022 to dh_lib,
  however, there may be unforeseen ramifications of such a change.
* All programs should also make sure the files they install are owned by
  root.root. Situation is currently the same as with permissions above, plus
  dh_installchangelogs is fixed.
* Support use of environment variables in data taken from user, ie, in
  debian/dirs. The problem with doing this is that we really want to allow
  any filenames in that input, even those that look like environment
  variables. However, it may be worth adding a switch to make it parse
  environment variables. (#20964)
* It's possible to speed up debhelper by having it cache some values that
  multiple commands call. One way to do this would be to write dh_cache,
  that generates the cache. The catch is that if the user runs that program,
  they are stating that they don't do anything later to invalidate the cache,
  without calling dh_cache again. (#23792)
* Add a switch to dh_installdeb to allow it to do user defined
  substitutions. OTOH, maybe it's better if people just sed
  postinst.in before debhelper gets it's hands on it... (#25235)
* dh_installdocs needs -X support, which probably means going with tar
  instead of cp -a. Ugh.

v4:

These items are part of v4 already:

* dhmakeshlibs -V omits the debian part of the version number from the
  generated dependancy in the shlibs file

These items are planned:

* Maybe make dh_fixperms make all files in bin/ dirs +x. (#119039)

Deprecated:

* DH_COMPAT 1. Can be removed once all packages are seen to be using 2 or
  higher. I won't hold my breath.
* Also, grep the entire archive for all dh_* command lines (I do this now),
  and check to see what other switches are not being used, and maybe remove
  some of them. I'd also like to depercate/remove debian/compress files, -X is
  a better idea.
* dh_suidregister. Once nothing in the archive uses it.
* dh_installmanpages. Only mildly deprecated right now. Once dh_installman
  catches on, make it emit a warning, and then wait for it to go away.
* dh_testversion. Remove as soon as nothing uses it.
* dh_installxaw. xaw replacments are dying, nothing uses it validly (bugs
  filed on the few packages that use it by accident). Remove as soon as
  nothing uses it, or by april 2002.