[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Where'd lsb-compat go?



NOT REQUIRED READING; this is just a follow-up for documentation purposes in case anyone else needs this info from the list archives. (TL;DR at bottom)

On 7/11/19 1:48 PM, Kent West wrote:

1) I have several Debian boxes running as kiosks, and reporting to a centralized Quest-branded "Systems Management Appliance" (SMA). With a recent update to the SMA, the Debian boxes stopped reporting in. After several weeks, I finally discovered that the installation of "lsb-compat" on several of them restored their functionality.

"lsb_compat" installs "/usr/bin/lsb_release", which I believe is probably what the SMA relies on for Debian versioning information. Prior to installing "lsb_compat" the SMA log files complained about about not finding a major and a minor number for Debian. After installing "lsb_compat", the complaint went away, and the machines were restored to their functionality.

However, now with the machines upgraded to Debian 10 (Buster), "/usr/bin/lsb_release -a" reports the Debian version as 10 rather than as 10.0, and apparently the SMA expects that minor number as well as the major number.

I would hit the vendor up for a fix, but they don't support Debian (they do support Ubuntu 18.04; once they support the next release of Ubuntu, that'll probably fix it for Buster, also). In the meantime, I'm trying to chase down a fix.

Looking at "/usr/bin/lsb_release", I see that the function call that returns the data I need comes from the Python 3 module "/usr/share/pyshared/lsb_release.py". That function call is "get_distro_information()", which in turn relies on "get_os_release()", or if that doesn't have the release info, then "guess_debian_release()" (both of which are in this same module file).

The "get_os_release()" function has a comment that says, "# Whatever is guessed above can be overridden in /usr/lib/os-release by derivatives", which leads me to believe that this file, "/usr/lib/os-release", is the canonical location for specifying the version of Debian installed.

So I changed this line in that file:

VERSION_ID="10"

to

VERSION_ID="10.0"

and now "lsb_release -a" reports Debian to be at version 10.0.

However, that didn't solve the issue; apparently the SMA release on the "Description:" line of output from "lsb_release -a" instead of the "Release:" line. And changing the second VERSION_ID line in "/usr/lib/os-release" doesn't change that "Description:" line.

However, I'm getting closer.

Looking again at "/usr/lib/os-release", I change this line:

PRETTY_NAME="Debian GNU/Linux 10 (buster)"

to

PRETTY_NAME="Debian GNU/Linux 10.0 (buster)"

and voila! My SMA once again can see my Debian box. I'm not sure what side effects will occur from changing this file (I changed the two VERSION_ID lines back to what they were originally), but I'm guessing that changing the "pretty name" is cosmetic only (unless other apps rely on it like the SMA relies on it, pfft).


TL;DR

Change the "PRETTY_NAME" line in "/usr/lib/os-release" from "10" to "10.0".


--

Kent






Reply to: