Skip to content
Closed
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
72205e6
added OpenBSD dependencies section to get onedrive to build and run o…
lfzamora81 Nov 20, 2024
5faf279
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Nov 21, 2024
9e1349f
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Nov 23, 2024
8bd26d3
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Nov 29, 2024
d6a5924
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Nov 29, 2024
ff76a04
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Dec 8, 2024
f835131
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Dec 10, 2024
cf9102b
Update how maximum open files and watches is determined
abraunegg Dec 10, 2024
4660476
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Dec 16, 2024
f61d598
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Jan 11, 2025
47c83e8
Merge branch 'master' into pr/2989
abraunegg Jan 13, 2025
e8100f6
Merge branch 'install-doc-openbsd-dep' of https://github.com/lfzamora…
abraunegg Jan 13, 2025
b9c5d4e
Update PR
abraunegg Jan 13, 2025
8c98ce1
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Jan 13, 2025
1644126
Update install.md
abraunegg Jan 13, 2025
c1b2ca9
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Jan 16, 2025
62ab380
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Jan 17, 2025
a0ccb0c
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Jan 25, 2025
667d8f4
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Feb 21, 2025
c0230dd
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Feb 22, 2025
4757f46
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Mar 13, 2025
ec142d8
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Mar 15, 2025
510851f
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Apr 16, 2025
d4fd67c
Merge branch 'master' into install-doc-openbsd-dep
abraunegg May 15, 2025
62529f8
Merge branch 'master' into install-doc-openbsd-dep
abraunegg Jun 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 87 additions & 1 deletion docs/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,23 @@
sudo zypper install libnotify-devel
```

### Dependencies: OpenBSD

```text
pkg_add bash bash-completion gmake pkgconf autoconf automake newsyslog libinotify git sqlite3 dmd

Check failure on line 211 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`newsyslog` is not a recognized word. (unrecognized-spelling)
```
> [!NOTE]
> If asked to chose package for autoconf, select `autoconf-2.72p0`
>
> If asked to chose package for automake, select `automake-1.16.5`

For GUI notifications the following is also necessary:
```text
pkg_add libnotify
```
> [!NOTE]
> Install the required OpenBSD packages as 'root' unless you have installed 'sudo'

## Compilation & Installation
### High Level Steps
1. Install the platform dependencies for your platform
Expand Down Expand Up @@ -234,15 +251,84 @@
```

### FreeBSD: Building the application using FreeBSD version of LDC
> [!NOTE]
> It is recommended to build and install the application as 'root' unless you have installed 'sudo'

```text
git clone https://github.com/abraunegg/onedrive.git
cd onedrive
./configure
gmake clean; gmake;
gmake install
```

### OpenBSD: Building the application using OpenBSD version of DMD
> [!NOTE]
> Install the application as 'root' unless you have installed 'sudo'
> It is recommended to build and install the application as 'root' unless you have installed 'sudo'

#### Configure 'ldconfig' for libinotify
The `libinotify` port installs into a subdirectory of `/usr/local/lib` so it is not picked up by the default `ld.so` "hints" or search paths.

Use `ldconfig` to modify the shared library search path. There are a number of ways to do this so check out `man ldconfig` for your prefered way to do it. An example is:
```
ldconfig -m /usr/local/lib/inotify
```

#### Configure 'login.conf' for non-root users for compilation
When compiling the application, you may run into an "our of memory" type error during compile. This is due to the extra security layers of OpenBSD and their "login class database" parameters.

Check out `man login.conf` for more details but generally you will be looking for a `datasize-cur` and `datasize-max` setting under whichever login class your build user belongs to; most likely `default:`.

Check failure on line 280 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`datasize` is not a recognized word. (unrecognized-spelling)

Check warning on line 280 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`datasize` is not a recognized word. (unrecognized-spelling)

The settings below were used to compile the application to create this documentation:
```
#
# The default values
# To alter the default authentication types change the line:
# :tc=auth-defaults:\
# to read something like: (enables passwd, "myauth", and activ)

Check failure on line 288 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`activ` is not a recognized word. (unrecognized-spelling)

Check failure on line 288 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`myauth` is not a recognized word. (unrecognized-spelling)
# :auth=passwd,myauth,activ:\

Check warning on line 289 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`myauth` is not a recognized word. (unrecognized-spelling)

Check warning on line 289 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`activ` is not a recognized word. (unrecognized-spelling)
# Any value changed in the daemon class should be reset in default
# class.
#
default:\
:path=/usr/bin /bin /usr/sbin /sbin /usr/X11R6/bin /usr/local/bin /usr/local/sbin:\
:umask=022:\
:datasize-max=infinity:\

Check warning on line 296 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`datasize` is not a recognized word. (unrecognized-spelling)
:datasize-cur=8192M:\

Check warning on line 297 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`datasize` is not a recognized word. (unrecognized-spelling)
:maxproc-max=256:\

Check failure on line 298 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`maxproc` is not a recognized word. (unrecognized-spelling)
:maxproc-cur=128:\

Check warning on line 299 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`maxproc` is not a recognized word. (unrecognized-spelling)
:openfiles-max=1024:\

Check failure on line 300 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`openfiles` is not a recognized word. (unrecognized-spelling)
:openfiles-cur=512:\

Check warning on line 301 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`openfiles` is not a recognized word. (unrecognized-spelling)
:stacksize-cur=4M:\

Check failure on line 302 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`stacksize` is not a recognized word. (unrecognized-spelling)
:localcipher=blowfish,a:\

Check failure on line 303 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`localcipher` is not a recognized word. (unrecognized-spelling)
:tc=auth-defaults:\
:tc=auth-ftp-defaults:
.....
#
# Staff have fewer restrictions and can login even when nologins are set.

Check failure on line 308 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`nologins` is not a recognized word. (unrecognized-spelling)
#
staff:\
:datasize-cur=8192M:\

Check warning on line 311 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`datasize` is not a recognized word. (unrecognized-spelling)
:datasize-max=infinity:\
:maxproc-max=512:\

Check warning on line 313 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`maxproc` is not a recognized word. (unrecognized-spelling)
:maxproc-cur=256:\

Check warning on line 314 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`maxproc` is not a recognized word. (unrecognized-spelling)
:ignorenologin:\

Check failure on line 315 in docs/install.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`ignorenologin` is not a recognized word. (unrecognized-spelling)
:requirehome@:\
:tc=default:
```
Ensure you run `cap_mkdb /etc/login.conf` to apply the new settings for users.

Confirm these changes with `ulimit -a` after logging out and logging back in with your non-root user.

#### Compiling the application on OpenBSD
The base installation of OpenBSD uses `ksh` instead of `bash` so when running the `configure` scripts from the repo, bash must be used.
```
git clone https://github.com/abraunegg/onedrive.git
cd onedrive
bash ./configure
gmake clean; gmake;
gmake install
```

### Linux: Building the application with GDC
First, make sure at least version 15 of GDC is available in your path:
Expand Down