Skip to content

Commit

Permalink
Merge pull request #64 from nasa-gibs/centos8
Browse files Browse the repository at this point in the history
2.4.4 RPMs for CentOS 8
  • Loading branch information
jtroberts authored Apr 20, 2021
2 parents 5cc694a + b5cdb77 commit 834bb1a
Show file tree
Hide file tree
Showing 6 changed files with 121 additions and 28 deletions.
4 changes: 2 additions & 2 deletions bin/build_el7_docker_image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ rm -f docker/el7/rpms/gibs-gdal-debuginfo-*.rpm
cd docker/el7

if [ -z "$TAG" ]; then
docker build .
docker build --no-cache .
else
docker build -t "$TAG" .
docker build --no-cache -t "$TAG" .
fi
)

Expand Down
28 changes: 28 additions & 0 deletions bin/build_el8_docker_image.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/sh

set -e

if ! ls dist/gibs-gdal-*.el8.*.rpm >/dev/null 2>&1; then
echo "No RPMs found in ./dist/" >&2
exit 1
fi

TAG="$1"

mkdir -p docker/el8/rpms
cp dist/gibs-gdal-*.el8.*.rpm docker/el8/rpms/
rm -f docker/el8/rpms/gibs-gdal-*.src.rpm
rm -f docker/el8/rpms/gibs-gdal-*debuginfo-*.rpm

(
set -e
cd docker/el8

if [ -z "$TAG" ]; then
docker build --no-cache .
else
docker build --no-cache -t "$TAG" .
fi
)

rm -rf docker/el8/rpms
47 changes: 47 additions & 0 deletions bin/build_el8_rpms_in_docker.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/bin/sh

set -evx

DOCKER_UID=$(id -u)
DOCKER_GID=$(id -g)
mkdir -p dist
cat > dist/build_rpms.sh <<EOS
#!/bin/sh
set -evx
yum install -y epel-release
dnf install -y 'dnf-command(config-manager)'
dnf config-manager --set-enabled powertools
dnf install -y python3
yum install -y \
ccache \
wget \
rpmdevtools \
mock \
rsync
mkdir -p /build
rsync -av --exclude .git /source/ /build/
chown -R root:root /build
(
set -evx
cd /build
dnf builddep -y deploy/gibs-gdal/gibs-gdal.spec
make download gdal-rpm
)
cp /build/dist/gibs-gdal-*.rpm /dist/
EOS
chmod +x dist/build_rpms.sh

docker run \
--rm \
--volume "$(pwd):/source:ro" \
--volume "$(pwd)/dist:/dist" \
centos:8 /dist/build_rpms.sh

rm dist/build_rpms.sh
58 changes: 35 additions & 23 deletions deploy/gibs-gdal/gibs-gdal.spec
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
%global gdal_version 2.4.4
%global gdal_release 2%{?dist}
%global gdal_release 3%{?dist}

Name: gibs-gdal
Version: %{gdal_version}
Expand All @@ -13,25 +13,25 @@ Source0: gibs-gdal-%{gdal_version}.tar.bz2
Source1: http://download.osgeo.org/gdal/%{gdal_version}/gdal-%{gdal_version}.tar.gz

BuildRequires: make
BuildRequires: libtool
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: python-devel
BuildRequires: libpng-devel
BuildRequires: libungif-devel
BuildRequires: libjpeg-devel
BuildRequires: libtiff-devel
BuildRequires: jpackage-utils
BuildRequires: python36
BuildRequires: python36-devel
BuildRequires: libpng-devel
BuildRequires: libjpeg-devel
BuildRequires: libtiff-devel
BuildRequires: jpackage-utils
BuildRequires: jasper-devel
BuildRequires: zlib-devel
BuildRequires: curl-devel
BuildRequires: chrpath
BuildRequires: swig
BuildRequires: zlib-devel
BuildRequires: curl-devel
BuildRequires: chrpath
BuildRequires: swig
BuildRequires: doxygen
BuildRequires: expat-devel
BuildRequires: numpy
BuildRequires: geos-devel >= 3.3.2
BuildRequires: gcc-c++
Requires: geos >= 3.3.2
BuildRequires: expat-devel
BuildRequires: geos-devel
BuildRequires: gcc-c++
BuildRequires: bzip2
BuildRequires: /usr/bin/pathfix.py

