Unable to detect Red Hat 6.6 during install
-
I am now getting errors during installation of the SVN trunk on a Red Hat 6.6 system. I found that $linuxReleaseName and $OSVersion are not being set correctly in bin/.install.sh
Here are the files and contents that those variables depend on.
[root@clstfogi ~]# ls -ld /etc/*release* -rw-r--r--. 1 root root 152 Jun 17 10:42 /etc/lsb-release drwxr-xr-x. 2 root root 4096 Jun 17 10:42 /etc/lsb-release.d -rw-r--r--. 1 root root 55 Sep 15 2014 /etc/redhat-release lrwxrwxrwx. 1 root root 14 Jun 17 10:41 /etc/system-release -> redhat-release -rw-r--r--. 1 root root 49 Sep 15 2014 /etc/system-release-cpe [root@clstfogi ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.6 (Santiago)
If you notice that both the name is being set as ‘Red’, not Redhat. And the version is coming from an incorrect file (/etc/lsb-release). What I did was to add the check for Red and set the correct values:
else linuxReleaseName=`cat /etc/system-release 2>/devnull | head -n1 | awk '{print $1}'`; if [[ "$linuxReleaseName" == "Red" ]]; then linuxReleaseName="Redhat"; OSVersion=`awk -F'[^0-9]*' /[Rr]elease*\([^.]*\).*/'{print $2}' /etc/redhat-release | head -n1` fi fi
I did not check this into the SVN because I had to change the /etc/release to /etc/system-release. I guess that we need to do another check like the /etc/os-release for the /etc/system-release link before falling through to the default one.
-
I agree.
-
Here is the whole paragraph that should be production ready. I think that it will work with Centos too. I basically added the code from the elif to the else.
if [ -f "/etc/os-release" ]; then linuxReleaseName=`sed -n 's/^NAME=\(.*\)/\1/p' /etc/os-release | tr -d '"'`; OSVersion=`sed -n 's/^VERSION_ID=\([^.]*\).*/\1/p' /etc/os-release | tr -d '"'`; elif [ -f "/etc/system-release" ]; then linuxReleaseName=`cat /etc/system-release 2>/dev/null | head -n1 | awk '{print $1}'`; if [[ "$linuxReleaseName" == "Red" ]]; then linuxReleaseName="Redhat"; fi OSVersion=`awk -F'[^0-9]*' /[Rr]elease*\([^.]*\).*/'{print $2}' /etc/system-release | head -n1` else linuxReleaseName=`cat /etc/*release* 2>/dev/null | head -n1 | awk '{print $1}'`; fi
-
Here are the values assigned on the 3619 SVN:
linuxReleaseName = LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch OSVersion =
The current fix does not work as the /etc/<star>release<star> pulls up unwanted files.
-
@tmerrick I’ve made more adjustments. Can you please test and let me know how you make out?
-
Works okay in fog version 3642