Extensions Building Scripts for PostgreSQL 13 - 18 on EL 8/9/10
You can build extension RPMs with pig.
curl https://repo.pigsty.cc/pig | bash -s 1.1.0
pig build repo
pig build tool
pig build spec # <--- get this repo, setup building environment
pig build rust
pig build pgrx
# then build packages
pig build pkg timescaledb
pig build pkg pg_searchNative builds keep compiler DWARF and generate the standard main,
-debuginfo, and -debugsource RPMs by default. Rust extensions remain
optimized release builds while setting Cargo's release debug level to 2 and
leaving stripping to RPM. Pure SQL/data/script packages with a genuine
BuildArch: noarch payload do not generate empty debug packages. Specs that
invoke CMake, Meson, Autoconf, or compilers directly must import RPM build flags
so the automatic split has real DWARF to package.
Current package chain:
antlr4-runtime413+antlr4-runtime413-devel(standalone ANTLR runtime)babelfish-17(Babelfish PG 17.7 kernel + four core extensions)
Key files:
bin/babelfish.sh(generate source tarball + ANTLR zip)rpmbuild/SPECS/antlr4-runtime413.specrpmbuild/SPECS/babelfish.specrpmbuild/Makefiletarget:babelfish_all
Generate sources:
bin/babelfish.shBuild on EL10A (example):
cp ~/pgsty/rpm/src/babelfish-17-17.7-5.4.0.tar.gz ~/rpmbuild/SOURCES/
cp ~/pgsty/rpm/src/antlr4-cpp-runtime-4.13.2-source.zip ~/rpmbuild/SOURCES/
cp ~/pgsty/rpm/rpmbuild/SPECS/antlr4-runtime413.spec ~/rpmbuild/SPECS/
cp ~/pgsty/rpm/rpmbuild/SPECS/babelfish.spec ~/rpmbuild/SPECS/
cd ~/rpmbuild
make babelfish_allPG18 dev source can be generated with:
bin/babelfish.sh 18.0 6.0.0 BABEL_6_X_DEV__PG_18_X BABEL_6_X_DEVAll Deb Packages are signed with GPG key 9592A7BC7A682E7333376E09E7935D8DB9BD8B20 (B9BD8B20 Public key)
Maintainer: Ruohang Feng / @Vonng (rh@vonng.com)
License: Apache 2.0