Skip to content

Commit

Permalink
[#480] Adds DISTRIBUTIONS.md file
Browse files Browse the repository at this point in the history
Adds instrunctions to install the required dependencies in order to
compile from sources.
So far, there are commands for Rocky Linux and FreeBSD.

pgagroal.spec updated

Close #480
  • Loading branch information
fluca1978 committed Nov 4, 2024
1 parent 0e4c711 commit c9840d0
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 25 deletions.
35 changes: 10 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,42 +54,27 @@ See [Architecture](./doc/ARCHITECTURE.md) for the architecture of [**pgagroal**]
* [FreeBSD](https://www.freebsd.org/)
* [OpenBSD](http://www.openbsd.org/)

## Compiling the source

[**pgagroal**](https://github.com/agroal/pgagroal) requires
## Compiling from sources

* [gcc 8+](https://gcc.gnu.org) (C17)
[**pgagroal**](https://github.com/agroal/pgagroal) can be compiled from sources,
after having installed all the required dependencies:

* [gcc 8+](https://gcc.gnu.org) (C17) or [clang 8+](https://clang.llvm.org/)
* [cmake](https://cmake.org)
* [make](https://www.gnu.org/software/make/)
* [GNU make](https://www.gnu.org/software/make/) or BSD `make`
* [libev](http://software.schmorp.de/pkg/libev.html)
* [OpenSSL](http://www.openssl.org/)
* [systemd](https://www.freedesktop.org/wiki/Software/systemd/)
* [rst2man](https://docutils.sourceforge.io/)
* [libatomic](https://gcc.gnu.org/wiki/Atomic)
* [cJSON](https://github.com/DaveGamble/cJSON)
* [Doxygen](https://doxygen.nl/index.html)
* [pdflatex](https://tug.org/texlive/)
* [systemd](https://www.freedesktop.org/wiki/Software/systemd/) (on Linux systems)

On Rocky Linux (and similar) operating systems, the dependencies
can be installed via `dnf(8)` as follows:

```sh
dnf install git gcc cmake make \
libev libev-devel \
openssl openssl-devel \
systemd systemd-devel \
python3-docutils \
libatomic \
cjson cjson-devel
```

Please note that, on Rocky Linux, in order to install the `python3-docutils`
package (that provides `rst2man` executable), you need to enable the `crb` repository:

```sh
dnf config-manager --set-enabled crb
```

See the [documentation about installing the required dependencies](doc/DISTRIBUTIONS.md).

Alternatively to GCC, [clang 8+](https://clang.llvm.org/) can be used.

### Release build

Expand Down
51 changes: 51 additions & 0 deletions doc/DISTRIBUTIONS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Compiling `pgagroal` from sources

[**pgagroal**](https://github.com/agroal/pgagroal) requires the following dependencies:

* a C compiler like [gcc 8+](https://gcc.gnu.org) (C17) or [clang 8+](https://clang.llvm.org/)
* [cmake](https://cmake.org)
* [GNU make](https://www.gnu.org/software/make/) or BSD `make`
* [libev](http://software.schmorp.de/pkg/libev.html)
* [OpenSSL](http://www.openssl.org/)
* [rst2man](https://docutils.sourceforge.io/)
* [libatomic](https://gcc.gnu.org/wiki/Atomic)
* [cJSON](https://github.com/DaveGamble/cJSON)
* [Doxygen](https://doxygen.nl/index.html)
* [pdflatex](https://tug.org/texlive/)
* on Linux platforms, there is also the need for
* [systemd](https://www.freedesktop.org/wiki/Software/systemd/)



## Compiling on Rocky Linux

All the dependencies can be installed via `dnf(8)` as follows:

```sh
dnf install git gcc cmake make \
libev libev-devel \
openssl openssl-devel \
systemd systemd-devel \
python3-docutils \
libatomic \
cjson cjson-devel
```

Please note that, on Rocky Linux, in order to install the `python3-docutils`
package (that provides `rst2man` executable), you need to enable the `crb` repository:

```sh
dnf config-manager --set-enabled crb
```

## Compiling on FreeBSD

All the dependencies can be installed via `pkg(8)` as follows:

```sh
pkg install cmake \
libev libevent \
py311-docutils \
libcjson \
texlive-formats \
```
1 change: 1 addition & 0 deletions pgagroal.spec
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ cd %{buildroot}%{_libdir}/
%{_docdir}/%{name}/README.md
%{_docdir}/%{name}/RPM.md
%{_docdir}/%{name}/SECURITY.md
%{_docdir}/%{name}/DISTRIBUTIONS.md
%{_docdir}/%{name}/grafana/dashboard.json
%{_docdir}/%{name}/grafana/README.md
%{_docdir}/%{name}/etc/pgagroal.service
Expand Down

0 comments on commit c9840d0

Please sign in to comment.