File os-prober-linux-distro-parse-os-release.patch of Package os-prober
---
os-probes/mounted/common/90linux-distro | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
--- a/os-probes/mounted/common/90linux-distro
+++ b/os-probes/mounted/common/90linux-distro
@@ -10,7 +10,18 @@
uuid="$4"
subvol="$5"
-if [ -e "$dir/etc/os-release" ]; then
+if [ -L "$dir/etc/os-release" ]; then
+ RELPATH=$(readlink -f "$dir/etc/os-release")
+ if readlink "$dir/etc/os-release" | grep -q '^/'; then
+ RELPATH="$dir$RELPATH"
+ fi
+ if [ -f "$RELPATH" ]; then
+ short="$(grep ^NAME= "$RELPATH" | sed 's/^[^=]*=//; s/^['\''"]\(.*\)['\''"]$/\1/; s/\\\(.\)/\1/g; s/[[:space:]].*//')"
+ long="$(grep ^PRETTY_NAME= "$RELPATH" | sed 's/^[^=]*=//; s/^['\''"]\(.*\)['\''"]$/\1/; s/\\\(.\)/\1/g')"
+ else
+ exit 1
+ fi
+elif [ -e "$dir/etc/os-release" ]; then
short="$(grep ^NAME= "$dir/etc/os-release" | sed 's/^[^=]*=//; s/^['\''"]\(.*\)['\''"]$/\1/; s/\\\(.\)/\1/g; s/[[:space:]].*//')"
long="$(grep ^PRETTY_NAME= "$dir/etc/os-release" | sed 's/^[^=]*=//; s/^['\''"]\(.*\)['\''"]$/\1/; s/\\\(.\)/\1/g')"
elif [ -e "$dir/usr/lib/os-release" ]; then