On Sat, Jan 20, 2018 at 01:41:56AM +0100, Andreas Henriksson wrote:
> On Sun, Jan 14, 2018 at 08:10:44PM +0100, Helmut Grohne wrote:
> > /usr/share/resolvconf/dump-debug-info contains lsattr. According to
> > file it is a POSIX shell script, ASCII text executable
> 
> This one uses lsattr, but guards the execution with checking if it
> exists first, so no strict dependency needed for this. Basing my
> assumption on the file name a Suggests would likely be more warranted
> than a Recommends.

Confirmed!

> The postinst maintainerscript does indeed use both chattr and lsattr.
> Both of them are guarded with the debconf variable
> resolvconf/linkify-resolvconf having to be TRUE, which is the default.
> A dependency is thus currently needed here!

Looking into that postinst a little bit closer...
* chattr is called only in one place, guarded by a call to is_immutable_file()
* lsattr is called only in one place, in is_immutable_file()
* is_immutable_file() has this:
     local ATTR="$(lsattr "$1" 2>/dev/null || :)"
     [ "$ATTR" ] || return 1
* Therefore is_immutable_file() fails gracefully if lsattr doesn't
  exist. In turn, it returns false, and chattr is never called.

All in all, it looks like to me like resolvconf doesn't strictly require
lsattr/chattr and therefore e2fsprogs. It has appropriate provisions in
place to be able to work without these two binaries, and therefore I
don't think it needs a dependency.

Leaving this open for now in case the maintainer disagrees. Happy to
look into things further if that's the case.

Regards,
Faidon

Reply via email to