Ich habe versucht, GDAL 3.2 auf CentOS 8 zu kompilieren (aufgrund eines Java-Projekts, das GDAL-Bindungen erfordert, die von gdal32-java bereitgestellt werden sollten), jedoch schlägt rpmbuild gleich zu Beginn fehl, bevor ich irgendwelche Änderungen vornehme:
$ rpmbuild --rebuild ../gdal32-3.2.3-1.rhel8.src.rpm
Installing ../gdal32-3.2.3-1.rhel8.src.rpm
error: line 23: Unknown tag: %pgdg_set_gis_variables
Beachten Sie, dass das Quell-RPM aus dem pgdg-source-common-Repository stammt, das von Postgres unter bereitgestellt wird https://download.postgresql.org/pub/repos/yum/srpms/common/redhat/rhel-8-x86_64
. Alle in der Spezifikationsdatei erforderlichen Abhängigkeiten sind installiert.
Das Tag %pgdg_set_gis_variables
in gdal32.spec erscheint nur einmal (in der Zeile, in der ein Fehler gemeldet wird) und scheint einige globale Variablen zu initialisieren, die zum Abrufen anderer Dateien/Auflösen von Abhängigkeiten verwendet werden.
Durch Entpacken der Datei in SOURCES
und Auskommentieren dieses Tags sowie durch manuelles Festlegen der erwarteten Werte, die ich nicht verwendet sehe, könnte ich erhalten. rpmbuild -ba SOURCES/gdal32.spec
Dies schlägt jedoch bei der Konfiguration fehl, vermutlich aufgrund fehlender Werte, die durch %pgdg_set_gis_variables
(+) hätten festgelegt werden sollen. In diesem Fall erhalte ich eine Fehlermeldung, die anzeigt, dass versucht wird, das Tag zu erweitern, obwohl es auskommentiert ist.
Wissen Sie, wo ich ein Beispiel finden kann, das dieses Tag bereitstellt/Wie ich dieses RPM erstellen kann?
Antwort1
Sie müssen das Paket pgdg-srpm-macros
aus dem PGDG-Repository installieren, um ihre benutzerdefinierten RPM-Makros bereitzustellen.