clearlinux / clr-installer

Clear Linux* OS Installer
GNU General Public License v3.0
92 stars 43 forks source link

`clr-installer` fails to run on non-clearlinux distro's due to hardcoded `VERSION_ID` check #812

Open ThaDaVos opened 3 months ago

ThaDaVos commented 3 months ago

Describe the bug A clear and concise description of what the bug is.

I tried to use the clr-installer on my Ubuntu 22.04 distro to create a custom installation iso of ClearLinux but at https://github.com/clearlinux/clr-installer/blob/a0fef5fe53bc9fd9314bebba238aea8ed76a21a0/clr-installer/main.go#L524 it's querying for the ClearLinux version, but I am not running ClearLinux so it fails as regex at https://github.com/clearlinux/clr-installer/blob/a0fef5fe53bc9fd9314bebba238aea8ed76a21a0/utils/utils.go#L44 does not support Ubuntu's format of the /usr/lib/os-release, which is:

PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

The difference is in the VERSION_ID as it's quoted on Ubuntu, at least on mine, and it's just numeric on ClearLinux's version.

To Reproduce Steps to reproduce the behavior:

  1. Build the clr-installer from source on Ubuntu
  2. Get copy of https://download.clearlinux.org/current/config/image/ according to https://community.clearlinux.org/t/how-to-build-the-official-style-iso-image/8419/7
  3. call clr-installer --config live-server.yaml
  4. See it fail

Expected behavior A clear and concise description of what you expected to happen. Or the installer should throw an error telling the OS is not supported (or that ClearLinux is only supported) or it should run just fine and create me the requested iso I want.

Screenshots If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

Additional context Add any other context about the problem here.