Skip to content

Commit

Permalink
macOS: updated package dependencies and gcc support (#134)
Browse files Browse the repository at this point in the history
  • Loading branch information
HofiOne authored Sep 25, 2024
2 parents 715bd4c + 44386d3 commit 5fb1c13
Show file tree
Hide file tree
Showing 8 changed files with 976 additions and 76 deletions.
19 changes: 17 additions & 2 deletions _data/external_links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,11 @@ flask:
url: http://flask.pocoo.org/
title: [ "Flask" ]

freebsd-ports:
id: freebsd-ports
url: https://ports.freebsd.org/cgi/ports.cgi
title: [ "/FreeBSD [Pp]orts/" ]

freepascal-launchd:
id: freepascal-launchd
url: https://wiki.freepascal.org/macOS_daemons_and_agents
Expand Down Expand Up @@ -411,12 +416,22 @@ grpc-keep:
homebrew:
id: homebrew
url: http://brew.sh
title: [ "Homebrew" ]
title: [ "/[Hh]ome[Bb]rew/" ]

homebrew-inst-detailed:
id: homebrew-inst-detailed
url: https://mac.install.guide/homebrew/3.html
title: [ "Homebrew" ]
title: [ "/[Hh]ome[Bb]rew [Ii]nstallation/", "/[Ii]nstall [Hh]ome[Bb]rew/" ]

macports:
id: macports
url: https://www.macports.org
title: [ "/[Mm]ac[Pp]orts/" ]

macports-inst-detailed:
id: macports-inst-detailed
url: https://www.macports.org/install.php
title: [ "/[Mm]ac[Pp]orts [Ii]nstallation/", "/[Ii]nstall [Mm]ac[Pp]orts/" ]

iptables:
id: iptables
Expand Down
25 changes: 17 additions & 8 deletions _data/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,6 @@ admin-guide-nav:
- title: "Configuring {{ site.product.short_name }} relays"
url: /admin-guide/040_Quick-start_guide/002_Configuring_syslog-ng_relays/README
subnav:
- title: "Configuring {{ site.product.short_name }} on relay hosts"
url: /admin-guide/040_Quick-start_guide/002_Configuring_syslog-ng_relays/000_Configuring_syslog-ng_on_relay_hosts
- title: "How relaying log messages works"
url: /admin-guide/040_Quick-start_guide/002_Configuring_syslog-ng_relays/001_How_relaying_works
- title: "Managing and checking {{ site.product.short_name }} service on Linux"
Expand Down Expand Up @@ -140,12 +138,12 @@ admin-guide-nav:
- title: "file"
url: /admin-guide/060_Sources/020_File/README
subnav:
- title: "Notes on reading kernel messages"
url: /admin-guide/060_Sources/020_File/000_Notes_on_reading_kernel_messages
- title: "file() source options"
url: /admin-guide/060_Sources/020_File/000_File_source_options
- title: "How file sources are followed"
url: /admin-guide/060_Sources/020_File/001_File_following
- title: "file() source options"
url: /admin-guide/060_Sources/020_File/002_File_source_options
- title: "Notes on reading kernel messages"
url: /admin-guide/060_Sources/020_File/002_Notes_on_reading_kernel_messages
- title: "Arr logs"
url: /admin-guide/060_Sources/025_Arr_logs/README
subnav:
Expand All @@ -154,6 +152,11 @@ admin-guide-nav:
subnav:
- title: "wildcard-file() source options"
url: /admin-guide/060_Sources/030_Wildcard-file/000_Wildcard-file_options
- title: "hypr"
url: /admin-guide/060_Sources/031_Hypr/README
subnav:
- title: "hypr-audit-trail() and hypr-app-audit-trail() source options"
url: /admin-guide/060_Sources/031_Hypr/000_Hypr_options
- title: "Jellyfin"
url: /admin-guide/060_Sources/035_Jellyfin/README
subnav:
Expand Down Expand Up @@ -836,13 +839,13 @@ admin-guide-nav:
url: /admin-guide/120_Parser/014_panos_parser/001_Panos_parser_options
- title: "Sudo parser"
url: /admin-guide/120_Parser/015_sudo_parser
- title: "MariaDB parser"
url: /admin-guide/120_Parser/016_mariadb_parser
- title: "PostgreSQL parser"
url: /admin-guide/120_Parser/016_PostgreSQL_csvlog_parser/README
subnav:
- title: "PostgreSQL csvlog parser options"
url: /admin-guide/120_Parser/016_PostgreSQL_csvlog_parser/001_PostgreSQL_parser_options
- title: "MariaDB parser"
url: /admin-guide/120_Parser/016_mariadb_parser
- title: "metrics-probe()"
url: /admin-guide/120_Parser/017_metrics_probe_parser/README
subnav:
Expand Down Expand Up @@ -1188,6 +1191,9 @@ dev-guide-nav:
url: /dev-guide/chapter_4/section_2/macos-testing-status/afuser
- title: "elasticsearch-http"
url: /dev-guide/chapter_4/section_2/macos-testing-status/elasticsearch-http
- title: "grpc"
url: /dev-guide/chapter_4/section_2/macos-testing-status/grpc/README
subnav:
- title: "http"
url: /dev-guide/chapter_4/section_2/macos-testing-status/http
- title: "mod-python"
Expand All @@ -1212,6 +1218,9 @@ dev-guide-nav:
url: /dev-guide/chapter_4/section_2/macos-testing-status/system-source/01_collecting-native-logs
- title: "Collecting local macOS logs"
url: /dev-guide/chapter_4/section_2/macos-testing-status/system-source/02_collecting-local-logs
- title: "FreeBSD"
url: /dev-guide/chapter_4/section_3/README
subnav:
- title: "Contribution"
url: /dev-guide/chapter_5/README
subnav:
Expand Down
74 changes: 64 additions & 10 deletions doc/_dev-guide/chapter_0/section_3.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ description: >-

At present we are not supporting macOS {{ site.product.short_name }} on our [[official repository|gh-syslog-ng]] on GitHub. However, you can install pre-built {{ site.product.short_name }} binaries from various sources or can compile yourself following [[this guide|dev-platform-build-macos#compiling-from-source]].

If you want to install {{ site.product.short_name }} on macOS you can use multiple packaga managers e.g. Homebrew
If you want to install {{ site.product.short_name }} on macOS you can use multiple packaga managers like Homebrew or MacPorts

### Homebrew
### Using Homebrew

First, check [[this|dev-platform-build-macos#dependencies]] if you have not got Homebrew installed and pre-configured yet.

Expand All @@ -20,7 +20,7 @@ Homebrew has now different home directories on ARM and X86 systems, also the loc
**Hint**: you can use `export HOMEBREW_PREFIX=$(brew --prefix)` in your scripts or shell environments to get and reference the actual location of your homewbrew installation
{: .notice--info}

### Checking dependencies
#### Checking dependencies

The {{ site.product.short_name }} package on macOS in homebrew is organized into a formula called `syslog-ng`.

Expand All @@ -30,9 +30,9 @@ For checking [[dependencies|dev-platform-build-macos#dependencies]] of it you ca
brew deps syslog-ng
```

This will list all the required dependencies are needed to run {{ site.product.short_name }}, and homebrew would install automatically as needed.
This will list all the required dependencies are needed to run {{ site.product.short_name }}, and homebrew would install automatically as needed.

### Installation
#### Installation

Using homebrew it is simple, use

Expand All @@ -42,7 +42,7 @@ brew install syslog-ng

This command line refers to the latest distribution of {{ site.product.short_name }} versions at the time of writing, and usually updated quickly by the homwbrew crew after a new release.

### Starting syslog-ng
#### Starting syslog-ng

You can start `syslog-ng` many ways in foreground, e.g. in a terminal window

Expand All @@ -60,12 +60,66 @@ ${HOMEBREW_PREFIX}/sbin/syslog-ng -Fdevt

this will give you detailed information of what {{ site.product.short_name }} does.

### Using MacPorts

First, check [[this|dev-platform-build-macos#dependencies]] if you have not got MacPorts installed and pre-configured yet.

The installation location of MacPorts will be referenced as `${MACPORTS_PREFIX}` in this document. If you follow the installation instructions above, it will already be set correctly, regardless of your system.
**Hint**: you can use `export MACPORTS_PREFIX=/opt/local` in your scripts or shell environments to get and reference the actual location of your MacPorts installation
{: .notice--info}

#### Checking dependencies in MacPorts

For checking [[dependencies|dev-platform-build-macos#dependencies]] of it you can use

```shell
port deps syslog-ng-devel
```

**Note**: there is a `syslog-ng` package as well in MacPorts, the one with `-devel` suffix is usually a more fresh version.
{: .notice--info}

This will list all the required dependencies are needed to run {{ site.product.short_name }}, and MacPorts would install automatically as needed.

#### Installation via MacPorts

Using MacPorts it is simple, use

```shell
port install syslog-ng-devel
```

This command line refers to the latest distribution of {{ site.product.short_name }} versions at the time of writing, and usually updated quickly by the homwbrew crew after a new release.

#### Starting syslog-ng which installed from MacPorts

You can start `syslog-ng` many ways in foreground, e.g. in a terminal window

```shell
${MACPORTS_PREFIX}/sbin/syslog-ng -F
```

this will start it as a foreground process in the terminal and write only minimal information to the console during its run.

To see more details you can specify some debug flags, like

```shell
${MACPORTS_PREFIX}/sbin/syslog-ng -Fdevt
```

this will give you detailed information of what {{ site.product.short_name }} does.

### Running {{ site.product.short_name }} as daemon

> **Note:**
>
> Below examples use `YOUR_INSTALLATION_ROOT` which is depending on the package manager you used to install {{ site.product.short_name }}.
{: .notice}

You can start it manually as a backround daemon

```shell
${HOMEBREW_PREFIX}/sbin/syslog-ng
YOUR_INSTALLATION_ROOT/sbin/syslog-ng
```

however this is not a persistent state, after a system restart {{ site.product.short_name }} will not start automatically by default.
Expand Down Expand Up @@ -93,14 +147,14 @@ You can find several pages about `launchd` and how to add System or User Launch
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/sbin/syslog-ng</string>
<string>YOUR_INSTALLATION_ROOT/sbin/syslog-ng</string>
<string>-F</string>
</array>
<key>StandardOutPath</key>
<string>/opt/homebrew/var/log/syslog-ng-daemon.stdout.log</string>
<string>YOUR_INSTALLATION_ROOT/var/log/syslog-ng-daemon.stdout.log</string>
<key>StandardErrorPath</key>
<string>/opt/homebrew/var/log/syslog-ng-daemon.stderr.log</string>
<string>YOUR_INSTALLATION_ROOT/var/log/syslog-ng-daemon.stderr.log</string>
</dict>
</plist>
```
Expand Down
Loading

0 comments on commit 5fb1c13

Please sign in to comment.