Package: lintian Version: 2.5.11 Severity: wishlist There was a suggestion in #d-mentors about Lintian supporting the XDG specification for data files and config files[1]. The main argument was (AFAICT) to avoid cluttering $HOME with dot files. Personally, I have no strong feelings either way. Only that if we do this, we should do it before releasing 2.5.12[2].
A quick summary, XDG defines 4 types paths: * config (lintianrc) * data (profiles/, data/, vendors/, lib/, checks/) * cache (not relevant to lintian) * runtime dir (... also not relevant, unless "lintiand" becomes a thing) The files/dirs listed in parentheses are the files/dirs /I/ believe falls into the given category. For comparison, here are the default search paths: * lintianrc (ignoring $LINTIAN_ROOT/lintianrc for a moment): NOW: $HOME/.lintian/rc:/etc/lintianrc XDG: $HOME/.config/lintianrc:/etc/xdg/lintianrc * user/sys data (profiles, vendor data files etc.): NOW: $HOME/.lintian/<DIR>:/etc/lintian/<DIR>:/usr/share/lintian/<DIR> XDG: $HOME/.local/share/lintian/<DIR>:/usr/local/share/lintian/<DIR>:\ /usr/share/lintian/<DIR> Note the lintianrc file currently is special cased to prefer $LINTIAN_ROOT/lintianrc above all other paths. It seems a bit weird, but I suspect it was once relevant for the reporting on lintian.d.o (it isn't anymore AFAICT[3]). To be honest, I would be in favour of simply removing the LINTIAN_ROOT/lintianrc case unless there is still a use for it, which I simply missed (regardless of whether we adopt XDG or not). There are also a couple of cases/ cmd options to consider though: * --include-dir <dir> - I suggest inserting <dir> between the $HOME/.local/share and /usr/local/share/lintian * --no-user-dirs - Ignore all XDG specified directories and only use $LINTIAN_ROOT plus "--include-dir"-directories. * --cfg, --no-cfg (and LINTIAN_CFG) - Unchanged (i.e. overrule the search dirs). * LINTIAN_ROOT vs XDG_DATA_DIRS - Current LINTIAN_ROOT is always last in the search dir. I have no intention of changing that. Though with $XDG_DATA_DIRS, /usr/share/lintian could appear earlier than last. I suggest we handle that XDG_DATA_DIRS similar to dirs passed via --include-dirs ... and finally, time for the big pink elephant in the corner, backwards compatibility. At the very least, we should stil check ~/.lintianrc and /etc/lintianrc as they are widely used now. I am not too sure how "used" ~/.lintian and /etc/lintian are - though keeping it will probably not be a huge headache for now. Including compatibility, I envision we have the following search path for config files: $XDG_CONFIG_HOME/lintianrc (default: $HOME/.config/lintianrc) $HOME/.lintianrc * $XDG_CONFIG_DIRS/lintianrc (shipped conffile) (default: /etc/xdg/lintianrc) /etc/lintianrc * ... and for "data": $XDG_DATA_HOME/lintian (default: $HOME/.local/share/lintian) $HOME/.lintian * /etc/lintian * $XDG_DATA_DIRS/lintian (default: /usr/local/share/lintian:/usr/share/lintian) LINTIAN_ROOT (default: /usr/share/lintian) (entries marked with * are compatibility locations) Jakub, I know you have an opinion on less clutter in $HOME. If you want this, you get the "privilege" of helping me get this right! ~Niels [1] http://standards.freedesktop.org/basedir-spec/latest/ar01s03.html Perl module support available from libfile-basedir-perl: http://search.cpan.org/dist/File-BaseDir/lib/File/BaseDir.pm [2] Because 2.5.12 will start using "~/.lintian" to a much higher degree than previous releases. [3] The config file must be set via the harness config and is passed with LINTIAN_CFG, so the search path is not used. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org