Refactor GDAL installation and version handling

Updated GDAL installation commands and added explicit version handling.
This commit is contained in:
Abdur Rahman 2025-09-04 07:54:49 +00:00 committed by GitHub
parent d20d2bfec7
commit f686bd7b2e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -357,15 +357,16 @@ fn main() -> Result<()> {
// Install DataPusher+
cmd!(sh, "sudo apt install python3-virtualenv python3-dev python3-pip python3-wheel build-essential libxslt1-dev libxml2-dev zlib1g-dev git libffi-dev libpq-dev uchardet -y").run()?;
sh.change_dir("/usr/lib/ckan/default/src");
// Install GDAL and other geospatial dependencies
// Install GDAL dependencies
cmd!(sh, "sudo apt update").run()?;
cmd!(sh, "sudo apt install -y gdal-bin libgdal-dev libproj-dev libgeos-dev").run()?;
cmd!(sh, "sudo apt install -y gdal-bin libgdal-dev libproj-dev libgeos-dev python3-gdal").run()?;
// Set GDAL environment variables for the build
let gdal_version = cmd!(sh, "gdal-config --version").read()?;
std::env::set_var("GDAL_VERSION", gdal_version.trim());
// Get GDAL version and export it
let gdal_version_output = cmd!(sh, "gdal-config --version").read()?;
let gdal_version = gdal_version_output.trim();
cmd!(sh, "pip install -e git+https://github.com/dathere/datapusher-plus.git@main#egg=datapusher-plus").run()?;
// Install with explicit GDAL version
cmd!(sh, "GDAL_VERSION={gdal_version} pip install -e git+https://github.com/dathere/datapusher-plus.git@main#egg=datapusher-plus").run()?;
sh.change_dir("/usr/lib/ckan/default/src/datapusher-plus");
cmd!(sh, "pip install -r requirements.txt").run()?;
sh.change_dir(format!("/home/{username}"));