Tôi đã cố gắng biên dịch GDAL 3.2 trên CentOS 8 (do dự án java yêu cầu các ràng buộc gdal do gdal32-java cung cấp), tuy nhiên, rpmbuild không thành công ngay từ đầu trước khi tôi thực hiện bất kỳ thay đổi nào:
$ rpmbuild --rebuild ../gdal32-3.2.3-1.rhel8.src.rpm
Đang cài đặt ../gdal32-3.2.3-1.rhel8.src.rpm
lỗi: dòng 23: Thẻ không xác định: %pgdg_set_gis_variables
Lưu ý rằng RPM nguồn là từ kho lưu trữ pgdg-source-common được cung cấp bởi postgres tại https://download.postgresql.org/pub/repos/yum/srpms/common/redhat/rhel-8-x86_64
. Tất cả các phụ thuộc theo yêu cầu của tệp spec đã được cài đặt.
Tag %pgdg_set_gis_variables
trong gdal32.spec chỉ xuất hiện một lần (tại dòng báo cáo lỗi) và dường như khởi tạo một số biến toàn cục được sử dụng để truy xuất các tệp khác/giải quyết các phụ thuộc.
Bằng cách giải nén tệp vào NGUỒN
và nhận xét thẻ này - cũng như cài đặt thủ công các giá trị dự kiến mà tôi thấy không được sử dụng, tôi có thể nhận được rpmbuild -ba NGUỒN/gdal32.spec
, tuy nhiên nó không thành công khi định cấu hình, có lẽ là do thiếu các giá trị lẽ ra phải được đặt bởi %pgdg_set_gis_variables
(+ Trong trường hợp này, tôi gặp lỗi cho biết có nỗ lực mở rộng thẻ mặc dù thẻ đã bị loại bỏ).
Bạn có biết nơi tôi có thể tìm mẫu cung cấp thẻ này/Làm cách nào tôi có thể tạo RPM này không?