Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support OpenBSD - Document compilation instructions and code changes to support OpenBSD #2989

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

lfzamora81
Copy link

Added OpenBSD sub-section to the Dependencies section of docs/install.md.

This comment has been minimized.

@abraunegg
Copy link
Owner

@lfzamora81
Thanks for the PR

I wonder if these steps:

image

Can actually be done via the Makefile / Configure script by detecting the OpenBSD .... something to look into and then would simplify things a little further.

@lfzamora81
Copy link
Author

@abraunegg

I am learning OpenBSD port system with eventual goal of porting this natively to OpenBSD similar to the FreeBSD port. And I will likely need to learn Autotools but my knowledge of it at the moment is almost nill--just dangerous enough to cause trouble.

I believe it would start by modifying the configure.ac to detect OpenBSD which then modifies the configure script itself to enact the OS-specific modifications ultimately for the Makefile? Or am I way over-complicating it?

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@abraunegg
Copy link
Owner

@abraunegg

I am learning OpenBSD port system with eventual goal of porting this natively to OpenBSD similar to the FreeBSD port. And I will likely need to learn Autotools but my knowledge of it at the moment is almost nill--just dangerous enough to cause trouble.

I believe it would start by modifying the configure.ac to detect OpenBSD which then modifies the configure script itself to enact the OS-specific modifications ultimately for the Makefile? Or am I way over-complicating it?

I have not forgotten this PR.

I have a number of bugs / issues I need to resolve (2 x issues, 1 undocumented atm) , then I am going to spend some time looking at the relevant files on OpenBSD and try and get this to configure correctly, automatically for OpenBSD / Linux so no massaging of files is required.

@abraunegg abraunegg added this to the v2.5.4 milestone Nov 29, 2024

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@abraunegg abraunegg changed the title OpenBSD-specific install instructions Support OpenBSD - Document compilation instructions and code changes to support OpenBSD Dec 10, 2024
* Use getMaxOpenFiles() to get the maximum number of open files allowed by the system, supporting Linux, OpenBSD and FreeBSD
* Use getMaxInotifyWatches() to get the maximum inotify watches allowed (Linux) or advise kqueue is used for OpenBSD or FreeBSD

This comment has been minimized.

@abraunegg

This comment was marked as outdated.

@lfzamora81
Copy link
Author

@abraunegg

No special compile options were used, in fact my main goal was to stick to the stock instructions as much as possible only deviating where absolutely necessary as documented under my submitted notes for OpenBSD. In all other aspects, I followed the build instructions from: https://github.com/abraunegg/onedrive/blob/master/docs/install.md and used the FreeBSD dependency list as a guide.

Was always wondering about the compiler differences and the fact that DMD does not need to be "activate" on OpenBSD as explained in the above instructions. At the time, LDC was still broken in the ports system so could not be tested. Not sure if that may make a difference as well.

My version is/was a bit behind now at v2.5.3-1-gaeb0a0e. I will try a fresh build from scratch soon so I can compare notes.

This comment has been minimized.

@abraunegg abraunegg modified the milestones: v2.5.4, v2.5.x Dec 27, 2024

This comment has been minimized.

This comment has been minimized.

* Update PR

This comment has been minimized.

@abraunegg
Copy link
Owner

@lfzamora81

Please can you review this PR

I have made some significant changes to the code to support FreeBSD, and confirm that this works 100% without issue. All the documentation has also been updated regarding the support for FreeBSD.

Refer to #3048 as to the changes made to the code to support FreeBSD.

This comment has been minimized.

* Update documentation based on actual OpenBSD 7.6 testing

This comment has been minimized.

@abraunegg
Copy link
Owner

@lfzamora81
I have confirmed that the current 'master' compiles without any code change / Makefile change or other under OpenBSD:

image

I have updated 'install.md' with the details augmented from your initial work.

Now .. what works / does not work

Authentication - works

image

Application Runtime - DOES NOT WORK .....

image

The code is correct ... works without issue on Linux and FreeBSD.

I have a feeling this has something to do with internal OpenBSD process memory management / memory allocation .. as the data that is in the JSON is there .. just under OpenBSD it cannot be read.

Please can you investigate this.

This comment has been minimized.

Copy link

@check-spelling-bot Report

🔴 Please review

See the 📂 files view, the 📜action log, or 📝 job summary for details.

Unrecognized words (54)
activ
bashisms
capitalisation
containerised
customisable
customisation
cuz
datasize
finalise
finalised
fullstop
gzipping
ignorenologin
initialising
Ioctl
ISPs
kinda
ksh
Kubuntu
localcipher
logfiles
Lubuntu
malware
maxproc
meh
mkdb
myauth
newsyslog
nologins
openfiles
optimisations
preinstalled
prioritisation
prioritise
prolly
reparse
requirehome
resynchronisation
sandboxing
segfault
shitload
Slackware
sourced
Sourcing
spamming
stacksize
thingies
Thu
uninitialised
uninstallation
upgradable
utilisation
websites
Xubuntu
To accept these unrecognized words as correct, you could run the following commands

... in a clone of the [email protected]:lfzamora81/onedrive.git repository
on the install-doc-openbsd-dep branch (ℹ️ how do I use this?):

curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/main/apply.pl' |
perl - 'https://github.com/abraunegg/onedrive/actions/runs/12820728322/attempts/1'
Warnings (1)

See the 📂 files view, the 📜action log, or 📝 job summary for details.

⚠️ Warnings Count
⚠️ non-alpha-in-dictionary 1

See ⚠️ Event descriptions for more information.

@abraunegg
Copy link
Owner

@lfzamora81

Please can you respond

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants