diff options
Diffstat (limited to 'docs/src/gettingstarted/building')
| -rw-r--r-- | docs/src/gettingstarted/building/packageformats.md | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/docs/src/gettingstarted/building/packageformats.md b/docs/src/gettingstarted/building/packageformats.md new file mode 100644 index 0000000..70516d9 --- /dev/null +++ b/docs/src/gettingstarted/building/packageformats.md @@ -0,0 +1,41 @@ +# Package formats + +We support the following additional package formats: RPM (Linux, Fedora) and Deb (Linux, Debian derivatives) + +# Linux: RPM +To build a RPM, issue the following commands: + +```bash +# Make sure we have make +sudo dnf install -y make + +# Install dependencies to build RPMs +sudo make rpm-depends + +# Create RPM +make rpm +``` + +This outputs RPMs (the Go library and each wrapper) and a SRPM to the `dist/` folder. + +To install these rpms, use ```rpm -i``` where you first install the `libeduvpncommon` RPM and then the associated wrapper. We provide a COPR to make this whole process easy: + +```bash +sudo dnf copr enable jwijenbergh/eduvpn-common + +# E.g. install the python wrapper +# This automatically installs the Go shared library ('libeduvpncommon') as well +sudo dnf install python3-eduvpncommon +``` + +To cross compile manually (without COPR), use the ```make rpm-mock``` target instead of ```make rpm```. This uses the [mock](https://github.com/rpm-software-management/mock) utility which runs each build in a separate environment. The target distro and architecture can be changed with the ```MOCK_TARGET``` flag. E.g: + +```bash +# Create a rpm for centos stream 8 aarch64 +# You will be prompted for a password if you're not in the 'mock' group +make rpm-mock MOCK_TARGET=centos-stream-8-aarch64 +``` + +A list of targets can be found in ```/etc/mock/*.cfg```. The default target is `fedora-36-x86_64` + +# Linux: Deb |
