[LTP] [PATCH ltp] ver_linux: check /usr/lib/os-release in case /etc/os-release not exists

Yixin Zhang yixin.zhang@intel.com
Wed Aug 15 09:35:40 CEST 2018


https://www.linux.org/docs/man5/os-release.html:
  "The file /etc/os-release takes precedence over /usr/lib/os-release.
  Applications should check for the former, and exclusively use its data
  if it exists, and only fall back to /usr/lib/os-release if it is missing.
  Applications should not read data from both files at the same time.
  /usr/lib/os-release is the recommended place to store OS release
  information as part of vendor trees.  /etc/os-release should be a
  relative symlink to /usr/lib/os-release, to provide compatibility with
  applications only looking at /etc. A relative symlink instead of an
  absolute symlink is necessary to avoid breaking the link in a chroot or
  initrd environment such as dracut."

To be compatible with some distro which don't have the soft link
"/etc/os-release", check "/usr/lib/os-release" first before checking
"/etc/issue".

Signed-off-by: Yixin Zhang <yixin.zhang@intel.com>
---
 ver_linux | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/ver_linux b/ver_linux
index dda337926..f4c4e07f4 100755
--- a/ver_linux
+++ b/ver_linux
@@ -9,8 +9,12 @@ echo 'If some fields are empty or look unusual you may have an old version.'
 echo 'Compare to the current minimal requirements in Documentation/Changes.'
 
 echo
-echo "`ls /etc/*release`"
+echo "`ls /etc/*release 2> /dev/null`"
 cat /etc/*release 2> /dev/null
+if [ $? = 1 ]; then
+   echo "`ls /usr/lib/*release 2> /dev/null`"
+   cat /usr/lib/*release 2> /dev/null
+fi
 if [ $? = 1 ]; then
    echo '/etc/issue:'
    cat /etc/issue 2> /dev/null
-- 
2.17.1



More information about the ltp mailing list