%description
The GDAL library provides support to handle multiple GIS file formats.
Expand Down Expand Up @@ -86,11 +86,12 @@ rm -rf swig/python/samples
rm -rf %{buildroot}/usr/etc/bash_completion.d/gdal-bash-completion.sh
%endif

# Fix python shebangs
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{python3_sitearch} %{buildroot}%{_bindir}/*.py

%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%{_bindir}/*
Expand All @@ -99,11 +100,12 @@ rm -rf %{buildroot}
%{_libdir}/*.so.*
%{_datadir}/gdal
%{_mandir}/man1/*.1*
%{python_sitearch}/*.egg-info
%{python_sitearch}/gdal*
%{python_sitearch}/ogr*
%{python_sitearch}/osr*
%{python_sitearch}/osgeo
%{python3_sitearch}/*.egg-info
%{python3_sitearch}/gdal*
%{python3_sitearch}/ogr*
%{python3_sitearch}/osr*
%{python3_sitearch}/osgeo
%{python3_sitearch}/__pycache__/*
%{_libdir}/pkgconfig/gdal.pc

%files devel
Expand All @@ -128,10 +130,20 @@ rm -rf %{buildroot}

%post
/sbin/ldconfig
# Fix python shebangs post install
sed -i 's@\/usr\/libexec\/platform-python -s@\/usr\/bin\/env python3@g' /usr/bin/gdal*.py /usr/bin/gcps2wld.py /usr/bin/mkgraticule.py /usr/bin/pct2rgb.py /usr/bin/epsg_tr.py /usr/bin/gcps2vec.py /usr/bin/rgb2pct.py /usr/bin/esri2wkt.py /usr/bin/ogrmerge.py

%post apps
# Fix python shebangs post install apps
sed -i 's@\/usr\/libexec\/platform-python -s@\/usr\/bin\/env python3@g' /usr/bin/mrf*.py /usr/bin/tiles2mrf.py


%postun -p /sbin/ldconfig

%changelog
* Mon Apr 19 2021 Joe T. Roberts <[email protected]> - 2.4.4-3
- Support for CentOS 8 builds

* Wed Dec 16 2020 Joe T. Roberts <[email protected]> - 2.4.4-2
- Use Python3 apps, include can, and moved gcc-c++ to BuildRequires

Expand Down
6 changes: 6 additions & 0 deletions docker/el8/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM centos:8

COPY rpms/gibs-gdal-*.el8.*.rpm /rpms/

RUN yum install -y epel-release python36 && yum clean all
RUN yum install -y /rpms/gibs-gdal-*.el8.*.rpm
6 changes: 3 additions & 3 deletions mrf_apps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
include Makefile.lcl

TARGETS = can mrf_insert
GDAL_INCLUDE = -I $(PREFIX)/include -I $(GDAL_ROOT) -I /build/build/rpmbuild/BUILDROOT/gibs-gdal-2.4.4-2.el7.x86_64/usr/include/ -I /build/build/rpmbuild/BUILD/gibs-gdal-2.4.4/build/gdal/
LIBDIR = /build/build/rpmbuild/BUILDROOT/gibs-gdal-2.4.4-2.el7.x86_64/usr/lib64
BINDIR = /build/build/rpmbuild/BUILDROOT/gibs-gdal-2.4.4-2.el7.x86_64/usr/bin/
GDAL_INCLUDE = -I $(PREFIX)/include -I $(GDAL_ROOT) -I /build/build/rpmbuild/BUILDROOT/gibs-gdal-2.4.4-3.el8.x86_64/usr/include/ -I /build/build/rpmbuild/BUILD/gibs-gdal-2.4.4/build/gdal/
LIBDIR = /build/build/rpmbuild/BUILDROOT/gibs-gdal-2.4.4-3.el8.x86_64/usr/lib64
BINDIR = /build/build/rpmbuild/BUILDROOT/gibs-gdal-2.4.4-3.el8.x86_64/usr/bin/
CP=cp

INCLUDES = $(GDAL_INCLUDE)
Expand Down

0 comments on commit 834bb1a

Please sign in to comment.