freebsd / pkg

Package management tool for FreeBSD. Help at #pkg on Libera Chat or pkg@FreeBSD.org
Other
754 stars 281 forks source link

"pkg check" reports unvalidated shared libraries as "missing" #1332

Open mjb2010 opened 9 years ago

mjb2010 commented 9 years ago

Discussion in the FreeBSD Forums and on the freebsd-pkg mailing list indicates that when pkg check -d reports shared libraries as "missing", it is actually because the library file is either missing or it exists but a cursory look at its contents does not confirm it is the right one, e.g. because of a missing SONAME. Characterizing these not-fully-declared libraries as "missing" alarms and confuses users.

The library's failure to prove its validity/identity does not mean the library is actually missing, nor does it mean the library is unusable. The user generally can't do anything about it, either. Given all of these conditions, it seems:

  1. This aspect of the package checking behavior should be documented.
  2. The output messages should be rewritten to indicate the actual problem, rather than simply saying .so files are "missing" when they actually are present.

Related: #1330 (poor English grammar in "missing" library messages)

bapt commented 2 weeks ago

please provide the proper expected wording

mjb2010 commented 1 day ago

If the .so file is actually missing, then a good message is what I assume is the current one: %s is missing a required shared library: %s

However, if the .so file exists but fails a superficial validation check, then a good message would be something like this: %s depends on a possibly invalid shared library: %s

If one message must be used for both cases, this might work: %s depends on a missing or possibly invalid shared library: %s

I'm saying "possibly invalid" in these suggested messages in order to tone down the implication that these libraries are unusable or that the pkg check user (likely a sysadmin) needs to do something about them, when in fact the library was merely coded in an ambiguous way which hinders verification that it is in fact what the package needs. Therefore, I suggest that along with the message change, the Handbook, if not also the man page, be updated to reassure pkg check users that these messages are usually minor, like a missing SONAME declaration, and likely indicate issues which need to be fixed by the maintainers of the package or shared library.

Hopefully I'm not operating under any misunderstandings or wrong assumptions; correct me if I am.