/geoint-deps

Primary LanguageShellGNU General Public License v3.0GPL-3.0

FoundationGEOINT Dependencies

CI CI

This repository provides a Docker-based build system for creating RPMs of the latest geospatial libraries on CentOS/RHEL 9 (as well as CentOS/RHEL 7 until the platform fades into obsolesence).

Priorities:

  • Support common geospatial libraries and applications, e.g., those from OSGeo and OSM.
  • Build RPMs in isolated environments, using only what's required, as a non-privileged user.
  • Embrace the RPM toolchain to support compilation hardening flags.

Quickstart

Substitute Makefile.el9 with Makefile.el7 in order to target EL7

Just type make $RPM_NAME, for example start small:

export DOCKER_BUILDKIT=1
make --makefile=Makefile.el9 FileGDBAPI

Or go big and create RPMs for all applications with:

export DOCKER_BUILDKIT=1
make --makefile=Makefile.el9 all-rpms

This will consume a lot of CPU and I/O!

Pushing up stable RPMs

You will need to have ~/.gnupg-geoint populated using the .gpg file and provided instructions as well as the decrypted passphrase from an email originally sent on 2021.03.05 (ask Justin or David if you require these).

EL7

  1. Download the RPMS artifact from the most recent EL7 GitHub Actions workflow run.

  2. Export variables for AWS_PROFILE & EL_VERSION

    export AWS_PROFILE=geoint-deps
    export EL_VERSION=el7
  3. Run the push_stable_rpms_from_zip.sh script with the RPMS artifact zip file path as the first argument

    scripts/push_stable_rpms_from_zip.sh  ~/Downloads/RPMS.zip
  4. Execute the provided command if everything appears to be correct

EL9

  1. Download the RPMS artifact from the most recent EL9 GitHub Actions workflow run.

  2. Export variables for AWS_PROFILE & EL_VERSION

    export AWS_PROFILE=geoint-deps
    export EL_VERSION=el9
  3. Run the push_stable_rpms_from_zip.sh script with the RPMS artifact zip file path as the first argument

    scripts/push_stable_rpms_from_zip.sh  ~/Downloads/RPMS.zip
  4. Execute the provided command if everything appears to be correct

Requirements