aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: 45d013a712760b6321daee38213d595b299fddb9 (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
Future options:

-e  Only log errors, not warnings (right now, everything is a warning).

Future test ideas:

- extract the doinst.sh separately and check it. If we e.g. have
  an icon cache or desktop file cache in $PKG, but no
  gtk-update-icon-cache or update-desktop-database command in the
  doinst.sh, that's definitely an error.

- more forbidden files. for fonts.{dir|scale}, we need the doinst.sh
  test (doinst can and should create these; they should *not* just be
  files in the package).

- noarch could recommend a package be made noarch, if it contains no
  ELF files and doesn't use lib or lib64 dirs. Should this just
  be a recommendation, or should it count as a failed test?

- static libraries? some packages ship these because upstream doesn't
  support shared libs, though. maybe only complain if libfoo.so.* and
  libfoo.a both exist (if we have a shared lib, we shouldn't also have
  a static one). Maybe this should be a disable-able warning?

- icons. Make sure they are what their filename says (I've run into .png
  files named .svg, and .gif files named .png, etc). If they're in
  /usr/share/icons/<size>x<size>/, make sure they actually are the correct
  size (or that they're SVG, if they're in scalable/). Really large icons
  in /usr/share/pixmaps are probably useless (most stuff that uses the
  old-style icons expects them to be 48x48 or 64x64). Icons must be
  readable by everyone, non-executable, and owned by root:root.

- duplicate files, maybe the error message could suggest a "ln -s" command
  to use if the file really does need to appear in multiple dirs.

- fonts. make sure they are what their filename says, and are installed to
  the correct /usr/share/fonts/* or /usr/share/kbd/consolefonts dir.

Other ideas:

When linting multiple packages, print a summary: 100 packages checked,
10 failed, 90 passed. Maybe with percentages too.

Clean up the output. Make it easier to grep.