OutsideIT / FireMotD

:fire: Fire Framework Linux MoTD Generator :fire:
https://outsideit.net/firemotd
GNU General Public License v3.0
175 stars 45 forks source link

syntax error, unexpected IDENT #87

Closed msebald closed 6 years ago

msebald commented 6 years ago

Issue Type

Bug report

Issue Detail

Expected Behavior

No compile error. ;-)

Actual Behavior

When I start /opt/FireMotD/FireMotD -S I see the following error:

jq: error: syntax error, unexpected IDENT, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
.Release.Value = "PRETTY_NAME="Debian GNU/Linux 9 (stretch)""
jq: 1 compile error

The machine is a fresh installed Debian Stretch 9.3, I installed FireMOTD through openhabian-config on this machine.

willemdh commented 6 years ago

Weird it seems to work for me, but on red hat. Must be an issue in last pr with the explore Host function. Sry I have no Debian to test on.

msebald commented 6 years ago

@willemdh Is there something I can do?

It looked to me as if FireMOTD was parsing the file /etc/os-release which in my case has the following content:

PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

The file content in principle (also the quotings) looks pretty much the same on my Raspberry Pi 3 and openHABian. But there I have a v7.x Version of FireMOTD, which is very different from the current one, as I even cannot find Release.Value when doing a search on the file.

willemdh commented 6 years ago

Yes there have been quite a lot of changes. The problem is in the ExploreRelease function I think. I'm in my couch atm, not sure if I'll e able to get out of it soon... Typing on smartphone now.

msebald commented 6 years ago

@willemdh No worries, I don't want to ruin your evening. My openHAB box will run without FireMOTD. But it would be great to have a running version again, also the errors in the console don't make me very happy. ;-)

As said, if I can test, I am happy to do.

It is a brand new installed Debian Stretch amd64 box, the only changes I made is that I installed openhabian-config from Git and also installed some stuff via openhabian-config. But as I see/noticed it the only package not installed via Debian packages manager was openhabian-config and FireMOTD.

So I guess FireMOTD in the current version should have a problem on all Debian Stretch installations.

willemdh commented 6 years ago

@msebald Can you try #88

msebald commented 6 years ago

Thank you! Unfortunally the problem is still there:

jq: error: syntax error, unexpected IDENT, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
.Release.Value = "PRETTY_NAME="Debian GNU/Linux 9 (stretch)""
jq: 1 compile error
willemdh commented 6 years ago

can you try

and can you first execute sudo rm /var/tmp/FireMotD.json cd /usr/local/bin ./FireMotD -V sudo ./FireMotD -S ./FireMotD -v -T Modern

and post output. Tx

msebald commented 6 years ago

Sure, with pleasure. I did not use sudo as I'm in as root. Here's the output:

root@debian:/opt/FireMotD# rm /var/tmp/FireMotD.json
root@debian:/opt/FireMotD# ./FireMotD -V
FireMotD v8.13.171222
root@debian:/opt/FireMotD# ./FireMotD -S
jq: error: syntax error, unexpected IDENT, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
.Release.Value = "PRETTY_NAME="Debian GNU/Linux 9 (stretch)""
jq: 1 compile error
root@debian:/opt/FireMotD# ./FireMotD -v -T Modern
2017-12-28 23:20:07,956: FireMotD: Info: Verbose mode
2017-12-28 23:20:07,968: FireMotD: Info: FireMotD action theme started
2017-12-28 23:20:07,979: FireMotD: Info: Logon data refresh start
2017-12-28 23:20:07,991: FireMotD: Info: No FireMotD ExportFile detected. Please generate with "sudo .\FireMotD -S"
willemdh commented 6 years ago

Please try one more time with #88 The regex was wrong..

msebald commented 6 years ago

Works! :-) Runs trough without an error. Also I see the nice output of ForeMotD when I log into the system. :-)

msebald commented 6 years ago

Thank you and sorry for messing up your evening on the sofa. ;-)

willemdh commented 6 years ago

np i'll merge the pr

willemdh commented 6 years ago

This can be closed I suppose

johnfoxii commented 2 years ago

I am getting this error in version 12 of FireMotD

Version: v12.05.191019

Release="$(echo "$ReleaseFull" | tail -1)"

elif echo "$ReleaseFull" | grep -E '(Debian)' >/dev/null ;

did you notice $ReleaseFull ID=debian you are grepping for Debian