Source Builds

This documentation provides build instructions for administrators who are interested in installing the GEOPM packages based on a checkout from the GEOPM git repository. Following these instructions will assist users in creating RPM or debian packages compatible with various Linux distributions.

We have tested packages created through this process on SLES 15 SP3 and SP4, as well as Ubuntu jammy 22.04. Feedback from installations on other distributions such as CentOS, openSUSE Leap, and Fedora would be greatly appreciated.

GEOPM Service installation is available via both RPM and debian packages. These packages provide cross-Linux-distribution compatibility for the installation of the systemd service and facilitate a clean uninstallation process.

The GEOPM service build system provides support for packaging for:

  • SLES 15 SP3 and SP4

  • CentOS 8 amd 9-Stream

  • Ubuntu 22.04 jammy

Building GEOPM Service RPMs

First review the requirements guide, then use the following bash commands to build all of the GEOPM packages.

git clone git@github.com:geopm/geopm.git
cd geopm/service
./package.sh

These commands create the .rpm files or .deb files that package the GEOPM software. On Ubuntu, these packages are build in the tree:

./docs/geopm-runtime-doc_<VERSION>-1_all.deb
./docs/geopm-service-doc_<VERSION>-1_all.deb
./docs/libgeopmd-doc_<VERSION>-1_all.deb
./docs/libgeopm-doc_<VERSION>-1_all.deb
./docs/python3-geopmdpy-doc_<VERSION>-1_all.deb
./docs/python3-geopmpy-doc_<VERSION>-1_all.deb
./geopmdpy/python3-geopmdpy_<VERSION>-1_all.deb
./geopmpy/python3-geopmpy_<VERSION>-1_all.deb
./libgeopmd/geopm-service_<VERSION>-1_amd64.deb
./libgeopmd/libgeopmd2_<VERSION>-1_amd64.deb
./libgeopmd/libgeopmd-dev_<VERSION>-1_amd64.deb
./libgeopm/geopm-runtime_<VERSION>-1_amd64.deb
./libgeopm/libgeopm2_<VERSION>-1_amd64.deb
./libgeopm/libgeopm-dev_<VERSION>-1_amd64.deb

In RPM based operating systems the RPMs are created in the rpmbuild root (default is ~/rpmbuild).

./rpmbuild/RPMS/x86_64/geopm-runtime-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/geopm-runtime-devel-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/geopm-runtime-doc-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/geopm-service-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/geopm-service-devel-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/geopm-service-doc-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/libgeopm2-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/libgeopmd2-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/libgeopmd-doc-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/libgeopm-doc-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/python3-geopmdpy-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/python3-geopmdpy-doc-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/python3-geopmpy-<VERSION>-1.x86_64.rpm
./rpmbuild/RPMS/x86_64/python3-geopmpy-doc-<VERSION>-1.x86_64.rpm

Installing and Running the GEOPM Service

Once the packaging is complete, install the RPM files by issuing your OS’s packaging manager (i.e. zypper or yum):

$ sudo zypper install --allow-unsigned-rpm $HOME/rpmbuild/RPMS/x86_64/*geopm*.rpm

Or the DEB files by issuing:

$ cd geopm
$ sudo apt install $(find -name '*geopm*.deb')

To start the GEOPM service and check its status issue:

sudo systemctl start geopm
systemctl status geopm

Removal of the GEOPM Service

To stop the GEOPM service and remove the RPMs from your system, use your OS’s package manager:

sudo systemctl stop geopm
sudo zypper remove geopm-runtime \
    geopm-runtime-devel \
    geopm-runtime-doc \
    geopm-service \
    geopm-service-devel \
    geopm-service-doc \
    libgeopm2 \
    libgeopmd2 \
    libgeopmd-doc \
    libgeopm-doc \
    python3-geopmdpy \
    python3-geopmdpy-doc \
    python3-geopmpy \
    python3-geopmpy-doc

Or for the DEB packages by issuing:

sudo systemctl stop geopm
sudo apt remove geopm-runtime \
    geopm-runtime-devel \
    geopm-runtime-doc \
    geopm-service \
    geopm-service-devel \
    geopm-service-doc \
    libgeopm2 \
    libgeopmd2 \
    libgeopmd-doc \
    libgeopm-doc \
    python3-geopmdpy \
    python3-geopmdpy-doc \
    python3-geopmpy \
    python3-geopmpy-doc