yadm icon indicating copy to clipboard operation
yadm copied to clipboard

yadm doesn't process distro|d properly without lsb_release being available

Open erenfro opened this issue 1 year ago • 2 comments

Describe the bug

On Fedora 38, which does not come with lsb_release by default, I noticed my ~/.gitconfig wasn't being linked, and was actively removing any manually linked files to ~/.gitconfig##d.Fedora, provided that redhat-lsb-core, which provides lsb_release, was not installed. It should, by the docs, revert to os-release, and it fails that as well.

To reproduce

Can this be reproduced with the yadm/testbed docker image: [Yes/No]

Unknown, I don't do docker.

Steps to reproduce the behavior:

Create template alternative file for yadm, without having lsb_release installed, and run yadm alt.

Expected behavior

yadm should properly investigate os-release and determine distro from ID, and apply it.

Environment

  • Operating system: Fedora 38
  • Version yadm: 3.2.1
  • Version Git: 2.40.1

Additional context

This used to work, because I've used it many times before. Perhaps I had lsb_release, as well, but I'm sure not always.

erenfro avatar May 30 '23 16:05 erenfro

Further investigations has provided some useful information on this. Apparently ID=fedora, is not the same as lsb_release -si's Fedora. Case problem.

erenfro avatar May 30 '23 16:05 erenfro

Further investigations, this is a common issue overall. lsb_release -si on Pop! OS shows Pop, but os-release is ID=pop. Linux Mint is Linuxmint and ID=linuxmint -- So this seems to be a simple case comparison issue going on, and a good graceful way to do that would be to lowercase compare both the filename key and the detected distro value.

erenfro avatar May 30 '23 16:05 erenfro