Conversation
This removes the CGO deps and makes for a completely static Go binary. The downside is that is fork/execs a binary to get to the logs. It supports the same options as the current impl. A thing that's different is the time/date output which doesn't match up. No real intentation to get this merged (current binary runs on RH8 which I care about atm), but also don't want to loose the code as there were some tricky bits about tailing the logs and not creating zombie journalctls. See #84 Signed-off-by: Miek Gieben <miek@miek.nl>
|
This discussion happened over slack but I'm sharing here for historic purposes. I think we're in a bit of a mexican stand-off as I object to this. Wrapping the CLI was fine to get something started but it's not a clear contract, nor provides as much control, as the systemd D-BUS API, which, I think, we should adopt as the project matures. Yes, it introduces a dependency on CGO, because of go-systemd, but that shouldn't be a problem since this is a Linux-only project - it's not like systemd has been ported to other OSes, right? I understand some esoteric architectures may not be well supported, though, but I lack the data. Also, FYI the code as is in main branch runs both on RHEL7 and 8, provided that |
|
I am now thinking that maybe we could do with Go build tags, where the default builds with the code in main and a new tag that would be opt-in for the non-go implementation. |
|
let just leave this here and un-merged. Let put 'draft' on it, so accidental merge is harder to do |
This removes the CGO deps and makes for a completely static Go binary.
The downside is that is fork/execs a binary to get to the logs. It
supports the same options as the current impl. A thing that's different
is the time/date output which doesn't match up.
No real intentation to get this merged (current binary runs on RH8 which
I care about atm), but also don't want to loose the code as there were
some tricky bits about tailing the logs and not creating zombie
journalctls.
See #84
Signed-off-by: Miek Gieben miek@miek.nl