Improved OpenBSD support #436
Labels
No Label
kind/breaking
kind/bug
kind/build
kind/dependency
kind/deployment
kind/docs
kind
enhancement
kind
feature
kind/proposal
kind
question
kind
refactor
kind/security
kind/testing
kind/translation
priority/critical
priority/high
priority/low
priority/medium
reviewed/duplicate
reviewed/invalid
reviewed/wontfix
skip-changelog
status/blocked
status/has-backport
status/has-pull
status/needs-backport
status/needs-feedback
status/needs-reviews
status/wip
upstream/gitea
upstream/sdk
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: gitea/tea#436
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Go Version: go version go1.17 openbsd/amd64
OS: OpenBSD anon.my.domain 7.0 GENERIC.MP#232 amd64
I managed to install tea by working around the issue in a hacky way.
Apologies for the length of the ticket.
I structured it as a meta issue for OpenBSD support.
For tea to support OpenBSD it needs:
Makefile
compatible with non-GNU make.Steps I took:
Found that the issue may be due to OpenBSD not supporting realtime signals possibly.
Issue Here.
Installed gnu make following the issue above to see if I could sidestep the issue.
Gave me this error:
I got it to compile. But its obviously a hack.
Regards,
Marinus
Thanks for trying that out, I was already wondering how tricky it would be to run on openbsd ;)
It looks like having a Makefile compatible with non-GNU make flavours will require a full rewrite of the Makefile, not sure if that's going to happen anytime soon. If somebody bothers to do it, you're welcome ;)
The remark in that issue is about a property of
i3blocks
, not about the build problem with make. I don't think this problem applies to tea, but what do I know ;) Would be nice if you can confirmtea
is correctly working on your system (there's no meaningful testsuite currently, just try to runtea issues
or similar).We can make that an optional flag, it's just a security enhancement, where memory adresses can get randomized. If this compilation flag blocks platform support, it should be optional for a not-that-sensitive application like tea.
The
STATIC
parameter is optional and defaults to false if omitted (maybe we should reflect that in the installation instructions).STATIC=false
should give you a similar result to the "hacky" invocation you used, can you try if that compiles on your system too?Agreed. I am definitely looking to contribute it at some point. Not that knowledgeable yet sadly. :(
I logged in to both Codeberg and Gitea.com
Issues and pulls are listed fine.
I cant see repository info in yours and another one i tried though for some reason.
I love the layout btw :)
You are correct. It compiles fine with just gmake.
The hacky way was about removing pie from the Makefile btw.
testing comment from OpenBSD
Uploading stuff works :)
@msavoritias In #437 I simplified the build options and added an exception for OpenBSD wrt
-buildmode=pie
, so that builds with gmake on openbsd should turn out fine.Some more or less interesting facts about those go flags:
-buildmode=pie
very likely could be trivially supported on OpenBSD, but nobody sent the patch.-buildmode=pie
will imply a security enhanced buildmode including full RELRO.I also experimented a bit with pledge & unveil:
I worked out some pledge promises that seem to work, but I'm not confident yet wrt the external editor we launch (for
tea pr review
and interactive multiline prompts). It might violate those pledges (the pledge also applies to execve'd subprocesses right?)Adding unveil will be more tricky, as we need to change code to generate random
/tmp
paths before using them. Issue is, that we have dependencies that create tmpfiles with randomized names, not sure how to handle that, if at all.OpenBSD Supportto Improved OpenBSD support