#!/bin/sh

import_file() {
    file=$1

    [ -f "$file" ] || return 0

    eval "$(
        sed -n '
            /^[[:space:]]*#/d
            /^[[:space:]]*$/d
            s/^[[:space:]]*\([A-Za-z_][A-Za-z0-9_]*\)=/OS_RELEASE_\1=/
            p
        ' "$file"
    )"
}

import_file /etc/os-release
import_file /usr/lib/os-release
import_file /etc/initrd-release

for file in /usr/lib/extension-release/*; do
    [ -f "$file" ] || continue
    import_file "$file"
done

if [ -z "${OS_RELEASE_VERSION_ID:-}" ]; then
    if [ "$OS_RELEASE_VERSION_CODENAME" = "forky" ]; then
        OS_RELEASE_VERSION_ID=14
	OS_RELEASE_VERSION="14 (forky)"
	OS_RELEASE_DEBIAN_VERSION_FULL="14"
    fi
fi

_codename_uc="$(echo "$OS_RELEASE_VERSION_CODENAME" | tr '[:lower:]' '[:upper:]')"
printf '@@define OS_RELEASE_VERSION_CODENAME_%s %s\n' "${_codename_uc}" "${_codename_uc}"


set | awk -F= '
    /^OS_RELEASE_[A-Za-z_][A-Za-z0-9_]*=/ {
        value=$2
        for (i=3; i<=NF; i++)
            value=value "=" $i
        if (value ~ /^".*"$/ || value ~ /^\047.*\047$/)
            value=substr(value, 2, length(value)-2)
        gsub(/[[:space:]]/, "_", value)
        print "@@define " $1 " " value
    }
'
